The Discovery Data Service (DDS) takes HL7 ADT messages from a number of suppliers, transforms the data into FHIR, and makes this available for subscriber use. This page explains the HL7 ADT message types, structure, transform process, and the ADT -> FHIR -> Compass2 mappings.
Message Types
Message Type | Message Name | Publisher use |
---|---|---|
ADT^A01 | Admit / visit notification | Barts Health |
ADT^A02 | Transfer a patient | Barts Health |
ADT^A03 | Discharge/end visit | Barts Health |
ADT^A04 | Register a patient | Barts Health |
ADT^A05 | Pre-admit a patient | |
ADT^A06 | Change an outpatient to an inpatient | |
ADT^A07 | Change an inpatient to an outpatient | |
ADT^A08 | Update patient information | Barts Health |
ADT^A11 | Cancel admit/visit notification | Barts Health |
ADT^A12 | Cancel transfer | Barts Health |
ADT^A13 | Cancel discharge/end visit | Barts Health |
ADT^A14 | Pending admit | |
ADT^A17 | Swap patients | |
ADT^A23 | Delete a patient record | Barts Health |
ADT^A27 | Cancel pending admit | |
ADT^A28 | Add person information | Barts Health |
ADT^A31 | Update person information | Barts Health |
ADT^A34 | Merge patient information - patient ID only | Barts Health |
ADT^A35 | Merge patient information - account number only | Barts Health |
ADT^A44 | Move account information - patient account number | Barts Health |
Message Structures
The messages types are grouped by their structure for transformation to FHIR, since this avoids a large amount of code repetition.
When saving FHIR to the Discovery store there are variations in handling of message types within the message structure groups.
The structures are as follows:
Structure A – Patient level messages
Applies to:
- ADT^A01 (Admit/visit notification)
- ADT^A02 (Transfer a patient)
- ADT^A03 (Discharge/end visit)
- ADT^A04 (Register a patient)
- ADT^A08 (Update patient information)
- ADT^A11 (Cancel admit/visit notification)
- ADT^A12 (Cancel transfer)
- ADT^A13 (Cancel discharge/end visit)
- ADT^A23 (Delete a patient record)
Segments used:
- MSH [1..1] Message header
- EVN [1..1] Event information
- PID [1..1] Patient information
- PD1 [0..1] Additional demographics
- PV1 [1..1] Patient visit information
- PV2 [0..1] Patient visit additional
Structure B – Person level messages (without encounter information)
Applies to:
- ADT^A28 (Add person information)
- ADT^A31 (Update person information)
Standard segments:
- MSH [1..1] Message header
- EVN [1..1] Event information
- PID [1..1] Patient information
- PD1 [0..1] Additional demographics
Structure C – Merge patient information
Applies to:
- A34 (Merge patient information)
- A44 (Move account information)
Standard segments:
- MSH [1..1] Message header
- EVN [1..1] Event information
- PID [1..1] Patient information
- PD1 [0..1] Additional demographics
- MRG [1..1] Merge information
Structure D – Merge account number
Applies to:
- A35 (Merge account number)
Standard segments:
- MSH [1..1] Message header
- EVN [1..1] Event information
- PID [1..1] Patient information
- PD1 [0..1] Additional demographics
- PV1 [1..1] Patient visit information
- MRG [1..1] Merge information
Segment - PID - Patient Identification
Field# | FieldName | FHIR Mapping | Extension |
---|---|---|---|
PID.2 | Patient ID | Patient.identifier | |
PID.3 | Patient Identifier List | Patient.identifier | |
PID.4 | Alternate PatientIidentifier | Patient.identifier | |
PID.5 | Patient Name | Patient.name | |
PID.7 | Date/Time Of Birth | Patient.birthDate & Patient.extension | primarycare-contact-birth-time-extension |
PID.8 | Sex | Patient.gender | |
PID.9 | Patient Alias | Patient.name | |
PID.11 | Patient Address | Patient.address | |
PID.13 | Phone Number - Home | Patient.telecom | |
PID.14 | Phone Number - Business | Patient.telecom | |
PID.15 | Primary Language | Patient.communication.language | |
PID.16 | Marital Status | Patient.maritalStatus | |
PID.17 | Religion | Patient.extension | primarycare-religion-category-extension |
PID.18 | Patient Account Number | Patient.identifier | |
PID.22 | Ethnic Group | Patient.extension | primarycare-ethnic-category-extension |
PID.29 | Patient Death Date and Time | Patient.deceased | |
PID.30 | Patient Death Indicator | Patient.deceased |
Segment - PD1 - Patient Additional Demographic
Field# | FieldName | FHIR Mapping | Extension |
---|---|---|---|
PD1.3 | Patient primary facility | Patient.careProvider& Organization | |
PD1.4 | Patient primary care provider | Patient.careProvider& Practitioner |
Segment - NK1 - Next of Kin / Associated Parties
Field# | FieldName | FHIR Mapping | Extension |
---|---|---|---|
NK1.2 | Name | Patient.contact.name | |
NK1.3 | Relationship | Patient.contact.relationship | |
NK1.4 | Address | Patient.contact.address | |
NK1.5 | Phone number | Patient.contact.telecom.value | |
NK1.6 | Business phone number | Patient.contact.telecom.value | |
NK1.7 | Contact role | Patient.contact.extension | primarycare-contact-role-category-extension |
NK1.20 | Primary language | Patient.contact.extension | primarycare-contact-main-language-category-extension |
Segment - PV1 - Patient Visit
Field# | FieldName | FHIR Mapping | Extension |
---|---|---|---|
PV1.2 | Patient class | Encounter.class | |
PV1.4 | Admission type | Encounter.extension | encounter-admission-type |
PV1.6 | Prior patient location | Encounter.location& Location | |
PV1.7 | Attending doctor | Encounter.participant & Practitioner | |
PV1.8 | Referring doctor | Encounter.participant & Practitioner | |
PV1.9 | Consulting doctor | Encounter.participant& Practitioner | |
PV1.10 | Hospital service | Encounter.serviceProvider& Organization | |
PV1.14 | Admit source | Encounter.hospitalization.origin | |
PV1.17 | Admitting doctor | Encounter.participant & Practitioner | |
PV1.18 | Patient type | Encounter.type | |
PV1.19 | Visit number | EpisodeOfCare.identifier | |
PV1.36 | Discharge disposition | Encounter.hospitalization.dischargeDisposition | |
PV1.37 | Discharged to location | Encounter.hospitalization.destination | |
PV1.39 | Servicing facility | Encounter.managingOrganization | |
PV1.41 | Account status | Encounter.status | |
PV1.44 | Admit date/time | Encounter.statusHistory.start | |
PV1.45 | Discharge date/time | Encounter.statusHistory.end | |
PV1.50 | Alternate visit ID | Encounter.identifier | |
PV1.52 | Other healthcare provider | Encounter.participant& Practitioner |
Segment - PV2 - Patient Visit - Additional Information
Field# | FieldName | FHIR Mapping | Extension |
---|---|---|---|
PV2.3 | Admit reason | Encounter.reason | |
PV2.4 | Transfer reason | Encounter.reason | |
PV2.8 | Expected admit date/time | Encounter.statusHistory.start |
Segment - EVN - Event Type
Field# | FieldName | FHIR Mapping | Extension |
---|---|---|---|
EVN.2 | Recorded date/time | Encounter.extension | primarycare-recorded-date-extension |
EVN.5 | Operator ID | MessageHeader.enterer & Practitioner.identifier & Practitioner.name |
Segment - MSH - Message Header
Field# | FieldName | FHIR Mapping | Extension |
---|---|---|---|
MSH.3 | Sending application | MessageHeader.source.software | |
MSH.4 | Sending facility | MessageHeader.source.name | |
MSH.5 | Receiving application | MessageHeader.destination.extension | message-header-destination-software-extension |
MSH.6 | Receiving facility | MessageHeader.destination.name & MessageHeader.responsible | |
MSH.7 | Message date/time | MessageHeader.timestamp | |
MSH.9 | Message type | MessageHeader.event.code | |
MSH.10 | Message control id | MessageHeader.extension | message-header-message-control-id-extension |
MSH.12 | Version ID | MessageHeader.event.version | |
MSH.13 | Sequence number | MessageHeader.extension | message-header-sequence-number-extension |