Segment PID to Patient Map

This ConceptMap represents a mapping from the HL7 V2 Segment PID to the FHIR Patient Resource.
#V2 FieldNameV2 TypeCard.FHIR AttributeFHIR TypeEquiv.
1PID-2Patient IDCX1..1
identifier[1]
Identifier
equivalent
2PID-3Patient Identifier ListCX-1..*
identifier[2]
Identifier
equivalent
3PID-4Alternate Patient ID - PIDCX1..1
identifier[3]
Identifier
equivalent
4PID-5Patient NameXPN-1..*
name[1]
HumanName
equivalent
5PID-6Mother's Maiden NameXPN-1..*
extension[1].url

= "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName"

extension[1].valueString

This may not be the second name if there are repeats in PID-5. ext.patientMothersMaiden (string) also exists if we prefer.

uristring
equivalentequivalent
6PID-7Date/Time of BirthDTM1..1
birthDate

PROPOSAL 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.

birthDate.extension[1].url

= "http://hl7.org/fhir/StructureDefinition/patient-birthTime"

birthDate.extension[1].valueDateTime
dateuridateTime
equivalentequivalentequivalent
7PID-8Administrative SexCWE1..1
gender
code
equivalent
8PID-9Patient AliasXPN-1..*
name[2]
HumanName
equivalent
9PID-11Patient AddressXAD-1..*
address[1]
Address
equivalent
10PID-12County CodeID1..1
address[1].district

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

address[2].district
address[2].district
address[1].district
stringstringstringstring
equivalentequivalentequivalentequivalent
11PID-13Phone Number - HomeXTN-1..*
telecom[1]
telecom[1].use

= "home"

ContactPoint-
equivalentequivalent
12PID-14Phone Number - BusinessXTN-1..*
telecom[2]
telecom[2].use

= "work"

ContactPoint-
equivalentequivalent
13PID-15Primary LanguageCWE1..1
communication.language

During implementation, if you know that the value in PID-15 is the preferred patient language, then Patient.communication.preferred can be set to "true".

CodeableConcept
equivalent
14PID-16Marital StatusCWE1..1
maritalStatus
CodeableConcept
equivalent
15PID-17ReligionCWE1..1
extension[2].url

= "http://hl7.org/fhir/StructureDefinition/patient-religion"

extension[2].valueCodeableConcept
uriCodeableConcept
equivalentequivalent
16PID-19SSN Number - PatientST1..1
identifier[4].value

the value set for Identifier.type doesn't contain SSN but it does have SB (social beneficiary)

identifier[4].type.coding.code

= "SS"

IF: If in the US and various other jurisdictions

identifier[4].type.coding.code

= "SB"

IF: If outside the US for certain jurisdictions

identifier[4].type.coding.system

= "http://terminology.hl7.org/CodeSystem/v2-0203"

identifier[4].system

= "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.

stringcodecodeuriuri
equivalentequivalentequivalentequivalentequivalent
17PID-20Driver's License Number - PatientDLN1..1
identifier[5]
Identifier
equivalent
18PID-21Mother's IdentifierCX-1..*
$this
-
equivalent
19PID-23Birth PlaceST1..1
extension[3].url

= "http://hl7.org/fhir/StructureDefinition/patient-birthPlace"

extension[3].valueAddress.text
uristring
equivalentequivalent
20PID-24Multiple Birth IndicatorID1..1
multipleBirthBoolean
boolean
equivalent
21PID-25Birth OrderNM1..1
multipleBirthInteger
integer
equivalent
22PID-26CitizenshipCWE-1..*
extension[4].url

= "http://hl7.org/fhir/StructureDefinition/patient-citizenship"

extension[4].extension[1].url

= "code"

extension[4].extension[1].valueCodeableConcept

The standard extension does not include a value set

uriuriCodeableConcept
equivalentequivalentequivalent
23PID-28NationalityCWE1..1
extension[5].url

= "http://hl7.org/fhir/StructureDefinition/patient-nationality"

extension[5].extension[1].url

= "code"

extension[5].extension[1].valueCodeableConcept

The standard extension does not include a value set

uriuriCodeableConcept
equivalentequivalentequivalent
24PID-29Patient Death Date and TimeDTM1..1
deceasedDateTime
dateTime
equivalent
25PID-30Patient Death IndicatorID1..1
deceasedBoolean
boolean
equivalent
26PID-35Taxonomic Classification CodeCWE1..1
extension[6].url

= "http://hl7.org/fhir/StructureDefinition/patient-animal"

extension[6].extension[1].url

= "species"

extension[6].extension[1].valueCodeableConcept
uriuriCodeableConcept
equivalentequivalentequivalent
27PID-36Breed CodeCWE1..1
extension[6].url

= "http://hl7.org/fhir/StructureDefinition/patient-animal"

extension[6].extension[2].url

= "breed"

extension[6].extension[2].valueCodeableConcept
uriuriCodeableConcept
equivalentequivalentequivalent
28PID-39Tribal CitizenshipCWE-1..*
extension[7].url

= "http://hl7.org/fhir/StructureDefinition/patient-citizenship"

extension[7].extension[1].url

= "code"

extension[7].extension[1].valueCodeableConcept

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.

uriuriCodeableConcept
equivalentequivalentequivalent
29PID-40Patient Telecommunication InformationXTN-1..*
telecom[3]
ContactPoint
equivalent

Equivalence Legend

equivalentExact match
wider/narrowerBroader/more specific meaning
relatedtoRelated but not exact
unmatchedNo equivalent in target