This is a condensed overview. For the full specification, see
hl7.org/fhir.
What is FHIR?
FHIR (Fast Healthcare Interoperability Resources) is a standard for representing healthcare data as resources and exchanging them over HTTP via a REST API.Resources
A resource is a structured document with a known shape. FHIR defines several formats (JSON, XML, RDF). Ferrum supports JSON and XML; this documentation uses JSON for examples. It might represent a person (Patient), an event (Encounter), or a clinical fact (Observation). Every resource has a resourceType, and most include an id and meta:
- Bundle — groups multiple resources (search results, batches, transactions)
- OperationOutcome — error and validation messages
- CapabilityStatement — a server’s self-description (
GET /metadata)
REST API
FHIR uses standard HTTP methods:Search
Search returns aBundle of type searchset. Parameters are typed — the same parameter name behaves differently depending on its type:
Common result parameters:
_count, _sort, _include, _revinclude, _summary, _elements.
Terminology
FHIR uses coded values extensively:- CodeSystem — defines a set of codes (LOINC, SNOMED CT, ICD-10, …)
- ValueSet — a curated subset of codes allowed in a given context
- Coding — one code from one system (
system+code) - CodeableConcept — one or more Codings plus optional human-readable
text
$expand, $lookup, and $validate-code.
Profiles and Extensions
Profiles (StructureDefinitions) constrain base resources for specific use cases — restricting cardinality, fixing values, or adding required elements. Extensions let you add data that isn’t in the base model, identified by a canonical URL.Key Concepts at a Glance
Further Reading
- FHIR Specification — the authoritative source
- FHIR Resource List — all resource types
- FHIR Search — full search documentation
- FHIR RESTful API — HTTP interactions in detail