· Jan 4, 2022

How to make HL7 ORM message wait in Iris until an acknowledgement is received from the EMR system?

We will receive an ORM message in Business Service in Iris. From that ORM, an ADT^A31 message will be generated and sent out to the EMR before the ORM message is sent out. The ORM message has to wait until Iris receives an acknowledgement from the EMR indicating the ADT message was received. Then, the ORM message will be sent to the EMR. What do I need to set up to hold the ORM message until the acknowledgement is received? 

Thank you!

Patty Aguirre-Romero

Product version: IRIS 2021.1
Discussion (11)4
Log in or sign up to continue

The simplest solution is to make sure the ADT transform/send rule is called before the ORM transform/send rule in the routing rule, set the router's pool size to 1, and enable the "Force Sync Send" option in the router. What happens to the ORM message when the ADT message is NAKed, though, may be problematic.

If you want more granular control over this processing, invoke the transformations and subsequent calls to the operation via a BPL instead of a router. You will be able to evaluate the ACK/NAK response from the called Business Operation responsible for sending the ADT message and take appropriate measures for processing/suspending the ORM message.

Thanks Jeffrey! Any robust tutorials-videos you’d recommend on BPL creation and usage? The BPL I created still needs a lot of work. 

I need to hold the ORM message for a few seconds in Iris before it goes out to my EMR system. An ADT_A31 needs to reach the EMR first to create a new patient before it receives the ORM. Right now, both message types are being sent exactly at the same time to the EMR.

@JeffreyDrumm Thanks! I'll go over the training session. 

Here are the routes

  1. One ORM_O01 comes from an external system (Cerner) into one IRIS business service; then,
  2. ORM message is sent to the BP > goes through 2 DTLs. 
    • One DTL creates an ADT_A31 message from the ORM message
    • Epic receives the ADT message and creates a patient, if the patient doesn't exist in it
  3. 2nd DTL processes the ORM message
  4. One rule processes both, ADT and ORM messages, and sends each one to their respective BOs.

The ADT message needs to be sent to Epic first, before the ORM message. I'm struggling with making this happen.

At the moment, IRIS is sending both out exactly at the same time. When the patient doesn't exist in Epic, the ORM fails to post. If patient exists, then ORM files successfully in Epic.  

I think I need a BPL to delay the ORM a few seconds. Do you agree? Creating a BPL is new to me and my team mates. 

Thank you! Any insight will be appreciated.