Skip to content

HL7 v2 ACK and NAK (acknowledgment modes)

An HL7 v2 ACK is the acknowledgment message a receiver returns for each message it processes; a NAK is the same ACK structure carrying an error or reject code. The verdict lives in MSA-1 (table 0008): original mode uses AA (accept), AE (error), AR (reject); enhanced mode adds a separate commit layer with CA, CE, CR, negotiated per message by MSH-15 (accept acknowledgment type) and MSH-16 (application acknowledgment type).

Verdict fieldMSA-1, an ID drawn from table 0008
Original modeAA application accept, AE application error, AR application reject
Enhanced mode (commit layer)CA commit accept, CE commit error, CR commit reject
Mode negotiationMSH-15 (accept ack type) and MSH-16 (application ack type); empty in both = original mode
CorrelationMSA-2 echoes the MSH-10 message control ID of the message being acknowledged

Example

MSH|^~\&|PIDGEON^^L|PIDGEON_FACILITY|TARGET^^L|TARGET_FACILITY|20260722160739||ACK|289558|P|2.3|||SU|AL|||es^Spanish^ISO639^^^
MSA|CE|169768||1|D|ID223583^^^ID349682^^

Engine-generated with `pidgeon generate ACK --seed 42` (HL7 v2.3; timestamps vary per run). MSA-1 carries CE, an enhanced-mode commit error; MSA-2 echoes the control ID of the message being acknowledged; MSH-15/MSH-16 carry the sender's own acknowledgment conditions.

Validation context

Strict and compatibility validation notes land here with the phase-1 data export.

This answer, in your terminal

pidgeon lookup MSA.1

Wire it into your AI agent:

claude mcp add pidgeon -- npx -y @pidgeonhealth/mcp

Download Post free to browse this reference with generation attached.

HL7® and FHIR® are registered trademarks of Health Level Seven International.

Published by Pattern Engine LLC (Pidgeon Health).

Rendered from the same machine-readable definitions the Pidgeon engine validates against. Hand-authored reference page (phase 1b); example generated with the Pidgeon CLI at seed 42.