Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Version published after converting to the new editor

Anchor
_Hlk61297121
_Hlk61297121
INTEGRATION OF OpenIMIS FHIR_R4 TO OpenHIM

Introduction

The goal of this project is to increase the scope of the open-source Insurance Management Information System (openIMIS) by developing a standard interface for extending and creating new FHIR APIs (Figure 1) that supports integration of disparate systems via openHIM. The purpose of this document is to provide an overview of design decisions made in the process of integrating OpenIMIS FHIR R4 modules into OpenHIM using opensource tools.

Figure 1: FHIR 4 API design requirements

...

To expose the API endpoints, a REST interface is built on top of the services/Django models via Django REST Framework. The framework also provides a browsable documentation.

Figure 2: openIMIS Django Admin Interface

OpenHIM Mediators

The OpenHIM reference architecture shown in Figure 3 consists of the following major components namely: Core, Admin Console and Mediators. Core provides the OpenHIM's main functionality; it processes the transactions from client systems. Its functionality is enhanced via Mediators, which are loosely coupled services that can add business logic to the transaction flow.

Figure 3: openHIM reference architecture
The openHIM Core listens on ports 5000 (HTTPS) and 5001 (HTTP). These ports are the interface that clients use to communicate with the OpenHIM core. A client is an external system or App that send request and receive response via OpenHIM core. The Core exposes requested data using API endpoints via HTTPS port 8080. The Admin Console is a web-based interface implemented using AngularJS that makes it easier to manage OpenHIM mediators, client transactions and channels. A Channel defines a path that a client request will take through the OpenHIM. It describes one more routes for request(s) to be forwarded to client(s) allowed to use the channel.

...

The integration work package involved developing openHIM mediators that are mapped to OpenHIM core using Python Utils that was forked from https://github.com/de-laz/openhim-mediator-utils-py. Each of the FHIR4 API endpoints shared by Davis was mapped to OpenHIM mediators developed using Django (Python web framework) as shown in Figure 4. Through the heartbeat functionality in the OpenHIM core, the administrator is able to check for the uptime of the individual mediators.
In this section we provide the implementation details for each workflow documented in the Project's Scope of Work. However, it is important to note that the Workflows for Contribution and Valuated Claims are yet to be implemented due to missing metadata or FHIR4 resources on the HL7-FHIR standard.

Figure 4: OpenHIM Python mediator

...