HL7 Version 2 to FHIR
1.0.0 - STU 1 International flag

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

ConceptMap: Message ADT_A02 to Bundle Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/message-adt-a02-to-bundle Version: 1.0.0
Standards status: Informative Computable Name: MessageADT_A02ToBundle

Copyright/Legal: Copyright (c) 2025, HL7 International, Inc., All Rights Reserved.

This ConceptMap represents a mapping from the HL7 V2 Message ADT_A02 to the FHIR Message Bundle.

This ConceptMap represents the mapping from the HL7 V2 ADT_A02 Message to the FHIR Message Bundle. See also the FHIR Shorthand or the CSV Source.

HL7 v2Condition (IF True, args)HL7 FHIRComments
Sort OrderIdentifierSyntaxNameCardinality - MinCardinality - MaxComputable ANTLRComputable FHIRPathNarrativePrimary TargetSegment MapReferences
1ADT_A02.MSHMSHMessage Header11BundleMSH[Bundle]
1ADT_A02.MSHMSHMessage Header11MessageHeaderMSH[MessageHeader]Processing of the MSH segment results in the creation of a new MessageHeader resource.
1ADT_A02.MSHMSHMessage Header11If there is a source in MSH-4, or known based on the configuration.ProvenanceMSH[Provenance-Source]Provenance[1].target.reference=Bundle.id; Provenance[1].target.reference=MessageHeader[1].idIf 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.
1ADT_A02.MSHMSHMessage Header11ProvenanceMSH[Provenance-Transformation]Provenance[2].target.reference=Bundle.idIf 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.
2ADT_A02.ARV[{ ARV }]Access Restrictions0-1
3ADT_A02.SFT[{ SFT }]Software Segment0-1If the software does represent not the original source systemProvenance.entity.what(Device)SFT[Device]Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="derivation"
3ADT_A02.SFT[{ SFT }]Software Segment0-1If the software represents the original source systemProvenance.entity.what(Device)SFT[Device]Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="source"
4ADT_A02.UAC[ UAC ]User Authentication Credential01
5ADT_A02.EVNEVNEvent Type11ProvenanceEVN[Provenance]Provenance[3].target.reference=MessageHeader[1].id
5ADT_A02.EVNEVNEvent Type11IF EVN-5 NOT VALUED AND (MSH-22 IS VALUED OR MSH-4 IS VALUED)ProvenanceMSH[Provenance-Operator]Provenance[3].target.reference=MessageHeader[1].idIf 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.
6ADT_A02.PIDPIDPatient Identification11PatientPID[Patient]Processing of the PID segment results in the creation of a new Patient resource
6ADT_A02.PIDPIDPatient Identification11AccountPID[Account]Account.subject.reference=Patient[1].id
6ADT_A02.PIDPIDPatient Identification11IF PID-33 AND PID-34 VALUEDOne may drop PID-33 from the condition if PID-34 Last Update Facility is still sufficient without a date.ProvenancePID[Provenance-Patient]Provenance.target.reference=Patient[1].id
7ADT_A02.PD1[ PD1 ]Additional Demographics01PatientPD1[Patient]Incorporate PD1 content into the Patient created from the PID segment.
7ADT_A02.PD1[ PD1 ]Additional Demographics01IF PD1-7 VALUEDObservationPD1[Observation-LivingWill]Observation[1].subject.reference=Patient[1].id
8ADT_A02.OH1[{ OH1 }]Employment Status0-1
9ADT_A02.OH2[{ OH2 }]Past or Present Job0-1
10ADT_A02.OH3[ OH3 ]Usual Work01
11ADT_A02.OH4[{ OH4 }]Combat Zone Work0-1
12ADT_A02:follow:PID.ARV[{ ARV }]Access Restrictions0-1FHIR 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 messages as well. That is considered out of scope as.
13ADT_A02:follow:PID.ROL[{ ROL }]Role0-1IF ROL-3.1 EQUALS "PP" AND ROL-3.3 EQUALS "HL70443"(element("3.1")="PP")and(element("3.3")="HL70443")PatientROL[Patient-GeneralPractitioner]
13ADT_A02:follow:PID.ROL[{ ROL }]Role0-1IF 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.CareTeamROL[CareTeam]CareTeam[1].subject.reference=Patient[1].id
14ADT_A02:follow:PID.PRT[{ PRT }]Participation0-1IF PRT-4 IS "PP"PatientPRT[Patient-GeneralPractitioner-Practitioner]
14ADT_A02:follow:PID.PRT[{ PRT }]Participation0-1IF PRT-4 IS IN ("AD", "AP", "ARI", "AT", "CP", "FHCP", "OP", "PH", "PP", "PRI", "RP", "RT", "VP", "PO")CareTeamPRT[CareTeam]CareTeam[1].subject.reference=Patient[1].id
15ADT_A02.PV1PV1Patient Visit11EncounterPV1[Encounter]Encounter[1].subject.reference=Patient[1].idProcessing of the PV1 segment results in the creation of a new Encounter resource
15ADT_A02.PV1PV1Patient Visit11IF PV1-43 VALUEDBasicPV1[Basic-EncounterHistory]Basic.extension-EncounterHistory.subject.reference=Patient[1].id
15ADT_A02.PV1PV1Patient Visit11PatientPV1[Patient]
15ADT_A02.PV1PV1Patient Visit11IF PV1-20 VALUECoveragePV1[Coverage]Coverage.beneficiary.reference=Patient[1].id
16ADT_A02.PV2[ PV2 ]Patient Visit - Additional Info.01EncounterPV2[Encounter]Incorporate PV2 content into the Encounter created from the PV1 segment.
17ADT_A02:follow:PV1.ARV[{ ARV }]Access Restrictions0-1FHIR 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.
18ADT_A02:follow:PV1.ROL[{ ROL }]Role0-1EncounterROL[Encounter-PractitionerRole]
19ADT_A02:follow:PV1.PRT[{ PRT }]Participation0-1
20ADT_A02.DB1[{ DB1 }]Disability Information0-1
21ADT_A02.OBSERVATION[{--- OBSERVATION begin0-1
21.1ADT_A02.OBSERVATION.OBXOBXObservation/Result11IF OBX-5 LST.count LESS THAN OR EQUALS 1 OR OBX-2 IS "NA"ObservationOBX[Observation]Observation[3].subject.reference=Patient[1].idOne 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].
21.1ADT_A02.OBSERVATION.OBXOBXObservation/Result11IF OBX-5 LST.count GREATER THAN 1 AND OBX-2 IS NOT "NA"ObservationOBX[Observation-Component]Observation[3].subject.reference=Patient[1].idOne 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].
21.2ADT_A02.OBSERVATION.OBX[{ PRT }]Participation0-1
21.3/ADT_A02.OBSERVATION}]--- OBSERVATION end
22ADT_A02.PDA[ PDA ]Patient Death and Autopsy01

Mapping from (not specified) to (not specified)


Group 1 Mapping from unspecified code system to unspecified code system

Source Concept DetailsRelationshipTarget Concept DetailsComment
Codes from NarrativeConditionComputableFHIRPathComputableANTLRCodes from
ADT_A02.MSHMessage Headeris equivalent toBundleBundle
ADT_A02.MSHMessage Headeris equivalent toMessageHeader[1]MessageHeader[1]Processing of the MSH segment results in the creation of a new MessageHeader resource.
ADT_A02.MSHMessage HeaderIf there is a source in MSH-4, or known based on the configuration.is equivalent toProvenance[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_A02.MSHMessage Headeris equivalent toProvenance[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_A02.SFTSoftware SegmentIf the software does represent not the original source systemis equivalent toProvenance[1].entity.what(Device)Provenance[1].entity.what(Device)
ADT_A02.SFTSoftware SegmentIf the software represents the original source systemis equivalent toProvenance[1].entity.what(Device)Provenance[1].entity.what(Device)
ADT_A02.EVNEvent Typeis equivalent toProvenance[3]Provenance[3]
ADT_A02.EVNEvent TypeIF EVN-5 NOT VALUED AND (MSH-22 IS VALUED OR MSH-4 IS VALUED)is equivalent toProvenance[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_A02.PIDPatient Identificationis equivalent toPatient[1]Patient[1]Processing of the PID segment results in the creation of a new Patient resource
ADT_A02.PIDPatient Identificationis equivalent toAccountAccount
ADT_A02.PIDPatient IdentificationOne 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 VALUEDis equivalent toProvenance[4]Provenance[4]
ADT_A02.PD1Additional Demographicsis equivalent toPatient[1]Patient[1]Incorporate PD1 content into the Patient created from the PID segment.
ADT_A02.PD1Additional DemographicsIF PD1-7 VALUEDis equivalent toObservation[1]Observation[1]
ADT_A02:follow:PID.ROLRole(element("3.1")="PP")and(element("3.3")="HL70443")IF ROL-3.1 EQUALS "PP" AND ROL-3.3 EQUALS "HL70443"is equivalent toPatient[1]Patient[1]
ADT_A02:follow:PID.ROLRoleWhen 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 toCareTeam[1]CareTeam[1]
ADT_A02:follow:PID.PRTParticipationIF PRT-4 IS "PP"is equivalent toPatient[1]Patient[1]
ADT_A02:follow:PID.PRTParticipationIF PRT-4 IS IN ("AD", "AP", "ARI", "AT", "CP", "FHCP", "OP", "PH", "PP", "PRI", "RP", "RT", "VP", "PO")is equivalent toCareTeam[1]CareTeam[1]
ADT_A02.PV1Patient Visitis equivalent toEncounter[1]Encounter[1]Processing of the PV1 segment results in the creation of a new Encounter resource
ADT_A02.PV1Patient VisitIF PV1-43 VALUEDis equivalent toBasicBasic
ADT_A02.PV1Patient Visitis equivalent toPatient[1]Patient[1]
ADT_A02.PV1Patient VisitIF PV1-20 VALUEis equivalent toCoverage[1]Coverage[1]
ADT_A02.PV2Patient Visit - Additional Info.is equivalent toEncounter[1]Encounter[1]Incorporate PV2 content into the Encounter created from the PV1 segment.
ADT_A02:follow:PV1.ROLRoleis equivalent toEncounter[1]Encounter[1]
ADT_A02.OBSERVATION.OBXObservation/ResultIF OBX-5 LST.count LESS THAN OR EQUALS 1 OR OBX-2 IS "NA"is equivalent toObservation[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_A02.OBSERVATION.OBXObservation/ResultIF OBX-5 LST.count GREATER THAN 1 AND OBX-2 IS NOT "NA"is equivalent toObservation[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].

Notes: