Single-pass translation of flat-file documents into XML format including validation, ambiguity resolution, and acknowledgement generation
First Claim
Patent Images
1. An computer-implemented system that facilitates converting structured documents to XML format;
- comprising a processor executing the following components stored in computer readable storage media;
an integration engine that receives a structured document and translates the document to XML format;
a parser component that parses the structured document according to delimiter information associated with the structured document;
a schema generation component that configures an XML schema definition (XSD) from a delimited flat-file HL 7 (Health Level
7) message based at least in part on delimiter information of the message by the parsing component and adds validation annotations to the XSD to generate a value-added XSD (VAX), the validation annotations are associated with declarative validation rules with regard to respective nodes in an XSD;
a validation component that validates the message at run time, the validation is performed by reading declarative rules and extracting data related to specific node associated with the annotation; and
an acknowledgement generation component that generates an acknowledgement related to each of message receipt and message validation and transmits the acknowledgement to a source application over a socket connect over which the message was transmitted from the source application.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed that facilitate formally describing structured documents and complex validation rules associated therewith using value-added XSD schemas (VAXs). In accordance with aspects of the invention, structured documents can be translated, parsed, validated, and acknowledged in a single pass via utilization of XSD schema representations that capture complex data and business rules related to validation as a translation specification to convert delimited flat-file and/or structured documents to an XML format while providing ambiguity resolution and acknowledgements.
111 Citations
16 Claims
-
1. An computer-implemented system that facilitates converting structured documents to XML format;
- comprising a processor executing the following components stored in computer readable storage media;
an integration engine that receives a structured document and translates the document to XML format; a parser component that parses the structured document according to delimiter information associated with the structured document; a schema generation component that configures an XML schema definition (XSD) from a delimited flat-file HL 7 (Health Level
7) message based at least in part on delimiter information of the message by the parsing component and adds validation annotations to the XSD to generate a value-added XSD (VAX), the validation annotations are associated with declarative validation rules with regard to respective nodes in an XSD;a validation component that validates the message at run time, the validation is performed by reading declarative rules and extracting data related to specific node associated with the annotation; and an acknowledgement generation component that generates an acknowledgement related to each of message receipt and message validation and transmits the acknowledgement to a source application over a socket connect over which the message was transmitted from the source application.
- comprising a processor executing the following components stored in computer readable storage media;
-
2. The system of claim 1, the delimited flat-file HL7 message is encoded using ER7 (pipe and hat encoding) protocols.
-
3. The system of claim 1, the parsing component employs delimiter information associated with the message to regroup data segments, data fields, data components, and data sub-components, respectively, in a hierarchical node arrangement.
-
4. The system of claim 3, further comprising an ambiguity resolution component that tracks segments that occur in the message and contextual information related to the segments to resolve ambiguity when regrouping information in the hierarchical node arrangement.
-
5. The system of claim 4, the ambiguity resolution component resolves an ambiguous schema node in favor of a node with a closest Cartesian proximity to the ambiguous node.
-
6. The system of claim 3, the parser component is a pull-based parser-and-serializer component that facilitates conversion from flat-file format to XML format when parsing and from XML format to flat-file format when serializing.
-
7. The system of claim 3, further comprising a schema compiler that translates the VAX to a compact translation specification at run time, the translation specification represents the VAX as a collection of segment objects with grouping information that applies to at least one segment.
-
8. The system of claim 7, the integration engine caches information related to nodes in the VAX, the cached information comprises properties related to at least one of child node spatial position and follow set information.
-
9. The system of claim 1, follow set information comprises a set of delimiters with which data associated with a given node can end.
-
10. A computer-implemented method of translating and validating structured documents to XML format at run time, comprising at least a processor executing the following steps:
-
receiving and storing into a computer readable storage medium an incoming delimited flat file HL7 document; parsing the incoming delimited flat file HL7 (Health Level
7) document into a hierarchical arrangement comprising segments, fields, components and sub-components, respectively, according to delimiter information in the structured document;
generating a VAX (value-added eXtensible Markup Language schema definition) from the delimited document with validation annotations regarding validation of data and structure of one or more nodes in the VAX;generating a translation specification comprising read-only information at run time by compiling the VAX; generating a plurality of private instances of the translation specification for association with multiple applications consuming the incoming flat file document; extracting information related to data value and position in the delimited document and comparing the extracted information to compiled validation annotations to validate the document; generating a single acknowledgement that the document has been both received and validated; and transmitting the acknowledgement to a source application over a socket connection via which the source application transmitted the document; broadcasting the incoming flat file document to the various applications in a message format acceptable to each of the various applications.
-
-
11. The method of claim 10, generating a VAX comprises grouping segments according to at least one of sequence and choice ordering schemes.
-
12. The method of claim 11, further comprising resolving ambiguity with regard to a node in the VAX when position of the node is uncertain.
-
13. The method of claim 12, resolving ambiguity with regard to an ambiguous node comprises associating the ambiguous node with a parent node having a closer Cartesian proximity to the ambiguous node than any other parent node.
-
14. A computer-implemented system that facilitates flat-file delimited message processing and validation, comprising:
-
means for storing a flat-file delimited message;
means for parsing the flat-file delimited message;
means for reorganizing data in the flat-file-delimited message;means for generating an XSD schema that represents the structure of reorganized data; means for annotating the XSD schema with information related to validation rules for the flat-file delimited message; means for compiling the annotated XSD schema to generate a translation specification such that the translation specification is employed across a plurality of document instances thereby generating multiple versions of the received message, wherein the versions are in accordance with formats acceptable to respective destination applications consuming the received message; means for concurrently translating and validating the flat-file delimited message into XML format in a single pass; and means for generating an acknowledgment regarding receipt and validation of the flat-file delimited message and transmitting the acknowledgement over a socket connection via which the flat-file delimited message is transmitted to the means for receiving flat-file delimited message.
-
-
15. The system of claim 14, further comprising means for resolving ambiguity with regard to node arrangement in the XSD schema.
-
16. The system of claim 1, wherein the integration engine generates a plurality of messages formatted in accordance with formatting requirements associated with a plurality of consuming applications.
Specification