HL7 v2 Events Management Listener - Implementation Template
home
Overview
This asset is a component of MuleSoft Accelerator for Healthcare.
MuleSoft Accelerator for Healthcare enables healthcare providers to unlock critical patient data to build a patient 360 within Salesforce Health Cloud, faster and easier than ever before. The solution includes pre-built APIs, connectors, integration templates, and a prescriptive end-to-end reference architecture to bring patient demographics information and COVID-19 test results from any EHR into Health Cloud using HL7 v2 or FHIR standards.
The solution also provides a library of United States Core Data for Interoperability (USCDI) and FHIR R4 resources to help healthcare developers adhere to interoperability needs and jumpstart the development of healthcare digital transformation initiatives.
Use case covered
This template provides a high level framework to manage HL7 v2 messages received from EHR Systems before processing them to Salesforce Health Cloud. A temporary database on MariaDB is implemented to store the messages received from EHR Systems.
- The template follows an synchronous pattern to provide an immediate acknowledgment (ACK), in case the message validation fails an acknowledgment (NACK) is provided.
- The messages header along with the actual message are stored within DB. The message header is used to determine the type of message and time of the event so that it can be processed in the same order.
- A configurable scheduler job processes the message at regular intervals by invoking appropriate mule applications that handle processing of ADT, SIU and ORU messages synchronously.
- Messages that failed in processing are marked as failed to be investigated.
- The messages are processed in parallel or sequential based on configurable rules.
- A configurable scheduler job process deletion of messages that are older than configurable number of days.
- A specific list HL7 v2 ADT, SIU and ORU messages are only supported and they are configurable along with the rules to process the messages.