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_A06 to Bundle Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/message-adt-a06-to-bundle Version: 1.0.0-ballot
Active as of 2024-04-24 Computable Name: MessageADT_A06ToBundle

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

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

This ConceptMap represents the mapping from the HL7 V2 ADT_A06 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_A06.MSHMSHMessage Header11BundleMSH[Bundle]
1ADT_A06.MSHMSHMessage Header11MessageHeaderMSH[MessageHeader]Processing of the MSH segment results in the creation of a new MessageHeader resource.
1ADT_A06.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 Provenance resource instance to the relevant FHIR resources generated.
1ADT_A06.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_A06.ARV[{ ARV }]Access Restrictions0-1
3ADT_A06.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_A06.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_A06.UAC[ UAC ]User Authentication Credential01
5ADT_A06.EVNEVNEvent Type11ProvenanceEVN[Provenance]Provenance[3].target.reference=MessageHeader[1].id
5ADT_A06.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_A06.PIDPIDPatient Identification11PatientPID[Patient]Processing of the PID segment results in the creation of a new Patient resource
6ADT_A06.PIDPIDPatient Identification11AccountPID[Account]Account[1].subject.reference=Patient[1].id
6ADT_A06.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[4].target.reference=Patient[1].id
7ADT_A06.PD1[ PD1 ]Additional Demographics01PatientPD1[Patient]Incorporate PD1 content into the Patient created from the PID segment.
8ADT_A06.OH1[{ OH1 }]Employment Status0-1
9ADT_A06.OH2[{ OH2 }]Past or Present Job0-1
10ADT_A06.OH3[ OH3 ]Usual Work01
11ADT_A06.OH4[{ OH4 }]Combat Zone Work0-1
12ADT_A06: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_A06: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_A06: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_A06:follow:PID.PRT[{ PRT }]Participation0-1IF PRT-4 IS "PP"PatientPRT[Patient-GeneralPractitioner-Practitioner]
14ADT_A06: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_A06.MRG[ MRG ]Merge Information01AccountMRG[Account]Account[2].subject.reference=Patient[1].idIt will be left to implementation negotiation to determine whether disparate systems merely change the patient class, or close and open a new account. The current active account number should appear in field PID-18 - Patient Account Number; the prior account number can be included optionally in MRG-3 - Prior Patient Account Number. Depending on the relationship between the old and new account, the implementer should consider whether Account.partOf should be used as well to link the two accounts appropriately.
16ADT_A06.NEXT_OF_KIN[{--- NEXT_OF_KIN begin0-1
16.1ADT_A06.NEXT_OF_KIN.NK1NK1Next of Kin / Associated Parties11RelatedPersonNK1[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.
16.1ADT_A06.NEXT_OF_KIN.NK1NK1Next of Kin / Associated Parties11PatientNK1[Patient]
16.2ADT_A06.NEXT_OF_KIN.OH2[{ OH2 }]Past or Present Job0-1
16.2ADT_A06.NEXT_OF_KIN.OH3[ OH3 ]Usual Work01
16.3/ADT_A06.NEXT_OF_KIN}]--- NEXT_OF_KIN end
17ADT_A06.PV1PV1Patient Visit11EncounterPV1[Encounter]Encounter[1].subject.reference=Patient[1].idProcessing of the PV1 segment results in the creation of a new Encounter resource. Note also that per A06 and A07 trigger event definitions PV1-19 - Visit Number may also be changed during this event.
17ADT_A06.PV1PV1Patient Visit11PatientPV1[Patient]
18ADT_A06.PV2[ PV2 ]Patient Visit - Additional Info.01EncounterPV2[Encounter]Incorporate PV2 content into the Encounter created from the PV1 segment.
19ADT_A06: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.
20ADT_A06:follow:PV1.ROL[{ ROL }]Role0-1EncounterROL[Encounter-PractitionerRole]
21ADT_A06:follow:PV1.PRT[{ PRT }]Participation0-1
22ADT_A06.DB1[{ DB1 }]Disability Information0-1
23ADT_A06.OBSERVATION[{--- OBSERVATION begin0-1
23.1ADT_A06.OBSERVATION.OBXOBXObservation/Result11Based 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].
23.1ADT_A06.OBSERVATION.OBXOBXObservation/Result11Based 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].
23.2ADT_A06.OBSERVATION.PRT[{ PRT }]Participation0-1
23.3/ADT_A06.OBSERVATION}]--- OBSERVATION end
24ADT_A06.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
25ADT_A06.IAM[{ IAM }]Patient Advers Reaction Information0-1
26ADT_A06.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
26ADT_A06.DG1[{ DG1 }]Diagnosis Information0-1If in context of an encounterEncounterDG1[Encounter]Encounter[1].diagnosis.reference=Condition[1].id
26ADT_A06.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
27ADT_A06.DRG[ DRG ]Diagnosis Related Group01
28ADT_A06.PROCEDURE[{--- PROCEDURE begin0-1
28.1ADT_A06.PROCEDURE.PR1PR1Procedures11ProcedurePR1[Procedure]Procedure.subject.reference=Patient[1].id
28.2ADT_A06.PROCEDURE.ROL[{ ROL }]Role0-1
28.3ADT_A06.PROCEDURE.PRT[{ PRT }]Participation0-1
28.4/ADT_A06.PROCEDURE}]--- PROCEDURE end
29ADT_A06.GT1[{ GT1 }]Guarantor0-1
30ADT_A06.INSURANCE[{--- INSURANCE begin0-1
30.1ADT_A06.INSURANCE.IN1IN1Insurance11CoverageIN1[Coverage]Processing of the IN1 segment results in the creation of a new Coverage resource
30.2ADT_A06.INSURANCE.IN2[ IN2 ]Insurance Additional Info.01
30.3ADT_A06.INSURANCE.IN3[{ IN3 }]Insurance Additional Info - Cert.0-1CareTeam.participantIN3[CareTeam]CareTeam[1].subject.reference=Patient[1].idIncorporate IN3 content into the Coverage created from the IN1 segment.
30.4ADT_A06.INSURANCE.ROL[{ ROL }]Role0-1
30.5ADT_A06.INSURANCE.PRT[{ PRT }]Participation0-1
30.8/ADT_A06.INSURANCE}]--- INSURANCE end
31ADT_A06.ACC[ ACC ]Accident Information01
32ADT_A06.UB1[ UB1 ]Universal Bill Information01
33ADT_A06.UB2[ UB2 ]Universal Bill 92 Information01

Mapping from ADT_A06 to Bundle

ACTIVE (not intended for production usage). Published on 2024-04-24 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_A06 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_A06.MSHMessage HeaderMSH[Bundle]is equivalent toBundleBundle
ADT_A06.MSHMessage HeaderMSH[MessageHeader]is equivalent toMessageHeader[1]MessageHeader[1]Processing of the MSH segment results in the creation of a new MessageHeader resource.
ADT_A06.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 Provenance resource instance to the relevant FHIR resources generated.
ADT_A06.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_A06.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_A06.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_A06.EVNEvent TypeEVN[Provenance]Provenance[3].target.reference=MessageHeader[1].idis equivalent toProvenance[3]Provenance[3]
ADT_A06.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_A06.PIDPatient IdentificationPID[Patient]is equivalent toPatient[1]Patient[1]Processing of the PID segment results in the creation of a new Patient resource
ADT_A06.PIDPatient IdentificationPID[Account]Account[1].subject.reference=Patient[1].idis equivalent toAccount[1]Account[1]
ADT_A06.PIDPatient IdentificationPID[Provenance-Patient]Provenance[4].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_A06.PD1Additional DemographicsPD1[Patient]is equivalent toPatient[1]Patient[1]Incorporate PD1 content into the Patient created from the PID segment.
ADT_A06: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_A06: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_A06:follow:PID.PRTParticipationPRT[Patient-GeneralPractitioner-Practitioner]is equivalent toPatient[1]Patient[1]IF PRT-4 IS "PP"
ADT_A06: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_A06.MRGMerge InformationMRG[Account]Account[2].subject.reference=Patient[1].idis equivalent toAccount[2]Account[2]It will be left to implementation negotiation to determine whether disparate systems merely change the patient class, or close and open a new account. The current active account number should appear in field PID-18 - Patient Account Number; the prior account number can be included optionally in MRG-3 - Prior Patient Account Number. Depending on the relationship between the old and new account, the implementer should consider whether Account.partOf should be used as well to link the two accounts appropriately.\
ADT_A06.NEXT_OF_KIN.NK1Next of Kin / Associated PartiesNK1[RelatedPerson]RelatedPerson[2].patient.reference=Patient[1].idis equivalent toRelatedPerson[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_A06.NEXT_OF_KIN.NK1Next of Kin / Associated PartiesNK1[Patient]is equivalent toPatient[1]Patient[1]
ADT_A06.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. Note also that per A06 and A07 trigger event definitions PV1-19 - Visit Number may also be changed during this event.
ADT_A06.PV1Patient VisitPV1[Patient]is equivalent toPatient[1]Patient[1]
ADT_A06.PV2Patient Visit - Additional Info.PV2[Encounter]is equivalent toEncounter[1]Encounter[1]Incorporate PV2 content into the Encounter created from the PV1 segment.
ADT_A06:follow:PV1.ROLRoleROL[Encounter-PractitionerRole]is equivalent toEncounter[1]Encounter[1]
ADT_A06.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_A06.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_A06.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_A06.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_A06.DG1Diagnosis InformationDG1[Encounter]Encounter[1].diagnosis.reference=Condition[1].idis equivalent toEncounter[1]Encounter[1]If in context of an encounter
ADT_A06.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_A06.PROCEDURE.PR1ProceduresPR1[Procedure]Procedure.subject.reference=Patient[1].idis equivalent toProcedureProcedure
ADT_A06.INSURANCE.IN1InsuranceIN1[Coverage]is equivalent toCoverage[1]Coverage[1]Processing of the IN1 segment results in the creation of a new Coverage resource
ADT_A06.INSURANCE.IN3Insurance Additional Info - Cert.IN3[CareTeam]CareTeam[1].subject.reference=Patient[1].idis equivalent toCareTeam[1].participant[2]CareTeam[1].participant[2]Incorporate IN3 content into the Coverage created from the IN1 segment.

Notes: