I am definitely wiling to contribute my HL7 biding component code to
ServiceMix, and I appreciate the offer of help inside the ServiceMix
project.
At this point, I'm on a project that has a very tight schedule, so to
move things faster I may opt to just use ActiveMQ.
However, I'll need workflow and transformation capabilities soon. As I
make progress integrating HL7 with ServiceMix I'll keep the list posted.
Thanks for your help.
Matias
jstrachan wrote:
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