Matias Klein wrote:
Hi,

I am looking in to using servicemix as part of a healthcare integration engine.

Cool!


I need to accept HL7 (www.hl7.org <http://www.hl7.org/>) messages on a specific port, add the message to a queue and then process each message in the queue when possible.

Would you be happy turning the message into the XML format of HL7 right?


The HL7 parsing engine I’d like to integrate with ServiceMix is HAPI (hl7api.sourceforge.net). This is an open-source java HL7 parser.

Great. BTW it'd be great to have an HL7 component in ServiceMix


What is the appropriate way to use servicemix for this requirement?

Do I need to add a new binding component?

Yeah I think that'd be the best approach. If we had a binding component that reads from a HL7 connection and converts the incoming messages to a NormalizedMessage exchange and vice versa you could accept HL7 messages over a socket and route them to any ServiceMix service (such as a JMS message queue or web service invocation).

So the BC would be something that creates a HL7Service, listens to inbound messages, turns them into NormalizedMessage instances then either fires them one-way (InOnly) into the Normalized Message Router (such as to add to a JMS queue) or performs a request-response (an InOut in JBI/WSDL speak) to invoke a service and then return a response to the HL7Service.

Once you've a binding component that can accept messages from HL7 and then pass the NormalizedMessage into the NMR, you'll be able to reuse the other service components in ServiceMix such as BPEL, smart routing, transformation together with things like publish/subscribe using JMS etc.

Is the typical use case you're considering that the request comes in from the HL7 connection and you send a one way message on a queue and carry on? If so a possible Binding Component you could look at for inspiration is the JmsInBinding which takes messages from JMS and fires them into the NMR.

If you fancy contributing this component to ServiceMix I'd be more than happy to help out on the ServiceMix/JBI side of things if you help out on the HL7 / hl7api side of things (I've never worked with HL7). i.e. we could all work on the HL7 binding together inside the ServiceMix project if you wish

--

James
-------
http://radio.weblogs.com/0112098/

Reply via email to