What BizTalk Accelerator for HL7 Adds to BizTalk Server
Microsoft BizTalk Accelerator for HL7 (BTAHL7) builds a BizTalk Server integration system into a health care integration system. It adds functionality that health care organizations require.
You install BTAHL7 on top of BizTalk Server. BTAHL7 adds functionality to the core BizTalk Server engine. It adds features, tools, and utilities to those that BizTalk Server provides. It also adds application-programming interfaces (APIs) to what the BizTalk Server SDK provides.
BTAHL72X Message Processing
BTAHL7 adds a number of features and tools that enable the system to process HL7 messages natively, without the need for customization. BTAHL7 includes all the document specifications, applications, and components that you need to develop and deploy for processing the full range of HL7-specific transactions. BTAHL7 supports BTAHL72X flat-file schemas. The following BTAHL7 components perform BTAHL72X message processing:
HL7 disassembler and assembler that enable the system to parse and serialize HL7 messages natively. The disassembler and assembler are part of the BizTalk Server pipeline, which performs a series of processing steps on messages, including conversion to or from XML, decoding or encoding, and message validation.
A Minimal Lower Layer Protocol (MLLP) adapter that enables the system to receive or send HL7-based messages, which BizTalk Server typically transports using the MLLP protocol. The MLLP adapter ensures that BizTalk Server and BTAHL7 are interoperable with HL7-based messaging applications.
HL7 message schemas that enable the system to receive HL7-encoded messages.
BTAHL72XML Message Processing
BTAHL7 adds a number of features and tools that enable the system to process XML messages. BTAHL7 converts HL7 messages to XML format in order to enable BizTalk Server, which uses XML internally, to perform operations on messages. BTAHL7 performs the conversion to XML only for HL7 V2.X messages, since they are natively in flat file format. It does not perform the conversion for 2.XML messages, which are in XML format. BTAHL7 parses and validates these messages without conversion.
The XML message schemas supported are the BTAHL72XML schemas generated by the HL7 organization for the HL7 V2.XML version, and the BTAHL72X schemas used for HL7 V2.X version messages (in flat file format). BTAHL7 includes the document specifications, applications, and components that you need to develop and deploy for processing the full range of BTAHL72XML transactions. The following BTAHL7 components perform BTAHL72XML message processing:
XML disassembler and assembler that enable the system to parse and serialize XML messages that correspond to HL7 messages. The XML disassembler and assembler include enhancements beyond the functionality of the BizTalk Server XML disassembler and assembler, including auto-acknowledgment and message validation.
HL7-compatible XML schemas that enable the system to receive HL7 messages (both V2.X and V2.XML messages). The system converts V2.X messages into XML messages (V2.XML messages are already in XML), and then sends them to another system that is XML-enabled. Similarly, BTAHL7 can receive XML messages, and then convert them into HL7 for sending. BTAHL7 transforms HL7-specific data from or to another format by using XML-based document specifications, along with the HL7 parser, maps, and other BizTalk Server tools that call the schemas and maps. For example, you might receive an interchange in standard HL7 V2.0 format or V2.5 format, and transform that data into another format that an existing medical application can use.
BTAHL7 performs validation of HL7 V2.X messages that BizTalk Server cannot perform. BTAHL7 automatically performs syntactical and schematic validation of the header of an HL7 message, and automatically performs some structural validation of the body of an HL7 message. BTAHL7 performs schematic validation of the body of an HL7 message, if you enable that feature (see Validation Settings).
The validation of the body of an HL7-encoded message includes the schema, data format, some header and body fields, and enumeration values. The validation of 2.XML messages includes validation against their schema, which is standard XML validation. For more information, see BTAHL72X Flat File Processing and BTAHL72XML Processing.
To ensure reliability of the messaging system, you may want to require acknowledgments (ACK) to HL7 messages that BTAHL7 generates automatically based on configuration settings.
Original-mode ACKs confirm validation of the message header and body. In enhanced mode, BTAHL7 generates two types of ACKs: an accept ACK that it sends on validation of the header, and an application ACK that it sends on validation of the complete message. BTAHL7 generates a deferred ACK by the line-of-business application that receives a message from BizTalk Server.
BTAHL7 facilitates acknowledgment processing supporting bidirectional message transports.
You can process documents in batch mode, which saves processing overhead. You can also batch responses to those batches. BTAHL7 enables three kinds of batching for HL7 2.X messages:
Inbound batching, in which the system receives messages as a batch, and then fragments it into individual messages.
Batch in/batch out, in which the system both receives and sends messages as a batch.
Create batching, in which the system sends a batch of messages received as individual messages.
BTAHL7 does not provide batching capabilities for V2.XML messages.
To enhance troubleshooting, BTAHL7 enables reporting of errors or warnings signaled by system components. You can filter such events, store them in any of three log stores (Windows event log, WMI, or a BTAHL7SQL Server log store), or customize them by using the BTAHL7 SDK.
You can configure BTAHL7 parties, batches, acknowledgments, and the log store in BTAHL7 Configuration Explorer, an administrative tool added to the tools that BizTalk Server provides. This tool also enables you to initiate batch processing at the party level. The BTAHL7 SDK enables you to customize these settings programmatically.