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: Segment PID to Patient Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/segment-pid-to-patient Version: 1.0.0
Standards status: Informative Computable Name: SegmentPIDToPatient

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

This ConceptMap represents a mapping from the HL7 V2 Segment PID to the FHIR Patient Resource.

This ConceptMap represents the mapping from the HL7 V2 PID Segment to the FHIR Patient Resource. See also the FHIR Shorthand or the CSV Source.

HL7 v2Condition (IF True, args)HL7 FHIRComments
Sort OrderIdentifierNameData TypeCardinality - MinCardinality - MaxComputable ANTLRComputable FHIRPathNarrativeFHIR AttributeExtensionData TypeCardinality - MinCardinality - MaxData Type MappingVocabulary Mapping
(IS, ID, CE, CEN, CWE)
Assignment
1PID-1Set ID - PIDSI01
2PID-2Patient IDCX01IdentifierIdentifier0-1CX[Identifier]
3PID-3Patient Identifier ListCX1-1IdentifierIdentifier0-1CX[Identifier]
4PID-4Alternate Patient ID - PIDCX01IdentifierIdentifier0-1CX[Identifier]
5PID-5Patient NameXPN1-1Patient.nameHumanName0-1XPN[HumanName]
6PID-6Mother's Maiden NameXPN0-1Patient.extension.urluri11"http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName"
6PID-6Mother's Maiden NameXPN0-1Patient.extension.valueStringstring11XPN[String]This may not be the second name if there are repeats in PID-5. ext.patientMothersMaiden (string) also exists if we prefer.
7PID-7Date/Time of BirthDTM01Patient.birthDatedate01PROPOSAL MOVE TO IG IMPLEMENTATION GUIDANCE SECTION: Use ISO 8601 to establish the re-formatting from HL7 v2 data type to HL7 FHIR data type, particularly when mapping a platform datetime to platform date. ADD OTHER REFERENCES ON HOW TO ACHIEVE THESE CONVERSIONS in Java, CSHarp, etc., etc.
7PID-7Date/Time of BirthDTM01IF PID-7 LENGTH GREATER THAN 8Patient.birthDate.extension.urluri11"http://hl7.org/fhir/StructureDefinition/patient-birthTime"
7PID-7Date/Time of BirthDTM01IF PID-7 LENGTH GREATER THAN 8Patient.birthDate.extension.valueDateTimedateTime11
8PID-8Administrative SexCWE01Patient.gendercode01CWE[code]AdministrativeSex
9PID-9Patient AliasXPN0-1Patient.nameHumanName0-1XPN[HumanName]
10PID-10RaceCWE0-1PID-10 is may map different based on local requirements and should use the local extension, e.g., US = US Core Race Extension, AUS = indiginous extension.local implementationFor an international document, it may not be possible to come up with a FHIR value set for race. Therefore the appropriate extension for the local implementation should be used based on preferably a country/realm specific extension, e.g., US Core Race Extension for the US or the Indiginous Extension for Australia.
11PID-11Patient AddressXAD0-1AddressAddress0-1XAD[Address]
12PID-12County CodeID01IF PID-11 LST.COUNT EQUALS 1 AND PID-11.9 IS NOT VALUEDPatient.address.districtstring01ID[String]This may not be the second occurrence if PID-11 repeats. Because PID-11 can repeat but PID-12 cannot, it's not appropriate to include PID-12 in an iteration of .address populated from PID-11
12PID-12County CodeID01IF PID-11 LST.COUNT EQUALS 1 AND PID-11.9 IS VALUED NOT EQUAL PID-12Patient.address.districtstringID[String]
12PID-12County CodeID01IF PID-11 LST.COUNT GREATER THAN 1Patient.address.districtstring01ID[String]
12PID-12County CodeID01IF PID-11 IS NOT VALUEDPatient.address.districtstring01ID[String]
13PID-13Phone Number - HomeXTN0-1Patient.telecomContactPoint0-1XTN[ContactPoint]
13PID-13Phone Number - HomeXTN0-1IF PID-13.2 IS NOT VALUEDPatient.telecom.use"home"
14PID-14Phone Number - BusinessXTN0-1Patient.telecomContactPoint0-1XTN[ContactPoint]
14PID-14Phone Number - BusinessXTN0-1IF PID-14.2 IS NOT VALUEDPatient.telecom.use"work"
15PID-15Primary LanguageCWE01Patient.communication.languageCodeableConcept0-1CWE[CodeableConcept]PrimaryLanguageDuring implementation, if you know that the value in PID-15 is the preferred patient language, then Patient.communication.preferred can be set to "true".
16PID-16Marital StatusCWE01Patient.maritalStatusCodeableConcept01CWE[CodeableConcept]MaritalStatus
17PID-17ReligionCWE01Patient.extension.urluri11"http://hl7.org/fhir/StructureDefinition/patient-religion"
17PID-17ReligionCWE01Patient.extension.valueCodeableConceptCodeableConcept11CWE[CodeableConcept]Religion
18PID-18Patient Account NumberCX01Mapped in PID[Account]. In some systems, PID-18 may contain a visit identifier. If that is the case for a given implementation, then a mapping to an Encounter may be more appropriate
19PID-19SSN Number - PatientST01Patient.identifier.valuestring01the value set for Identifier.type doesn't contain SSN but it does have SB (social beneficiary)
19PID-19SSN Number - PatientST01If in the US and various other jurisdictionsPatient.identifier.type.coding.codecode01"SS"
19PID-19SSN Number - PatientST01If outside the US for certain jurisdictionsPatient.identifier.type.coding.codecode01"SB"
19PID-19SSN Number - PatientST01Patient.identifier.type.coding.systemuri01"http://terminology.hl7.org/CodeSystem/v2-0203"
19PID-19SSN Number - PatientST01Patient.identifier.systemuri01"http://hl7.org/fhir/sid/us-ssn."If working in a jurisdiction other than the US and this field is used for the local SSN equivalent, a different system will need to be identified.
20PID-20Driver's License Number - PatientDLN01IdentifierIdentifier01DLN[Identifier]
21PID-21Mother's IdentifierCX0-1Patient.$thisCX[RelatedPerson-Mother]
22PID-22Ethnic GroupCWE0-1If PID-22 is for administrative purposes use, then use your local extension, e.g., for US = US Core Ethnicity.local implementationFor an international document, it may not be possible to come up with a FHIR value set for ethnic group. Therefore the appropriate extension for the local implementation should be used based on preferably a country/realm specific extension, e.g., US Core Ethnicity for the US.
23PID-23Birth PlaceST01Patient.extension.urluri11"http://hl7.org/fhir/StructureDefinition/patient-birthPlace"
23PID-23Birth PlaceST01Patient.extension.valueAddress.textstring01
24PID-24Multiple Birth IndicatorID01IF PID-25 NOT VALUEDPatient.multipleBirthBooleanboolean01ID[Boolean]Yes/NoIndicator
25PID-25Birth OrderNM01Patient.multipleBirthIntegerinteger01
26PID-26CitizenshipCWE0-1Patient.extension.urluri11"http://hl7.org/fhir/StructureDefinition/patient-citizenship"
26PID-26CitizenshipCWE0-1Patient.extension.extension.urluri11"code"
26PID-26CitizenshipCWE0-1Patient.extension.extension.valueCodeableConceptCodeableConcept11CWE[CodeableConcept]The standard extension does not include a value set
27PID-27Veterans Military StatusCWE01extension??-veteranMilitaryStatusCodeableConcept01CWE[CodeableConcept]
28PID-28NationalityCWE01Patient.extension.urluri11"http://hl7.org/fhir/StructureDefinition/patient-nationality"
28PID-28NationalityCWE01Patient.extension.extension.urluri11"code"
28PID-28NationalityCWE01Patient.extension.extension.valueCodeableConceptCodeableConcept11CWE[CodeableConcept]The standard extension does not include a value set
29PID-29Patient Death Date and TimeDTM01Patient.deceasedDateTimedateTime01
30PID-30Patient Death IndicatorID01IF PID-29 NOT VALUEDPatient.deceasedBooleanboolean01ID[Boolean]Yes/NoIndicator
31PID-31Identity Unknown IndicatorID01extension??-identityUnknownboolean01ID[Boolean]Yes/NoIndicator
32PID-32Identity Reliability CodeCWE0-1
33PID-33Last Update Date/TimeDTM01
34PID-34Last Update FacilityHD01
35PID-35Taxonomic Classification CodeCWE01Patient.extension.urluri0-1"http://hl7.org/fhir/StructureDefinition/patient-animal"
35PID-35Taxonomic Classification CodeCWE01Patient.extension.extension.urluri01"species"
35PID-35Taxonomic Classification CodeCWE01Patient.extension.extension.valueCodeableConceptCodeableConcept01CWE[CodeableConcept]
36PID-36Breed CodeCWE01Patient.extension.urluri0-1"http://hl7.org/fhir/StructureDefinition/patient-animal"
36PID-36Breed CodeCWE01Patient.extension.extension.urluri01"breed"
36PID-36Breed CodeCWE01Patient.extension.extension.valueCodeableConceptCodeableConcept01CWE[CodeableConcept]
37PID-37StrainST01If this is necessary, it should be an update to the existing animal extension
38PID-38Production Class CodeCWE02
39PID-39Tribal CitizenshipCWE0-1Patient.extension.urluri11"http://hl7.org/fhir/StructureDefinition/patient-citizenship"
39PID-39Tribal CitizenshipCWE0-1Patient.extension.extension.urluri11"code"
39PID-39Tribal CitizenshipCWE0-1Patient.extension.extension.valueCodeableConceptCodeableConcept11CWE[CodeableConcept]The standard extension does not include a value set. Also suggest that the extension should not be limited to "country". Consider adding a .type to the extension to distinguish tribal vs. "country" (or whatever we call it), or otherwise add an extension for tribal citizenship to accommodate the return flow.
40PID-40Patient Telecommunication InformationXTN0-1Patient.telecomContactPoint0-1XTN[ContactPoint]

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 NarrativeConditionComputableANTLRCodes from
PID-2Patient IDis equivalent toidentifier[1]identifier[1]
PID-3Patient Identifier Listis equivalent toidentifier[2]identifier[2]
PID-4Alternate Patient ID - PIDis equivalent toidentifier[3]identifier[3]
PID-5Patient Nameis equivalent toname[1]name[1]
PID-6Mother's Maiden Nameis equivalent toextension[1].urlextension[1].url
PID-6Mother's Maiden Nameis equivalent toextension[1].valueStringextension[1].valueStringThis may not be the second name if there are repeats in PID-5. ext.patientMothersMaiden (string) also exists if we prefer.
PID-7Date/Time of Birthis equivalent tobirthDatebirthDatePROPOSAL MOVE TO IG IMPLEMENTATION GUIDANCE SECTION: Use ISO 8601 to establish the re-formatting from HL7 v2 data type to HL7 FHIR data type, particularly when mapping a platform datetime to platform date. ADD OTHER REFERENCES ON HOW TO ACHIEVE THESE CONVERSIONS in Java, CSHarp, etc., etc.
PID-7Date/Time of BirthIF PID-7 LENGTH GREATER THAN 8is equivalent tobirthDate.extension[1].urlbirthDate.extension[1].url
PID-7Date/Time of BirthIF PID-7 LENGTH GREATER THAN 8is equivalent tobirthDate.extension[1].valueDateTimebirthDate.extension[1].valueDateTime
PID-8Administrative Sexis equivalent togendergender
PID-9Patient Aliasis equivalent toname[2]name[2]
PID-11Patient Addressis equivalent toaddress[1]address[1]
PID-12County CodeIF PID-11 LST.COUNT EQUALS 1 AND PID-11.9 IS NOT VALUEDis equivalent toaddress[1].districtaddress[1].districtThis may not be the second occurrence if PID-11 repeats. Because PID-11 can repeat but PID-12 cannot, it's not appropriate to include PID-12 in an iteration of .address populated from PID-11
PID-12County CodeIF PID-11 LST.COUNT EQUALS 1 AND PID-11.9 IS VALUED NOT EQUAL PID-12is equivalent toaddress[2].districtaddress[2].district
PID-12County CodeIF PID-11 LST.COUNT GREATER THAN 1is equivalent toaddress[2].districtaddress[2].district
PID-12County CodeIF PID-11 IS NOT VALUEDis equivalent toaddress[1].districtaddress[1].district
PID-13Phone Number - Homeis equivalent totelecom[1]telecom[1]
PID-13Phone Number - HomeIF PID-13.2 IS NOT VALUEDis equivalent totelecom[1].usetelecom[1].use
PID-14Phone Number - Businessis equivalent totelecom[2]telecom[2]
PID-14Phone Number - BusinessIF PID-14.2 IS NOT VALUEDis equivalent totelecom[2].usetelecom[2].use
PID-15Primary Languageis equivalent tocommunication.languagecommunication.languageDuring implementation, if you know that the value in PID-15 is the preferred patient language, then Patient.communication.preferred can be set to "true".
PID-16Marital Statusis equivalent tomaritalStatusmaritalStatus
PID-17Religionis equivalent toextension[2].urlextension[2].url
PID-17Religionis equivalent toextension[2].valueCodeableConceptextension[2].valueCodeableConcept
PID-19SSN Number - Patientis equivalent toidentifier[4].valueidentifier[4].valuethe value set for Identifier.type doesn't contain SSN but it does have SB (social beneficiary)
PID-19SSN Number - PatientIf in the US and various other jurisdictionsis equivalent toidentifier[4].type.coding.codeidentifier[4].type.coding.code
PID-19SSN Number - PatientIf outside the US for certain jurisdictionsis equivalent toidentifier[4].type.coding.codeidentifier[4].type.coding.code
PID-19SSN Number - Patientis equivalent toidentifier[4].type.coding.systemidentifier[4].type.coding.system
PID-19SSN Number - Patientis equivalent toidentifier[4].systemidentifier[4].systemIf working in a jurisdiction other than the US and this field is used for the local SSN equivalent, a different system will need to be identified.
PID-20Driver's License Number - Patientis equivalent toidentifier[5]identifier[5]
PID-21Mother's Identifieris equivalent to$this$this
PID-23Birth Placeis equivalent toextension[3].urlextension[3].url
PID-23Birth Placeis equivalent toextension[3].valueAddress.textextension[3].valueAddress.text
PID-24Multiple Birth IndicatorIF PID-25 NOT VALUEDis equivalent tomultipleBirthBooleanmultipleBirthBoolean
PID-25Birth Orderis equivalent tomultipleBirthIntegermultipleBirthInteger
PID-26Citizenshipis equivalent toextension[4].urlextension[4].url
PID-26Citizenshipis equivalent toextension[4].extension[1].urlextension[4].extension[1].url
PID-26Citizenshipis equivalent toextension[4].extension[1].valueCodeableConceptextension[4].extension[1].valueCodeableConceptThe standard extension does not include a value set
PID-28Nationalityis equivalent toextension[5].urlextension[5].url
PID-28Nationalityis equivalent toextension[5].extension[1].urlextension[5].extension[1].url
PID-28Nationalityis equivalent toextension[5].extension[1].valueCodeableConceptextension[5].extension[1].valueCodeableConceptThe standard extension does not include a value set
PID-29Patient Death Date and Timeis equivalent todeceasedDateTimedeceasedDateTime
PID-30Patient Death IndicatorIF PID-29 NOT VALUEDis equivalent todeceasedBooleandeceasedBoolean
PID-35Taxonomic Classification Codeis equivalent toextension[6].urlextension[6].url
PID-35Taxonomic Classification Codeis equivalent toextension[6].extension[1].urlextension[6].extension[1].url
PID-35Taxonomic Classification Codeis equivalent toextension[6].extension[1].valueCodeableConceptextension[6].extension[1].valueCodeableConcept
PID-36Breed Codeis equivalent toextension[6].urlextension[6].url
PID-36Breed Codeis equivalent toextension[6].extension[2].urlextension[6].extension[2].url
PID-36Breed Codeis equivalent toextension[6].extension[2].valueCodeableConceptextension[6].extension[2].valueCodeableConcept
PID-39Tribal Citizenshipis equivalent toextension[7].urlextension[7].url
PID-39Tribal Citizenshipis equivalent toextension[7].extension[1].urlextension[7].extension[1].url
PID-39Tribal Citizenshipis equivalent toextension[7].extension[1].valueCodeableConceptextension[7].extension[1].valueCodeableConceptThe standard extension does not include a value set. Also suggest that the extension should not be limited to "country". Consider adding a .type to the extension to distinguish tribal vs. "country" (or whatever we call it), or otherwise add an extension for tribal citizenship to accommodate the return flow.
PID-40Patient Telecommunication Informationis equivalent totelecom[3]telecom[3]

Notes: