Insights

When a Penford ADT leaves Harbor Engine toward the lab, the first thing most analysts celebrate is “we got an ACK.” That celebration is often too early.

The three application codes you meet every day

HL7 v2 Table 0008 defines six acknowledgment codes. On classic original-mode feeds you mostly see three:

Enhanced mode adds CA / CE / CR at the *commit* layer (did the receiver safely store the bytes for later?). You can get a CA now and an AE later. Sources: HL7 Terminology v2-0008, v2.5.1 table 0008.

A Penford walkthrough

Outbound MSH-10 is PMC-ADT-160501. The lab replies:

MSA|AE|PMC-ADT-160501
ERR||PID^1^3|101^Required field missing^HL70357|E

That ACK is doing its job. It is not success. Table 0357 code 101 means a required field is missing — here PID-3. Look up more codes in the error lookup and the MSA / ERR field guides.

What AA does *not* promise

AA from the lab’s interface process does not mean the EMR screen updated, the billing extract ran, or every downstream subscriber stored the visit. It means *this* application accepted the message. If Bedboard AAs and Lab AEs on the same ADT, you have a partial delivery problem — exactly what Harbor Engine’s destination detail is for.

Practical habits

  1. Match MSA-2 to your outbound MSH-10.
  2. On AE/AR, read ERR-3 before you resend the same bytes.
  3. Never invent an MRN or DOB to “make it AA.”

Next: try the sample in the HL7 viewer, or practice edit-and-resend in the Sandbox.

Keep practicing — free HL7 viewer and FHIR viewer with Insights, or the Sandbox.
Academy previewFree Sandbox