ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

Patient — Demographic record of a person in healthcare

One of FHIR's ten foundational resources. Every clinical record — Observation, Encounter, MedicationRequest, DiagnosticReport — points to a Patient.

Purpose of the resource

The Patient resource represents a person who receives or might receive healthcare services. It carries the demographic and administrative identity — name, gender, date of birth, addresses, contacts — together with the identifiers by which this person is known across systems (local MRN, INS-NIR, SSN, NHS Number, Swiss AHV number, etc.).

Patient is not the right place for sensitive clinical data (allergies, diagnoses, medications): each of these belongs to a dedicated resource (AllergyIntolerance, Condition, MedicationStatement…) that points back to the Patient via a Reference. This strict separation is what gives FHIR its modular modelling capability.

Key fields

The StructureDefinition published by HL7 lists 22 top-level elements. The most prominent:

FieldTypeCardinalityRole
identifierIdentifier[]0..*External identifiers by which the patient is known (MRN, NHS Number, INS-NIR…).
activeboolean0..1Indicates whether the patient record is active. false = merged, archived, soft-deleted patient.
nameHumanName[]0..*Patient names (official, usual, marital, old…).
telecomContactPoint[]0..*Phones, emails, other contact channels.
gendercode0..1Administrative gender (male, female, other, unknown). NOT for clinical gender (see extensions).
birthDatedate0..1Date of birth (CCYY-MM-DD, variable precision).
deceased[x]boolean | dateTime0..1Deceased status. deceasedBoolean for the binary flag, deceasedDateTime for the exact date.
addressAddress[]0..*Known addresses (postal, physical, old…).
maritalStatusCodeableConcept0..1Marital status. v3 MaritalStatus ValueSet.
multipleBirth[x]boolean | integer0..1Multiple birth (twin, triplet…). Boolean or birth order.
photoAttachment[]0..*Photo of the patient.
contactBackboneElement[]0..*Persons to contact (NK1 in HL7 v2). Embedded block with name, telecom, relationship.
communicationBackboneElement[]0..*Languages spoken by the patient + preferred flag.
generalPractitionerReference(Organization | Practitioner | PractitionerRole)[]0..*Primary care provider, pivot team.
managingOrganizationReference(Organization)0..1Organisation responsible for the patient record (the facility holding the master copy).
linkBackboneElement[]0..*Links to other Patient or RelatedPerson resources (merge, duplicate, alias).

JSON example

The canonical example published by HL7 on the patient-example.json reference page:

json patient-example.json
{
  "resourceType": "Patient",
  "id": "example",
  "meta": {
    "profile": [
      "http://hl7.org/fhir/StructureDefinition/Patient"
    ]
  },
  "identifier": [{
    "use": "usual",
    "type": {
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
        "code": "MR"
      }]
    },
    "system": "urn:oid:1.2.36.146.595.217.0.1",
    "value": "12345",
    "period": { "start": "2001-05-06" },
    "assigner": { "display": "Acme Healthcare" }
  }],
  "active": true,
  "name": [{
    "use": "official",
    "family": "Chalmers",
    "given": ["Peter", "James"]
  }, {
    "use": "usual",
    "given": ["Jim"]
  }],
  "telecom": [{
    "use": "home"
  }, {
    "system": "phone",
    "value": "(03) 5555 6473",
    "use": "work",
    "rank": 1
  }],
  "gender": "male",
  "birthDate": "1974-12-25",
  "_birthDate": {
    "extension": [{
      "url": "http://hl7.org/fhir/StructureDefinition/patient-birthTime",
      "valueDateTime": "1974-12-25T14:35:45-05:00"
    }]
  },
  "deceasedBoolean": false,
  "address": [{
    "use": "home",
    "type": "both",
    "text": "534 Erewhon St PeasantVille, Rainbow, Vic  3999",
    "line": ["534 Erewhon St"],
    "city": "PleasantVille",
    "district": "Rainbow",
    "state": "Vic",
    "postalCode": "3999",
    "period": { "start": "1974-12-25" }
  }],
  "contact": [{
    "relationship": [{
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/v2-0131",
        "code": "N"
      }]
    }],
    "name": {
      "family": "du Marché",
      "_family": {
        "extension": [{
          "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-prefix",
          "valueString": "VV"
        }]
      },
      "given": ["Bénédicte"]
    },
    "telecom": [{
      "system": "phone",
      "value": "+33 (237) 998327"
    }]
  }],
  "managingOrganization": {
    "reference": "Organization/1"
  }
}

Worth pointing out in this example:

  • The main identifier is typed MR (Medical Record Number, table v2-0203 reused by FHIR for consistency with PID-3.5).
  • The patient has two name entries: usage official (Chalmers, Peter James) and usage usual ("Jim").
  • The patient-birthTime extension records the precise time of birth with timezone: FHIR separates standard data from local data via URL-typed extensions.
  • The contact[] block embeds the next of kin (NK1 equivalent in v2).
  • managingOrganization points to an Organization resource via a relative Reference (Organization/1).

REST API

Typical requests against a FHIR server exposing Patient:

  • GET /Patient/example — fetch the Patient with id example.
  • POST /Patient with a conformant JSON body — create a new Patient. The server allocates the id.
  • PUT /Patient/example — update the existing Patient.
  • DELETE /Patient/example — soft-delete or archive (server-dependent, RFC 5023).
  • GET /Patient?family=Chalmers&given=Peter — search by family name and given name.
  • GET /Patient?identifier=urn:oid:1.2.36.146.595.217.0.1|12345 — search by business identifier (prefixed by its system).
  • GET /Patient/example/$everything — composite operation that returns the entire patient record (Observation, Encounter, Condition…).
  • GET /Patient?_revinclude=Observation:patient — search Patients and include their Observations in reverse.

In 2026, US EHRs are required to expose /Patient through their ONC-certified FHIR endpoint, accessible to authorised third-party apps through the SMART on FHIR flow (OAuth 2 + OpenID Connect).

National profiles

ProfileRegulatorRestrictions
US Core PatientHL7 US Realm — ONC EHR mandatoryMust carry at least one identifier, one name, a gender, and US Core Race / Ethnicity / Birth Sex extensions.
IPS Patient (UV)HL7 + CEN/TC 251European / worldwide cross-border profile. Must carry identifier, name, gender, birthDate.
FR Core PatientANS (Agence du Numérique en Santé)Must carry at least one INS-NIR or INS-A typed identifier. Slicing on INS, matricule, NSS.
NL Core PatientNictiz (Netherlands)Must carry the BSN (Burgerservicenummer) inside identifier.
UK Core PatientNHS DigitalMust carry the NHS Number inside identifier.
HL7 IPS-AU PatientHL7 AustraliaMust carry the IHI (Individual Healthcare Identifier).

Common pitfalls

  • gender ≠ gender identity: Patient.gender is the administrative identifier only (M/F/O/U). For gender identity, use the patient-genderIdentity extension or an Observation.
  • Identifier without system: an identifier with only value and no system is not deduplicable. Always qualify (urn:oid:<OID> or canonical URL).
  • Address with text only: an Address bearing only text without line or city is not indexable. Always decompose.
  • Several name entries with use="official": ambiguous for the receiver. Only one official at a time; others go to old, maiden, usual.
  • Circular reference: Patient.link may point to another Patient or a RelatedPerson, but beware of infinite loops in merge chains.
  • Confusion between active and deceased: active=false means an administratively closed record; deceased=true means the patient has died. Both are independent.
  • RelatedPerson — relative of the patient, contact, caregiver.
  • Person — cross-domain generalisation of a human (can reference several Patient + Practitioner if the EHR runs a federated MPI).
  • Practitioner — healthcare professional.
  • Encounter — visit or stay associated with the patient (v2 PV1 equivalent).
  • Observation, Condition, MedicationRequest — clinical data resources all reference the Patient via subject or patient.

See also: Bundle — the FHIR transaction and search container, and ADT^A01 — the legacy v2 layer that carries the same demographic data in pipe-delimited form.