Sun Adapter for TCP/IP HL7 User's Guide

Outbound Functionality

The outbound TCP/IP HL7 Adapter Project, prjHL7Outbound, can be implemented in standard outbound mode or in two forward message modes: outbound delayed ACK or outbound forwarder.

Outbound Adapter Data Flow

In outbound mode, the Adapter receives HL7 messages from a JMS queue. Each message is verified to ensure it contains HL7 data only. Legitimate HL7 data is enveloped into its configured format and sent to the external system.

A message in the JMS queue triggers the outbound Collaboration. The outbound Collaboration is provided with an HL7 message to send to the external system

The Adapter waits for a configurable number of milliseconds for an incoming HL7 ACK or NAK from the external system. After receiving an HL7 response from the external system, the Adapter strips the message from its envelope and verifies its integrity.

Any non-HL7 acknowledgment received from the external system causes the Adapter to resend the same message. If the incoming response is an HL7 ACK or NAK, the Adapter might do either of the following, as dictated by its configuration:

If journaling is set, these messages and their ACKs are placed in the journal file.

Outbound Standard Messaging Mode

    The following steps describe the process for the Outbound Standard Message Mode:

  1. An HL7 message triggers the Collaboration. The outbound Collaboration is designed to accept the HL7 messages.

  2. The Collaboration maps the received message into the Generic Event Message Library and validates the MSH segment. If validation is enabled, the Collaboration checks the MSH segment of the outbound messages against MSH values configured in the Adapter properties file. If the validation fails or the message cannot be parsed, the message and its error are written to the error queue. Note that the HL7 message is always checked for structural correctness.

  3. The Collaboration sends the message to the RA.

  4. The RA envelopes the message and sends it to the External System and waits for an ACK.

  5. The Collaboration receives and validates the ACK, and then journals the ACK and the HL7 message (if journaling is enabled). If the Collaboration receives a NAK, the NAK and the HL7 message are sent to the error queue.

  6. Finally, the Collaboration commits the JMS receive.

Outbound Adapter Roles for Delayed ACK Scenarios

The outbound Adapter can fulfill two roles in a delayed ACK scenario. The outbound delayed acknowledgement mode is used to communicate with an external system that is configured to receive messages in a delayed ACK way; that is, it receives two ACKs. One confirms the message was received, and the other is from the application that accepts the message. For delayed ACK mode, the process is similar to that of the standard outbound mode, except that it receives two ACKs. The initial ACK comes from the receiving system.

Outbound Delayed ACK Role

The following steps describe the outbound delayed acknowledgement role process displayed:

  1. The outbound Adapter, which is configured as Delayed Acknowledgement role, receives a message from JMS, and sends the message to the External System.

  2. The External System receives the message and returns the first Acknowledgement to the outbound Adapter with an MSA - 5, value “D” for Delayed Acknowledgement. The outbound Adapter receives the ACK, validates the ACK (verifying that it is a Delayed ACK), and waits for another ACK.

  3. The outbound Adapter receives another HL7 ACK message (the second) and validates that the second HL7 ACK message is an MSA - 5, with a value of “F.” If the second ACK is valid, the Adapter commits the message, otherwise it resends the message.

Outbound Forwarder Role

The Outbound Forward Message role is used in conjunction with the with the inbound Adapter, which is also configured to handle delayed ACKs. No validation is preformed: the Adapter acts as a “pass-through.”

    The following steps describe the Outbound Forwarder Role processing:

  1. Data is received by the Collaboration, from the JMS queue.

  2. The Collaboration extracts the JMS property “reply to” destination from the message, but does no validation, and sends the message to the External System.

  3. The Adapter receives the ACK from the External System.

  4. The Collaboration sends the ACK to the temporary topic that was contained in the “reply to.”


    Note –

    For Delayed ACK, the Receiver and Forwarder must be on the same integration server.


Message Verification

The only verification that the outbound Adapter does is to ensure that the message parses into the generic Event Message Library, and that the MSH uses the correct fields. The acknowledge is verified to ensure that the sent message is valid.

Acknowledgment Processing

Recourse Actions

Recourse actions can be configured for the outbound Adapter for the following conditions: