Ensemble HL7 Version 3 Development Guide
Ensemble Support for HL7 Version 3
Unlike previous versions of Health Level Seven, HL7 Version 3.0 uses only XML encoding for messages. This is a significant departure from HL7 Version 2.x, with several unique challenges.
This book explains how to route HL7 Version 3.0 messages from one application to another using Ensemble as the routing engine. The book explains how to transform the XML contents of these messages using a combination of XPath and XSLT expressions in Ensemble data transformations.
The following figure illustrates the flow of HL7 Version 3.0 messages through an Ensemble production that works as an HL7 interface routing engine.
An HL7 Version 3.0 message flows through the elements of an Ensemble HL7 routing production in the following order:
An HL7 business service
receives an incoming data stream from the specific source application whose HL7 messages it is configured to accept. The HL7 business service generates an XML document from the incoming data stream and extracts from it the information needed to route and transform the message.
The business service packages the relevant data into an Ensemble message and sends it to a specific HL7 routing process
. This is a special-purpose Ensemble business process that prepares HL7 Version 3.0 messages for delivery outside Ensemble.
The routing process validates the XML document structure. If validation fails, the routing process passes the message to the bad message handler
. This is an HL7 business operation that disposes of any incoming HL7 messages that an interface was unable to parse, usually by saving the messages to a file so that they can be analyzed.
If validation succeeds, the HL7 routing process applies a routing rule set
to the Ensemble message. The routing rule set provides the logic that determines:
A destination for the message
Whether or not the message data requires transformation before it is sent.
Each data transformation
uses XPath to find the appropriate fields in the data stream, then uses XSLT to transform the fields as needed and write the result to a new XML document.
The routing process passes an Ensemble message containing the new XML document to the appropriate HL7 business operation
. The business operation uses the routing properties of the Ensemble message to direct the new XML document to the target application as an outgoing data stream.
As further background information, Ensemble Best Practices
describes best practices for organizing and developing Ensemble productions. It provides information that applies to all productions, including those that route HL7 Version 3.0 messages and other EDI format documents.