FHIR Patient Resource (R4)
Patient holds demographic and administrative information about an individual receiving care. Element table, search parameters, example JSON and FHIRPath for FHIR R4.
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 another patient resource that concerns the same actual person |
| 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 (R4)
{
"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 collection of HL7 FHIR tools by Omindra Labs. The tools process your data in your browser; it is not uploaded for normal tool operations.