Mirth Connect 4.1.0 Released!

Mirth Connect 4.1.0 is now available as an appliance update and on our GitHub page. Mirth Connect 4.1.0 includes new features such as new event log messages, additional fields to the Welcome to Mirth Connect screen, new information included in alerts as well as many smaller changes, updates, and improvements. This release also contains several improvements to commercial extensions. See the release notes for the list of fixes and updates.

Download | See What's New | Upgrade Guide | Release Notes

For discussion on this release, see this thread.
See more
See less

LLP Listener

  • Filter
  • Time
  • Show
Clear All
new posts

  • LLP Listener

    Hi, I have configured Mirth 1.6 on a Solaris machine to receive HL7 2.x data via an LLP listener and forward it on to another machine. A Java application sends HL7 data to Mirth.

    Initially I used no special end of message character, but the sending of messages was very slow (one message every 5 seconds), which is the timeout value for the LLP listener. I reduced this to 25ms, which is as low as I could set it before I started getting errors.

    I added an end of message character at the end of each message, but the behavior hasn't changed. Are there any gotchas to Mirth detecting the end of message?

  • #2
    Re:LLP Listener

    Check out:

    Does your sender close the connection after each message?
    Chris Lang


    • #3
      Re:LLP Listener

      It does not close the connection until all the messages are sent, unless the connection is dropped, then I think it connects again.

      I'll check out the simple sender.

      Post edited by: fitek, at: 08/27/2007 18:01


      • #4
        Re:LLP Listener

        Hi Chris, I've looked through the sending application carefully. It opens a socket and sends the following (HL7MessageBuffer stores an HL7 message):

        outputStream.write(HL7MessageBuffer.START_MESSAGE) ;
        outputStream.write(HL7MessageBuffer.LAST_CHARACTER );
        outputStream.write(HL7MessageBuffer.LAST_CHARACTER );

        where the constants are:
        public static final char END_MESSAGE = '\u001c';

        /** character indicating the start of an HL7 message */
        public static final char START_MESSAGE = '\u000b';

        /** the final character of a segment */
        public static final char LAST_CHARACTER = 13;

        The write/ReceiveAcknowledgement to the stream is looped in a for loop until the number of messages specified on the command line.
        are sent. The socket gets closed once the loop is done.

        The reason it takes so long is that the acknowledgement is not sent by mirth until the timeout has expired.

        The TCP sender at doesn't seem to wait for an acknowledgement.


        • #5
          Re:LLP Listener

          I turned on strict LLP validation on the channel, and, viola, it works. Before I tried that, I changed my HL7 sender application to use DataOutputStream like the TCP Sender.

          Now I have run into problems when a destination goes down or errors out on some messages, but at least this problem is fixed Thanks!