HL7 Version 2 to FHIR
1.0.0 - STU 1

HL7 Version 2 to FHIR - Downloaded Version 1.0.0 See the Directory of published versions

## ConceptMap: Datatype XPN to HumanName Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/datatype-xpn-to-humanname | Version: 1.0.0
Standards status: Informative | Computable Name: DatatypeXPNToHumanName
Copyright/Legal: Copyright (c) 2025, HL7 International, Inc., All Rights Reserved.

This ConceptMap represents a mapping from the HL7 V2 Datatype XPN to the FHIR HumanName Data Type.

This ConceptMap represents the mapping from the HL7 V2 XPN Data Type to the FHIR HumanName Data Type. See also the FHIR Shorthand or the CSV Source.

HL7 v2 | Condition (IF True, args) | HL7 FHIR | Comments
--- | --- | --- | ---
Sort Order | Identifier | Name | Data Type | Cardinality - Min | Cardinality - Max | Computable ANTLR | Computable FHIRPath | Narrative | FHIR Attribute | Proposed Extension | Data Type | Cardinality - Min | Cardinality - Max | Data Type Mapping | Vocabulary Mapping (IS, ID, CE, CEN, CWE) | Assignment
1 | XPN.1 | Family Name | FN | 0 | 1 |  |  |  | HumanName..family |  | string | 0 | 1 | FN[HumanName] |  |  |
2 | XPN.2 | Given Name | ST | 0 | 1 |  |  |  | HumanName..given |  | string | 0 | -1 |  |  |  | The requirement for XPN.2 being the first iteration of HumanName.given critical when it's an "official" name
3 | XPN.3 | Second and Further Given Names or Initials Thereof | ST | 0 | 1 |  |  |  | HumanName..given |  | string | 0 | -1 |  |  |  | Consideration must be given if XPN.3 contains multiple names separated by a space. Should these be a single iteration of HumanName.given or is each name an iteration? For example, if XPN.3 is "Mary Anne", is that one name or two?
4 | XPN.4 | Suffix (e.g., JR or III) | ST | 0 | 1 |  |  |  | HumanName..suffix |  | string | 0 | -1 |  |  |  |
5 | XPN.5 | Prefix (e.g., DR) | ST | 0 | 1 |  |  |  | HumanName..prefix |  | string | 0 | -1 |  |  |  |
6 | XPN.6 | Degree (e.g., MD) |  | 0 | 1 |  |  |  | HumanName..suffix |  | string | 0 | -1 |  |  |  |
7 | XPN.7 | Name Type Code | ID | 0 | 1 |  |  |  | HumanName..use |  | code | 0 | 1 |  | NameType |  |
8 | XPN.8 | Name Representation Code | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
9 | XPN.9 | Name Context | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
10 | XPN.10 | Name Validity Range | DR | 0 | 1 | IF XPN.12 NOT VALUED AND XPN.13 NOT VALUED |  |  | HumanName..period |  | Period | 0 | 1 | DR[Period] |  |  |
11 | XPN.11 | Name Assembly Order | ID | 0 | 1 |  |  |  | HumanName..extension.url |  | uri | 1 | 1 |  |  | "http://hl7.org/fhir/StructureDefinition/humanname-assembly-order" |
11 | XPN.11 | Name Assembly Order | ID | 0 | 1 |  |  |  | HumanName..extension.valueCode |  | code | 1 | 1 |  | NameAssemblyOrder |  |
12 | XPN.12 | Effective Date | DTM | 0 | 1 |  |  |  | HumanName..period.start |  | dateTime | 0 | 1 |  |  |  |
13 | XPN.13 | Expiration Date | DTM | 0 | 1 |  |  |  | HumanName..period.end |  | dateTime | 0 | 1 |  |  |  |
14 | XPN.14 | Professional Suffix | ST | 0 | 1 |  |  |  | HumanName..suffix |  | string | 0 | -1 |  |  |  |
15 | XPN.15 | Called By | ST | 0 | 1 |  |  | if the resource attribute using the HumanName datatype allows for multiple names | HumanName..given |  | string | 0 | -1 |  |  |  | One possibility is to put this in HumanName.given where HumanName.use="usual". When XPN.7 does not map to "usual" a new occurence of Patient.name should be created Alternative a new extension could be created for HumanName.family.#ext-called-by#
15 | XPN.15 | Called By | ST | 0 | 1 |  |  | if the resource attribute using the HumanName datatype allows for multiple names | HumanName..use |  | code | 0 | 1 |  |  | "nickname" |

Mapping from (not specified) to (not specified)

Group 1 Mapping from `unspecified code system` to `unspecified code system`

Source Concept Details | Relationship | Target Concept Details | Comment
Codes from | NarrativeCondition | ComputableANTLR |  | Codes from |
XPN.1 | Family Name |  |  | is equivalent to | [1].family | [1].family |
XPN.2 | Given Name |  |  | is equivalent to | [1].given[1] | [1].given[1] | The requirement for XPN.2 being the first iteration of HumanName.given critical when it's an "official" name
XPN.3 | Second and Further Given Names or Initials Thereof |  |  | is equivalent to | [1].given[2] | [1].given[2] | Consideration must be given if XPN.3 contains multiple names separated by a space. Should these be a single iteration of HumanName.given or is each name an iteration? For example, if XPN.3 is "Mary Anne", is that one name or two?
XPN.4 | Suffix (e.g., JR or III) |  |  | is equivalent to | [1].suffix[1] | [1].suffix[1] |
XPN.5 | Prefix (e.g., DR) |  |  | is equivalent to | [1].prefix | [1].prefix |
XPN.6 | Degree (e.g., MD) |  |  | is equivalent to | [1].suffix[2] | [1].suffix[2] |
XPN.7 | Name Type Code |  |  | is equivalent to | [1].use | [1].use |
XPN.10 | Name Validity Range |  | IF XPN.12 NOT VALUED AND XPN.13 NOT VALUED | is equivalent to | [1].period | [1].period |
XPN.11 | Name Assembly Order |  |  | is equivalent to | [1].extension.url | [1].extension.url |
XPN.11 | Name Assembly Order |  |  | is equivalent to | [1].extension.valueCode | [1].extension.valueCode |
XPN.12 | Effective Date |  |  | is equivalent to | [1].period.start | [1].period.start |
XPN.13 | Expiration Date |  |  | is equivalent to | [1].period.end | [1].period.end |
XPN.14 | Professional Suffix |  |  | is equivalent to | [1].suffix[3] | [1].suffix[3] |
XPN.15 | Called By | if the resource attribute using the HumanName datatype allows for multiple names |  | is equivalent to | [2].given | [2].given | One possibility is to put this in HumanName.given where HumanName.use="usual". When XPN.7 does not map to "usual" a new occurence of Patient.name should be created Alternative a new extension could be created for HumanName.family.#ext-called-by#\
XPN.15 | Called By | if the resource attribute using the HumanName datatype allows for multiple names |  | is equivalent to | [2].use | [2].use |

### Notes: