๐ Resources at a glance
The central FHIR mental model
A FHIR resource is a standardized, machine-readable building block for one healthcare or administrative concept. Examples include:
- Patient for information about a person receiving care;
- Practitioner for a healthcare professional;
- ServiceRequest for a request such as an X-ray examination;
- Observation for a measurement or assessment;
- DiagnosticReport for a diagnostic report; and
- ImagingStudy for information about medical images.
FHIR is not one enormous patient record. It uses multiple focused resources that can be combined to tell a useful clinical story.
Resource type versus resource instance
A resource type is like a reusable form. It defines which elements can appear and what those elements mean. Patient is a resource type.
A resource instance is one completed version of that form. A Patient instance might contain the name, birth date, and identifiers for one particular person. Another person is represented by another Patient instance.
Every resource instance states its resourceType. It can also have:
- a logical id used by a server;
- human-readable narrative;
- common metadata; and
- elements specific to that resource type.
A business identifier, such as a hospital patient number, is not the same as the server’s logical id. Organizations may assign identifiers, while a FHIR server manages logical ids within its own system.
References connect the story
Resources remain small by referencing one another instead of copying the same information everywhere.
Consider an X-ray journey:
- a Patient identifies the person receiving care;
- a Practitioner requests an examination;
- a ServiceRequest records the X-ray request and refers to the Patient;
- an ImagingStudy describes the acquired images; and
- a DiagnosticReport records the report and can refer to the Patient, request, and imaging study.
The exact resources and references depend on the workflow and the implementation guide, but the principle stays the same: each resource has a focused purpose, and references connect the pieces.
Bundles carry resources together
A Bundle is a FHIR resource that contains a collection of entries. Systems use different Bundle types for different purposesโfor example, search results, documents, messages, batches, or transactions.
A Bundle is a transport or collection structure; it does not merge all of its entries into one giant resource. Each contained resource keeps its own type and meaning.
Check your understanding
- What is the difference between the Patient resource type and one Patient instance?
- Why does a DiagnosticReport refer to a Patient instead of copying all patient information into the report?
- What does a Bundle add when several related resources need to travel together?