No announcement yet.

How to make HL7 messages compatible between channels having strict/non-strict parsers

  • Filter
  • Time
  • Show
Clear All
new posts

  • How to make HL7 messages compatible between channels having strict/non-strict parsers

    Our current channels setup per client is as below :

    Channel 1( that does HL7 validations) ----> Channel 2( that converts HL7 to FHIR) -----> Channel 3 ( that sends the FHIR to specific endPoint).

    Our Channel1 today uses strict parser since we want to leverage the ability of the parser to validate input messages against HL7 official schema. The HL7 output of this schema is fed to Channel2 that does transformation to FHIR . Here we are using non-strict parser because of the ease of the transformation implementation with this structure . The FHIR Output of Channel 2 is fed to Channel3 that sends the message to a specific endpoint.

    What we have noticed is that when using a strict parser the structure of the message that is send to Channel2 is changed and when it is converted back to HL7 (using non-strict parser) the data structure of the generated XML is entirely different . It has tags like <ADT_A01...> vs <MSH.1..> . We created our channels separately and used non-strict parser for all the transformation ( since it is easy and intuitive) .. But once we feed the channel from Channel1 that is using strict parser the entire message structure changes . We really want to continue using the non-strict parser for the Channel2 for transformation. Is this possible ?

    Is it possible to somehow after the initial validation using strict parser we convert the message using the non-strict parser and send it to the Channel2 ?


  • #2
    Ok I found out what the issue is . In the setDataTypes setup only Inbound properties were set up as strict parser where as Oubound properties was still using default parser. Hence they were incompatible.