Acknowledgement Protocol
An important part of the HL7 standard is the Acknowledgement Protocol.
Every time a receiving application accepts a message and consumes the message data, it is expected to send an ACKnowledgment (ACK) message back to the sending application, as seen below. The sending application is expected to keep on sending a message until it has received an ACK message. If you do not follow this rule, data may be lost in transmission.
A typical ACK message might look like this:
Segment | Description |
---|---|
MSH | Message Header. Contains information about the sending and receiving applications and contains the Message Control ID of the message. The Message Control ID, which is specified in field 10 of the MSH segment, is a unique identifier that is associated with a particular HL7 message. When a message is processed and acknowledged, field 10 of the MSH segment of the acknowledgment message contains the same identifier as the message that it is acknowledging. This is how applications can keep track of what messages have been successfully acknowledged. |
MSA | Message Acknowledgement. Indicates whether the message was accepted (ie. processed successfully) or rejected. The first field of the MSA segment contains the acknowledge status, which is one of the following: |
Acknowledgement Status | Meaning |
---|---|
AA | Positive acknowledgement: the message was successfully processed.. |
AE | Application error: there is a problem processing the message. The sending application must correct the problem before attempting to resend the message. |
AR | Application reject: there is a problem with field 9, field 11 or field 12 of the MSH segment of the incoming message, or there is a problem with the receiving application that is not related to the message or its structure. |
For more information on implementing various HL7 message types, please refer to the HL7 Messaging Standard Implementation Guides corresponding to your required version.
Are you working with HL7 ACK messages? One of the most common challenges we come across is setting up the correct design to handle HL7 ACKnowledgement messages. Careful consideration must be given when setting up a two-way channel of communication to ensure that ACK messages are sent correctly.
Iguana is a data integration platform that allows you to easily configure separate client and server connections where your data can be sent along with the corresponding ACK messages. Oftentimes, a common mistake is to use a single client component to send back all the ACK messages. With Iguana, you can make use of the fact that you have a second channel of communication to send back ACK messages, as this is a much cleaner design.
Fill out the form and we'll be in touch.