HL7 Acknowledgement ACK
There are two types of Acknowledgement messages (ACKs) used in healthcare data exchange communications: HL7 is a Standards Developing Organization accredited by the American National Standards Institute (ANSI) to author consensus-based standards representing a board view from healthcare system stakeholders. HL7 has compiled a collection of message form... More ACKs (including original mode acknowledgements and enhanced mode acknowledgements) and non-HL7 ACKs (also known as static string acknowledgements).
An HL7 ACK is built using information from the HL7 message, and is in HL7 format.
- Original Mode Acknowledgement – a “Receive” ACK, and 95% of the ACKs used in HL7 communications; indicates that a message has been received but not necessarily processed yet.
- Enhanced Mode Acknowledgement – an “Application” ACK that is a resultant status return rather than a communication response (i.e. query results, order response, etc.).
A Non-HL7/Static String ACK is a custom acknowledgement, and is simply a text string (rather than an HL7-formatted ACK). These types of ACKs are used when a system is not receiving HL7 messages, and therefore cannot use the HL7 message information to automatically populate an HL7-formatted ACK.
Why use ACKs?
The HL7 messaging standard includes an ACK message to be sent back to the sending interface after receiving a message to indicate the message was received. In a typical HL7 environment, a sender will assume the message was not received until it receives an ACK message. So if the receiver connection does not return an ACK message, the sender may assume there is a problem and stop sending messages.
ACKs also can affect the pace at which messages are sent along a connection. Because HL7 is generally configured to send a message and then wait for an ACK before sending the next message in the queue, the sooner the acknowledgment is returned the sooner the next message is sent. Many connections use the ACK as a means for controlling the pace of the connection.
A receiver connection should send an ACK message unless the sending application is unable or unwilling to receive ACK messages. Usually, this is only the case with legacy systems or systems that are not sending HL7 messages.
Register for an upcoming HL7: First Steps training class to learn more about ACK messages.