Jake, Based on what you describe, have you considered using an Integration Engine? This would allow you to convert all your feeds into a "standard" message which you could program to. I have seen/used this approach whenever multiple feeds with various versions and each source with its own quirks.
Regards Raja ________________________________________ From: Jake C [buddhabu...@hotmail.com] Sent: July 28, 2011 12:23 AM To: ja...@jamesagnew.ca Cc: hl7api-devel@lists.sourceforge.net Subject: Re: [HAPI-devel] Conversion between versions Gah! I thought I DID RTFM, but I didn't see the CanonicalModelClassFactory example. :-/ One thing I am interested in is who is expected to perform the service specified in an ORM, but there doesn't seem to be a place in the message structure for it (I believe this is why the REF_I12 was created, but EMRs don't seem to support it yet). I don't want to hard-code a placement for that, because if an EMR includes it at all, it could be in PV1-7,9,52, or who KNOWS where. I want to look for it in one place, and if a particular application/facility puts it somewhere else, I can use some form of transformation to move it to the place I'm looking for it. I have seen other cases where things are just not quite standard, and instead of having to hard-code an exception whenever we integrate with a new application/facility, I can just create a new transformation and link it to the application/facility. I know that I could probably write a subclassed parser to do this, but I'd rather not have to code-recompile-redeploy my app just because a new integration was introduced. I would much rather configure something to do the transformation. I have seen other applications use XML and XSLT to do this, and I was wondering if the HAPI community has done anything like this, and produced any XSLT files for it. ________________________________ From: ja...@jamesagnew.ca Date: Wed, 27 Jul 2011 22:06:00 -0400 Subject: Re: [HAPI-devel] Conversion between versions To: buddhabu...@hotmail.com CC: hl7api-devel@lists.sourceforge.net Hi Jake, You'll find two techniques for dealing with multiple versions under "handling multiple versions" here: http://hl7api.sourceforge.net/devbyexample.html I'm not sure I understand your second question though. What type of "handling" do you need to do? Cheers, James On Wed, Jul 27, 2011 at 8:46 PM, Jake C <buddhabu...@hotmail.com<mailto:buddhabu...@hotmail.com>> wrote: I see a few requests in the archive about how to convert messages between different versions of HL7, but so far, no replies to any of them. I have a similar need. I need to communicate with different applications, and I will not be able to dictate which version of HL7 they use. I also do not want to have to program to all the different versions of HL7. I would like to be able to accept a message in any version of HL7, but only have to manipulate a single version. For example, in my test application, I convert to a ca.uhn.hl7v2.model.v26.message.ORU_R01, and get my Provider information from ca.uhn.hl7v2.model.v26.datatype.XPN, and I don't want to have to write a conversion method for all other versions, just 2.6. Once I have THAT accomplished, I will also need to do some manipulation on a per-application basis, and I was wondering if there was a "typical" way that was accomplished. One method I have heard of is to convert the message to XML and create a XSLT for each application that does something "non-standard". Is that what people using HAPI typically do? If so, does anyone have any example XSLT files? ------------------------------------------------------------------------------ Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey _______________________________________________ Hl7api-devel mailing list Hl7api-devel@lists.sourceforge.net<mailto:Hl7api-devel@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/hl7api-devel ------------------------------------------------------------------------------ Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey _______________________________________________ Hl7api-devel mailing list Hl7api-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hl7api-devel