Interoperability

Exchanging information between the CHT Core and other health systems

Introduction

Interoperability refers to the ability of different health information systems and applications to communicate with each other and exchange data seamlessly. With interoperability, patient information can be seen, exchanged, and used across different platforms. The information/data exchanged has to be understood across the different software for these systems to become interoperable. This is different from integration which requires custom development to connect two specific systems together.

Interoperability is the best practice for health systems because it allows information from one system to be shared with one or more other systems with no additional development. Interoperability allows technical teams to scale in an efficient and repeatable manner due to the already predefined standards.

CHT Interoperability

The native CHT database structure does not map directly to a Fast Healthcare Interoperability Resources (FHIR) message format. To be compatible, we use a middleware to convert the CHT data structure into a standardized JSON format so the other systems can read it. See below the data workflow:

graph LR
cht[CHT]
mediator_a([Mediator])
mediator_b([Mediator])
openhim[OpenHIM]

cht -- Outbound pushfa:fa-arrow-right --- mediator_a
cht -- API requestfa:fa-arrow-left --- mediator_b
mediator_a -- Requestfa:fa-arrow-right --- openhim
mediator_b -- Channelfa:fa-arrow-left --- openhim

OpenHIM was utilised as the middleware component with Mediators to do the conversion. Outbound Push is configured to make a request to the middleware when relevant documents are created or modified in the CHT. A Mediator then creates a FHIR resource, which is then routed to OpenHIM. OpenHIM routes the resource to any other configured systems.

Conversely to bring data into the CHT, OpenHIM is configured to route the updated resource to the Mediator, which then calls the relevant CHT APIs to update the document in the CHT database. This will then be replicated to users’ devices as per usual.

Standards & Components

  • OpenHIE: OpenHIE is an open-source framework for building interoperable health information systems. OpenHIE provides a set of standards and protocols for enabling different health systems and applications to communicate with each other.

  • OpenHIM: OpenHIM is an open-source middleware platform that provides a central point of control for managing health information exchange (HIE). OpenHIM enables healthcare providers to connect different health systems and applications and provides a common interface for managing data exchange and security.

  • FHIR: FHIR is a standard for exchanging healthcare data electronically. FHIR provides a modern, web-based approach to exchanging healthcare data and is rapidly becoming the preferred standard for healthcare interoperability.

A reference application for this pattern is available in the CHIS Interoperability repository. This application implements a Loss to Follow Up (LTFU) workflow system for CHIS based on the OpenHIE LTFU Guide.

Frequently Asked Questions

Is the CHT FHIR Compatible and does it have a FHIR API?

Yes. Mediators are one of the components of a CHT deployment and expose FHIR compatible APIs to the rest of the healthcare ecosystem.

Does the CHT support legacy standards?

One of the advantages of using mediators is they are highly configurable to support different FHIR Implementation Guides, different FHIR versions, and other information standards, so the CHT can work with whatever systems are in the ecosystem.

What about compatibility with future standards?

The flexibility of mediators also means the CHT is future-proof and can be configured to support future FHIR revisions or completely new standards. Because this can be configured in the mediator layer it’s likely to be supported without any Core development required.

What does the mediator do to the source data?

  1. It transforms the structure from the CHT format to the required standardized format.
  2. It can make requests for additional data. This could be querying the Client Registry for the patient’s national ID number, or other services such as the Terminology service to translate conditions, medications, procedures, and so on into the required classification system.
  3. Finally it passes the FHIR resource to the interoperability layer to be shared with other systems.

What are the FHIR Resources utilized?

  1. Patient
  2. Encounter
  3. Subscription
  4. Organization
  5. Endpoint

You can find additional information and instructions for setting up locally in the cht-interoperability repository.


Building > Features > Integrations

Exchange data with other systems

Building > Quick Guides > Interoperability > Building Interoperability with FHIR systems

Exchange patients and reports with FHIR compliant systems