What is FHIR?
FHIR (Fast Healthcare Interoperability Resources) is an HL7 standard for exchanging healthcare information electronically. It structures information as modular resources and defines consistent ways for systems to exchange those resources using modern web technologies.
FHIR is designed around reusable building blocks called resources. Instead of treating a complete healthcare record as one large document or one vendor-specific structure, an implementation can represent concepts such as a patient, encounter, observation, diagnosis or medication as individual resources and connect them through references.
That modular model matters because healthcare interoperability rarely happens between two identical systems. FHIR provides a shared structure that EHRs, applications, APIs, analytics platforms and interoperability services can use to exchange data with less dependence on proprietary formats.
How FHIR works
A real FHIR implementation is more than JSON over an API. Four layers work together: resources define the data model, APIs define interactions, profiles and implementation guides add use-case-specific rules, and terminology gives coded clinical data shared meaning.
Resources
Standard structures represent healthcare concepts such as Patient, Observation and Encounter.
Interactions
FHIR defines RESTful interactions for reading, searching, creating, updating and managing resources.
Profiles & IGs
Profiles constrain base resources, while Implementation Guides package rules for a specific use case.
Terminology
Code systems and value sets help systems exchange coded clinical concepts consistently.
FHIR resources: the building blocks of healthcare data exchange
HL7 FHIR R5 defines 157 resources. Implementations rarely use all of them. Teams select resources that match the information and workflow they need to exchange, then apply the profiles and implementation guides required by their environment.
PatientDemographics and administrative information about an individual receiving care.
ObservationMeasurements and assertions such as lab results, vital signs and other clinical observations.
EncounterAn interaction between a patient and healthcare service providers.
ConditionProblems, diagnoses and other clinical conditions associated with a patient.
MedicationRequestA request or order for medication supply and administration instructions.
BundleA container used to group resources for documents, transactions, search results and other workflows.
{
"resourceType": "Patient",
"id": "example-001",
"active": true,
"name": [
{
"use": "official",
"family": "Taylor",
"given": ["Alex"]
}
]
}This is a simplified educational example. Production resources must follow the FHIR version, profiles, terminology and implementation rules that apply to the target workflow.
FHIR REST API: a consistent interaction model
The FHIR specification defines a RESTful API where resources are managed by type and servers declare which resources and interactions they support through a CapabilityStatement. Common interactions include reading a resource, searching by supported parameters, creating new resources and updating existing ones.
GET /Patient/123Read a resourceGET /Observation?patient=123Search resourcesPOST /PatientCreate a resourcePUT /Patient/123Update a resourceFHIR does not mean every server exposes every interaction. Your integration should inspect the server's capability statement and the applicable implementation guide before assuming which resources, search parameters or operations are available.
FHIR R4 vs R5 vs R6: which version should you use?
The newest FHIR material is not automatically the correct target for every implementation. Version choice depends on the systems you connect to, the implementation guides you must follow and the requirements of your market or use case.
| Version | Release | Status | Implementation note |
|---|---|---|---|
| R4 | 4.0.1 | Published; superseded by R5 | Still widely implemented. The current US Core 9.0.0 guide is based on FHIR R4. |
| R4B | 4.3.0 | Published; superseded by R5 | An intermediate release with limited changes between R4 and R5. |
| R5 | 5.0.0 | Current published core version | HL7 currently identifies R5 as the published core FHIR specification. |
| R6 | 6.0.0 snapshots / ballot | In development | September 2026 material is ballot/snapshot content, not the current published production core release. |
Confirm the FHIR version and implementation guide first. A resource that is valid against base R5 is not automatically conformant to an R4-based US Core profile, and vice versa.
Profiles and Implementation Guides make FHIR specific
Base FHIR is intentionally broad. A profile narrows a resource for a specific context by defining constraints such as required elements, cardinality, terminology bindings and extensions. An Implementation Guide, or IG, groups profiles with terminology, capability expectations, examples and supporting rules for a particular interoperability problem.
US Core is a practical example
For U.S. implementations, the US Core Implementation Guide is a major reference point. The current published version is US Core 9.0.0 (STU9), and it is based on FHIR R4. That is an important reminder that ecosystem requirements can remain on an earlier FHIR release even when a newer core specification exists.
FHIR validation: checking more than JSON syntax
FHIR validation is about whether a resource follows the rules that apply to it, not simply whether the JSON parses. HL7 describes validation across structure, cardinality, value domains and other constraints. When a profile applies, the resource also needs to satisfy those profile-specific rules.
Are elements valid for this resource type?
Are required and repeating elements used correctly?
Do coded values satisfy applicable bindings and value sets?
Does the resource conform to the constraints required by the implementation?
FHIR also defines a $validate operation. When supported by a FHIR server, it can validate submitted content and return an OperationOutcome that describes issues found during validation.
Inspect a resource before it enters your workflow.
Use Hgear's FHIR Viewer to explore resource structure and JSON in a browser-based workspace.
FHIR security: the API is only one layer
The core FHIR REST API defines how resources can be exchanged, but it does not by itself solve authentication, authorization, audit and privacy requirements. HL7's security guidance recommends established web security mechanisms and specifically points implementers toward OAuth and SMART App Launch where appropriate.
A production design should consider transport security, client and user authentication, authorization scopes, consent requirements, audit events, provenance, data minimization and the policies that apply to the environment.
Explore Hgear security & deploymentA practical FHIR implementation checklist
FHIR projects become easier to manage when versioning, profiles and validation are decided before interface development starts. Use this sequence as a planning framework rather than beginning with individual JSON examples.
- 01Define the exchange use case.
Identify the data, actors, workflow and downstream outcome before choosing resources.
- 02Confirm the FHIR version.
Match the systems, implementation guides and jurisdiction you actually need to support.
- 03Identify resources and profiles.
Map source data to the correct resource types and profile constraints.
- 04Resolve terminology requirements.
Understand required code systems, value sets and units before transformation logic is finalized.
- 05Transform and normalize source data.
Convert legacy or proprietary structures into the FHIR representation required by the target workflow.
- 06Validate early.
Check base FHIR rules and profile-specific constraints before data moves downstream.
- 07Test API behavior.
Confirm capabilities, supported searches, operations, error handling and authentication patterns.
- 08Monitor production variation.
Real source systems change. Keep transformation, validation and data-quality checks visible over time.
Common FHIR implementation mistakes
A valid-looking resource is not useful if it does not represent the workflow or target profile correctly.
Profiles and implementation guides often define the rules that actually determine conformance.
Codes and value sets can become integration blockers when they are handled after mapping is complete.
CapabilityStatements, supported interactions and search parameters can vary between implementations.
Move from FHIR concepts to working interoperability workflows.
Hgear brings healthcare data transformation, validation, visualization and data quality into a connected workflow. Use browser-based tools to inspect data, then connect the same interoperability capabilities to broader implementation and automation workflows.
FHIR frequently asked questions
What is FHIR?
FHIR, or Fast Healthcare Interoperability Resources, is an HL7 standard for exchanging healthcare information electronically. It organizes data into modular resources and defines web-oriented ways to exchange those resources between systems.
What is a FHIR resource?
A FHIR resource is a standardized data structure representing a healthcare concept such as a Patient, Observation, Encounter, Condition or MedicationRequest. Resources can reference one another to represent connected clinical and administrative information.
What is the difference between FHIR R4 and R5?
R4 is version 4.0.1 and remains widely implemented, including by the current US Core guide. R5 is version 5.0.0 and is the current published core FHIR specification. Implementers should choose the version required by their ecosystem and implementation guides rather than assuming the newest version is automatically the right deployment target.
Is FHIR R6 the current production release?
No. As of September 2026, HL7 identifies FHIR R5 version 5.0.0 as the current published core version. R6 is available in ballot and snapshot form and is still part of the standards-development process.
What are FHIR profiles and implementation guides?
Profiles constrain base FHIR resources for a particular use case. Implementation Guides package profiles, terminology, API expectations and supporting guidance into a coherent set of rules for an interoperability problem or jurisdiction.
How do you validate a FHIR resource?
FHIR validation checks structure, cardinality, value constraints, terminology rules and profile-specific requirements. FHIR also defines the $validate operation for servers that support validating resources against applicable rules or a nominated profile.
Does FHIR define authentication and authorization?
FHIR defines healthcare data exchange and security-related capabilities, but the core REST API does not by itself provide a complete authentication and authorization solution. HL7 recommends established security approaches such as OAuth and points implementers to SMART App Launch where appropriate.
Official FHIR sources used for this guide
FHIR changes through a formal standards-development process. For implementation decisions, always verify requirements against the official specification and the implementation guides that apply to your project.
Last reviewed: September 29, 2026.