HL7 ADT^A31 (Update Person Information)
ADT^A31 updates an existing person record in a master person/patient index, conveying corrected or changed person-level demographics.
When is ADT^A31 sent?
Sent to update MPI demographics outside the context of a specific visit; often paired with A28 in MPI feeds.
Key segments
The segments below are the ones most relevant to ADT^A31. Real messages may carry additional optional segments depending on the sending system’s configuration.
| Segment | Usage | Role |
|---|---|---|
| MSH | Required | Message header: sending/receiving application & facility, message type, control id, version. |
| EVN | Required | Event type: the trigger event code and the date/time the event occurred. |
| PID | Required | Patient identification: identifiers (MRN), name, date of birth, sex, address, phone. |
Example ADT^A31 message
A realistic, well-formed example. Segments are separated by carriage returns; fields by the pipe (|) delimiter.
MSH|^~\&|EPIC|HOSP|REC|REC|20240112090000||ADT^A31|MSGCTRLA31|P|2.5.1
EVN|A31|20240112090000
PID|1||MRN12345^^^EPIC^MR||DOE^JOHN^A||19800101|M|||123 MAIN ST^^CITYTOWN^WA^98101||555-555-0100
PV1|1|I|ICU^101^AFrequently asked questions
What is an HL7 ADT^A31 message?
ADT^A31 is an ADT (Admit, Discharge, Transfer) message with trigger event for update person information. It carries patient demographics (PID) and usually visit details (PV1) so downstream systems stay in sync with the patient's state.
Which segments does ADT^A31 contain?
At minimum MSH (header), EVN (event), and PID (patient identification). Most ADT^A31 messages also include PV1 (patient visit). Additional segments such as NK1, AL1, DG1 or IN1 may follow depending on the sending system's configuration.
How do I convert ADT^A31 to FHIR?
Map the PID demographics to a FHIR Patient (and PV1 to an Encounter). Identifiers need a real system URI, dates need ISO-8601 reformatting, and coded values like sex need a value-set lookup. You can do this with the Interoperall mapping tools.
How do I validate a ADT^A31 message?
Paste the raw message into the HL7v2 validator to parse each segment, check the structure, and get a compliance score. It runs entirely in your browser, so PHI never leaves your device.