Mendix Integration with HL7 data format

Mendix Integration with HL7 data format

What is HL7?

HL7 (Health Level-7) is a set of international standards for transfer of clinical information between two systems by maintaining data integrity, data security, reliability. It is mainly used in Clinical transactions which include highly confidential information such as patient information, reports and results.

What is Mendix?

Mendix is the fastest & easiest low-code platform used by businesses to develop mobile & web apps at scale. The Mendix Platform is designed to accelerate enterprise app delivery across entire application development lifecycle, from ideation to deployment and operations. It is based on visual, model-driven software development. Mendix supports mobile, tablet and desktop applications. The application development platform enables collaboration between business and IT users to foster innovation and speed development.

HL7 trigger events

There are several trigger events available in HL7. Some of the trigger events mentioned below are used widely in clinical transactions.

ADT – Admit discharge transfer (Patient demographics)

ORM  – Order message (Order information)

ORU – Observation message (Reports/Results)

DFT – Detailed Financial Transactions (Charges)

Sample message structure (Data in structure are imaginary)

MSH|^~\&|EXA|Allied|PBS|Allied|20161007064156||ADT^A08^ADT_A08|214||2.5.1|||AL||||

EVN|A01|20161007064148||||||||||

PID|||5555550||Duke^Daisy^^^^||19550505|Female|||555 Fith Street^^San Jose^California^95111|US|(408)555-5555|||||5555550|555-55-5555|||||||||US||

PV1|1|I||||||||||||||||||||||||||||||||||||||||||||||||||||

IN1|1|||AIMS WORK COMP|PO BOX 28100^^FRESNO^CA^93729|||||||||||Duke^David|Spouse|19550403|555 Ffith Street^^San Jose^California^95111|||||||||||||||||987612345|||||||||||||987612345

IN1|2||ABCFL|ABC Insurance|6950 Philips Hwy^^Jacksonville^FL^32216|||||||||||Duke^David|Spouse|19440605|^^^^|||||||||||||||||123456789-00|||||||||||||123456789-00

IN1|3||VZNC|VIZTEK GENERIC CLAIMS|2217 US HIGHWAY 70 EAST^^GARNER^NC^27529|||||||||||Duke^Daisy|Self|19550504|555 Fith Street^^San Jose^California^95111|||||||||||||||||12313456|||||||Female||||||12313456

Segregation of HL7 message

  • The entire HL7 message is divided into segments
  • Each of the segments will be in a separate line
  • First segment will always be a message header (MSH) in every HL7 message
  • Every segment have its own header (Example: EVN, PV1, IN1….) for identification
product development

Symbols used

“|” pipe symbol – To Separate each field

“^” cap symbol – To separate components of the fields

“~” tilt symbol – To separate repeating fields

“&”ampersand symbol – To separate components

Symbols used

The above diagram illustrates the message structure of HL7 message.

For additional information about HL7 message, refer to

HL7 Definition: http://hl7-definition.caristix.com

Why Mendix is chosen for HL7 integration?

Mendix platform have fully adopted a Model-Driven Development (MDD) approach. For rapid and collaborative development, Model-Driven Development is one of the best approaches. MDD makes use of visual models in order to define data models, application- and process logic, user interfaces, etc., Labor intensive low-level coding can be done away with as developers and business users can build apps rapidly with the help of MDD.

A single HL7 message contains ‘n’ number of information’s which needs to be saved in the data source. MDD approach makes it simpler where we can construct a domain model for each segment and store data appropriately which makes the construction of messages even better.

How HL7 is integrated with Mendix?

Mendix platform have fully adopted a Model-Driven Development (MDD) approach. For rapid and collaborative development, Model-Driven Development is one of the best approaches. MDD makes use of visual models in order to define data models, application- and process logic, user interfaces, etc., Labor intensive low-level coding can be done away with as developers and business users can build apps rapidly with the help of MDD.

A single HL7 message contains ‘n’ number of information’s which needs to be saved in the data source. MDD approach makes it simpler where we can construct a domain model for each segment and store data appropriately which makes the construction of messages even better.

How HL7 is integrated

The above-shown architecture illustrates the way in which HL7 messages can be handled for secured transmission of clinical information

We maintain a central server where HL7 messages can be read or write from the server based on the requirement.

Source and destination folders are named as:

Outbound

Inbound

Central server can be a remote machine where outbound & inbound folders are maintained and accessed from Mendix using SFTP (Secure File Transfer Protocol).

SFTP Authentication process:

Network is established between Mendix and Central server using SFTP connection with secure login into the remote system either with username & password or connection using specific private key.

Server verification:

When setting up a connection, identity of the server must be verified by enabling strict host key checking. After enabling identity of the server should be provided.

There are two options to provide the identity of the server:

  • Upload a known hosts file, which is acquired from the administrator of the SFTP server
  • Set up an unvalidated connection and set that as identity. It is extremely important to verify if the assumed identity is actually correct before sending sensitive files. This can be done by sending the fingerprint to the administrator of the SFTP server.

The content of the known hosts file must be:

  • Each allowed key must be on a separate line
  • Each line must contain: hostname key type key

HL7 messages are received from the source which contains confidential clinical information of patients which are transmitted to outbound folder. HL7 message from outbound folder are grabbed into Mendix as input. After importing message into the Mendix, HL7 message is parsed and processed to decrypt the information sent from the source. The decrypted information is stored in the desired secured data source (postgresql). Information is retrieved from the data source as per the requirement and rendered in UI.

Response messages can also be generated in Mendix by using the information from the data source. The required information is encrypted into HL7 message format by the following standard HL7 format to make the response a valid one.

The encrypted information is sent back to the central server as a response message from Mendix and dropped in an inbound folder. Inbound folder maintains the list of response messages in HL7 format.

Leave a Reply

Your email address will not be published. Required fields are marked *

Shares