hex 04 shutdown character

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf hex 04 shutdown character

  • Creator
  • #49696
    Greg Eriksen

    (I’ve had no luck at all using the search function in this forum to find any posts with strings like “0B” or “1C”, even though I know those strings exist in posts here, so maybe that’s why I get nothing when searching for “04”.  If anyone can point me to previous posts that address this topic, if there are any, that would be appreciated.)

    We are a site with Eclipsys, and therefore we have their interface engine, eLink, in addition to our Cloverleaf engine.  In the config parameters for some of the eLink standard tcp/ip clients that we have connecting to Cloverleaf, by default a “SendShutDown” option is enabled, and what this seems to do is cause a couple messages to be transmitted when the client is manually stopped from the monitor console.

    The first message has a “datagram tag” (excuse me if I’m not using the correct terminology here) of “DATA      ” in the first 10 characters, followed by the message content which is hex “0B 04 1C 0D”.  This is basically the hex character “04” surrounded by the HL7 mllp envelope.

    The second message is just a datagram tag of “CLOSE     “, with no message content.

    The effect of receiving the first of these two messages in Cloverleaf by an inbound thread using the mlp_tcp.pdl is that the envelope characters are stripped off, leaving just the hex “04”, and this is treated like it is an actual message and causes a NAK to be sent back because the expected HL7 message (is only 1 byte long and) doesn’t begin with “MSH”.

    So I guess my question is: if the “04” represents some sort of “shutdown” signal, is this part of a known protocol that the mlp_tcp.pdl simply doesn’t support, or is eLink doing something non-standard and proprietary to Eclipsys?

    I’m looking at just disabling the SendShutDown from the eLink side, but wondered if maybe I wasn’t using the correct protocol driver from the Cloverleaf side.

Viewing 4 reply threads
  • Author
    • #63159
      Jim Kosloskey


      I do not believe this is part of the HL/7 MLP standard.

      It sounds like this is a hold over from async or bisynch communication days (the Hex 04 is an EOT (End of Transmission) control code).

      This is the kind of thing we used to see in the hard-wired connection days.

      I suspect it is proprietary to the vendor. Moreover, it is possible that once the vendor is made aware of what is occurring, they may realize they have a configuration setting incorrect and might be able to eliminate this activity.

      I would certainly ask them to take a look and see if they cannot stop this from happening.

      Jim Kosloskey

      email: jim.kosloskey@jim-kosloskey.com

    • #63160
      Charlie Bursell

      As Jim said, this is not IAW yje HL7 standard for MLLP or HLLP.

      If you want to handle this shutdown request, I would add a proc just before the ACK proc.  Look at the message.   Is it a Hex 4?  If yes, do whatever you should do, perhaps shutdown the process.  If not just continue it on.

    • #63161
      Greg Eriksen

      Some belated followup…

      Thanks to Jim and Charlie for your replies.  I was looking for some feedback as to whether the hex “04” was something that you were familiar with in tcp/ip connections you had worked with, and it was not.  This let me know that it was proprietary to Eclipsys and I would have to get an answer from them about what this option was intended for.  Because of the holidays, it took a while for a developer to be available, but the answer I finally got back was:

      “This functionality exists because the Eclipsys 7000 Mainframe Communications Program (MCP) required it.  When an eLink TCP Client translator has a socket connection to an MCP TCP Server, the Shutdown character must be sent when the translator is stopped to clean up the socket connection.”

      This feature didn’t apply to us because our connections to the Mainframe are through SNA (LU 6.2) rather than tcp/ip. This also let me know that it was safe to disable the “SendShutDown” option on all the other translator objects where it had been unintentionally turned on, and I spent a couple days cleaning up test and production.

      I also spent some time trying to locate documentation to educate myself about the inner workings of standard tcp/ip socket connections (for instance:  a list of the defined ‘verbs’ like “CLOSE”, “DATA”, etc.).  I spent about 45 minutes doing google searches and never did find anything, so if anyone could point me to a link it would be appreciated.  (I also tried searching for the “IAW” protocol that Charlie mentioned, before I finally figured out it was an acronym for “In Accordance With”.  I never did find out what “yje” stood for.)

    • #63162
      Rob Abbott

      “CLOSE” and “DATA” are not standard TCP/IP “verbs”.  They are some sort of application-level handshaking that Eclipsys has built on top of a tcp/ip connection.

      TCP/IP is a fairly simple stream-based protocol.  There’s nothing in the standard protocol that defines what a message is.  This is why you have things like start and end characters or length-encoding in a message-based environment.

      If you want to know more about standard TCP/IP, check the RFC, http://www.faqs.org/rfcs/rfc793.html , here you can find out about all sorts of fun things like SYN, RST, FIN ACK, etc.

      Rob Abbott
      Director, Product Management - Infor Cloverleaf

    • #63163
      Richard Hart


      We used  an older version of Eclipsys and have since been using the iSoft version of this product.  

      We do not use the iSoft integration engine!

      We have used the PDL available in this post to communicate to Cloverleaf for many years now. (http://clovertech.infor.com/viewtopic.php?t=930&highlight=icmacknak)

Viewing 4 reply threads
  • The forum ‘Cloverleaf’ is closed to new topics and replies.

Forum Statistics

Registered Users
Topic Tags