Uploaded image for project: 'HL7COMMON'
  1. HL7COMMON
  2. HLSEVENCMN-30

Problem with the Initiator class of Hapi for some messages when Hapi try to parse the message response. (for example ORL_O34 in HL7 v 2.5.1)

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Medium
    • Resolution: Fixed
    • Affects Version/s: HL7COMMON 2.0
    • Fix Version/s: HL7COMMON 2.1
    • Labels:
      None
    • Sprint:
      Sprint 4

      Description

      It appears that the Hapi base version 1.2, is not able to parse some response messages.

      For example, it is the case for the ORL_O34 HL7 v2.5.1 message. (Two SPECIMEN groups are present in the HL7 message structure of the ORL_O34. So, when Hapi try to parse this message, it falls in an infinite loop.)

      This problem has been found during the LAW Simulator development. See the jira below for further details :
      http://gazelle.ihe.net/jira/browse/OM-57

      It is necessary to send an email to James Agnew, to explain the problem and to propose a solution.

      Waiting for a new Hapi version (which will fix this bug), need to tag a new IHE Hapi base version to temporary fix this bug. The new IHE Hapi version will be 1.2.IHE.6. See the change logs below :

      - In Hapi base :
      - In the Initiator class, in the ca.uhn.hl7v2.app package :
      Add a new method to be able to get the response message as a String and not as a Hapi Message. It means that Hapi will NOT parse the response message. See the method prototype below :
      public String sendAndReceiveAsString(Message out) throws HL7Exception, LLPException, IOException

      - In HL7Common :
      - In the SendHL7v2Message class, in the net.ihe.gazelle.HL7Common.connection package :
      Add a new sendMessageAndGetResponseAsString method, to be able to get the response message as a String rather than a Hapi Message. See the method prototype below :
      public static String sendMessageAndGetResponseAsString(Message messageToSend, SystemConfiguration sutConfiguration) throws HL7Exception

      - In HL7Common :
      - In the Initiator class, in the net.ihe.gazelle.HL7Common.initiator package :
      Modify the sendMessageAndGetTheHL7Message method, in order to use the sendMessageAndGetResponseAsString method rather than the sendMessage method. See the method prototype below :
      public HL7Message sendMessageAndGetTheHL7Message() throws HL7Exception

        Attachments

          Activity

            People

            • Assignee:
              nlefebvr Nicolas Lefebvre
              Reporter:
              nlefebvr Nicolas Lefebvre
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Due:
                Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 6 hours
                6h

                  Potential Duplicates