Engaging Conversations on Healthcare and Technology

  • TwitterFacebookRSS

Distributing Results: Message Routing

In the constellation of separate systems within a healthcare facility, it is common to have a single application which produces (HL7 ORU) Result/Report messages.  These ORU messages may correspond to Orders that originated with several different ordering facilities or ordering physicians.

In many instances, there is a need to send a different message structure to each of the systems which need the ORU messages.  The task of appropriately formatting and distributing the ORU messages is manageable with the flexibility and message processing power provided by an integration engine.

With a single inbound stream of ORU messages flowing to your integration engine, a method to route messages to the appropriate destinations is required.

If the ORU message contains a field to indicate which facility initiated the order, that field may be the only thing we need to use in order to route messages properly.  Another option is to route messages based on the field that contains the identity of the ordering physician (or “Ordering Provider”).  In this case, we are likely to benefit from the use of a lookup table, since there may be many ordering physicians associated with a given ordering facility. The technology used to implement the lookup table may vary, but the methodology would be consistent.

OrderingProviderID OrderingProviderName DestinationFacility
123 Smith, John  MD Riverside
234 Jones, Mary  MD Riverside
345 Johnson, Bill  MD NorthSideClinic
456 Williams, Mike  MD MemorialHospital

Our message processing logic would simply use the lookup table to find the DestinationFacility which corresponds to the OrderingProviderID presented in the ORU message (commonly populated in the OBR-16.1 field).  Using the example table above, an ORU message with an ordering provider of John Smith should be sent to Riverside.

An ordering physician may be associated with more than one ordering facility. In this case, a more robust routing method may be desired. We may want to send the Result message to all destination facilities that the ordering physician is associated with. This would require a slightly more complex lookup table and associated logic.

OrderingProviderID OrderingProviderName DestinationFacility
123 Smith, John  MD Riverside
123 Smith, John MD NorthSideClinic
345 Johnson, Bill  MD NorthSideClinic
456 Williams, Mike  MD MemorialHospital

In this case, our message processing logic would use the lookup table to find all rows that contain the OrderingProviderID and route the appropriately formatted message to each DestinationFacility. Using the example table above, a Result message with an ordering provider of John Smith should be sent to both Riverside and NorthSideClinic.

Something to keep in mind when using lookup tables such as the examples above is that the tables need to be maintained. A procedure to keep the lookup tables up-to-date should be put in place in order to ensure that message routing is accurate.

For more information and to see the original PDF, click here.

Related posts:

  1. ACK Message – Original Mode Acknowledgement
  2. What Is an ADT Message?
  3. What Is Cardinality in HL7?
  4. HL7 Acknowledgement (ACK) Messages – Guaranteed Message Delivery
  5. HL7 Minimum Layer Protocol (MLP) Defined
blog comments powered by Disqus