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

ElementTypeCardinalityDescription
Patient.identifierIdentifier0..*An identifier for this patient
Patient.activeboolean0..1Whether this patient's record is in active use
Patient.nameHumanName0..*A name associated with the patient
Patient.telecomContactPoint0..*A contact detail for the individual
Patient.gendercode0..1male | female | other | unknown
Patient.birthDatedate0..1The date of birth for the individual
Patient.deceased[x]boolean | dateTime0..1Indicates if the individual is deceased or not
Patient.addressAddress0..*An address for the individual
Patient.maritalStatusCodeableConcept0..1Marital (civil) status of a patient
Patient.multipleBirth[x]boolean | integer0..1Whether patient is part of a multiple birth
Patient.photoAttachment0..*Image of the patient
Patient.contactBackboneElement0..*A contact party (e.g. guardian, partner, friend) for the patient
Patient.contact.idString0..1Unique id for inter-element referencing
Patient.contact.extensionExtension0..*Additional content defined by implementations
Patient.contact.modifierExtensionExtension0..*Extensions that cannot be ignored even if unrecognized
Patient.contact.relationshipCodeableConcept0..*The kind of relationship
Patient.contact.nameHumanName0..1A name associated with the contact person
Patient.contact.telecomContactPoint0..*A contact detail for the person
Patient.contact.addressAddress0..1Address for the contact person
Patient.contact.gendercode0..1male | female | other | unknown
Patient.contact.organizationReference0..1Organization that is associated with the contact
Patient.contact.periodPeriod0..1The period during which this contact person or organization is valid to be contacted relating to this patient
Patient.communicationBackboneElement0..*A language which may be used to communicate with the patient about his or her health
Patient.communication.idString0..1Unique id for inter-element referencing
Patient.communication.extensionExtension0..*Additional content defined by implementations
Patient.communication.modifierExtensionExtension0..*Extensions that cannot be ignored even if unrecognized
Patient.communication.languageCodeableConcept1..1The language which can be used to communicate with the patient about his or her health
Patient.communication.preferredboolean0..1Language preference indicator
Patient.generalPractitionerReference0..*Patient's nominated primary care provider
Patient.managingOrganizationReference0..1Organization that is the custodian of the patient record
Patient.linkBackboneElement0..*Link to another patient resource that concerns the same actual person
Patient.link.idString0..1Unique id for inter-element referencing
Patient.link.extensionExtension0..*Additional content defined by implementations
Patient.link.modifierExtensionExtension0..*Extensions that cannot be ignored even if unrecognized
Patient.link.otherReference1..1The other patient or related person resource that the link refers to
Patient.link.typecode1..1replaced-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 name
  • Patient.telecom.where(system='phone').value — All phone numbers
  • Patient.identifier.where(system='http://hospital.example.org/mrn').value — Medical record number for one assigning system
  • Patient.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.