FHIR R5 — Fast Healthcare Interoperability Resources
HL7's modern REST/JSON layer. Designed in 2012 to make healthcare data as easy to consume as a web API: atomic resources, open schemas, national profiles.
What is FHIR?
FHIR — pronounced "fire" — is an interoperability standard published by HL7 International that replaces HL7 v2's messaging philosophy and HL7 CDA's document approach with a resource philosophy: every concept of the healthcare domain (Patient, Observation, Encounter, MedicationRequest…) is represented as a typed structure, serialisable in JSON or XML, and exposed via a standard REST API.
The goal: make writing a healthcare client as straightforward as writing a GitHub or Stripe client. A developer who knows HTTP, JSON and OAuth 2 can consume a FHIR server without HL7 training. That accessibility drove rapid adoption: by 2026, Epic, Cerner / Oracle Health, Athenahealth, Allscripts, Apple Health, Google Cloud Healthcare API, AWS HealthLake and virtually every US EHR expose a FHIR R4 or R5 layer.
FHIR coexists with HL7 v2 rather than replacing it: real-time flows (ADT, ORU) often stay on v2, while patient APIs, interoperable portals and mobile apps consume FHIR.
Anatomy of a FHIR resource
A FHIR resource is a JSON (or XML) object with an explicit type, a technical
id, fields typed against the StructureDefinition published by
HL7, and — optionally — extensions. Here is the canonical Patient example published by
HL7 on the reference page:
{
"resourceType": "Patient",
"id": "example",
"identifier": [{
"system": "urn:oid:1.2.36.146.595.217.0.1",
"value": "12345"
}],
"active": true,
"name": [{
"use": "official",
"family": "Chalmers",
"given": ["Peter", "James"]
}],
"telecom": [{
"system": "phone",
"value": "(03) 5555 6473",
"use": "work"
}],
"gender": "male",
"birthDate": "1974-12-25",
"address": [{
"use": "home",
"line": ["534 Erewhon St"],
"city": "PleasantVille",
"state": "Vic",
"postalCode": "3999"
}]
} Three structuring principles:
-
resourceTypefirst — the discriminator that lets a generic client dispatch correctly. - Data types — every field follows a FHIR type (string, boolean, code, HumanName, Address, Identifier, Reference, Coding, CodeableConcept, Period…). Semantic vocabularies (LOINC, SNOMED CT, ICD-10, RxNorm) travel through Coding / CodeableConcept.
- Extensions — for local needs, FHIR allows adding URL-typed
extension[]entries. National profiles (US Core, FR Core, NL Core…) define their own extensions.
Versions
HL7 International has been publishing FHIR since 2012. Each major release supersedes the previous one after an overlap period, and production servers can expose several versions simultaneously.
| Release | Date | Status | Notes |
|---|---|---|---|
| DSTU 1 | February 2014 | Historical | First Draft Standard for Trial Use, ~25 resources. |
| DSTU 2 | October 2015 | Historical | Stabilisation of core concepts (Bundle, Search, Capability). |
| STU 3 | April 2017 | Historical | ~115 resources, first real production usage. |
| R4 | October 2019 | Still widely deployed | First Normative Release on the core trunk. Reference for US Core, IPS, EHDS. |
| R4B | May 2022 | Stable | Errata + previously trial-use resources brought into R4. |
| R5 | 26 March 2023 | Current | ~157 resources, new structures (Citation, EvidenceReport), redesigned Subscription R5. |
| R6 (CI build) | In progress | Preparation | HL7 working branch, no publication date yet. |
Resource families
FHIR R5 publishes around 157 resources, grouped by clinical and technical themes. The most prominent:
| Family | Key resources | Description |
|---|---|---|
| Identity & administration | Patient, Practitioner, Organization, Location, Encounter, EpisodeOfCare | People, facilities, encounters and care episodes. |
| Clinical | Observation, Condition, Procedure, AllergyIntolerance, FamilyMemberHistory | Measurements, diagnoses, procedures, family history. |
| Medications | Medication, MedicationRequest, MedicationAdministration, MedicationDispense | Full cycle from prescription to administration. |
| Diagnostics | DiagnosticReport, ServiceRequest, Specimen, ImagingStudy | Test orders and results, medical imaging. |
| Workflow | Task, Appointment, Schedule, Slot, CarePlan, CareTeam | Care orchestration, scheduling, care plans. |
| Security & auditing | Consent, AuditEvent, Provenance | Patient consent, traceability, provenance. |
| Conformance | CapabilityStatement, StructureDefinition, ValueSet, CodeSystem | Self-description of servers, profiling of resources. |
| Infrastructure | Bundle, OperationOutcome, Parameters, Subscription, MessageHeader | Containers and technical messages. |
| Finance / billing | Account, ChargeItem, Invoice, Claim, ClaimResponse, ExplanationOfBenefit | Financial layer, mostly US (mapping to X12 270/271/278/834/835/837). |
The REST API
The core of FHIR is its REST API specification. Examples of typical endpoints on a conformant server:
GET /Patient/{id}— read a Patient resource by its technical identifier.POST /Patient— create a Patient resource (the id is allocated by the server).PUT /Patient/{id}— update a Patient resource.GET /Patient?identifier=urn:oid:1.2.3|MRN12345— search a resource by business identifier.GET /Patient/{id}/$everything— composite operation that returns all related resources.GET /metadata— return the server's CapabilityStatement (what it knows how to do).
Responses are always FHIR resources. When searching, the server returns a
Bundle typed searchset that aggregates the matches. When
operating on several resources at once (transaction, batch), the client POSTs a
Bundle typed transaction at the server root.
Security almost universally uses OAuth 2 + OpenID Connect, framed by SMART on FHIR for third-party apps embedded in an EHR.
Implementation Guides
Raw FHIR is not immediately deployable: it must be constrained. Implementation Guides (IGs) do this by publishing profiles (a StructureDefinition that restricts a resource), ValueSets and extensions specific to a use case or country.
| IG | Maintainer | Scope |
|---|---|---|
| US Core 6.x / 7.x | HL7 US Realm | Mandatory profile for ONC EHR certification in the US (US Core Data for Interoperability). |
| International Patient Summary (IPS) | HL7 + CEN/TC 251 | Cross-border interoperable summary patient record (EU, US, worldwide). |
| European Health Data Space (EHDS) | European Commission | 2025+ profiles for the upcoming European Health Data Space. |
| FR Core | ANS (Agence du Numérique en Santé) | Patient, Practitioner, Organization profiles adapted to the French healthcare system. |
| SDOH-CC, mCODE, Da Vinci PDex… | HL7 Accelerators | Domain IGs: social determinants, oncology, payer data. |
| HL7 IPS Au, NL Core, UK Core… | National HL7 affiliates | National profiles for Australia, the Netherlands, the United Kingdom, etc. |
Comparison with HL7 v2
| Criterion | HL7 v2.x | FHIR R5 |
|---|---|---|
| Paradigm | Text messaging | REST resources |
| Serialisation | Pipe-delimited | JSON / XML / Turtle |
| Validation | Conformance Profile (rarely deployed) | StructureDefinition + ValueSet (industrialised) |
| Search | QRY / RSP (rarely used) | Universal search API (standard parameters per resource) |
| Security | Transport (MLLP, sFTP) — no message-level auth | OAuth 2 + SMART on FHIR at every layer |
| Throughput | Optimised for high-frequency real-time flows | Optimised for on-demand APIs and apps |
| 2026 adoption | Backbone of HIS | Backbone of patient APIs and third-party apps |
Further reading
Detailed FHIR resource pages on ediverse:
Related standards:
- HL7 v2.x — the clinical messaging backbone
- X12 transactions 270/271/278/834/835/837 — the HIPAA administrative layer
Official specifications:
- FHIR R5 — Specification (release of 26 March 2023, copyright HL7 International, CC-BY 4.0 on resources).
- FHIR R5 — Resource List to browse the 157 published resources.
- International Patient Summary (IPS) — cross-border IG.
- US Core Implementation Guide — ONC-mandated profile.
- SMART App Launch Framework — OAuth 2 / OpenID Connect authorisation layer for FHIR.
- FHIR Management Group — HL7 governance body.