ACK (Acknowledgement)

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.

Sample ACK Message

A typical ACK message might look like this:

MSA|AA|9B38584D|Everything was okay dokay!|

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.


Working With ACK Messages

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.

How does Iguana process HL7 ACK messages?

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.

See Iguana in action: Let us show you how to set up a clean interface design for handling HL7 ACK messages.

Fill out the form and we'll be in touch.

Request a Free Demo

Other HL7 Message Types

  • HL7 ADT (Admit, Discharge and Transfer)
  • HL7 ORM (Order Entry)
  • HL7 ORU (Observation Result)
  • HL7 MDM (Medical Document Management)
  • HL7 DFT (Detailed Financial Transactions)
  • HL7 BAR (Billing Account Record)
  • HL7 SIU (Scheduling Information Unsolicited)
  • HL7 RDS (Pharmacy/treatment Dispense)
  • HL7 RDE (Pharmacy/Treatment Encoded Order)
  • HL7 ACK (Acknowledgement Message)