The Open Health Information Mediator (OpenHIM) is a middleware component designed to ease interoperability between disparate information systems. It provides secure communications and data governance as well as support for routing, orchestrating and translating requests as they flow between systems.

Connecting health systems simply, securely and safely.

Fork me on GitHub

About

The OpenHIM allows you to secure and view requests to your web service APIs. It acts as a reverse proxy to your upstream services and while doing so enables visibility into your service-oriented architecture (SOA) by logging each request and by providing metrics about requests hitting your services. It also provides a central entry point into your SOA and allows you to secure access through mutual TLS or basic-auth.

The OpenHIM is easy to install and can be easily configured to meet your needs through the administration console. You can also extend the OpenHIM to transform or orchestrate requests through the mediator framework.

Plus, the OpenHIM is open-source! It is published under the MPL-2.0 and is currently developed and maintained by Jembi Health Systems. It was initially developed in collaboration with UKZN. Browse the OpenHIM features below or get started right away.

Mediators

The OpenHIM enables you to extend its functionality so that implementation specific processing may occur. The OpenHIM has first class support for mediators through its mediator framework. This framework enables mediators to communicate with the OpenHIM-core to register themselves, log the processing that they do and even fetch user defined config.

Check out the mediator library to view mediators that have already been built. To learn more about creating your own mediators, see our documentation.

OpenHIM Features


Acts as a reverse proxy for web services

You can easily configure the OpenHIM to proxy web services to multiple upstream hosts based on a URL pattern. It also supports multicasting requests to multiple different routes.


Gain visibility into your SOA

The administration console allows you to view requests as they travel through the system as well as view metrics such as transaction load and error rates.


Extend the OpenHIM's request processing via mediators

The OpenHIM allows you to build your own micro-services called mediators that plug into the OpenHIM to extend its functionality. These mediators can be used to transform or orchestrate requests or more. They also report details of what processing has been done back to the OpenHIM using the mediator framework.

View our mediator library to see mediator have already been built.


Secure access to your web services

The OpenHIM provides a secure interface to upstream hosts with certificate management and self signed certificate generation along with advanced access control mechanisms based on client and server certificates.


ATNA: audit repository and node authentication

If you need it, full support for IHE’s ATNA profile is provided. Both node authentication and audit trails are supported. The OpenHIM also provides a full ATNA audit repository implementation and advanced audit viewer.


Alerting, for when things go wrong

User alerts can be configured for when requests fail or a particular failure rate is exceeded. Users can be notified via email or sms.


Massively scalable

The OpenHIM is scalable to handle large transaction loads. It supports same server and multi-server clusters and uses MongoDB as a database which is also massively scalable.


Re-run failed transactions

If failures occur the OpenHIM can re-run requests to your services if your client systems are not able to. It allows you to review and bulk re-run requests or re-run individual requests.


Minimal transaction overhead

The OpenHIM used the latest technologies such as Node.js and MongoDB to ensure that it doesn’t introduce any significant overhead to your requests.