TCL Proc Kill message if not equal to "RESULTOUTASCII&a

Homepage Clovertech Forums Read Only Archives Cloverleaf Tcl Library TCL Proc Kill message if not equal to "RESULTOUTASCII&a

  • Creator
    Topic
  • #53653
    Barbi
    Participant

    I am having problem get I second segment information??

Viewing 9 reply threads
  • Author
    Replies
    • #78449
      Charlie Bursell
      Participant

      The most non-ergomic package you can use is the HL7 package floating around out there.  It saves you maybe one command but parses the HL7 message every time

      set fldSep [string index $msg 3]

      set SEGMENTS [split $msg r]

      set msh8 [lindex [split [lindex $SEGMENTS 9] $fldSep] 7]

      set OBR [split [lsearch -inline -regexp $SEGMENTS {^OBR}] $fldSep]

      set obr24 [lindex $OBR 24]

      if {$msh8 ne “RESULTOUTASCII” && $obr24 ne “HEN”} {

               return “{KILL $mh}”

      } else {

               return “{CONTINUE $mh””

      }

      How much did you save with the HL7 package?

    • #78450
      Barbi
      Participant

      I correct my TCL proc to be.  But now I am getting a 302 error

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

      # Name: tpsKillMSH8_Sentri7

      # Purpose: Kill all messages not equal to “RESULTOUTASCII” in MSH.8

      # 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 tpsKillMSH8_Sentri7 { 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 MSH_8 “”

         set OBR_24 “”

         set msg [msgget $mh]

         set fieldSeparator [crange $msg 3 3]

         set subFieldSeparator [crange $msg 4 4]

         set repChar [crange $msg 5 5]

         set escChar [crange $msg 6 6]

         set subCompSeparator [crange $msg 7 7]

                   set fldSep [string index $msg 3]

                   set SEGMENTS [split $msg r]

                   set msh8 [lindex [split [lindex $SEGMENTS 9] $fldSep] 7]

                   set OBR [split [lsearch -inline -regexp $SEGMENTS {^OBR}] $fldSep]

                   set obr24 [lindex $OBR 24]

                   if {$msh8 ne “RESULTOUTASCII” && $obr24 ne “HEN”} {

                     return “{KILL $mh}”

                  } else {

                     return “{CONTINUE $mh””

                  }

      }

         return $dispList

      }

      }

    • #78451
      Charlie Bursell
      Participant

      if you get rid of all the superflous code like:

      set MSH_8 “”

        set OBR_24 “”

        set msg [msgget $mh]

        set fieldSeparator [crange $msg 3 3]

        set subFieldSeparator [crange $msg 4 4]

        set repChar [crange $msg 5 5]

        set escChar [crange $msg 6 6]

        set subCompSeparator [crange $msg 7 7]

      return $dispList, etc.  what do you get.

      Hard to troubleshoot with all the junk 🙂

    • #78452
      Barbi
      Participant

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

      # Name: tpsKillMSH8_Sentri7

      # Purpose: Kill all messages not equal to “RESULTOUTASCII” in MSH.8

      # 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 tpsKillMSH8_Sentri7 { 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 fldSep [string index $msg 3]

                  set SEGMENTS [split $msg r]

                  set msh8 [lindex [split [lindex $SEGMENTS 9] $fldSep] 7]

                  set OBR [split [lsearch -inline -regexp $SEGMENTS {^OBR}] $fldSep]

                  set obr24 [lindex $OBR 24]

                  if {$msh8 ne “RESULTOUTASCII” && $obr24 ne “HEN”} {

                    return “{KILL $mh}”

                 } else {

                    return “{CONTINUE $mh””

                 }

      }

      }

      }

    • #78453
      Barbi
      Participant

      [nci :nci :ERR /0:     hlab_cmd:05/14/2013 07:18:38] Check NetConfig error – error list:

      to_empower_inp_hlab Protocol PDL TCP/IP Host: cannot find host ’empsvr2′

      sfbi_standard_in Protocol PDL TCP/IP: PDLTYPE ‘tcp-client’ is not ‘tcp-server’

      to_empower_inp Protocol PDL TCP/IP Host: cannot find host ’empsvr2′

      to_hboc_orders Protocol PDL TCP/IP Host: cannot find host ‘starcln’

      to_hboc_orm_dft Protocol PDL TCP/IP Host: cannot find host ‘starcln’

      fr_prosolv_in Protocol PDL TCP/IP: PDLTYPE ‘tcp-client’ is not ‘tcp-server’

      vitals_isirona_adt Protocol PDL TCP/IP Host: cannot find host ‘msmcvitalsrv01’

      to_hboc_pha_hlab Protocol PDL TCP/IP Host: cannot find host ‘starcln’

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:19:10] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:19:28] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [pdl :PDL :ERR /0:auditlogix_adt:05/14/2013 07:19:47] read failed: Unknown error

      [pdl :PDL :ERR /0:auditlogix_adt:05/14/2013 07:19:47] read returned error 0 (No error)

      [pdl :PDL :ERR /0:auditlogix_adt:05/14/2013 07:19:47] PDL signaled exception: code 1, msg device error (remote side probably shut down)

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:19:58] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:04] [0.0.494390656] unknown segment ‘PD1’ — ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:05] [0.0.494390656] unknown segment ‘ZOE’ — ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:05] [0.0.494390656] unknown segment ‘ZPI’ — ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:05] [0.0.494390656] unknown segment ‘ZPV’ — ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:05] [0.0.494390656] unknown segment ‘ZIN’ — ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:05] [0.0.494390656] The # 23 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A01’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:19] [0.0.494390691] The # 3 segment encountered ‘PD1’ is not defined for message type ‘ADT_A01’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:19] [0.0.494390691] The # 19 segment encountered ‘ZPI’ is not defined for message type ‘ADT_A01’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:19] [0.0.494390691] The # 20 segment encountered ‘ZPV’ is not defined for message type ‘ADT_A01’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:19] [0.0.494390691] The # 21 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A01’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:20:19] [0.0.494390691] The # 22 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A01’.  Segment ignored.

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:20:54] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:27] [0.0.494390865] The # 3 segment encountered ‘PD1’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:27] [0.0.494390865] The # 19 segment encountered ‘ZPI’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:27] [0.0.494390865] The # 20 segment encountered ‘ZPV’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:27] [0.0.494390865] The # 21 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:27] [0.0.494390865] The # 22 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:27] [0.0.494390865] unknown segment ‘ZAB’ — ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:58] [0.0.494391104] The # 3 segment encountered ‘PD1’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:58] [0.0.494391104] The # 27 segment encountered ‘ZPI’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:58] [0.0.494391104] The # 28 segment encountered ‘ZPV’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:58] [0.0.494391104] The # 29 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:21:58] [0.0.494391104] The # 30 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:08] [0.0.494391167] The # 3 segment encountered ‘PD1’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:08] [0.0.494391167] The # 27 segment encountered ‘ZPI’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:08] [0.0.494391167] The # 28 segment encountered ‘ZPV’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:08] [0.0.494391167] The # 29 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:08] [0.0.494391167] The # 30 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:22] [0.0.494391269] The # 3 segment encountered ‘PD1’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:22] [0.0.494391269] The # 27 segment encountered ‘ZPI’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:22] [0.0.494391269] The # 28 segment encountered ‘ZPV’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:22] [0.0.494391269] The # 29 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:22] [0.0.494391269] The # 30 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:25] [0.0.494391334] The # 3 segment encountered ‘PD1’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:25] [0.0.494391334] The # 19 segment encountered ‘ZPI’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:25] [0.0.494391334] The # 20 segment encountered ‘ZPV’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:25] [0.0.494391334] The # 21 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:25] [0.0.494391334] The # 22 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:25] [0.0.494391334] The # 23 segment encountered ‘ZAB’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:26] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:26] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:27] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:28] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:28] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:29] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:29] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:29] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:29] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:30] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:30] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:30] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:31] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:31] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:31] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:32] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:32] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:32] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:33] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:33] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:33] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:34] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:34] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:34] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:35] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:35] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:35] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [xlt :xlat:ERR /0:   hlab_xlate:05/14/2013 07:22:36] Tcl error:

      msgId = message0

      proc = ‘tpsKillMSH8_Sentri7’

      args = ”

      result = ‘invalid command name “tpsKillMSH8_Sentri7″‘

      errorInfo: ‘

      invalid command name “tpsKillMSH8_Sentri7”

         while executing

      “tpsKillMSH8_Sentri7 {MSGID message0} {CONTEXT xlt_pre} {ARGS {}} {MODE run} {VERSION 3.0}”‘

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:43] [0.0.494391696] The # 3 segment encountered ‘PD1’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:43] [0.0.494391696] The # 27 segment encountered ‘ZPI’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:43] [0.0.494391696] The # 28 segment encountered ‘ZPV’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:43] [0.0.494391696] The # 29 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

      [msg :RecP:WARN/0:   hlab_xlate:05/14/2013 07:22:43] [0.0.494391696] The # 30 segment encountered ‘ZIN’ is not defined for message type ‘ADT_A08’.  Segment ignored.

    • #78454
      Abe Rastkar
      Participant

      Should the index of the MSH segment in SEGMENTS be 0 rather than 9?

      ++++

      set fldSep [string index $msg 3]

      set SEGMENTS [split $msg r]

      set msh8 [lindex [split [lindex $SEGMENTS 0] $fldSep] 7]

      set OBR [split [lsearch -inline -regexp $SEGMENTS {^OBR}] $fldSep]

      set obr24 [lindex $OBR 24]

      if {$msh8 ne “RESULTOUTASCII” && $obr24 ne “HEN”} {

              return “{KILL $mh}”

      } else {

              return “{CONTINUE $mh””

      }

    • #78455
      Barbi
      Participant

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

      # Name: tpsKillMSH8_Sentri7

      # Purpose: Kill all messages not equal to “RESULTOUTASCII” in MSH.8

      # or all messages not equal to “HEM” in OBR.24

      # 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 tpsKillMSH8_Sentri7 { 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 fldSep [string index $mh 3]

                  set SEGMENTS [split $mh r]

                  set msh8 [lindex [split [lindex $SEGMENTS 9] $fldSep] 7]

                  set OBR [split [lsearch -inline -regexp $SEGMENTS {^OBR}] $fldSep]

                  set obr24 [lindex OBR 23]

      echo OBR 24 is > $obr24 <

                  if {$msh8 ne “RESULTOUTASCII” || $obr24 ne “HEM”} {

                    return “{KILL $mh}”

                 } else {

                    return “{CONTINUE $mh}”

                 }

      }

      }

      }

    • #78456
      Barbi
      Participant

      the TCL is not pick up the OBR segment

    • #78457
      Abe Rastkar
      Participant

      The code is correct although the indices may need to be fixed.

      index of OBR 23 will give you the 23rd field because the segment name, OBR, has the zero index. So the “set id” field has the index 1, etc.

    • #78458
      Barbi
      Participant

      Here is the TCL that worked

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

      # Name: tpsKillMSH8_Sentri7

      # Purpose: Kill all messages not equal to “RESULTOUTASCII” in MSH.8

      # or all messages not equal to “HEM” in OBR.24

      # 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 tpsKillMSH8_Sentri7 { 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 msg [msgget $mh]

      #echo MSG = $msg

                  set fldSep [string index $msg 3]

      #echo fldSep = $fldSep

                  set SEGMENTS [split $msg r]

      #echo SEG = $SEGMENTS

                  set msh8 [lindex [split [lindex $SEGMENTS 9] $fldSep] 7]

      #echo MSH8 = $msh8

                  set OBR [split [lsearch -inline -regexp $SEGMENTS {^OBR}] $fldSep]

      #echo OBR = $OBR

                  set obr24 [lindex $OBR 24]

      #echo OBR 24 is >$obr24<

                  if {$msh8 ne “RESULTOUTASCII” || $obr24 ne “HEM”} {

                    return “{KILL $mh}”

                 } else {

                    return “{CONTINUE $mh}”

                 }

      }

      }

      }

Viewing 9 reply threads
  • The forum ‘Tcl Library’ is closed to new topics and replies.

Forum Statistics

Registered Users
5,129
Forums
28
Topics
9,301
Replies
34,448
Topic Tags
288
Empty Topic Tags
10