ADT: Admit, Discharge, Transfer
ADT carries patient administration events: a patient arriving, moving between wards, being discharged, or having their demographics corrected. It is the busiest interface in most hospitals, because almost every other system needs to know who the patient is and where they are.
Recognising ADT messages
ADT announces itself in MSH-9 like this:
ADT^A01^ADT_A01- MSH-9.1
ADTmessage code: what kind of message this is (admit, discharge, transfer) - MSH-9.2
A01trigger event: what happened in the real world: admit/visit notification - MSH-9.3
ADT_A01message structure: which segments to expect, and in what order
How to use these specifications explains MSH-9 in full, with a worked example.
Here it is in a real message. Look at the first line.
MSH|^~\&|EPIC|STJOSEPH|LABSYS|STJOSEPH|20240314093015||ADT^A01^ADT_A01|MSG00017|P|2.5.1 EVN||20240314093000 PID|1||1000345678^^^STJOSEPH^MR~453-22-9911^^^USA^SS||CARTWRIGHT^ELEANOR^MAY^^^^L||19510822|F||2106-3|41 ORCHARD LANE^APT 2B^PORTLAND^OR^97202^USA^H||^PRN^PH^^1^503^5550142|^WPN^PH^^1^503^5550188|eng|M|CHR|100034567800 PV1|1|I|3W^312^A^STJOSEPH||||1447312^OKONKWO^ADAEZE^^^^MD|||MED||||1|||1447312^OKONKWO^ADAEZE^^^^MD|I|V100034567|SELF|||||||||||||||||||SJ||A|||20240314093000
Message structures
ADT takes 25 structures. The first 4 are shown in full; the rest are listed below.
ADT_A01: Admit/Visit Notification
4 different trigger events send this structure:
- A01Admit/Visit Notification
- A04Register a Patient
- A08Update Patient Information
- A13Cancel Discharge / End Visit
The segments below are the same for all 4. HL7 varies the meaning, not the shape: there is no separate ADT_A04 layout. What changes is MSH-9, which tells the receiver which of the 4 happened and therefore what to do with the message.
You must always send: MSH, EVN, PID, PV1. Everything else is optional, or required only inside a group you chose to send.
| Segment | Name | OPT | Cardinality |
|---|---|---|---|
| MSH | Message Header | R | 1..1 |
| SFT | Software Segment | O | 0..* |
| EVN | Event Type | R | 1..1 |
| PID | Patient Identification | R | 1..1 |
| PD1 | Additional Demographics | O | 0..1 |
| ROL | Role | O | 0..* |
| NK1 | Next of Kin / Associated Parties | O | 0..* |
| PV1 | Patient Visit | R | 1..1 |
| PV2 | Patient Visit - Additional Info. | O | 0..1 |
| ROL | Role | O | 0..* |
| DB1 | Disability Information | O | 0..* |
| OBX | Observation/Result | O | 0..* |
| AL1 | Allergy Information | O | 0..* |
| DG1 | Diagnosis Information | O | 0..* |
| DRG | Diagnosis Related Group | O | 0..1 |
| PROCEDURE | a group of 2 segments, repeated together | O | 0..* |
| PR1in PROCEDURE | Procedures | R | 1..1 |
| ROLin PROCEDURE | Role | O | 0..* |
| GT1 | Guarantor | O | 0..* |
| INSURANCE | a group of 4 segments, repeated together | O | 0..* |
| IN1in INSURANCE | Insurance | R | 1..1 |
| IN2in INSURANCE | Insurance Additional Info. | O | 0..1 |
| IN3in INSURANCE | Insurance Additional Info - Cert. | O | 0..* |
| ROLin INSURANCE | Role | O | 0..* |
| ACC | Accident Information | O | 0..1 |
| UB1 | Universal Bill Information | O | 0..1 |
| UB2 | Universal Bill 92 Information | O | 0..1 |
| PDA | Patient Death and Autopsy | O | 0..1 |
R inside a group means required of that group. Send the group and you must include that segment; leave the group out and it never appears. This structure has 2 such groups: PROCEDURE, INSURANCE.
ADT_A02: Transfer a Patient
Sent when one thing happens: A02: Transfer a Patient.
| Segment | Name | OPT | Cardinality |
|---|---|---|---|
| MSH | Message Header | R | 1..1 |
| SFT | Software Segment | O | 0..* |
| EVN | Event Type | R | 1..1 |
| PID | Patient Identification | R | 1..1 |
| PD1 | Additional Demographics | O | 0..1 |
| ROL | Role | O | 0..* |
| PV1 | Patient Visit | R | 1..1 |
| PV2 | Patient Visit - Additional Info. | O | 0..1 |
| ROL | Role | O | 0..* |
| DB1 | Disability Information | O | 0..* |
| OBX | Observation/Result | O | 0..* |
| PDA | Patient Death and Autopsy | O | 0..1 |
ADT_A03: Discharge/End Visit
Sent when one thing happens: A03: Discharge/End Visit.
| Segment | Name | OPT | Cardinality |
|---|---|---|---|
| MSH | Message Header | R | 1..1 |
| SFT | Software Segment | O | 0..* |
| EVN | Event Type | R | 1..1 |
| PID | Patient Identification | R | 1..1 |
| PD1 | Additional Demographics | O | 0..1 |
| ROL | Role | O | 0..* |
| NK1 | Next of Kin / Associated Parties | O | 0..* |
| PV1 | Patient Visit | R | 1..1 |
| PV2 | Patient Visit - Additional Info. | O | 0..1 |
| ROL | Role | O | 0..* |
| DB1 | Disability Information | O | 0..* |
| AL1 | Allergy Information | O | 0..* |
| DG1 | Diagnosis Information | O | 0..* |
| DRG | Diagnosis Related Group | O | 0..1 |
| PROCEDURE | a group of 2 segments, repeated together | O | 0..* |
| PR1in PROCEDURE | Procedures | R | 1..1 |
| ROLin PROCEDURE | Role | O | 0..* |
| OBX | Observation/Result | O | 0..* |
| GT1 | Guarantor | O | 0..* |
| INSURANCE | a group of 4 segments, repeated together | O | 0..* |
| IN1in INSURANCE | Insurance | R | 1..1 |
| IN2in INSURANCE | Insurance Additional Info. | O | 0..1 |
| IN3in INSURANCE | Insurance Additional Info - Cert. | O | 0..* |
| ROLin INSURANCE | Role | O | 0..* |
| ACC | Accident Information | O | 0..1 |
| PDA | Patient Death and Autopsy | O | 0..1 |
ADT_A05: Pre-Admit a Patient
4 different trigger events send this structure:
- A05Pre-Admit a Patient
- A14Pending Admit
- A28Add Person or Patient Information
- A31Update Person Information
The segments below are the same for all 4. HL7 varies the meaning, not the shape: there is no separate ADT_A14 layout. What changes is MSH-9, which tells the receiver which of the 4 happened and therefore what to do with the message.
| Segment | Name | OPT | Cardinality |
|---|---|---|---|
| MSH | Message Header | R | 1..1 |
| SFT | Software Segment | O | 0..* |
| EVN | Event Type | R | 1..1 |
| PID | Patient Identification | R | 1..1 |
| PD1 | Additional Demographics | O | 0..1 |
| ROL | Role | O | 0..* |
| NK1 | Next of Kin / Associated Parties | O | 0..* |
| PV1 | Patient Visit | R | 1..1 |
| PV2 | Patient Visit - Additional Info. | O | 0..1 |
| ROL | Role | O | 0..* |
| DB1 | Disability Information | O | 0..* |
| OBX | Observation/Result | O | 0..* |
| AL1 | Allergy Information | O | 0..* |
| DG1 | Diagnosis Information | O | 0..* |
| DRG | Diagnosis Related Group | O | 0..1 |
| PROCEDURE | a group of 2 segments, repeated together | O | 0..* |
| PR1in PROCEDURE | Procedures | R | 1..1 |
| ROLin PROCEDURE | Role | O | 0..* |
| GT1 | Guarantor | O | 0..* |
| INSURANCE | a group of 4 segments, repeated together | O | 0..* |
| IN1in INSURANCE | Insurance | R | 1..1 |
| IN2in INSURANCE | Insurance Additional Info. | O | 0..1 |
| IN3in INSURANCE | Insurance Additional Info - Cert. | O | 0..* |
| ROLin INSURANCE | Role | O | 0..* |
| ACC | Accident Information | O | 0..1 |
| UB1 | Universal Bill Information | O | 0..1 |
| UB2 | Universal Bill 92 Information | O | 0..1 |
Other ADT structures
| Structure | Name | Events |
|---|---|---|
| ADT_A06 | Change an Outpatient to an Inpatient | A06, A07 |
| ADT_A09 | Patient Departing - Tracking | A09, A10, A11 |
| ADT_A12 | Cancel Transfer | A12 |
| ADT_A15 | Pending Transfer | A15 |
| ADT_A16 | Pending Discharge | A16 |
| ADT_A17 | Swap Patients | A17 |
| ADT_A18 | Merge Patient Information | A18 |
| ADT_A20 | Bed Status Update | A20 |
| ADT_A21 | Patient Goes on a Leave of Absence | A21, A22, A23, A25, A26, A27, A29, A32, A33 |
| ADT_A24 | Link Patient Information | A24 |
| ADT_A30 | Merge Person Information | A30, A34, A35, A36, A46, A47, A48, A49 |
| ADT_A37 | Unlink Patient Information | A37 |
| ADT_A38 | Cancel Pre-Admit | A38 |
| ADT_A39 | Merge Person - Patient ID | A39, A40, A41, A42 |
| ADT_A43 | Move Patient Information - Patient Identifier List | A43, A44 |
| ADT_A45 | Move Visit Information - Visit Number | A45 |
| ADT_A50 | Change Visit Number | A50, A51 |
| ADT_A52 | Cancel Leave of Absence for a Patient | A52, A53, A55 |
| ADT_A54 | Change Attending Doctor | A54 |
| ADT_A60 | Update Adverse Reaction Information | A60 |
| ADT_A61 | Change Consulting Doctor | A61, A62 |
Trigger events
The trigger event is the real-world thing that made the message get sent. ADT defines 57.
| Event | Name | Structure |
|---|---|---|
| A01 | Admit/Visit Notification | ADT_A01 |
| A02 | Transfer a Patient | ADT_A02 |
| A03 | Discharge/End Visit | ADT_A03 |
| A04 | Register a Patient | ADT_A01 |
| A05 | Pre-Admit a Patient | ADT_A05 |
| A06 | Change an Outpatient to an Inpatient | ADT_A06 |
| A07 | Change an Inpatient to an Outpatient | ADT_A06 |
| A08 | Update Patient Information | ADT_A01 |
| A09 | Patient Departing - Tracking | ADT_A09 |
| A10 | Patient Arriving - Tracking | ADT_A09 |
| A11 | Cancel Admit / Visit Notification | ADT_A09 |
| A12 | Cancel Transfer | ADT_A12 |
| A13 | Cancel Discharge / End Visit | ADT_A01 |
| A14 | Pending Admit | ADT_A05 |
| A15 | Pending Transfer | ADT_A15 |
| A16 | Pending Discharge | ADT_A16 |
| A17 | Swap Patients | ADT_A17 |
| A18 | Merge Patient Information | ADT_A18 |
| A20 | Bed Status Update | ADT_A20 |
| A21 | Patient Goes on a Leave of Absence | ADT_A21 |
| A22 | Patient Returns From a Leave of Absence | ADT_A21 |
| A23 | Delete a Patient Record | ADT_A21 |
| A24 | Link Patient Information | ADT_A24 |
| A25 | Cancel Pending Discharge | ADT_A21 |
| A26 | Cancel Pending Transfer | ADT_A21 |
| A27 | Cancel Pending Admit | ADT_A21 |
| A28 | Add Person or Patient Information | ADT_A05 |
| A29 | Delete Person Information | ADT_A21 |
| A30 | Merge Person Information | ADT_A30 |
| A31 | Update Person Information | ADT_A05 |
| A32 | Cancel Patient Arriving - Tracking | ADT_A21 |
| A33 | Cancel Patient Departing - Tracking | ADT_A21 |
| A34 | Merge Patient Information - Patient ID Only | ADT_A30 |
| A35 | Merge Patient Information - Account Number Only | ADT_A30 |
| A36 | A36 | ADT_A30 |
| A37 | Unlink Patient Information | ADT_A37 |
| A38 | Cancel Pre-Admit | ADT_A38 |
| A39 | Merge Person - Patient ID | ADT_A39 |
| A40 | Merge Patient - Patient Identifier List | ADT_A39 |
| A41 | Merge Account - Patient Account Number | ADT_A39 |
| A42 | Merge Visit - Visit Number | ADT_A39 |
| A43 | Move Patient Information - Patient Identifier List | ADT_A43 |
| A44 | Move Account Information - Patient Account Number | ADT_A43 |
| A45 | Move Visit Information - Visit Number | ADT_A45 |
| A46 | Change Patient ID | ADT_A30 |
| A47 | Change Patient Identifier List | ADT_A30 |
| A48 | Change Alternate Patient ID | ADT_A30 |
| A49 | Change Patient Account Number | ADT_A30 |
| A50 | Change Visit Number | ADT_A50 |
| A51 | Change Alternate Visit ID | ADT_A50 |
| A52 | Cancel Leave of Absence for a Patient | ADT_A52 |
| A53 | Cancel Patient Returns from a Leave of Absence | ADT_A52 |
| A54 | Change Attending Doctor | ADT_A54 |
| A55 | Cancel Change Attending Doctor | ADT_A52 |
| A60 | Update Adverse Reaction Information | ADT_A60 |
| A61 | Change Consulting Doctor | ADT_A61 |
| A62 | Cancel Change Consulting Doctor | ADT_A61 |