HL7 v2 MSA-3 Field Guide: Text Message Values and Common Mistakes
MSA-3 is the only place in a bare ACK where a human-readable explanation can show up, and it is routinely left blank in test data even on the error and reject cases where it matters most.
MSA-3 is the Text Message field, an optional free-text value that gives additional context about the acknowledgment, most commonly used to explain why a message received an AE or AR code. On a plain AA acknowledgment it is frequently left empty since there's nothing to explain.
What this field contains
Example
MSA-3 (Patient identifier not found in master index) is a synthetic error description paired with the AE acknowledgment code.
Where this trips people up
Because MSA-3 is optional, test data generators often skip it entirely, which means log viewers, alerting dashboards, and error-triage tooling only ever get tested against a blank field. When production starts sending genuinely long or oddly formatted error text — including punctuation that collides with the pipe or component delimiters if it isn't escaped — those downstream tools can choke on their first real encounter with a populated MSA-3.