skyman
skyman

Reputation: 2335

Receive ADT and ORU messages on a single channel or on two

I have an applications that is required to listen to ADT and ORU messages. These message types could both be received on a single channel and post processed as appropriate. Alternatively, they could be received on separate queues and processed separately. I am using Camel/mina for the MLLP channels. What is the conventional approach to this type of application? I have been trying to consider the advantages and disadvantages of both approaches. I guess if they were separate, I could run separate applications that persist the data in a common data store. This may simplify development and be a more SOA approach - but that is the only advantage I can think of.

Upvotes: 0

Views: 1076

Answers (2)

sqlab
sqlab

Reputation: 6436

From my experience most users prefer to separate different message types and different sender, i.e. one channel for each message type and sender/receiver combination. It has the advantage that a bug with one type can not influence the communication of another message type and different sender/receiver. Also it is easier to debug in case of a failure or erroneous message.

The disadvantage is that you have to monitor more channels. Of course you have to consider other things too. What if e.g. your accounting system throws silently away accounting messages for patients, it does not know, as the ADT message transfer has stopped?

Upvotes: 1

Debugger28
Debugger28

Reputation: 64

you could create a single common channel to receive ADT and ORU messages and further create two separate channels for ADT and ORU. Add filters to each of those two channels such that ADT
messages go to ADT channel and ORU messages go to ORU channel.

Upvotes: 1

Related Questions