Added the Kafka Consumer + IRIS SQL
This demo has an interoperability production with 16 items.
The first part of this demonstration consists of sending an HL7 SIU file which will be transmitted to the 2 other HL7 flows (HTTP and TCP), and transformed and transmitted to the Kafka server.
HTTP and TCP flows will transform HL7 messages in the same way before sending them to Kafka as well.
The production has a business process with is a HL7 router, which transforms and sends HL7 message to Kafka.
The Data Transformation Builder allows the edition of the definition of a transformation between HL7v2 SIU sources into Kafka Messages.
Data Transformation
After an HL7 message has been processed, ie: by copying some messages from /data/HL7/test into /data/HL7/in directory), you can see its Visual Trace
You can see here the message with I/O and the HL7 ACK
Then, you can check the messages in Kafka, using KafkaManager interface and fetching data from the different topics.
And the content of one topic :
The second part of this demonstration consists of consuming Kafka messages and route them to IRIS tables through SQL components.
The production has a business process with is a Kafka router, which sends Kafka messages to IRIS SQL components.
Each time a Kafka topic is consumed, it is sent to the Kafka router process which performs content-based routing of Kafka messages, to the appropriate SQL tables into IRIS.
If you look carefully to the messages, you can notice that the message is sent directly to IRIS without being transformed (same message ID).
You can see here the message with I/O and the SQL insert result
You can then see the results inside IRIS database through SQL queries.
The Class Explorer allow you to see the data model of IRIS classes.
In order to simplify the process of copying a production definition from one environment to another, and ensure watertight separation between the parameters of the different environments, it is recommended to set settings outside of the production class, in the system default settings.
So you will see the settings in blue in the production configuration
Make sure you have git and Docker desktop installed.
Open IRIS Namespace with Interoperability Enabled.
Open Terminal and call:
USER>zpm “install hl7v2-to-kafka”
$ git clone https://github.com/SylvainGuilbaud/hl7v2-to-kafka.git
$ docker-compose build
$ docker-compose up -d