FHIR Patient Resource (R5)
Patient holds demographic and administrative information about an individual receiving care. Element table, search parameters, example JSON and FHIRPath for FHIR R5.
- FHIR Patient Resource (R5) — part of the free FHIR Toolbox library.
- Runs entirely in your browser: your FHIR data is never uploaded to a server.
Overview
Patient holds demographic and administrative information about an individual receiving care. It is the anchor of most clinical data: Observation, Condition, Encounter and nearly every other clinical resource point back to a Patient through a subject or patient reference. Keep clinical facts in those resources rather than in Patient itself.
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
| Patient.identifier | Identifier | 0..* | An identifier for this patient |
| Patient.active | boolean | 0..1 | Whether this patient's record is in active use |
| Patient.name | HumanName | 0..* | A name associated with the patient |
| Patient.telecom | ContactPoint | 0..* | A contact detail for the individual |
| Patient.gender | code | 0..1 | male | female | other | unknown |
| Patient.birthDate | date | 0..1 | The date of birth for the individual |
| Patient.deceased[x] | boolean | dateTime | 0..1 | Indicates if the individual is deceased or not |
| Patient.address | Address | 0..* | An address for the individual |
| Patient.maritalStatus | CodeableConcept | 0..1 | Marital (civil) status of a patient |
| Patient.multipleBirth[x] | boolean | integer | 0..1 | Whether patient is part of a multiple birth |
| Patient.photo | Attachment | 0..* | Image of the patient |
| Patient.contact | BackboneElement | 0..* | A contact party (e.g. guardian, partner, friend) for the patient |
| Patient.contact.id | String | 0..1 | Unique id for inter-element referencing |
| Patient.contact.extension | Extension | 0..* | Additional content defined by implementations |
| Patient.contact.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Patient.contact.relationship | CodeableConcept | 0..* | The kind of relationship |
| Patient.contact.name | HumanName | 0..1 | A name associated with the contact person |
| Patient.contact.telecom | ContactPoint | 0..* | A contact detail for the person |
| Patient.contact.address | Address | 0..1 | Address for the contact person |
| Patient.contact.gender | code | 0..1 | male | female | other | unknown |
| Patient.contact.organization | Reference | 0..1 | Organization that is associated with the contact |
| Patient.contact.period | Period | 0..1 | The period during which this contact person or organization is valid to be contacted relating to this patient |
| Patient.communication | BackboneElement | 0..* | A language which may be used to communicate with the patient about his or her health |
| Patient.communication.id | String | 0..1 | Unique id for inter-element referencing |
| Patient.communication.extension | Extension | 0..* | Additional content defined by implementations |
| Patient.communication.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Patient.communication.language | CodeableConcept | 1..1 | The language which can be used to communicate with the patient about his or her health |
| Patient.communication.preferred | boolean | 0..1 | Language preference indicator |
| Patient.generalPractitioner | Reference | 0..* | Patient's nominated primary care provider |
| Patient.managingOrganization | Reference | 0..1 | Organization that is the custodian of the patient record |
| Patient.link | BackboneElement | 0..* | Link to a Patient or RelatedPerson resource that concerns the same actual individual |
| Patient.link.id | String | 0..1 | Unique id for inter-element referencing |
| Patient.link.extension | Extension | 0..* | Additional content defined by implementations |
| Patient.link.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Patient.link.other | Reference | 1..1 | The other patient or related person resource that the link refers to |
| Patient.link.type | code | 1..1 | replaced-by | replaces | refer | seealso |
Example JSON (R5)
{
"resourceType": "Patient",
"id": "example",
"identifier": [
{
"system": "http://hospital.example.org/mrn",
"value": "12345"
}
],
"active": true,
"name": [
{
"use": "official",
"family": "Smith",
"given": [
"John",
"Michael"
]
}
],
"telecom": [
{
"system": "phone",
"value": "555-0100",
"use": "home"
}
],
"gender": "male",
"birthDate": "1985-03-12",
"address": [
{
"use": "home",
"line": [
"123 Main St"
],
"city": "Anytown",
"state": "CA",
"postalCode": "90210"
}
]
}
FHIRPath
Patient.name.where(use='official').family— Official family namePatient.telecom.where(system='phone').value— All phone numbersPatient.identifier.where(system='http://hospital.example.org/mrn').value— Medical record number for one assigning systemPatient.birthDate— Date of birth (a partial date such as 1985 is valid)
Common validation errors
- Writing name as an object instead of an array. Patient.name is 0..*, so it must be [ { … } ].
- Putting the full name in family. Use family for the surname and given (an array) for first and middle names.
- Sending birthDate as 03/12/1985. FHIR dates are ISO 8601: YYYY, YYYY-MM or YYYY-MM-DD.
- Using a free-text gender such as "Male". gender is a code from administrative-gender: male | female | other | unknown (lower-case).
- Omitting identifier.system, which makes the value ambiguous across organizations.
FHIR Toolbox is a free, privacy-first collection of HL7 FHIR utilities by Omindra Labs. Every tool performs zero-server processing — your health data never leaves your device.