Removing FSH BHS BTS FTS

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Removing FSH BHS BTS FTS

  • Creator
    Topic
  • #53541
    Mary Bodoh-Stone
    Participant

    I’ve been reading about ways to remove the FHS, BHS, BTS and FTS on this forum and not having any luck.  Maybe my situation is alittle different.   We are in the process of converting from a Sybase engine to Cloverleaf.  In Sybase due to the configuration we have a batch file with these segments. We run them through a tranide and create a charge file and ftp them to a Meditech system.  In this same sfm (inbound feed) I need to forward these messages to Cloverleaf and run them through my xlate.  

     So on the sybase side I have a tranide which says starting from the FHS forward everything until end of data to Cloverleaf.

     On the Cloverleaf side I have a pre-proc which I have tried on both the route to the xlates and also on the TPS inbound.  I found it on this forum and will attach.  Maybe I have something wrong in it.

     I get an AR on Sybase from Cloverleaf saying that the message doesn’t start with a MSH.  On the Cloverleaf side I can see the FSH message crossing.  I put some echo’s in the tcl proc and I’m not seeing them.

     What am I doing wrong?  Thanks.

    – Mary

Viewing 5 reply threads
  • Author
    Replies
    • #78075
      Robert Kersemakers
      Participant

      Hi Mary,

      Looks like you HL7-message is rejected by Cloverleaf, because the message doesn’t start with MSH.

      We always use ‘gc_genHL7OrigModeACK’ for returning ACKs after receiving a message from another system. In this proc there is a check whether the incoming message starts with MSH, but if true the incoming messages is simply killed and no AR is returned. So I have a feeling you have another (newer) implementation of sending back an ACK.

      The solution suggested in this same proc is to use ‘gc_splitInboundHL7batch’ first to split the batch of messages into separate messages and then generate the ACK. But I’m not sure if this is possible in your situation.

      So check how/when the ACK is generated and if it’s possible to first split the batch into separate messages.

      Zuyderland Medisch Centrum; Heerlen/Sittard; The Netherlands

    • #78076
      Gene Salay
      Participant

      We also have a custom version of raw_hl7_ack that simply sends an ack even if the message doesn’t start with MSH.   I don’t seem to have the procs Robert is referring to.

      After we send the ack, we also convert the batch to single messages.   For us, this works better at the destination by helping us match exceptions to the specific transaction instead of the batch as a whole.

    • #78077
      Mary Bodoh-Stone
      Participant

      Hi,  

       Thanks for the replies but I am unable to split the batch into separate messages as I believe this other process is dependant on that format.  I’ve hit a wall.

      – Mary

    • #78078
      Keith McLeod
      Participant

      Looks like in your first step, you are removing all segment termination characters by ‘string map {r “”} [msgget $mh]’.

    • #78079
      Levy Lazarre
      Participant

      Hi Mary,

      The stock ACKs-generating scripts that come with Cloverlaf (for example RawHl7Ack …) all assume that the HL7 messages begin with the MSH segment. If not, they send a NACK to the sender after killing the original message.

      Therefore your message is not even getting to the splitting proc; this is why you are not seeing the output of the “echo” statements.

      At this point, you have two choices: either customize your ACK proc to allow messages starting with FHS to pass, or split the incoming FHS message into multiple MSH messages for Cloverleaf.

      I also migrated from Sybase a few years ago and I am pretty sure you can program the Production Object to discard the headers and trailers and split the single FHS message into multiple MSH messages. In fact, we faced a similar situation here and we actually did the message splitting in the AIM (Adaptive Interface Module) that received the file. The Production Object never saw the headers and trailers. Perhaps you can work something like that?

      Another possibilty is to have TRAN-IDE write the FHS message to a file. You could then use the fileset protocol in Cloverleaf to pick up the file and your existing splitting proc in the Inbound TPS without an ACK proc.

    • #78080
      Mary Bodoh-Stone
      Participant

      Keith,

       I tried what you suggested as:

                       keylget args MSGID mh

       set ibMsg [msgget $mh]

       set batch_list [split $ibMsg n]

       foreach msg $batch_list {

      if [regexp — {^MSH} $msg {}] {

        set nmh [msgcopy $mh]

        msgset $nmh $msg

        lappend dispList “CONTINUE $nmh”

      echo “SENDING message”

      }

       }

      on both the TPS inbound and a pre-proc on the route and nothing came through.

      Levy,  your post makes sense regarding the RawHL7ack and getting the AR messages back.  I liked your suggestion of writing the messages to a file and then having Cloverleaf pick the file up.  I tried it.  I actually changed my prod object to kick out the headers and only send the MSH messages.  Best I can figure is even though I look in the acquistion log and see carriage returns after each message type, they must not be there.  The first time I sent the whole file (didn’t kick out the headers) and all I got was the first FHS in my logger file.  The second time when I kicked the headers out and just wanted the MSH messges I got nothing in my  logger file.  I can’t get my hands on this batch as it’s dropped out of connectr from GE.

      Thanks.

      – Mary

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

Forum Statistics

Registered Users
5,117
Forums
28
Topics
9,293
Replies
34,435
Topic Tags
286
Empty Topic Tags
10