Chris Wethey

Forum Replies Created

Viewing 13 replies – 1 through 13 (of 13 total)
  • Author
    Replies
  • in reply to: Issue with Port Hung Up in Interface #78481
    Chris Wethey
    Participant

      Luke, We have a cron job within the Linux server that performs a PRESTART process but does not seem to be working the way that the other jobs we have to shut off the feed to FTP a file out.  What is the name of the program that you are using to auto bounce and is it linux friendly.  Thanks

      Chris

      in reply to: Single Message Group to an incremented file name #78200
      Chris Wethey
      Participant

        The file would be a date/time stamp for each result generated thru the Interface Engine then the file would be picked up thru a script and dropped onto the receiving system.  So 3 ORU messages would be labeled rad12032012100100.dta, rad12032012100101.dta, rad12032012100102.dta.  The receiving site does not want the HL7 messages appended to one file.

        in reply to: Iterate Clarification from Group to Field/Segment #78151
        Chris Wethey
        Participant

          Jim,

          Would I have to iterate for the NTE outbound if copying the field from OBX to NTE but have to Iterate for another field in the NTE since it seems to be looking for it when displayed in the Xlate process when creating.

          1(%g1).1(%g2).1(%g3).NTE(0).#3(%f1).[0]

          Would the %f1 be for the NTE( ) then %f2 be for the field #3 field.  The other thing we are looking to do is delete the OBX record since the third party vendor does not like having OBX tx record and NTE record in the file.  

          Chris

          in reply to: Searching thru OBX message question #77705
          Chris Wethey
          Participant

            Most of the logic was correct especially with ITERATE but the outbound fields that I was replacing were not correct.  I used the same logic format that was built in 5.7 version was different that what I figured out in the 5.8.4 version.  This is what i had to change the logic to for it to work. (1(%g1).1(%g2).1(%g3).OBX(0).#3(0).[3] ).

            I had to have the (0) after the OBX and #3 information but the earlier format did not need the (0).  

            Thanks for your responses – it made me look at the logic a bit more to understand the reason why.

            Thanks

            Chris Wethey

            in reply to: Sub Field breaks #73675
            Chris Wethey
            Participant

              Jim,

              It is a tcl that is part of the install on our server from either mckesson or quovadx.

              Here is the coding of that tcl.

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

              # Name:         tblqualify

              # Purpose:      Qualify on a field

              # UPoC type:    tps

              # Args:         tps keyedlist containing the following keys:

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

              #               MSGID   message handle

              #               ARGS    user-supplied arguments:

              #                       TBLNAME         Table Lookup name

              #                       ERRCOND         Literal that is set as DEFAULT in the table lookup

              #                       SEGNAME         Segment to check

              #                       FIELDNUM        Field number to check within the segment

              #                       SUBFIELDNUM     Subfield to check within the field

              #

              # Args (Example ENTRY): To qualify on the patient location field (PV1 3):

              # the arguments would be:

              # {TBLNAME

              } {ERRCOND
              } {SEGNAME PV1} {FIELDNUM 3} {SUBFIELDNUM 0}

              #

              # Returns: tps disposition list:

              #          $CONTINUE

              #

              proc tblqualify_kill_default { 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]                                ;# Get message

              #          

              # Get arguments

              #          

                         set tblname {}

                         keylget args ARGS.TBLNAME tblname                   ;# Fetch the table name

                         set errcond {}

                         keylget args ARGS.ERRCOND errcond                   ;# Fetch the error literal

                         set segname {}

                         keylget args ARGS.SEGNAME segname                   ;# Fetch the segment

                         set fieldnum {}

                         keylget args ARGS.FIELDNUM fieldnum                 ;# Fetch the fieldnum

                         set subfielnum {}

                         keylget args ARGS.SUBFIELDNUM subfieldnum           ;# Fetch the subfieldnum

                         

                                 #

                                 # Split the message and get fields to check

                                 # First set up some constants

                                 #

                         set sep [csubstr $msg 3 1]                          ;# HL7 field separator      

                         set sub [csubstr $msg 4 1]                          ;# HL7 subfield separator          

                         set segments [split $msg r]                        ;# Get segments

                                 #

                                 # LOOP through and make changes

                                 #

                         foreach seg $segments {

                             if [cequal $seg “”] { continue }                ;# Just in case

                             set segtype [csubstr $seg 0 3]                  ;# segment type

                             if [cequal $segtype $segname] {                 ;# MSH?

                                 set fields [split $seg $sep]                ;# Fields

                                 set checkfield [lindex $fields $fieldnum]   ;# field to check

                                 set subfields [split $checkfield $sub]      ;# subfields

                                 set checkvalue [lindex $subfields $subfieldnum]

                                 #

                                 # do table lookup

                                 #

                                 echo “Table=$tblname  Value to check=$checkvaluen”

                                 set tblvalue [tbllookup $tblname $checkvalue]

                                 echo “Table value=$tblvaluen”

                                 #

                                 # if the default value is returned, KILL the message”

                                 #

                                 if [cequal $tblvalue $errcond] {

                                    lappend dispList “KILL $mh”

                                 } else {

                                    lappend dispList “CONTINUE $mh”

                                 }

                                 echo “dispList=$dispList”

                             }

                         }

                     }

                     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 tblqualify”

                     }

                 }

                 return $dispList

              }

              *******

              I need to read the Repetitive information in one of the OBR fields since it could have multiple physician numbers in there and if one of them match’s then i would send the record onto the receiving interface.

              in reply to: Sub Field breaks #73673
              Chris Wethey
              Participant

                The tilde is the repetitive separator – so when i am performing a lookup using the tblqualify_kill_default within qdx5.5 GUI screen and using this command within the edit of the command for the table view

                “”SEGNAME OBR} {FIELDNUM 28} {SUBFIELDNUM 1}”” – would the subfieldnum be the repetitive within that segname so “0” is the first and “1” is the second and so on down the line.

                in reply to: Picking out the SubFields within a message #71595
                Chris Wethey
                Participant

                  Jim and Thomas,

                  Thanks for the subfield coding – that worked the second time around.  I did not clear out all of the subfields prior to moving my results to the field and had “&” after the description.  

                  The next round is on me.

                  Chris

                  in reply to: Like items or substring of a field #71435
                  Chris Wethey
                  Participant

                    Jim,

                    We are on 5.5 and not even thinking of upgrading to 5.6 at this time.  I will have to wait for the Tcl book that i ordered to read up on the process to perform that feature at this time.

                    Thanks

                    Chris Wethey

                    in reply to: Increment of the %g indicators #71305
                    Chris Wethey
                    Participant

                      Jim,

                      What i forgot to change was the iterate type it was originally list instead of Group.  I had created but forgot to change to the group when defining the %g1 and so on.   😳

                      Once i changed all the type’s to Group then it was going thru all the OBX records and changing the fields that i was looking for.  

                      Thats what happens when your a newbie learning the ropes.

                      Thanks for pointing out the grouping in your message.  That was why it was only reading the first OBX record and passing the rest over without looking.

                      in reply to: Multiple Arguments in a table qualify kill Procedure #71160
                      Chris Wethey
                      Participant

                        Attached is a screen shot of the process. single tblqualify

                        in reply to: Multiple Arguments in a table qualify kill Procedure #71159
                        Chris Wethey
                        Participant

                          Within TPS Properties – there is already a PROC called Tblqualify_kill_default that we are testing for a physician number in a specific location of the OBR.  But we are looking for that same physician number in another location within the same segment.  When I place 2 seperate Proc line in raw or xlate pre proc arguement it seems to nullify itself when it looks from one to the other which does not send the HL7 record onto the third party vendor.  We perform this in dozen of checks in our system but it has always been on one field to check not multiple fields.

                          Argument = {TBLNAME polaris_phy} {ERRCOND ERR} {SEGNAME OBR} {FIELDNUM 16} {SUBFIELDNUM 0}

                          Arguement 2 = {TBLNAME polaris_phy} {ERRCOND ERR} {SEGNAME OBR} {FIELDNUM 28} {SUBFIELDNUM 0}

                          Is there a way to do an OR within one tblqualify_kill_default like there is in the translation process.

                          in reply to: Changing ST code to TX for specific criteria in OBX #71031
                          Chris Wethey
                          Participant

                            Was able to figure out the process with a lot of help from Jim,  Still working the bugs out  with the smat and testing tools.

                            Thanks for your comments and help

                            in reply to: Changing ST code to TX for specific criteria in OBX #71030
                            Chris Wethey
                            Participant

                              What we are looking for is to check the OBX record and search the field to determine is a specific ST Value Type has a comment of “Lab Comment” or “Order Comment” and then change the ST Value Type to TX – so i am not sure how to do that since i am new at writing in XLT process as of yet.

                            Viewing 13 replies – 1 through 13 (of 13 total)