HL7 Version 2 to FHIR, published by HL7 International / Orders and Observations. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/v2-to-fhir/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/message-adt-a01-to-bundle | Version: 1.0.0 | |||
Standards status: Informative | Computable Name: MessageADT_A01ToBundle | |||
Copyright/Legal: Copyright (c) 2025, HL7 International, Inc., All Rights Reserved. |
This ConceptMap represents a mapping from the HL7 V2 Message ADT_A01 to the FHIR Message Bundle.
This ConceptMap represents the mapping from the HL7 V2 ADT_A01 Message to the FHIR Message Bundle. See also the FHIR Shorthand or the CSV Source.
HL7 v2 | Condition (IF True, args) | HL7 FHIR | Comments | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Sort Order | Identifier | Syntax | Name | Cardinality - Min | Cardinality - Max | Computable ANTLR | Computable FHIRPath | Narrative | Primary Target | Segment Map | References | |
1 | ADT_A01.MSH | MSH | Message Header | 1 | 1 | Bundle | MSH[Bundle] | |||||
1 | ADT_A01.MSH | MSH | Message Header | 1 | 1 | MessageHeader | MSH[MessageHeader] | Processing of the MSH segment results in the creation of a new MessageHeader resource. | ||||
1 | ADT_A01.MSH | MSH | Message Header | 1 | 1 | If there is a source in MSH-4, or known based on the configuration. | Provenance | MSH[Provenance-Source] | Provenance[1].target.reference=Bundle.id; Provenance[1].target.reference=MessageHeader[1].id | If the FHIR transformation does not yield a FHIR message, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Proviance resource instance to the relevant FHIR resources generated. | ||
1 | ADT_A01.MSH | MSH | Message Header | 1 | 1 | Provenance | MSH[Provenance-Transformation] | Provenance[2].target.reference=Bundle.id | If the FHIR transformation does not yield a FHIR Bunlde, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Provenance resource instance to the relevant FHIR resources generated. | |||
2 | ADT_A01.ARV | [{ ARV }] | Access Restrictions | 0 | -1 | |||||||
3 | ADT_A01.SFT | [{ SFT }] | Software Segment | 0 | -1 | If the software does not represent the original source system | Provenance.entity.what(Device) | SFT[Device] | Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="derivation" | |||
3 | ADT_A01.SFT | [{ SFT }] | Software Segment | 0 | -1 | If the software represents the original source system | Provenance.entity.what(Device) | SFT[Device] | Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="source" | |||
4 | ADT_A01.UAC | [ UAC ] | User Authentication Credential | 0 | 1 | |||||||
5 | ADT_A01.EVN | EVN | Event Type | 1 | 1 | Provenance | EVN[Provenance] | Provenance[3].target.reference=MessageHeader[1].id | ||||
5 | ADT_A01.EVN | EVN | Event Type | 1 | 1 | IF EVN-5 NOT VALUED AND (MSH-22 IS VALUED OR MSH-4 IS VALUED) | Provenance | MSH[Provenance-Operator] | Provenance[3].target.reference=MessageHeader[1].id | If EVN-5 is not valued, then the MSH may have either the sending responsible organization (MSH-22) or the sending facility (MSH-4) to reasonable approximate the agent relevant for this Provenance instance. | ||
6 | ADT_A01.PID | PID | Patient Identification | 1 | 1 | Patient | PID[Patient] | Processing of the PID segment results in the creation of a new Patient resource | ||||
6 | ADT_A01.PID | PID | Patient Identification | 1 | 1 | Account | PID[Account] | Account.subject.reference=Patient[1].id | ||||
6 | ADT_A01.PID | PID | Patient Identification | 1 | 1 | IF PID-33 AND PID-34 VALUED | One may drop PID-33 from the condition if PID-34 Last Update Facility is still sufficient without a date. | Provenance | PID[Provenance-Patient] | Provenance.target.reference=Patient[1].id | ||
7 | ADT_A01.PD1 | [ PD1 ] | Additional Demographics | 0 | 1 | Patient | PD1[Patient] | Incorporate PD1 content into the Patient created from the PID segment. | ||||
7 | ADT_A01.PD1 | [ PD1 ] | Additional Demographics | 0 | 1 | IF PD1-7 VALUED | Observation | PD1[Observation-LivingWill] | Observation[1].subject.reference=Patient[1].id | |||
8 | ADT_A01.OH1 | [{ OH1 }] | Employment Status | 0 | -1 | |||||||
9 | ADT_A01.OH2 | [{ OH2 }] | Past or Present Job | 0 | -1 | |||||||
10 | ADT_A01.OH3 | [ OH3 ] | Usual Work | 0 | 1 | |||||||
11 | ADT_A01.OH4 | [{ OH4 }] | Combat Zone Work | 0 | -1 | |||||||
12 | ADT_A01:follow:PID.ARV | [{ ARV }] | Access Restrictions | 0 | -1 | FHIR does not yet support field level security tags. The ARV, when located with the PID/PD1 in the v2 message, is meant to only apply to the patient. However, technically it could point to other places in the messageas as well. That is considered out of scope as. | ||||||
13 | ADT_A01:follow:PID.ROL | [{ ROL }] | Role | 0 | -1 | IF ROL-3.1 EQUALS "PP" AND ROL-3.3 EQUALS "HL70443" | (element("3.1")="PP")and(element("3.3")="HL70443") | Patient | ROL[Patient-GeneralPractitioner] | |||
13 | ADT_A01:follow:PID.ROL | [{ ROL }] | Role | 0 | -1 | IF ROL-3.3 EQUALS "HL70443" AND ROL-3.1 IS NOT "PP" | (element("3.1")!="PP")or(element("3.3")!="HL70443") | When the ROL includes entries with roles in Table HL70443 other than "PP", then they may be candidates for CareTeam, but not all. That is implementation specific. | CareTeam | ROL[CareTeam] | CareTeam[1].subject.reference=Patient[1].id | |
14 | ADT_A01:follow:PID.PRT | [{ PRT }] | Participation | 0 | -1 | IF PRT-4 IS "PP" | If only person information | Patient | PRT[Patient-GeneralPractitioner-Practitioner] | |||
14 | ADT_A01:follow:PID.PRT | [{ PRT }] | Participation | 0 | -1 | IF PRT-4 IS IN ("AD", "AP", "ARI", "AT", "CP", "FHCP", "OP", "PH", "PP", "PRI", "RP", "RT", "VP", "PO") | CareTeam | PRT[CareTeam] | CareTeam[1].subject.reference=Patient[1].id | |||
15 | ADT_A01.NEXT_OF_KIN | [{ | --- NEXT_OF_KIN begin | 0 | -1 | |||||||
15.1 | ADT_A01.NEXT_OF_KIN.NK1 | NK1 | Next of Kin / Associated Parties | 0 | -1 | IF NK1-3.1 NOT IN ("EMR", "E", "F", "I", "S") | RelatedPerson | NK1[RelatedPerson] | RelatedPerson[2].patient.reference=Patient[1].id | Typically, each NK1 will be translated to either a new RelatedPerson resource or added as a new occurrence of Patient.contact, but it's possible to insert the NK1 data into both structures. | ||
15.1 | ADT_A01.NEXT_OF_KIN.NK1 | NK1 | Next of Kin / Associated Parties | 0 | -1 | IF NK1-3.1 NOT IN ("EMR", "E", "F", "I", "S") | Patient | NK1[Patient] | ||||
15.1 | ADT_A01.NEXT_OF_KIN.NK1 | NK1 | Next of Kin / Associated Parties | 0 | -1 | IF NK1-3.1 IN ("EMR", "E", "F", "I", "S") | Patient | NK1[Patient] | ||||
15.2 | ADT_A01.NEXT_OF_KIN.OH2 | [{ OH2 }] | Past or Present Job | 0 | -1 | |||||||
15.2 | ADT_A01.NEXT_OF_KIN.OH3 | [ OH3 ] | Usual Work | 0 | 1 | |||||||
15.3 | /ADT_A01.NEXT_OF_KIN | }] | --- NEXT_OF_KIN end | |||||||||
16 | ADT_A01.PV1 | PV1 | Patient Visit | 1 | 1 | Encounter | PV1[Encounter] | Encounter[1].subject.reference=Patient[1].id | Processing of the PV1 segment results in the creation of a new Encounter resource | |||
16 | ADT_A01.PV1 | PV1 | Patient Visit | 1 | 1 | IF PV1-43 VALUED | Basic | PV1[Basic-EncounterHistory] | Basic.extension-EncounterHistory.subject.reference=Patient[1].id | |||
16 | ADT_A01.PV1 | PV1 | Patient Visit | 1 | 1 | Patient | PV1[Patient] | |||||
16 | ADT_A01.PV1 | PV1 | Patient Visit | 1 | 1 | IF PV1-20 VALUE | Coverage | PV1[Coverage] | Coverage.beneficiary.reference=Patient[1].id | |||
17 | ADT_A01.PV2 | [ PV2 ] | Patient Visit - Additional Info. | 0 | 1 | Encounter | PV2[Encounter] | Incorporate PV2 content into the Encounter created from the PV1 segment. | ||||
18 | ADT_A01:follow:PV1.ARV | [{ ARV }] | Access Restrictions | 0 | -1 | FHIR does not yet support field level security tags. The ARV, when located with the PV1/PV2 in the v2 message, is meant to only apply to the encounter. However, technically it could point to other places in the messageas as well. That is considered out of scope as. | ||||||
19 | ADT_A01:follow:PV1.ROL | [{ ROL }] | Role | 0 | -1 | Encounter | ROL[Encounter-PractitionerRole] | |||||
20 | ADT_A01:follow:PV1.PRT | [{ PRT }] | Participation | 0 | -1 | |||||||
21 | ADT_A01.DB1 | [{ DB1 }] | Disability Information | 0 | -1 | |||||||
22 | ADT_A01.OBSERVATION | [{ | --- OBSERVATION begin | 0 | -1 | |||||||
22.1 | ADT_A01.OBSERVATION.OBX | OBX | Observation/Result | 0 | -1 | IF OBX-5 LST.count LESS THAN OR EQUALS 1 OR OBX-2 IS "NA" | Observation | OBX[Observation] | Observation[3].subject.reference=Patient[1].id | One cannot determine whether this observation made during the PV1/PV2 communicated above, or from a prior visit/stay. It is therefore up to the implementer whether to populate Observation.encounter.reference with the Encounter[1].id or not. Only when the ADT message involves an event before the encounter occurs, e.g., the intiial registration, it is clear that the observation is NOT associated with Encounter[1]. | ||
22.1 | ADT_A01.OBSERVATION.OBX | OBX | Observation/Result | 0 | -1 | IF OBX-5 LST.count GREATER THAN 1 AND OBX-2 IS NOT "NA" | Observation | OBX[Observation-Component] | Observation[3].subject.reference=Patient[1].id | One cannot determine whether this observation made during the PV1/PV2 communicated above, or from a prior visit/stay. It is therefore up to the implementer whether to populate Observation.encounter.reference with the Encounter[1].id or not. Only when the ADT message involves an event before the encounter occurs, e.g., the intiial registration, it is clear that the observation is NOT associated with Encounter[1]. | ||
22.2 | ADT_A01.OBSERVATION.PRT | [{ PRT }] | Participation | 0 | -1 | |||||||
22.3 | /ADT_A01.OBSERVATION | }] | --- OBSERVATION end | |||||||||
23 | ADT_A01.AL1 | [{ AL1 }] | Allergy Information | 0 | -1 | AllergyIntolerance | AL1[AllergyIntolerance] | AllergyIntolerance.patient.reference=Patient[1].id | Processing of the AL1 segment results in the creation of a new AllergyIntolerance resource | |||
24 | ADT_A01.IAM | [{ IAM }] | Patient Advers Reaction Information | 0 | -1 | |||||||
25 | ADT_A01.DG1 | [{ DG1 }] | Diagnosis Information | 0 | -1 | If in context of the patient | Condition | DG1[Condition] | Condition[1].subject.reference=Patient[1].id | Processing of the DG1 segment results in the creation of a new Condition resource | ||
25 | ADT_A01.DG1 | [{ DG1 }] | Diagnosis Information | 0 | -1 | If in context of an encounter | Encounter | DG1[Encounter] | Encounter[1].diagnosis.reference=Condition[1].id | |||
25 | ADT_A01.DG1 | [{ DG1 }] | Diagnosis Information | 0 | -1 | If in context of a episode of care | EpisodeOfCare | DG1[EpisodeOfCare] | EpisodeOfCare.patient.reference=Patient[1].id; EpisodeOfCare.diagnosis.reference=Condition[1].id | |||
26 | ADT_A01.DRG | [ DRG ] | Diagnosis Related Group | 0 | 1 | |||||||
27 | ADT_A01.PROCEDURE | [{ | --- PROCEDURE begin | 0 | -1 | |||||||
27.1 | ADT_A01.PROCEDURE.PR1 | PR1 | Procedures | 1 | 1 | Procedure | PR1[Procedure] | Procedure.subject.reference=Patient[1].id | ||||
27.2 | ADT_A01.PROCEDURE.ROL | [{ ROL }] | Role | 0 | -1 | |||||||
27.3 | ADT_A01.PROCEDURE.PRT | [{ PRT }] | Participation | 0 | -1 | |||||||
27.4 | /ADT_A01.PROCEDURE | }] | --- PROCEDURE end | |||||||||
28 | ADT_A01.GT1 | [{ GT1 }] | Guarantor | 0 | -1 | |||||||
29 | ADT_A01.INSURANCE | [{ | --- INSURANCE begin | 0 | -1 | |||||||
29.1 | ADT_A01.INSURANCE.IN1 | IN1 | Insurance | 1 | 1 | Coverage | IN1[Coverage] | Coverage.beneficiary.reference=Patient[1].id | Processing of the IN1 segment results in the creation of a new Coverage resource | |||
29.2 | ADT_A01.INSURANCE.IN2 | [ IN2 ] | Insurance Additional Info. | 0 | 1 | |||||||
29.3 | ADT_A01.INSURANCE.IN3 | [{ IN3 }] | Insurance Additional Info - Cert. | 0 | -1 | CareTeam | IN3[CareTeam] | CareTeam.subject.reference=Patient[1].id | Incorporate IN3 content into the Coverage created from the IN1 segment. | |||
29.4 | ADT_A01.INSURANCE.ROL | [{ ROL }] | Role | 0 | -1 | |||||||
29.5 | ADT_A01.INSURANCE.PRT | [{ PRT }] | Participation | 0 | -1 | |||||||
29.6 | ADT_A0.INSURANCE.AUTHORIZATION | [{ | --- AUTHORIZATION begin | 0 | -1 | |||||||
29.6.1 | ADT_A01.INSURANCE.AUTHORIZATION.AUT | AUT | Authorization Record | 0 | -1 | |||||||
29.6.2 | ADT_A01.INSURANCE.AUTHORIZATION.PRT | [{ PRT }] | Participation | 0 | -1 | |||||||
29.6.3 | /ADT_A01.INSURANCE.AUTHORIZATION | }] | --- AUTHORIZATION end | |||||||||
29.7 | ADT_A01.INSURANCE.REFERRAL | [{ | --- REFERRAL begin | 0 | -1 | |||||||
29.7.1 | ADT_A01.INSURANCE.REFERRAL.RF1 | RF1 | Referral Information | 0 | -1 | |||||||
29.7.2 | ADT_A01.INSURANCE.REFERRAL.PRT | [{ PRT }] | Participation | 0 | -1 | |||||||
29.7.3 | /ADT_A01.INSURANCE.REFERRAL | }] | --- REFERRAL end | |||||||||
29.8 | /ADT_A01.INSURANCE | }] | --- INSURANCE end | |||||||||
30 | ADT_A01.ACC | [ ACC ] | Accident Information | 0 | 1 | |||||||
31 | ADT_A01.UB1 | [ UB1 ] | Universal Bill Information | 0 | 1 | |||||||
32 | ADT_A01.UB2 | [ UB2 ] | Universal Bill 92 Information | 0 | 1 | |||||||
33 | ADT_A01.PDA | [ PDA ] | Patient Death and Autopsy | 0 | 1 |
Mapping from (not specified) to (not specified)
Group 1 Mapping from unspecified code system
to unspecified code system
Source Concept Details | Relationship | Target Concept Details | Comment | |||||
Codes from | NarrativeCondition | ComputableFHIRPath | ComputableANTLR | Codes from | ||||
ADT_A01.MSH | Message Header | is equivalent to | Bundle | Bundle | ||||
ADT_A01.MSH | Message Header | is equivalent to | MessageHeader[1] | MessageHeader[1] | Processing of the MSH segment results in the creation of a new MessageHeader resource. | |||
ADT_A01.MSH | Message Header | If there is a source in MSH-4, or known based on the configuration. | is equivalent to | Provenance[1] | Provenance[1] | If the FHIR transformation does not yield a FHIR message, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Proviance resource instance to the relevant FHIR resources generated. | ||
ADT_A01.MSH | Message Header | is equivalent to | Provenance[2] | Provenance[2] | If the FHIR transformation does not yield a FHIR Bunlde, but only a set of resource (APIs, repository, etc.) than one should consider attaching this Provenance resource instance to the relevant FHIR resources generated. | |||
ADT_A01.SFT | Software Segment | If the software does not represent the original source system | is equivalent to | Provenance[1].entity.what(Device) | Provenance[1].entity.what(Device) | |||
ADT_A01.SFT | Software Segment | If the software represents the original source system | is equivalent to | Provenance[1].entity.what(Device) | Provenance[1].entity.what(Device) | |||
ADT_A01.EVN | Event Type | is equivalent to | Provenance[3] | Provenance[3] | ||||
ADT_A01.EVN | Event Type | IF EVN-5 NOT VALUED AND (MSH-22 IS VALUED OR MSH-4 IS VALUED) | is equivalent to | Provenance[3] | Provenance[3] | If EVN-5 is not valued, then the MSH may have either the sending responsible organization (MSH-22) or the sending facility (MSH-4) to reasonable approximate the agent relevant for this Provenance instance. | ||
ADT_A01.PID | Patient Identification | is equivalent to | Patient[1] | Patient[1] | Processing of the PID segment results in the creation of a new Patient resource | |||
ADT_A01.PID | Patient Identification | is equivalent to | Account | Account | ||||
ADT_A01.PID | Patient Identification | One may drop PID-33 from the condition if PID-34 Last Update Facility is still sufficient without a date. | IF PID-33 AND PID-34 VALUED | is equivalent to | Provenance[4] | Provenance[4] | ||
ADT_A01.PD1 | Additional Demographics | is equivalent to | Patient[1] | Patient[1] | Incorporate PD1 content into the Patient created from the PID segment. | |||
ADT_A01.PD1 | Additional Demographics | IF PD1-7 VALUED | is equivalent to | Observation[1] | Observation[1] | |||
ADT_A01:follow:PID.ROL | Role | (element("3.1")="PP")and(element("3.3")="HL70443") | IF ROL-3.1 EQUALS "PP" AND ROL-3.3 EQUALS "HL70443" | is equivalent to | Patient[1] | Patient[1] | ||
ADT_A01:follow:PID.ROL | Role | When the ROL includes entries with roles in Table HL70443 other than "PP", then they may be candidates for CareTeam, but not all. That is implementation specific. | (element("3.1")!="PP")or(element("3.3")!="HL70443") | IF ROL-3.3 EQUALS "HL70443" AND ROL-3.1 IS NOT "PP" | is equivalent to | CareTeam[1] | CareTeam[1] | |
ADT_A01:follow:PID.PRT | Participation | If only person information | IF PRT-4 IS "PP" | is equivalent to | Patient[1] | Patient[1] | ||
ADT_A01:follow:PID.PRT | Participation | IF PRT-4 IS IN ("AD", "AP", "ARI", "AT", "CP", "FHCP", "OP", "PH", "PP", "PRI", "RP", "RT", "VP", "PO") | is equivalent to | CareTeam[1] | CareTeam[1] | |||
ADT_A01.NEXT_OF_KIN.NK1 | Next of Kin / Associated Parties | IF NK1-3.1 NOT IN ("EMR", "E", "F", "I", "S") | is equivalent to | RelatedPerson[2] | RelatedPerson[2] | Typically, each NK1 will be translated to either a new RelatedPerson resource or added as a new occurrence of Patient.contact, but it's possible to insert the NK1 data into both structures. | ||
ADT_A01.NEXT_OF_KIN.NK1 | Next of Kin / Associated Parties | IF NK1-3.1 NOT IN ("EMR", "E", "F", "I", "S") | is equivalent to | Patient[1] | Patient[1] | |||
ADT_A01.NEXT_OF_KIN.NK1 | Next of Kin / Associated Parties | IF NK1-3.1 IN ("EMR", "E", "F", "I", "S") | is equivalent to | Patient[1] | Patient[1] | |||
ADT_A01.PV1 | Patient Visit | is equivalent to | Encounter[1] | Encounter[1] | Processing of the PV1 segment results in the creation of a new Encounter resource | |||
ADT_A01.PV1 | Patient Visit | IF PV1-43 VALUED | is equivalent to | Basic | Basic | |||
ADT_A01.PV1 | Patient Visit | is equivalent to | Patient[1] | Patient[1] | ||||
ADT_A01.PV1 | Patient Visit | IF PV1-20 VALUE | is equivalent to | Coverage[1] | Coverage[1] | |||
ADT_A01.PV2 | Patient Visit - Additional Info. | is equivalent to | Encounter[1] | Encounter[1] | Incorporate PV2 content into the Encounter created from the PV1 segment. | |||
ADT_A01:follow:PV1.ROL | Role | is equivalent to | Encounter[1] | Encounter[1] | ||||
ADT_A01.OBSERVATION.OBX | Observation/Result | IF OBX-5 LST.count LESS THAN OR EQUALS 1 OR OBX-2 IS "NA" | is equivalent to | Observation[3] | Observation[3] | One cannot determine whether this observation made during the PV1/PV2 communicated above, or from a prior visit/stay. It is therefore up to the implementer whether to populate Observation.encounter.reference with the Encounter[1].id or not. Only when the ADT message involves an event before the encounter occurs, e.g., the intiial registration, it is clear that the observation is NOT associated with Encounter[1]. | ||
ADT_A01.OBSERVATION.OBX | Observation/Result | IF OBX-5 LST.count GREATER THAN 1 AND OBX-2 IS NOT "NA" | is equivalent to | Observation[3] | Observation[3] | One cannot determine whether this observation made during the PV1/PV2 communicated above, or from a prior visit/stay. It is therefore up to the implementer whether to populate Observation.encounter.reference with the Encounter[1].id or not. Only when the ADT message involves an event before the encounter occurs, e.g., the intiial registration, it is clear that the observation is NOT associated with Encounter[1]. | ||
ADT_A01.AL1 | Allergy Information | is equivalent to | AllergyIntolerance | AllergyIntolerance | Processing of the AL1 segment results in the creation of a new AllergyIntolerance resource | |||
ADT_A01.DG1 | Diagnosis Information | If in context of the patient | is equivalent to | Condition[1] | Condition[1] | Processing of the DG1 segment results in the creation of a new Condition resource | ||
ADT_A01.DG1 | Diagnosis Information | If in context of an encounter | is equivalent to | Encounter[1] | Encounter[1] | |||
ADT_A01.DG1 | Diagnosis Information | If in context of a episode of care | is equivalent to | EpisodeOfCare[1] | EpisodeOfCare[1] | |||
ADT_A01.PROCEDURE.PR1 | Procedures | is equivalent to | Procedure | Procedure | ||||
ADT_A01.INSURANCE.IN1 | Insurance | is equivalent to | Coverage[1] | Coverage[1] | Processing of the IN1 segment results in the creation of a new Coverage resource | |||
ADT_A01.INSURANCE.IN3 | Insurance Additional Info - Cert. | is equivalent to | CareTeam[1] | CareTeam[1] | Incorporate IN3 content into the Coverage created from the IN1 segment. |