Muokkaa

Jaa


How Messages Flow through BTAHL7

When you install Microsoft BizTalk Accelerator for HL7 (BTAHL7) on top of MicrosoftBizTalk Server, you add BTAHL7 components to the BizTalk Server architecture. The following figure shows the combined system, which provides an architectural overview of BTAHL7.

Image that shows the BizTalk Server system architecture.

Message Processing Flow

When a line-of-business application sends a message to the BTAHL7 system, the following occurs:

  1. If the message is an HL7 message, BTAHL7 receives it through an adapter (usually an MLLP adapter). If it is an XML message, BTAHL7 receives it through an adapter (usually an HTTP adapter).

    Note

    You can transport both 2.X and 2.XML messages over any adapter; however, you would usually transport V2.X messages over an MLLP adapter, and you would usually transport 2.XML messages over an HTTP adapter.

  2. The message is routed through the receive pipeline for parsing by the disassembler, and validation.

    1. If the incoming message is an HL7 message, the flat file disassembler (DASM) disassembles it into XML. If the incoming message is an XML message, the XML DASM disassembles it.

    2. If the incoming message is a batch message, the disassembler disassembles into the individual messages. (For more details, see Batch Message Processing and Message Batching.)

    3. The DASM then validates the message.

    4. If you use a two-way MLLP receive adapter, and if the disassembler has validated the message, BTAHL7 sends an acknowledgment (ACK) to the original sender of the message through the same adapter that received the original message. If not, BTAHL7 sends a negative acknowledgment (NAK). (How this step is accomplished depends on the ACK configuration. For details, see ACK Message Modes.)

    5. If you do not use a two-way MLLP receive adapter, then BTAHL7 generates an ACK or ACKs (or NAK or NAKs) and deposits it into the MessageBox database. BTAHL7 then routes it to the appropriate parties based on the send port configuration, which could use any of the other adapters (besides MLLP).

      For a more complete listing of the processes performed in the flat file and XML disassemblers, see BizTalk Accelerator for HL7 Components.

  3. After the message passes through the adapter and the receive pipeline, BTAHL7 passes the message into the MessageBox database. BizTalk Server then determines where to send the message next. If the message is part of an orchestration, it sends the message to the Orchestration Engine.

  4. The Orchestration Engine processes the message.

    1. If a map affects the message, the map transforms the message according to its rules.

    2. If you have set up a business rule, BizTalk Server invokes the Business Rule Engine (BRE) outside of the pipelines, potentially in the Orchestration Engine.

    3. The Orchestration Engine sends the message back to the MessageBox database, and then continues processing the orchestration.

  5. Based on the subscription, BizTalk Server routes the message to the send port.

  6. BTAHL7 routes the message through the send pipeline for the following processing (if applicable): assembly and validation.

    1. If the message will be an HL7 2.X message, BTAHL7 assembles the message from XML into HL7 by the flat file assembler (ASM). If the incoming message will be an XML message, the XML DASM assembles it.

    2. If the message will be part of a batch message, BTAHL7 assembles each message into the batch message. (For more details, see Batch Message Processing and Message Batching.)

    3. The ASM validates the message (if enabled through send-party configuration settings).

      For a more complete listing of the processes performed in the flat file and XML assemblers, see BizTalk Accelerator for HL7 Components.

  7. BTAHL7 sends the message through an adapter.

    Note

    You can transport 2.X messages and 2.XML messages over a number of adapters; however, most systems transport 2.X messages over an MLLP adapter, and 2.XML messages over an HTTP adapter.

See Also

How BTAHL7 Routes Messages