For Educational Purposes Only • Not for Production Healthcare Systems
messagingintermediateVersion R4

Modern healthcare interoperability standard using RESTful APIs and web technologies

Last updated: December 13, 2024Official Specification →

HL7 FHIR - Fast Healthcare Interoperability Resources

FHIR (Fast Healthcare Interoperability Resources) is a standard for exchanging healthcare information electronically. Developed by HL7, FHIR combines the best features of HL7's previous standards while leveraging modern web technologies including RESTful APIs, JSON, and XML.

Educational Purpose Notice: This content is for educational and learning purposes only. For actual FHIR implementation in healthcare systems, consult official FHIR specifications and work with certified FHIR implementation specialists.

What Makes FHIR Different?

FHIR represents a paradigm shift in healthcare interoperability by:

  • Web-based: Uses standard web technologies (HTTP, REST, JSON, XML)
  • Resource-oriented: Data is organized into discrete resources
  • Flexible: Supports multiple implementation approaches
  • Developer-friendly: Easy to understand and implement
  • Mobile-ready: Designed for modern mobile and web applications

Core FHIR Concepts

Resources

FHIR defines healthcare data as "resources" - discrete units of healthcare information. Common resources include:

  • Patient: Demographics and administrative information
  • Observation: Measurements, lab results, vital signs
  • Medication: Drug information and prescriptions
  • Encounter: Healthcare visits and episodes
  • Practitioner: Healthcare provider information

RESTful API

FHIR uses REST principles for data exchange:

GET /Patient/123
POST /Observation
PUT /Patient/123
DELETE /Patient/123

Example FHIR REST operations for patient and observation resources

Resource Examples

Patient Resource

{
  "resourceType": "Patient",
  "id": "example-patient",
  "identifier": [
    {
      "use": "usual",
      "type": {
        "coding": [
          {
            "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
            "code": "MR"
          }
        ]
      },
      "value": "123456789"
    }
  ],
  "active": true,
  "name": [
    {
      "use": "official",
      "family": "Smith",
      "given": ["Jane", "Marie"]
    }
  ],
  "telecom": [
    {
      "system": "phone",
      "value": "(555) 123-4567",
      "use": "home"
    }
  ],
  "gender": "female",
  "birthDate": "1985-03-15",
  "address": [
    {
      "use": "home",
      "line": ["123 Healthcare Ave"],
      "city": "Medical City",
      "state": "HC",
      "postalCode": "12345"
    }
  ]
}

Example FHIR Patient resource with comprehensive demographic information

Observation Resource

{
  "resourceType": "Observation",
  "id": "blood-pressure-example",
  "status": "final",
  "category": [
    {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "vital-signs"
        }
      ]
    }
  ],
  "code": {
    "coding": [
      {
        "system": "http://loinc.org",
        "code": "85354-9",
        "display": "Blood pressure panel"
      }
    ]
  },
  "subject": {
    "reference": "Patient/example-patient"
  },
  "effectiveDateTime": "2024-12-13T10:30:00Z",
  "component": [
    {
      "code": {
        "coding": [
          {
            "system": "http://loinc.org",
            "code": "8480-6",
            "display": "Systolic blood pressure"
          }
        ]
      },
      "valueQuantity": {
        "value": 120,
        "unit": "mmHg",
        "system": "http://unitsofmeasure.org",
        "code": "mm[Hg]"
      }
    },
    {
      "code": {
        "coding": [
          {
            "system": "http://loinc.org",
            "code": "8462-4",
            "display": "Diastolic blood pressure"
          }
        ]
      },
      "valueQuantity": {
        "value": 80,
        "unit": "mmHg",
        "system": "http://unitsofmeasure.org",
        "code": "mm[Hg]"
      }
    }
  ]
}

Example FHIR Observation resource for blood pressure measurement

FHIR Implementation Approaches

RESTful API

The most common FHIR implementation uses RESTful web services:

// Example FHIR API calls using JavaScript
const fhirBase = 'https://fhir-server.example.com/fhir';

// Get a patient
const patient = await fetch(`${fhirBase}/Patient/123`);

// Search for observations
const observations = await fetch(`${fhirBase}/Observation?patient=123&category=vital-signs`);

// Create a new observation
const newObservation = await fetch(`${fhirBase}/Observation`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/fhir+json' },
  body: JSON.stringify(observationResource)
});

Example JavaScript code for FHIR API interactions

Messaging

FHIR also supports traditional messaging patterns for system-to-system communication.

Documents

FHIR can represent clinical documents using the Composition resource.

FHIR Profiles and Implementation Guides

FHIR provides a base specification that can be customized through:

  • Profiles: Constraints and extensions for specific use cases
  • Implementation Guides: Detailed guidance for specific domains
  • Value Sets: Standardized code sets for interoperability

Popular implementation guides include:

  • US Core (United States)
  • UK Core (United Kingdom)
  • International Patient Summary (IPS)

Security and Privacy

FHIR implementations must address:

  • Authentication: OAuth 2.0, SMART on FHIR
  • Authorization: Role-based access control
  • Encryption: TLS for data in transit
  • Audit: Comprehensive logging and monitoring
  • Privacy: HIPAA compliance and data minimization

Getting Started with FHIR

For developers and healthcare professionals:

  1. Learn the Basics: Understand REST APIs and JSON/XML
  2. Explore Resources: Study common FHIR resources
  3. Use Test Servers: Practice with public FHIR test servers
  4. Try Tools: Use FHIR validation and testing tools
  5. Join Community: Participate in FHIR community discussions

Official FHIR Resources

For implementation and detailed specifications, always consult official FHIR documentation:

Important Reminder: This educational content provides an overview of FHIR concepts. For production healthcare applications, always refer to the official FHIR specification at https://hl7.org/fhir/ and work with certified FHIR implementation specialists to ensure compliance with healthcare regulations and standards.

Tags

fhirapirestinteroperabilityjsonxml

Implementation Reminder

This content is for educational purposes only. For production healthcare applications, always refer to the official FHIR specification at https://hl7.org/fhir/ and work with certified FHIR implementation specialists to ensure compliance with healthcare regulations and standards.