Kill Unused Message Types Before Routing?

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Kill Unused Message Types Before Routing?

  • Creator
    Topic
  • #47883
    john benevento
    Participant

    Is it possible to kill unused inbound message types before they get routed?  Whenever our HIS produces an A05 or A38 message, a 101 error (“Unsupported Trxid”) is generated because A05/A38’s are not handled in our Route Messages in the Thread Configuration.  Thanks!

Viewing 3 reply threads
  • Author
    Replies
    • #56983
      James Cobane
      Participant

      John,

      You can handle this a couple of ways:

      1) route the TRXID’s in question, and place the hcitpsmsgkill proc on the specific routes

      2) Set up a ‘wild card’ route (ie  .*) and place the hcitpsmsgkill proc on that route.

      Hope this helps.

      Jim Cobane

      Henry Ford Health (c/o Covansys)

    • #56984
      Brian Goad
      Participant

      John,

      You could also use a tcl script on the Inbound TPS to filter out the transactions. I have a script that I can give you that uses a table to determine if the transaction should be sent.

      I would be glad to send it to you.

      Brian

    • #56985

      hope this script helps. you can modify to add whatever msg. type you want to suppress. We use it as an ibtps proc on the thread.

      We have some that kill multiple ADT types, just add an else if.

      ######################################################################

      # Name:         tpsKillA04

      # Purpose:      Kill A04 before gets to threads

      # UPoC type:    tps

      # Args:         tps keyedlist containing the following keys:

      #               MODE    run mode (“start”, “run” or “time”)

      #               MSGID   message handle

      #               ARGS    user-supplied arguments:

      #                      

      #

      # Returns: tps disposition list:

      #          

      #

      proc tpsKillA04 { args } {

         keylget args MODE mode                      ;# Fetch mode

         set dispList {}                             ;# Nothing to return

         switch -exact — $mode {

             start {

                 # Perform special init functions

                 # N.B.: there may or may not be a MSGID key in args

             }

             run {

                 # ‘run’ mode always has a MSGID; fetch and process it

                 keylget args MSGID mh

                                     set inmsg [msgget $mh]

                                     #Check Event

                                     set msgSegments [split $inmsg r]

                                     set mshSeg [lindex $msgSegments 0]

                                     set event [getHL7Field $mshSeg 8] ;# event is th

      e 9th field

                                     if {[cequal $event “ADT^A04”]} {

                     lappend dispList “KILL $mh”

                                     

                                      } else {

                                     lappend dispList “CONTINUE $mh”

                                     } ;# end of if-else

             }

             time {

                 # Timer-based processing

                 # N.B.: there may or may not be a MSGID key in args

             }

             shutdown {

                 # Doing some clean-up work

             }

             default {

                 error “Unknown mode ‘$mode’ in tpsKillMsg”

             }

         }

         return $dispList

      }

    • #56986
      Amdy Diene
      Participant

      Brian, if you are still there, can you please sent me that script?

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

Forum Statistics

Registered Users
5,127
Forums
28
Topics
9,299
Replies
34,443
Topic Tags
288
Empty Topic Tags
10