Acknowledgement  Message

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.

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


MSH segment:

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 segment:

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:

Acknowledge Status



Positive acknowledgment: the message was successfully processed.


Application error: there is a problem processing the message. The sending application must correct the problem before attempting to resend the message.


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.

[ ] = optional, { } = repeating


For more information on implementing various HL7 message types, please refer to the HL7 Messaging Standard Implementation Guides corresponding to your required version. 





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)


Integration with HL7

HL7 is great standard, but anyone with first hand experience knows it's not without its challenges. We're here to help!

Let's talk

The ''non-standard" Standard

In practice, you'll find that everyone formats HL7 messages slightly different, even though it has a standard structure in place. With iNTERFACEWARE's integration engine, you can ensure that all data is normalized as intended for full compliance.


Version Compatiblity

What happens when the source destination is sending one version of HL7, while the recipient's system can only handle an older version of HL7? With Iguana you can convert HL7 versions on the fly.


Data Extraction

As you've seen, HL7 messages can contain a lot of information -- sometimes much more than you need. Simplify things using Iguana, by extracting the data from the specific HL7 fields you need. 


Future Proofing

The HL7 organization is always working on improving the standard and new versions will keep coming in the future. Ensure that your data always remains compatible with iNTERFACEWARE's integration engine, Iguana.