The HL72XML component is used to parse HL7 (Health Level Seven) v2.x document and convert it to XML format.
An equivalent XML format (XML Schema) is defined for each HL7 v2.x message format. The component, upon receiving an HL7 v2.x message, will convert it into an appropriate XML message that conforms to any of the XML Schemas defined.
Configuration
Component Configuration
Figure 1: Component configuration
Attributes
Error handling configuration
Please refer Error Handling section in Common Configurations page.
Figure 2: Error Handling Configuration
Output 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-up on clicking the ellipsis button.
Figure 3: Output Schema editor to provide XML schema that supports Input Messages of the same format
The component will convert any valid HL7 v2.x message to respective XML message conforming to XML schemas defined for HL7 messages, 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.
XML Schema files for hl7 messages are present at FIORANO_HOME/xml-catalog/fiorano/hl7.
Enable input validation
Enable this property to validate the Input to conform with the HL7 message rules.
Validation Type
Figure 4: Validation Type appears after enabling Input Validation
- DEFAULT: Messages will be validated with standard HL7 message rules.
- CONFORMANCE PROFILE: Message will be validated with the conformance profile file configured for its type. Default validation is performed if conformance profile is not configured for a specific type. When this option is chosen, Conformance Profile Configuration property appears where the configuration can be set.
Conformance Profile Configuration
Click the ellipsis button to provide the Conformance Profile configuration.
Figure 5: Conformance Profile Configuration property appears after choosing the respective Validation Type
Click the Conformance Profile configuration ellipsis button and click Add in the dialog box to add the following attributes pertaining to Conformance Profile:
- Message Type
- Trigger Event
- File Path
Figure 6: Dialog box to set the Conformance Profile Configuration
Input contains multiple messages
Enable this property if the input contains multiple HL7 messages delimited by a character.
Message Delimiter
Provide delimited character in hex format.
Figure 7: Message Delimiter property to specify delimiter character
Expert Properties
Enable the Expert Properties view to configure these properties.
Figure 8: 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.
Click the Threadpool Configuration ellipsis button to configure the Threadpool Configuration properties.
Figure 9: Threadpool Configuration
Enable Thread Pool
Enable this option to configure the properties that appear as below.
Pool Size
Number of requests to be processed in parallel within the component. Default value is '1'.
Batch Eviction Interval (in ms)
Time in milliseconds after which the threads are evicted in case of inactivity. New threads are created in place of evicted threads when new requests are received. Default value is '1000'.
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 10: Threadpool Configuration
Elements to Encrypt
Select the elements to encrypt in output. Elements in the Output Message will be encrypted. Elements get auto-populated based on the Output Schema provided. Select the elements to encrypt and click the arrow button to choose those.
Figure 11: Properties of elements to encrypt
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 HL72XML component.
Create flow by connecting HL72XML to feeder and display components. Send sample input (valid HL7 message) to check the response (transformed XML message).
The HL7 input is sent from the feeder and the corresponding XML output can be seen in display.
Figure 12: Sample Event Process
Sample Input
Output
Figure 13: Output generated in the Display window in XML format for Scenario 1 input
Scenario 2
This scenario includes functionality to include multiple messages. In the HL72XML 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 14: Output generated in the Display window in XML format for Scenario 2 input