HL7 Version 2 to FHIR
1.0.0-ballot - ballot 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-ballot 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_A01 to Bundle Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/message-adt-a01-to-bundle Version: 1.0.0-ballot
Active as of 2024-03-22 Computable Name: MessageADT_A01ToBundle

Copyright/Legal: Copyright (c) 2020, 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.

</thead> </table>
HL7 v2Condition (IF True, args)HL7 FHIRComments
Sort OrderIdentifierSyntaxNameCardinality - MinCardinality - MaxComputable ANTLRComputable FHIRPathNarrativePrimary TargetSegment MapReferences
1ADT_A01.MSHMSHMessage Header11BundleMSH[Bundle]
1ADT_A01.MSHMSHMessage Header11MessageHeaderMSH[MessageHeader]Processing of the MSH segment results in the creation of a new MessageHeader resource.
1ADT_A01.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_A01.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_A01.ARV[{ ARV }]Access Restrictions0-1
3ADT_A01.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_A01.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_A01.UAC[ UAC ]User Authentication Credential01
5ADT_A01.EVNEVNEvent Type11ProvenanceEVN[Provenance]Provenance[3].target.reference=MessageHeader[1].id
5ADT_A01.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_A01.PIDPIDPatient Identification11PatientPID[Patient]Processing of the PID segment results in the creation of a new Patient resource
6ADT_A01.PIDPIDPatient Identification11AccountPID[Account]Account.subject.reference=Patient[1].id
6ADT_A01.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_A01.PD1[ PD1 ]Additional Demographics01PatientPD1[Patient]Incorporate PD1 content into the Patient created from the PID segment.
8ADT_A01.OH1[{ OH1 }]Employment Status0-1
9ADT_A01.OH2[{ OH2 }]Past or Present Job0-1
10ADT_A01.OH3[ OH3 ]Usual Work01
11ADT_A01.OH4[{ OH4 }]Combat Zone Work0-1
12ADT_A01: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 messageas as well. That is considered out of scope as.
13ADT_A01: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_A01: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_A01:follow:PID.PRT[{ PRT }]Participation0-1IF PRT-4 IS "PP"If only person informationPatientPRT[Patient-GeneralPractitioner-Practitioner]
14ADT_A01: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_A01.NEXT_OF_KIN[{--- NEXT_OF_KIN begin0-1
15.1ADT_A01.NEXT_OF_KIN.NK1NK1Next of Kin / Associated Parties0-1IF NK1-3.1 NOT IN ("EMR", "E", "F", "I", "S")RelatedPersonNK1[RelatedPerson]RelatedPerson[2].patient.reference=Patient[1].idTypically, 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.1ADT_A01.NEXT_OF_KIN.NK1NK1Next of Kin / Associated Parties0-1IF NK1-3.1 NOT IN ("EMR", "E", "F", "I", "S")PatientNK1[Patient]
15.1ADT_A01.NEXT_OF_KIN.NK1NK1Next of Kin / Associated Parties0-1IF NK1-3.1 IN ("EMR", "E", "F", "I", "S")PatientNK1[Patient]
15.2ADT_A01.NEXT_OF_KIN.OH2[{ OH2 }]Past or Present Job0-1
15.2ADT_A01.NEXT_OF_KIN.OH3[ OH3 ]Usual Work01
15.3/ADT_A01.NEXT_OF_KIN}]--- NEXT_OF_KIN end
16ADT_A01.PV1PV1Patient Visit11EncounterPV1[Encounter]Encounter[1].subject.reference=Patient[1].idProcessing of the PV1 segment results in the creation of a new Encounter resource
16ADT_A01.PV1PV1Patient Visit11PatientPV1[Patient]
17ADT_A01.PV2[ PV2 ]Patient Visit - Additional Info.01EncounterPV2[Encounter]Incorporate PV2 content into the Encounter created from the PV1 segment.
18ADT_A01: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.
19ADT_A01:follow:PV1.ROL[{ ROL }]Role0-1EncounterROL[Encounter-PractitionerRole]
20ADT_A01:follow:PV1.PRT[{ PRT }]Participation0-1
21ADT_A01.DB1[{ DB1 }]Disability Information0-1
22ADT_A01.OBSERVATION[{--- OBSERVATION begin0-1
22.1ADT_A01.OBSERVATION.OBXOBXObservation/Result0-1Based on profiles, such as Vital Signs, certain observations are represented on the Observation, while others on its components. No computable guidance available yet.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].
22.1ADT_A01.OBSERVATION.OBXOBXObservation/Result0-1Based on profiles, such as Vital Signs, certain observations are represented on the Observation, while others on its components. No computable guidance available yet.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].
22.2ADT_A01.OBSERVATION.PRT[{ PRT }]Participation0-1
22.3/ADT_A01.OBSERVATION}]--- OBSERVATION end
23ADT_A01.AL1[{ AL1 }]Allergy Information0-1AllergyIntoleranceAL1[AllergyIntolerance]AllergyIntolerance.patient.reference=Patient[1].idProcessing of the AL1 segment results in the creation of a new AllergyIntolerance resource
24ADT_A01.IAM[{ IAM }]Patient Advers Reaction Information0-1
25ADT_A01.DG1[{ DG1 }]Diagnosis Information0-1If in context of the patientConditionDG1[Condition]Condition[1].subject.reference=Patient[1].idProcessing of the DG1 segment results in the creation of a new Condition resource
25ADT_A01.DG1[{ DG1 }]Diagnosis Information0-1If in context of an encounterEncounterDG1[Encounter]Encounter[1].diagnosis.reference=Condition[1].id
25ADT_A01.DG1[{ DG1 }]Diagnosis Information0-1If in context of a episode of careEpisodeOfCareDG1[EpisodeOfCare]EpisodeOfCare.patient.reference=Patient[1].id; EpisodeOfCare.diagnosis.reference=Condition[1].id
26ADT_A01.DRG[ DRG ]Diagnosis Related Group01
27ADT_A01.PROCEDURE[{--- PROCEDURE begin0-1
27.1ADT_A01.PROCEDURE.PR1PR1Procedures11ProcedurePR1[Procedure]Procedure.subject.reference=Patient[1].id
27.2ADT_A01.PROCEDURE.ROL[{ ROL }]Role0-1
27.3ADT_A01.PROCEDURE.PRT[{ PRT }]Participation0-1
27.4/ADT_A01.PROCEDURE}]--- PROCEDURE end
28ADT_A01.GT1[{ GT1 }]Guarantor0-1
29ADT_A01.INSURANCE[{--- INSURANCE begin0-1
29.1ADT_A01.INSURANCE.IN1IN1Insurance11CoverageIN1[Coverage]Coverage.beneficiary.reference=Patient[1].idProcessing of the IN1 segment results in the creation of a new Coverage resource
29.2ADT_A01.INSURANCE.IN2[ IN2 ]Insurance Additional Info.01
29.3ADT_A01.INSURANCE.IN3[{ IN3 }]Insurance Additional Info - Cert.0-1CareTeamIN3[CareTeam]CareTeam.subject.reference=Patient[1].idIncorporate IN3 content into the Coverage created from the IN1 segment.
29.4ADT_A01.INSURANCE.ROL[{ ROL }]Role0-1
29.5ADT_A01.INSURANCE.PRT[{ PRT }]Participation0-1
29.6ADT_A0.INSURANCE.AUTHORIZATION[{--- AUTHORIZATION begin0-1
29.6.1ADT_A01.INSURANCE.AUTHORIZATION.AUTAUTAuthorization Record0-1
29.6.2ADT_A01.INSURANCE.AUTHORIZATION.PRT[{ PRT }]Participation0-1
29.6.3/ADT_A01.INSURANCE.AUTHORIZATION}]--- AUTHORIZATION end
29.7ADT_A01.INSURANCE.REFERRAL[{--- REFERRAL begin0-1
29.7.1ADT_A01.INSURANCE.REFERRAL.RF1RF1Referral Information0-1
29.7.2ADT_A01.INSURANCE.REFERRAL.PRT[{ PRT }]Participation0-1
29.7.3/ADT_A01.INSURANCE.REFERRAL}]--- REFERRAL end
29.8/ADT_A01.INSURANCE}]--- INSURANCE end
30ADT_A01.ACC[ ACC ]Accident Information01
31ADT_A01.UB1[ UB1 ]Universal Bill Information01
32ADT_A01.UB2[ UB2 ]Universal Bill 92 Information01
33ADT_A01.PDA[ PDA ]Patient Death and Autopsy01

Mapping from ADT_A01 to Bundle

ACTIVE (not intended for production usage). Published on 2024-03-22 by HL7 International / Orders and Observations (HL7 Orders and Observations Workgroup: http://www.hl7.org/Special/com..., Keith W. Boone: kboone@ainq.com, Rob Hausam: rrhausam@gmail.com). Copyright (c) 2020, HL7 International, Inc., All Rights Reserved.

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


Group 1 Mapping from unspecified code system to unspecified code system

Source Concept DetailsRelationshipTarget Concept DetailsCommentProperties
Codes from segmentmapreferencesCodes from narrativeantlrfhirpath
ADT_A01.MSHMessage HeaderMSH[Bundle]is equivalent toBundleBundle
ADT_A01.MSHMessage HeaderMSH[MessageHeader]is equivalent toMessageHeader[1]MessageHeader[1]Processing of the MSH segment results in the creation of a new MessageHeader resource.
ADT_A01.MSHMessage HeaderMSH[Provenance-Source]Provenance[1].target.reference=Bundle.id; Provenance[1].target.reference=MessageHeader[1].idis equivalent toProvenance[1]Provenance[1]If there is a source in MSH-4, or known based on the configuration.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.MSHMessage HeaderMSH[Provenance-Transformation]Provenance[2].target.reference=Bundle.idis 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_A01.SFTSoftware SegmentSFT[Device]Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="derivation"\is equivalent toProvenance[1].entity.what(Device)Provenance[1].entity.what(Device)If the software does represent not the original source system
ADT_A01.SFTSoftware SegmentSFT[Device]Provenance[1].entity.what.reference=Device.id Provenance[1].entity.role="source"\is equivalent toProvenance[1].entity.what(Device)Provenance[1].entity.what(Device)If the software represents the original source system
ADT_A01.EVNEvent TypeEVN[Provenance]Provenance[3].target.reference=MessageHeader[1].idis equivalent toProvenance[3]Provenance[3]
ADT_A01.EVNEvent TypeMSH[Provenance-Operator]Provenance[3].target.reference=MessageHeader[1].idis equivalent toProvenance[3]Provenance[3]IF EVN-5 NOT VALUED AND (MSH-22 IS VALUED OR MSH-4 IS VALUED)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.PIDPatient IdentificationPID[Patient]is equivalent toPatient[1]Patient[1]Processing of the PID segment results in the creation of a new Patient resource
ADT_A01.PIDPatient IdentificationPID[Account]Account.subject.reference=Patient[1].idis equivalent toAccountAccount
ADT_A01.PIDPatient IdentificationPID[Provenance-Patient]Provenance.target.reference=Patient[1].idis equivalent toProvenance[4]Provenance[4]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
ADT_A01.PD1Additional DemographicsPD1[Patient]is equivalent toPatient[1]Patient[1]Incorporate PD1 content into the Patient created from the PID segment.
ADT_A01:follow:PID.ROLRoleROL[Patient-GeneralPractitioner]is equivalent toPatient[1]Patient[1]IF ROL-3.1 EQUALS "PP" AND ROL-3.3 EQUALS "HL70443"(element("3.1")="PP")and(element("3.3")="HL70443")
ADT_A01:follow:PID.ROLRoleROL[CareTeam]CareTeam[1].subject.reference=Patient[1].idis equivalent toCareTeam[1]CareTeam[1]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.IF ROL-3.3 EQUALS "HL70443" AND ROL-3.1 IS NOT "PP"(element("3.1")!="PP")or(element("3.3")!="HL70443")
ADT_A01:follow:PID.PRTParticipationPRT[Patient-GeneralPractitioner-Practitioner]is equivalent toPatient[1]Patient[1]If only person informationIF PRT-4 IS "PP"
ADT_A01:follow:PID.PRTParticipationPRT[CareTeam]CareTeam[1].subject.reference=Patient[1].idis equivalent toCareTeam[1]CareTeam[1]IF PRT-4 IS IN ("AD", "AP", "ARI", "AT", "CP", "FHCP", "OP", "PH", "PP", "PRI", "RP", "RT", "VP", "PO")
ADT_A01.NEXT_OF_KIN.NK1Next of Kin / Associated PartiesNK1[RelatedPerson]RelatedPerson[2].patient.reference=Patient[1].idis equivalent toRelatedPerson[2]RelatedPerson[2]IF NK1-3.1 NOT IN ("EMR", "E", "F", "I", "S")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.NK1Next of Kin / Associated PartiesNK1[Patient]is equivalent toPatient[1]Patient[1]IF NK1-3.1 NOT IN ("EMR", "E", "F", "I", "S")
ADT_A01.NEXT_OF_KIN.NK1Next of Kin / Associated PartiesNK1[Patient]is equivalent toPatient[1]Patient[1]IF NK1-3.1 IN ("EMR", "E", "F", "I", "S")
ADT_A01.PV1Patient VisitPV1[Encounter]Encounter[1].subject.reference=Patient[1].idis equivalent toEncounter[1]Encounter[1]Processing of the PV1 segment results in the creation of a new Encounter resource
ADT_A01.PV1Patient VisitPV1[Patient]is equivalent toPatient[1]Patient[1]
ADT_A01.PV2Patient Visit - Additional Info.PV2[Encounter]is equivalent toEncounter[1]Encounter[1]Incorporate PV2 content into the Encounter created from the PV1 segment.
ADT_A01:follow:PV1.ROLRoleROL[Encounter-PractitionerRole]is equivalent toEncounter[1]Encounter[1]
ADT_A01.OBSERVATION.OBXObservation/ResultOBX[Observation]Observation[3].subject.reference=Patient[1].idis equivalent toObservation[3]Observation[3]Based on profiles, such as Vital Signs, certain observations are represented on the Observation, while others on its components. No computable guidance available yet.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.OBXObservation/ResultOBX[Observation-Component]Observation[3].subject.reference=Patient[1].idis equivalent toObservation[3]Observation[3]Based on profiles, such as Vital Signs, certain observations are represented on the Observation, while others on its components. No computable guidance available yet.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.AL1Allergy InformationAL1[AllergyIntolerance]AllergyIntolerance.patient.reference=Patient[1].idis equivalent toAllergyIntoleranceAllergyIntoleranceProcessing of the AL1 segment results in the creation of a new AllergyIntolerance resource
ADT_A01.DG1Diagnosis InformationDG1[Condition]Condition[1].subject.reference=Patient[1].idis equivalent toCondition[1]Condition[1]If in context of the patientProcessing of the DG1 segment results in the creation of a new Condition resource
ADT_A01.DG1Diagnosis InformationDG1[Encounter]Encounter[1].diagnosis.reference=Condition[1].idis equivalent toEncounter[1]Encounter[1]If in context of an encounter
ADT_A01.DG1Diagnosis InformationDG1[EpisodeOfCare]EpisodeOfCare.patient.reference=Patient[1].id; EpisodeOfCare.diagnosis.reference=Condition[1].id\is equivalent toEpisodeOfCare[1]EpisodeOfCare[1]If in context of a episode of care
ADT_A01.PROCEDURE.PR1ProceduresPR1[Procedure]Procedure.subject.reference=Patient[1].idis equivalent toProcedureProcedure
ADT_A01.INSURANCE.IN1InsuranceIN1[Coverage]Coverage.beneficiary.reference=Patient[1].idis equivalent toCoverage[1]Coverage[1]Processing of the IN1 segment results in the creation of a new Coverage resource
ADT_A01.INSURANCE.IN3Insurance Additional Info - Cert.IN3[CareTeam]CareTeam.subject.reference=Patient[1].idis equivalent toCareTeam[1]CareTeam[1]Incorporate IN3 content into the Coverage created from the IN1 segment.

Notes: