No announcement yet.

Conversion between HL7 2.x message versions?

  • Filter
  • Time
  • Show
Clear All
new posts

  • Conversion between HL7 2.x message versions?

    Just wondering how best to use Mirth to convert messages between different HL7 2.x versions.

    Say I have a message inbound that is V2.3 and I want to send out a V2.5 message.

    Would you need to use message templates and put individual mappings in place to copy the data?

    Or is there a way to use the internal XML representation of the incoming message, set the version to 2.5 on the XML representation (the transformed message) in a transform js script and then convert that to a HL7 message using something like:

    SerializerFactory.getHL7Serializer(useStrictParser , useStrictValidation, handleRepetitions).fromXML(message);

    I guess what I'm trying to find out is if the internal XML representation is smart enough to handle different versions when serializing out to HL7 2.x message format?


  • #2
    Re:Conversion between HL7 2.x message versions?

    The strict parser (on each transformer tab go to Properties and check "use strict parser") SHOULD be smart enough to do this, but I can't confirm right now. If you have a Javascript transformer step that changes the version number on the msg object (using E4X) then when it re-encodes it to HL7 it will try to use that version. I am not 100% sure that HAPI is smart enough to convert the differences but I am 100% that our own non-strict parser isn't.

    Give it a try!
    Chris Lang


    • #3
      Re:Conversion between HL7 2.x message versions?

      Thanks Chris.

      When I get to that stage of the game, I'll give it a try and post back what I've found.


      • #4
        Any update on this?

        Hi andrzej

        Did you ever get to "that stage of the game" to make this work? I know this thread is old, but I haven't seen much newer stuff on the forums regarding conversion from one version of HL7 to another.

        I have a similar need: to convert from v 2.2 to v 2.3.1 and didn't know if there was a function for this or if it requires manually mapping each piece of each segment.