What is FHIR?

Have you ever gone to a hospital for treatment, and then later moved to another hospital or even another city — only to realize your health data didn’t come with you?

Suddenly, your new doctor is asking the same questions for the 50th time. What medicines are you on? When was your last vaccination? What allergies do you have?

data doesn't travel between hospitals
Data doesn’t travel between hospitals

This frustrating experience is all too common. The root cause of this challenge is a lack of interoperability.

Why is interoperability hard?

Each hospital often stores data in its own way, with its own systems. These systems rarely communicate with one another. So when you move, there’s no standardized way for your data to transfer or be accessed elsewhere. This could even be the case between departments of the same hospital!

This is the challenge healthcare interoperability standards attempt to solve. Organizations like HL7 (Health Level 7 International) create and manage healthcare standards to ensure that health data can move securely and consistently between systems.

Enter FHIR: Fast Healthcare Interoperability Resources

HL7’s latest standard is called FHIR (pronounced “fire”).

FHIR (Fast Healthcare Interoperability Resources) is a standard for exchanging healthcare information electronically. It represents health data as modular resources (e.g. Patient, Observation, Medication) that can be easily shared between systems using modern web technologies.

FHIR follows a legacy of standards, including HL7 v2 and v3, but it goes beyond its predecessors in several important ways.

HL7 standard evolution timeline
Evolution of HL7 standards

Unlike earlier standards that introduced complex custom protocols, FHIR builds on modern web technologies that developers already use every day. Such as,

  • JSON and XML for representing information
  • REST APIs for accessing and sharing data

and so on, making FHIR faster to adopt, and easier for developers to work with. Also, hospitals and software vendors can more simply integrate FHIR into their processes.

Here’s a really simple FHIR Patient resource. It’s okay if you don’t understand it all just yet.

{
   "resourceType": "Patient",
   "name": [
       {
       "given": ["Sidharth"],
       "family": "Ramesh"
       }
   ],
   "telecom": [
       {
           "system": "email",
           "value": "sidharth@medblocks.com"
       }
   ]
}

Drawing inspiration from the tech world

FHIR was created by Grahame Grieve, often called ‘The Father of FHIR’ who drew inspiration from best-in-class interoperability ideas available, both within and outside healthcare.

He looked at how Basecamp’s Highrise CRM exposed its data through REST API. All entities in the system, customers, users, deals etc. were represented as simple resources on a server. It was possible to create, update or delete these resources using API calls.

What happens when modelling health data in the same way?

  • A Patient is a resource
  • A Blood Pressure reading is a resource
  • A Practitioner is a resource

From here, FHIR took shape. It models healthcare data as modular and reusable resources.

Here is how a Person resource from the Highrise API looks. See what similarities and differences you can spot with the Patient resource.

<person>
 <id type="integer">1</id>
 <first-name>John</first-name>
 <last-name>Doe</last-name>
 <title>Stand-in</title>
 <background>A popular guy for random data</background>
 <linkedin-url>http://us.linkedin.com/in/john-doe</linkedin-url>
 <avatar-url></avatar-url>
 <company-id type="integer">2</company-id>
 <company-name>Doe Inc.</company-name>
 <created-at type="datetime">2007-02-27T03:11:52Z</created-at>
 <updated-at type="datetime">2007-03-10T15:11:52Z</updated-at>
 <visible-to>#{Everyone || Owner || NamedGroup}</visible-to>
 <owner-id type="integer">#{ user_id -- when visible-to is "Owner"}</owner-id>
 <group-id type="integer">#{ group_id -- when visible-to is "NamedGroup"}</group-id>
 <author-id type="integer">3</author-id>
 <contact-data>
   ...
 </contact-data>
 <tags type="array">
   ...
 </tags>
</person>

Why does FHIR matter?

FHIR represents a shift from healthcare-only protocols to modern and web-friendly practices, adopting what already works in the tech world.

The name, Fast Healthcare Interoperability Resources represents this shift,

  • Fast: Developers can get started quickly
  • Healthcare Interoperability: The goal is seamless data exchange
  • Resources: Everything is represented as simple building blocks

Coming up next

In the next lessons we will explore FHIR deeper including understanding what exactly a FHIR resource looks like and their structure, as well as how you can interact with them using APIs.

Comments (0)

No comments yet. Be the first to comment!