Person — Cross-resource master identity
The physician who is also a patient at the hospital where they practice: two resources (Practitioner + Patient) but a single physical person. Person materializes that equivalence.
Purpose
A physical person can have several roles in the system: physician (Practitioner),
patient (Patient), companion for a relative (RelatedPerson), admin staff member
(Person alone). Person ties these roles via link[], with an
assurance level on each link: level1 (declarative) to level4 (strong
identity verification).
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
identifier | Identifier[] | 0..* | Persistent identifiers — typically a Master Person Index. |
active | boolean | 0..1 | Person still active in the MPI. |
name | HumanName[] | 0..* | Name(s). |
telecom | ContactPoint[] | 0..* | Contact points. |
gender | code | 0..1 | Administrative gender. |
birthDate | date | 0..1 | Birth date. |
deceased[x] | boolean | dateTime | 0..1 | Death. |
address | Address[] | 0..* | Addresses. |
maritalStatus | CodeableConcept | 0..1 | Marital status. |
photo | Attachment[] | 0..* | Photo. |
communication | BackboneElement[] | 0..* | Languages. |
managingOrganization | Reference(Organization) | 0..1 | Organization managing the Person record. |
link | BackboneElement[] | 0..* | Links to Patient | Practitioner | RelatedPerson | Person with assurance. |
JSON example
Person linking Patient + Practitioner + RelatedPerson:
{
"resourceType": "Person",
"id": "person-doe-john",
"identifier": [{
"system": "http://example.org/persons",
"value": "PER-2026-00042",
"use": "usual"
}, {
"system": "urn:oid:1.2.250.1.213.1.4.8",
"value": "199004587890190",
"use": "official",
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "NI",
"display": "National identifier"
}]
}
}],
"name": [{
"use": "official",
"family": "Doe",
"given": ["John", "Alexander"]
}],
"telecom": [{
"system": "email",
"value": "j.doe@example.org"
}],
"gender": "male",
"birthDate": "1972-05-15",
"active": true,
"link": [{
"target": { "reference": "Patient/doe-john" },
"assurance": "level3"
}, {
"target": { "reference": "Practitioner/prac-doe-john" },
"assurance": "level3"
}, {
"target": { "reference": "RelatedPerson/parent-doe-jr" },
"assurance": "level2"
}]
} Common pitfalls
- Person used as Patient — Person has no Encounter, Condition, etc. It is an identity node, not a patient.
- No Master Person Index — without a dedicated MPI, Person is overhead; on a single EHR, Patient.link suffices for merging.
- Links without
assurance— a level-1 link (declarative) and a level-4 link (verified papers) don't carry the same legal weight. - Confusing Person
activewith linked Patient/Practitioner — each resource has its own lifecycle. - Cyclic links — a Person pointing to another Person must avoid cycles (A → B → A).
Related resources
- Patient — one role.
- Practitioner — another role.
- RelatedPerson — yet another role.
- Person.link — MPI chaining.