This topic contains 2 replies, has 2 voices, and was last updated by 4 years, 3 months ago.

To Channel and Metadata

  • Hi folks. I am testing a theory.
    If I accept a message inbound (HL7, LLP), is there a good way to extract some specifics (Message type, sending app, etc) and wrap the message with this Metadata, so the From Channel can easily read this and filter as needed?

    I want an inbound channel from the client (A), and be able to drop that message into the queue, and have an ADT (B) and a DFT (C) reader channel waiting, and only pick up their own messages for processing.

    I want the (B) and (C) channels to be a generic as possible, so I pass in any client specific information along with the message from (A)

    Does that make sense?

    Or am I going about this the wrong way 🙂

    Steve Ela
    Macro Helix / McKesson
    Software Developer / Integration Lead / Scrum Master

    Hi Steve,

    As I am reading your description, it seems like you want to pull metadata strictly for the purpose of routing messages to the right processing channel downstream.

    THe first thing to understand is that when you pass a message into the queue using To Channel, and you have two subscriber channels (B & C in your example), each channel reads ALL the messages in the queue. You can build logic in your Filter to determine whether it’s the right message type for that channel and discard any that don’t match. Processing time to filter messages that don’t match is negligible.

    If all the criteria for building that filter test is in the MSH field, there is probably no need to put a wrapper around it. You can just parse the MSH field — it’s consistent across messages — to pull the correct data.

    If you are adding in metadata that’s not in the original message, another common approach is to build a JSON wrapper and embed the original HL7 message in the JSON.

    Hope that helps.

    Casey Trauer,
    Director, Client Education

    Thanks as always Casey for the quick response.
    I’ll be adding information not in the messages, that will be used to route (internal Hospital ID for example).
    I’ll look into the JSON wrapper.

    Steve Ela
    Macro Helix / McKesson
    Software Developer / Integration Lead / Scrum Master

You must be logged in to reply to this topic.