Sun Adapter for TCP/IP HL7 User's Guide

Delayed ACK Mode

Delayed ACK mode is an extension to the basic HL7 message exchange mode, where there is some middleware component between the Sender and the Receiver. The sending system expects to receive the ACK from the receiving system in addition to the middleware component. In this mode, the ESB can assume two roles in the protocol: as the Sender and as the Receiver.

ESB Sender Role

In this role, the ESB acts as the Sender in the exchange. The HL7 RA is configured for the outbound direction, and the HL7 outbound Collaboration is configured so the Sends App Ack property is set to True. This parameter is used even though the ESB technically does not send an application ACK. Rather, it receives the application ACK and provides the compliment behavior to the ACK sent by the inbound configured Adapter. The two are related in the protocol.

The purpose of this role is for the ESB to act as if it is a system that requires the Delayed ACKs so that it can communicate with a system that operates in the Delayed ACK Receiver role. An example implementation of this role is available in the HL7Outbound sample Project.

ESB Receiver and Forwarder Role

To perform this role, the ESB is configured with two instances of the HL7 Adapter , each performing its own role as Receiver or Forwarder.


Note –

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


The following steps convey the steps taken in this scenario.

  1. The Receiver accepts the HL7 message. It then returns the first ACK, with an MSH - 5, value “D” (for the Delayed ACK), to the Sender.

  2. The Receiver sends the message to the Forwarder.

  3. The Forwarder sends the message to the receiving External System.

  4. The receiving External System sends an ACK to the Forwarder.

  5. The Forwarder receives the ACK from the External and forwards it on to the Receiver.

  6. The Receiver then forwards the ACK, with an MSH - 5, value “F” indicating that it is the receiving External System’s ACK, to the Sender.

In the Receiver role, the HL7 RA is configured for inbound, and the inbound Collaboration is used with the parameter Sends App Ack set to true. In the Forwarder role, the RA is set to outbound, the parameter Forward External Acks to eGate, is set to true, and the outbound Collaboration is selected.

This configuration table presents the necessary parameters used to configure the Adapter to assume the Delayed ACK roles

Table 1 Adapter Delayed ACK Configuration

Role 

Direction 

Sends App Ack Property 

Forward External Acks 

Sender 

Out 

True 

N/A 

Receiver 

In 

True 

N/A 

Forwarder 

Out 

N/A 

True 

An example of the receiver role is provided in the prjHL7Inbound sample Project. The prjHL7Outbound Project provides a sample implementation of the Forwarder role.