HL7 Table 0200 (Name Type Code) is the HL7-defined value set that classifies a personal name by the role it plays — legal name, birth name, alias, maiden, nickname, display name, religious name, indigenous/tribal name, or a masking placeholder. It lives in XPN.7 Name Type Code and appears on every XPN-bearing field, most visibly PID-5 Patient Name, but also NK1-2, STF-3 (staff name), and dozens of administrative segments.
Purpose
People routinely carry several names simultaneously: the legal name on their driver's license, the birth name on their certificate, a chosen display name in clinical UIs, a maiden name preserved for matching, a nickname used at the bedside. PID-5 is a repeating field for exactly this reason, and XPN.7 supplies the role tag so each repetition has a meaning. Without it, all names collapse into one indistinguishable bag and identity-matching breaks.
Table 0200 also encodes data-handling roles that are not names in the everyday sense:
MSK(Masked) — the name has been suppressed for confidentiality.NAV(Temporarily Unavailable) — name not yet known.NOUSE(No longer To Be Used) — name retired but kept for history.BAD(Bad Name) — recorded name flagged as incorrect.F(Federal taxpayer ID),I(Licensing Name) — administrative identifiers historically squeezed into XPN before HL7 introduced cleaner places.
Where it's used
- XPN.7 — the canonical home for Table 0200.
- PID-5 Patient Name — repeating; legal + birth + display in one field.
- PID-6 Mother's Maiden Name.
- NK1-2 NK Name.
- STF-3 Staff Name; PRA-3 Practitioner Name.
- IN1-16 Name of Insured.
Code list
| Code | Display | Comment |
|---|---|---|
| A | Alias Name | Known-also-as |
| B | Name at Birth | Birth name |
| BAD | Bad Name | Name flagged as incorrect |
| C | Adopted Name | |
| D | Display Name | The name to show in UIs |
| F | Federal taxpayer ID | Administrative — better placed on an Identifier |
| I | Licensing Name | License-issued name |
| L | Legal Name | The legally-recognized name |
| M | Maiden Name | Pre-marriage surname |
| MSK | Masked | Name suppressed for confidentiality |
| N | Nickname /"Call me" Name/Street Name | Informal name |
| NAV | Temporarily Unavailable | Name not yet known |
| NB | Newborn Name | "Baby Boy Smith" before naming |
| NOUSE | No longer To Be Used | Retired name, kept for history |
| P | Name of Partner/Spouse | Used historically, increasingly avoided |
| R | Registered Name | Name as registered with an authority |
| REL | Religious | Religious name (in religion / monastic) |
| S | Pseudonym | |
| T | Indigenous/Tribal/Community Name | |
| TEMP | Temporary Name | Placeholder name |
| U | Unknown |
Code system OID and canonical URI
- OID —
2.16.840.1.113883.18.108 - Canonical URI —
http://terminology.hl7.org/CodeSystem/v2-0200
The short name HL70200 is what goes into the coding-system component when the XPN.7 value is sent inside a CWE elsewhere; bare XPN.7 takes the code directly.
HL7-defined vs user-defined
Table 0200 is HL7-defined. The 21 codes above are normative. Use U (Unknown) or S (Pseudonym) for cases the table does not explicitly cover; do not invent local mnemonics. Codes F and I are vestiges of pre-v2.5 modeling — modern implementations should send taxpayer IDs and license numbers in dedicated PID-19, STF-2, or identifier-typed fields rather than packing them into XPN.
Version differences
- v2.3 / v2.3.1 — Core set: A, B, C, D, L, M, N, P, S.
- v2.5 —
F,I,R,T,Uadded;MSK,NAVadded for confidentiality and incomplete-data handling. - v2.6 —
NB(Newborn Name),REL(Religious),TEMP,NOUSE,BADadded. - v2.7 / v2.7.1 / v2.8 / v2.8.1 — Stable at 21 codes; display strings tightened but no additions.
Common mistakes
- Omitting XPN.7 entirely. The receiver cannot tell legal from preferred from maiden, and identity-matching defaults to "legal" — incorrectly.
- Using
D(Display) for the legal name.Dis the preferred display, not the legal record; payers and registries needL. - Sending a newborn's placeholder name without
NB. Without the flag, receivers cannot detect an unresolved name and may freeze it as legal. - Mapping every XPN repetition to FHIR
HumanName.use = official. The IG distinguishesusual,official,nickname,maiden,old,temp,anonymous— picking one for all loses the structure. - Putting an indigenous or religious name in
A(Alias) whenT(Indigenous) orREL(Religious) exists. The distinction matters for cultural-sensitivity tagging and for FHIR'sHumanName.usemapping.
Examples
Sample HL7 PID-5 with two repetitions — legal and nickname:
PID|1||123^^^MRN||SMITH^JONATHAN^P^^MR^^L~SMITH^JONNY^^^^^N||19850612|M
Sample XPN with maiden name repetition:
DOE^JANE^M^^^^L~MILLER^JANE^M^^^^M
Sample masked name:
^^^^^^MSK
FHIR Coding JSON — HumanName with use:
{
"name": [
{
"use": "official",
"family": "SMITH",
"given": ["JONATHAN", "P"]
},
{
"use": "nickname",
"family": "SMITH",
"given": ["JONNY"]
}
]
}
Mapping failure — name without type:
PID|1||123^^^MRN||SMITH^JONNY
A receiver tagging this as legal will reject the registration when it cross-references the SSA — Jonny is not the legal first name. The fix is to send Jonathan with L and (optionally) the nickname as a second XPN repetition with N.
FHIR mapping
The HL7 v2-to-FHIR IG maps Table 0200 onto HumanName.use (http://hl7.org/fhir/ValueSet/name-use):
| HL7 v2 (Table 0200) | FHIR HumanName.use |
|---|---|
| L | official |
| D | usual |
| N | nickname |
| M | maiden |
| B | old (when superseded) or maiden-adjacent |
| MSK | anonymous |
| NAV, TEMP, NB | temp |
| NOUSE, BAD | old |
| S | anonymous |
| A | usual (alias) |
| T, REL | usual + extension to preserve the specific role |
| F, I | not a name — route to Identifier |
IG reference: ConceptMap-table-hl70200-to-name-use.
Engine considerations
- Repetition preservation — XPN is repeating; each repetition becomes its own
HumanNamein FHIR. Engines that flatten to a single name silently drop legal-vs-display distinction. - F and I escape — when XPN.7 is
ForI, the engine should route the value toPatient.identifierwith the appropriateidentifier.type, not toPatient.name. - Masked-name handling —
MSKcontent must be passed through without logging the underlying name even if it leaks into XPN.1; access-control audit kicks in here. - Newborn flow —
NBplaceholder names should trigger a follow-up reconciliation step when the patient's real name arrives.
How Vorro handles HL70200
Vorro normalizes XPN.7 on inbound and creates one HumanName per repetition on FHIR output. MSK rows are stored encrypted and never logged in clear; NB, TEMP, and NAV rows raise a reconciliation event so an A31 update can replace them. F and I rows are routed to Patient.identifier automatically rather than Patient.name. When XPN.7 is empty, Vorro emits HumanName.use as absent rather than guessing official, and surfaces a configurable warning to the sender.
Related pages
- XPN data type — Extended Person Name
- PID segment — Patient Identification
- HL7 Table 0063 — Relationship
