Skip to main content

FHIR

HL7 FHIR is a modern, flexible, and widely adopted standard for healthcare data exchange. It aims to improve interoperability, making it easier for different healthcare systems to communicate and share information, ultimately enhancing patient care and facilitating innovation in the healthcare industry. The goal is to create a standardized approach that allows diverse systems to work together effectively. FHIR addresses this by providing a common framework for representing and exchanging healthcare information.

Interoperability

The resource-oriented model of FHIR contributes to interoperability by organizing healthcare data into standardized units known as resources. These resources cover essential healthcare concepts, such as patients, observations, medications, and more. Each resource has a defined structure, making it easier for different systems to recognize, process, and share relevant information.

FHIR's use of a RESTful API further enhances interoperability, as it aligns with widely adopted web standards. This means that FHIR can leverage existing web technologies, making it accessible and familiar to developers. The RESTful approach simplifies the integration of FHIR with web-based systems, allowing for more efficient communication between healthcare applications.

Moreover, FHIR's modularity supports interoperability by allowing organizations to adopt specific parts of the standard based on their needs. This flexibility means that healthcare systems can gradually transition to FHIR, implementing its components incrementally, rather than requiring a complete overhaul of existing infrastructure.

Resource-Oriented Nature

Rather than dealing with complex and monolithic documents, FHIR breaks down healthcare information into discrete, self-contained resources. These resources are designed to be modular and reusable, making it easier for systems to understand, process, and share data. This modularity is a key factor in achieving interoperability, as it allows healthcare systems to communicate about specific aspects of a patient's information without having to exchange unnecessary details.

The resource-oriented approach also brings a level of granularity to healthcare data. Each resource has a well-defined structure with standardized attributes, facilitating a common understanding of the information being communicated. For example, a "Patient" resource may include fields for the patient's name, date of birth, gender, and other relevant details. This consistent structure ensures that different systems can interpret and utilize the data uniformly.

Example Patient Resource
{
"resourceType" : "Patient",
"id" : "example",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"border: 1px #661aff solid; background-color: #e6e6ff; padding: 10px;\"><b>Jim </b> male, DoB: 1974-12-25 ( Medical record number: 12345\u00a0(use:\u00a0USUAL,\u00a0period:\u00a02001-05-06 --&gt; (ongoing)))</p><hr/><table class=\"grid\"><tr><td style=\"background-color: #f3f5da\" title=\"Record is active\">Active:</td><td>true</td><td style=\"background-color: #f3f5da\" title=\"Known status of Patient\">Deceased:</td><td colspan=\"3\">false</td></tr><tr><td style=\"background-color: #f3f5da\" title=\"Alternate names (see the one above)\">Alt Names:</td><td colspan=\"3\"><ul><li>Peter James Chalmers (OFFICIAL)</li><li>Peter James Windsor (MAIDEN)</li></ul></td></tr><tr><td style=\"background-color: #f3f5da\" title=\"Ways to contact the Patient\">Contact Details:</td><td colspan=\"3\"><ul><li>-unknown-(HOME)</li><li>ph: (03) 5555 6473(WORK)</li><li>ph: (03) 3410 5613(MOBILE)</li><li>ph: (03) 5555 8834(OLD)</li><li>534 Erewhon St PeasantVille, Rainbow, Vic 3999(HOME)</li></ul></td></tr><tr><td style=\"background-color: #f3f5da\" title=\"Nominated Contact: Next-of-Kin\">Next-of-Kin:</td><td colspan=\"3\"><ul><li>Bénédicte du Marché (female)</li><li>534 Erewhon St PleasantVille Vic 3999 (HOME)</li><li><a href=\"tel:+33(237)998327\">+33 (237) 998327</a></li><li>Valid Period: 2012 --&gt; (ongoing)</li></ul></td></tr><tr><td style=\"background-color: #f3f5da\" title=\"Patient Links\">Links:</td><td colspan=\"3\"><ul><li>Managing Organization: <a href=\"organization-example-gastro.html\">Organization/1</a> &quot;Gastroenterology&quot;</li></ul></td></tr></table></div>"
},
"identifier" : [{
"use" : "usual",
"type" : {
"coding" : [{
"system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
"code" : "MR"
}]
},
"system" : "urn:oid:1.2.36.146.595.217.0.1",
"value" : "12345",
"period" : {
"start" : "2001-05-06"
},
"assigner" : {
"display" : "Acme Healthcare"
}
}],
"active" : true,
"name" : [{
"use" : "official",
"family" : "Chalmers",
"given" : ["Peter",
"James"]
},
{
"use" : "usual",
"given" : ["Jim"]
},
{
"use" : "maiden",
"family" : "Windsor",
"given" : ["Peter",
"James"],
"period" : {
"end" : "2002"
}
}],
"telecom" : [{
"use" : "home"
},
{
"system" : "phone",
"value" : "(03) 5555 6473",
"use" : "work",
"rank" : 1
},
{
"system" : "phone",
"value" : "(03) 3410 5613",
"use" : "mobile",
"rank" : 2
}],
"gender" : "male",
"birthDate" : "1974-12-25",
"_birthDate" : {
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/patient-birthTime",
"valueDateTime" : "1974-12-25T14:35:45-05:00"
}]
},
"deceasedBoolean" : false,
"address" : [{
"use" : "home",
"type" : "both",
"text" : "534 Erewhon St PeasantVille, Rainbow, Vic 3999",
"line" : ["534 Erewhon St"],
"city" : "PleasantVille",
"district" : "Rainbow",
"state" : "Vic",
"postalCode" : "3999",
"period" : {
"start" : "1974-12-25"
}
}],
"managingOrganization" : {
"reference" : "Organization/1"
}
}

Identifiers

In healthcare applications, a notable challenge arises from the existence of various identifiers for the same entity across different systems. For instance, a patient may be distinguished by their Social Security Number (SSN), Medical Record Number (MRN), Medicare Beneficiary Identifier, or Driver's License Number simultaneously. To address this complexity, FHIR accommodates the diversity of identifiers by enabling each resource to possess multiple identifiers.

Each identifier is characterized by a (system, value) pair. In a manner analogous to CodeableConcepts, the system serves as a namespace for the identifier and must be denoted by an absolute URL to ensure global uniqueness. Leveraging the identifier system facilitates the streamlining of healthcare applications by centralizing data within a single resource. This approach enables different systems to access the data using distinct ID schemes, promoting interoperability and efficient data management in healthcare scenarios.

Identifier Template
    {
// from Element: extension
"use" : "<code>", // usual | official | temp | secondary | old (If known)
"type" : { CodeableConcept }, // Description of identifier
"system" : "<uri>", // The namespace for the identifier value
"value" : "<string>", // [Constraint] The value that is unique
"period" : { Period }, // Time period when id is/was valid for use
"assigner" : { Reference(Organization) } // Organization that issued id (may be just text)
}