Cedric Daniels · Jun 3, 2019

Does Health Connect 2019.1 have a message "holding queue"?

I'm looking to see there is a way to create a holding queue in Ensemble.  I have a ORM message that is coming into the  Engine.   I want to convert that message into a ADT^A04.  Then send the ADT first and the Original ORM message behind it.  How can I hold the Original ORM before I send the ADT message before it?

0 286
Discussion (7)3
Log in or sign up to continue

Hi Cedric.

I think you should be able to achieve this using the routing rules by doing something like this: (Please ignore my blank condition in the example)

It should complete the first send (which is your transform to A04) and then it should send your source ORM message on the second send.

Thanks.  I'm going to try this and see if it works!

It's worth mentioning that this will only work for the same target operation.

There are some downstream systems that require ADT and ORM messages to be sent on different ports. In this instance the messages end up on different queues and can be sent out of sequence.

I tested this out, and it worked! This does what I need it to do. (did not know the Routing rules executed a full DTL before it goes to another operation(DTL). So by that logic, if the first transformation fails (for whatever reason) the second one will not execute?

I'm not too sure if that would be the case, but it's something worth trying out to see how the system reacts.

You're correct. If the first DTL fails, all following actions in the rule, such as your second 'send', will not be executed.

If that is the case you can use BPL to create a business process with greater control over the orchestration.  You would set it up so that it  sends to each end point synchronously so that the first send has to happen before the second.  Of course if this were the case then the receiving side, with separate end points, would have to be sure that the messages stayed in order.  That is out of your control however.