Question Patty Aguirre-Romero · 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

Comments

Jeffrey Drumm · Jan 5, 2022

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.

0
Patty Aguirre-Romero  Jan 5, 2022 to Jeffrey Drumm

Thank you so much Jeffrey! We'll enable the "Force Sync Send". It is the first time we'll use that feature. We'll begin testing in the next few weeks; so, I'll keep your instructions handy. I might need to come back to this post with more questions though.  :-)

0
Patty Aguirre-Romero  Sep 22, 2022 to Jeffrey Drumm

Hi Jeffrey,

I created my first BPL. Where do I need to add it to call it? Do I need to add it to the rule? 

Thank you!

0
Jeffrey Drumm  Sep 23, 2022 to Patty Aguirre-Romero

A BPL is  a Business Process class, so you would add a new Process to your production and select the name of the BPL you created as the class (rather than, say, a routing engine).

0
Patty Aguirre-Romero  Sep 23, 2022 to Jeffrey Drumm

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.

0
Evgeny Shvarov  Sep 24, 2022 to Patty Aguirre-Romero

Hi @Patty Aguirre-Romero !

You may want to have a look at the EnsDemoEnsDemo project on OEX. It has a set of productions with BPL I believe. 

can be installed in any IRIS with ZPM:

USER>zpm "install irishealth-ensdemo"
 

0
Patty Aguirre-Romero  Sep 27, 2022 to Evgeny Shvarov

@Evgeny Shvarov, thanks!

I'll take a look at the EnsDemo project. 

0
Jeffrey Drumm  Sep 26, 2022 to Patty Aguirre-Romero

There's a self-paced training session on BPLs here; it should help get you started.

Can you describe the routes that the ADT and ORM messages are taking to get to the downstream system? Are they coming in through different services and/or being delivered downstream over different operations?

0
Patty Aguirre-Romero  Sep 27, 2022 to Jeffrey Drumm

@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. 

0
Patty Aguirre-Romero  Oct 5, 2022 to Jeffrey Drumm

Hi Jeffrey!

Just a note to say THANK YOU!!! I completed the training you shared in your previous message and helped me create my first BPL.

The BPL is working, although further testing is needed.  

0