BizTalk Accelerator for HL7 extends the capabilities of BizTalk Server for health care providers. Health Level 7 (HL7) is an industry-standard application protocol for electronic data exchange of information.
The Minimal Lower Layer Protocol (MLLP) is the most common mechanism for exchanging the HL7 data. MLLP uses the TCP/IP protocol to transfer the data. MLLP delimiters are used to recognize the start and the end of message.
In BizTalk are often different Receive Ports used for each message type that is sent to BizTalk but some healthcare applications support only one connection. As always there are different solutions but in this example I’m going to use the ESB toolkit to create a MLLP On Ramp and use business rules to determine on the basis of the message type which routing slip or itinerary has to be initiated.
The following tasks must be performed:
- Create a BizTalk project with the required HL7 schemas for the HL7 v2.X message types.
- Create maps to transform the HL7 messages to the destination messages.
- Create a pipeline with the HL7 disassembler pipeline component and necessary ESB Toolkit components.
- Create an itinerary for each message type to process the messages.
- Create business rules to determine which itinerary has to be initiated.
- Create a Receive Port & location that uses the Minimal Lower Layer Protocol (MLLP) and the custom pipeline.
Before You Begin
You have to install the BizTalk 2013 Accelerator for HL7 & ESB Toolkit before you perform the steps later in this How-to topic:
BizTalk 2013 Accelerator for HL7 |
Download the BizTalk2013 Accelerators Beta file from the Download Center |
Run the downloaded BizTalk2013AcceleratorsBeta.exe from your hard drive and choose the directory from which to install the downloaded product. |
From the directory where you extracted your files, run Setup.exe and follow the instructions to install the BizTalk 2013 Accelerator for HL7. |
![]() |
The installation is fairly simple. Perform a custom installation to install also the MLLP test tools. |
![]() |
ESB Toolkit |
With BizTalk Server 2013 Beta, ESB Toolkit is now fully integrated with BizTalk Server. Also, the ESB Toolkit configuration experience is simplified to enable a quick setup. The installation and configuration is described on MSDN and in an older blog post. |
Steps
To test the MLLP onramp, business rules and itineraries
You can use the command-line tools from the Accelerator for HL7 to send encoded MLLP messages to BizTalk. |
The structure of an MLLP message is given below: <SB> + <Message> + <EB> + <CR> <SB> = Start Block. Messages are prefixed with start byte <Message> = HL7 Message <EB> = End Block. Messages are terminated with end byte <CR> = Carriage Return |
![]() |
The following shows the syntax you use to invoke the mllpsend command-line tool: mllpsend.exe [/I <IP>] [/P <PORT>] [/TWOWAY] [/REPEAT <n>] [/F <FILENAME> /SB nn /EB nn /CR nn |
![]() |
When BizTalk receives the HL7 v2 message it’s converted to XML in the pipeline by the HL7 message disassembler pipeline component . The Itinerary Selector component calls the Business Rule engine that determines the message type and set’s the itinerary. In my example itinerary that is executed, the message is transformed to a canonical message and routed to the destination folder. |
![]() |
Conclusion
The BizTalk Accelerator for HL7 works well with the ESB Toolkit. In this example I've skipped however the Acknowledgement (ACK) messages. Maybe nice to check out in a future post if it's possible to use the ESB toolkit to return the ACK and NACK messages!