HumanName — Structured human name
HumanName breaks a name down into family, given, prefix, suffix. Supports multiple names (official, usual, maiden, old) via use.
Purpose
HumanName is used by Patient, Practitioner, Person, RelatedPerson. A person may have several HumanName: a legal name (official), a usual name (Jim), a maiden name (maiden), an anonymised name for publication (anonymous). The given array holds the given names — not one, but ALL.
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
use | code | 0..1 | usual, official, temp, nickname, anonymous, old, maiden. |
text | string | 0..1 | Full text representation (display fallback). |
family | string | 0..1 | Family name. |
given | string[] | 0..* | Given names (order matters). |
prefix | string[] | 0..* | Prefixes (Dr, Mr, Ms). |
suffix | string[] | 0..* | Suffixes (MD, PhD, Jr). |
period | Period | 0..1 | Validity period. |
JSON example
Dr John James Doe MD:
{
"use": "official",
"family": "Doe",
"given": ["John", "James"],
"prefix": ["Dr"],
"suffix": ["MD"],
"period": { "start": "1974-12-25" }
} Common pitfalls
- Everything in family: "John Doe" all in family instead of family=Doe, given=[John]. Breaks FHIR name searches.
- Non-Latin characters without extension: Arabic, Chinese, Cyrillic names need the
iso21090-EN-representationextension. - Multiple
use=official: only one official at a time. Others inold,maiden,nickname.
Related resources
- Patient.name — Patient names.
- Practitioner.name — Healthcare professional names.
- Person.name — Federated Person names.