Fully customisable open-source software with extensive flexibility, adaptability and stability in mind.

Open Interop is designed to support unlimited customisation and data manipulation, allowing a complete and comprehensive data system structure.

Our open-source software is already being utilised by the industry, including WHONet and point of care devices to enhance their data management.

Receiving data

Open Interop is a platform that can be configured to receive data in JSON, HL7 FHIR, XML, and CSV formats from HTTP, or collected via API, FTP, or SCP.

It allows a 3rd party service to connect to its queuing system which allows for communication with other platforms; for example, diagnostic connectivity.

You can build your own services and deploy them to the architecture to introduce your own data sources, or intermediary middleware to process, encrypt, and otherwise manipulate the messages received by the platform.


Transforming data

Once the platform has received the data, it can be transformed using Open Interop's 'Tempr' (Templated endpoint mapping record) definitions. This can be configured in a number of ways, the simplest being a template builder which lets you select field names and define their endpoint. There is also a method where you can write the template manually using a popular mapping syntax called Moustache.js, or alternatively you can write code which will generate your output (currently only JavaScript is supported at release).

You can also chain Tempr's together which allows you to perform an additional action based on the results of the previous Tempr. This is beneficial if you would like to create a record in your EMR and then use the ID of that record you have created in another request, to update a surveillance system for example.


Transmitting data

Open Interop allows you to transmit data in a number of ways:

  • HTTP requests in JSON format, this includes HL7 FHIR (available at release)
  • HTTP requests in XML format (Planned Q1 2020)
  • Streamed TCP socket data (Planned Q1 2020)
  • Streamed UDP socket data (Planned Q1 2020)

You can optionally choose to store the request and response of these transmissions – therefore, storing the data that is transmitted to the platform (though purely for debugging purposes). When used in a production environment, the interoperability layer does not persist data that is passed through it.


Current uses

We have current use cases where Open Interop receives data from a number of systems including WHONet, point of care devices, and simple spreadsheets via the use of data connectors. And in addition, API based data generators to simulate device testing. We can manipulate this data and transmit it into DHIS2 as an event line listing, for tracker and specifically into the WHO's TB tracker.

Open Interop has been deployed onto embedded hardware, and can be used on a very small form factor to fit in your pocket for site visits if required.

Simplify data capture

Configure and translate data using a straightforward and simple interface that is both intuitive and comprehensive.

Join our community

We are building an open and friendly community to help developers and users in the interoperability journey.

Why not register your interest in becoming a member?

Open-source codebase

Free and open-source.

Open Interop is designed and developed as a global good.