· Jan 31 2m read

What is iris-hl7?

An App that converts HL7 messages to JSON objects. About a year ago I started a GitHub repo for collecting stuff related to HL7. Recently my team added an HL7 interface to our Interoperability Production and we were asked to persist HL7 messages. We created a Kafka topic to receive HL7 messages. We use Kafka Bridges to send messages to Kafka topics. Kafka messages are sent to the Kafka Bridge in JSON format.


I contemplated how to transform HL7 messages to JSON. HL7 message Raw Content property provides the HL7 message in String format. I am aware that Raw Content property may give truncated message contents under certain circumstances.


When our data team retrieved messages from the Kafka topic, they determined they prefer to parse JSON data rather than receiving the HL7 messages in Raw Content.


I had seen examples where people used DTL to transform a specific HL7 message to JSON object. The problem with this is, you need to create a DTL for each type of HL7 message you want to process. And if you need to process a new type, you will need to update the code or create a new image.


Instead of creating separate DTL for each message type, I wanted to create a method that transforms any HL7 message to a JSON object. This method is in otw.parseHL7 class in iris-hl7.

I have configured the GitHub repo to deploy an online demo.

HL7 File Service processes a test file included in the GitHub repo.

When I saw that there is an HTTP HL7 Service class, I had the idea to add this to the production in iris-hl7. I added an HTTP Generic Operation on my Feeder Production and configured it to send messages to the iris-hl7 Online Demo server.

The details are described in iris-hl7 README.


What do I still like to enhance in iris-hl7? Configure the Interoperability production for Auto-Start. I wonder if I should return the JSON representation of HL7 message when iris-hl7 Production receives HL7 message via HTTP.

Discussion (0)1
Log in or sign up to continue