The XML2HL7 component is used to parse XML document and convert it to HL7 (Health Level Seven) v2.x format. HL7 v2.x is a messaging standard used to define how information is packaged and communicated between different systems in hospital workflows.
An equivalent XML format (XML Schema) is defined for each HL7 v2.x message format. The component, upon receiving a XML message that confirms to any of the XML Schemas defined, will convert it into an appropriate HL7 v2.x message.
Configuration
Component Configuration
Figure 1: Component Configuration panel
Error Handling Configuration
Please refer Error Handling section in Common Configurations page.
Input schema
If the component receives a message of the same format at all times, then XML schema of that message format can be provided here using schema editor which opens upon clicking the ellipsis button. The component will convert any valid XML message conforming to XML schemas defined for HL7 messages to respective HL7 v2.x message irrespective of the schema provided here. Defining an XML schema here will only set the schema on the input port of the component so that any required transformations can be defined using the schema.
Enable Input Validation
Refer to the HL72XML section for details.
Input contains multiple messages
Refer to the HL72XML section for details.
Append MLLP characters to Response
Appends configured MLLP characters to the transformed HL7 message before sending it to the output port, for example, ([StartBlock]Message[EndBlock][LastCharacter]).
Expert Properties
Enable the Expert Properties view to configure these properties.
Figure 7: Expert properties for Generate sequencer mode
Pre Processing XSL Configuration
Pre Processing XSL configuration can be used to transform request message before processing it. Click the ellipses button against the property to configure the properties.
Refer to the Pre/Post Processing XSL Configuration section under the Common Configurations page for details regarding Pre Processing XSL configuration and Post Processing XSL configuration (below).
Post Processing XSL Configuration
Post Processing XSL configuration can be used to transform the response message before sending it to the output port.
Process Message Based on Property
The property helps components to skip certain messages from processing.
Refer to the Process Message Based On a Property section under the Common Configurations page.
Threadpool Configuration
This property is used when there is a need to process messages in parallel within the component, still maintaining the sequence from the external perspective.
Custom HL7 Message Packages
The table contains a Map for a version of HL7Message mapped to the list of provided Custom packages separated by the delimiter ;
Figure 8: Threadpool Configuration
Elements to Decrypt
Click the ellipsis button to add elements to encrypt/decrypt.
Elements get auto-populated based on the Input/Output Schema provided. Select the elements to encrypt/decrypt and click the arrow button to choose those. These elements will be used for encryption and signing.
Figure 9: Dialog box to add elements for decryption
Add elements to encrypt/decrypt
Some components may not have schema on ports. In that case, semicolon separated XPaths can be provided here.
Namespace Prefixes: A map of prefix versus namespace used in XPaths can be configured here.
Functional Demonstration
Scenario 1
This scenario explains the basic functionality of XML2HL7 component.
Create flow by connecting XML2HL7 to feeder and display components. Send sample input (valid XML message) to check the response(transformed HL7 format). Message in XML format is sent from the feeder and the corresponding message in HL7 v2.x format can be seen in display.
Figure 10: Sample Event Process
Sample Input
Output
Figure 11: Output generated in Display window for Scenario 1 input
Scenario 2
This scenario includes functionality to include multiple messages. In the XML2HL7 CPS, enable the Input contains multiple messages property, provide the Message Delimeter value as hex value of # and use the following input in the Feeder window.
Sample Input
Output
Figure 12: Output generated in the Display window for Scenario 2 input
Useful Tips
Please refer to http://www.hl7.org/ for more information about HL7 messages.