In my last two posts – acknowledgement (ACK) message definition and Original Mode ACK, it is important to remember that not every system will handle acknowledgments the same way in HL7 messaging. You will interface with systems that send you HL7 messages and do not wait for a response of any kind prior to sending the next message. In this scenario, your system will not be able to send back acknowledgment messages. This type of HL7 messaging delivery is never recommended.
Also, not all systems will review the values that are placed in MSA-1. So even though your application may be setup to send back an AE value in MSA-1, if you fail to receive a message, there is no guarantee that the sending system will review this value. Why is this important?
Consider this scenario:
Your lab application is setup to send back a negative acknowledgment (‘AE’ value in MSA-1) if it receives a message that it cannot enqueue. The HIS system at the hospital where your application is installed does not review the MSA-1 value of the ACK message that you send back. At 2:00 pm, there is a hardware problem on the machine where your application is installed, and although you are able to receive messages, you cannot enqueue them. So you send back a negative acknowledgment letting the other side know you have a problem and were unable to enqueue the last message. The HIS ignores the details of this response, and sends you the next message, which will also fail to be enqueued.
An hour later, doctors begin to call the lab looking for results for the orders that they have placed. The lab staff claims they have never received those orders. The HIS administrator is called, and after a quick review of the interface, claims that the orders are being sent and acknowledged by the lab system. This, of course, is because the HIS is only using the first level of qualification.
A quick review of the lab system reveals the problem. Once the lab system has recovered, all of the lost messages need to be reloaded before the interface can be brought back online to receive real time messages again. These messages will need to be resent from the HIS. This may require downtime for the HIS and other systems in the hospital.
These problems can be avoided upfront if the implementation team has a solid understanding of how ACKs will work between the systems. It is important to review the HL7 integration specifications of any application that you will be interfacing with to gain a thorough understanding of how their system sends and receives HL7 acknowledgment messages.
In particular, you need to understand the level of detail an application will go to when qualifying an HL7 response. While this may only be a small piece of an HL7 interface, it is often overlooked in the beginning and is only addressed once the issue has been encountered in production. A little preparation upfront can save you a lot of time, and messages, in the long run.
Latest posts by Mike Stockemer (see all)
- Supporting CDA in Clinical Applications, Part 2: XML and HTML Rendering - March 8, 2011
- Supporting CDA in Clinical Applications, Part 1: Introduction - March 1, 2011
- Comparing HL7 Messages to HL7 Documents - January 25, 2008