Mismatched IR Tags in routetest and engine but not xlttest

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Mismatched IR Tags in routetest and engine but not xlttest

  • Creator
    Topic
  • #47945
    Dee Davis
    Participant

    I thought I’d had Mismatched IR tags under control for years now…but they have come back to me.  Does anyone have any suggestions beyond my thought to go to an IB TPS proc to break up the message prior to translation??

    The developed translate is fine in xlttest (at command line or with testing tool), but is providing the MIT errors in route testing and through engine.

    Basically, we are working with a nested ITERs to produce multiple outbound messages from single inbound.

    Inbound message structure is similar to this:

    MSH

    PID

    PV1

    {

      ORC

      OBR

      {

        OBX

        {[NTE]}

      }

    }

    Outbound is more simple like this

    MSH

    PID

    PV1

    ORC

    OBR

    {

     OBX

     {[NTE]}

    }

    Test message via HL7 test so you get an idea of actual groups

    0(0).MSH(0)  :  >|^~&|LabPak|LW||LW|200508051216||ORU^R01|52|P|2.3|||NE|NE|< 0(0).PID(0)  :  >|1|080064497|080064497||DEETEST^Lpc^||19160707|M|||123 MC TESTING^^GREENSBORO^NC^27401^|||||||400043055|729382983< 0(0).PV1(0)  :  >|1|R|||||||||||||||||< 1(0).0(0).ORC(0)  :  >|RE|105540LW|05217011BUN|05217011^ORDERS|||||200508051215|||1819^Hochrein^James^^MD^^^L< 1(0).0(0).OBR(0)  :  >|1|105540LW|05217011BUN|BUN^BUN^L||200508051215|200508051215|||TECH^LCH||||200508051215|^^|1819^Hochrein^James^^MD^^^L||||05217011||200508051216|||F||^^^^^R||||^^I9< 1(0).1(0).OBX(0)  :  >|1|NM|BUN^BUN^L||19|MG/DL|0-0|N|||F|||||TECH< 1(1).0(0).OBR(0)  :  >|2|105541LW|05217011CREA|CREA^CREATININE^L||200508051215|200508051215|||TECH^LCH||||200508051215|^^|1819^Hochrein^James^^MD^^^L||||05217011||200508051216|||F||^^^^^R||||^^I9< 1(1).1(0).OBX(0)  :  >|1|NM|CREA^CREATININE^L||1.1|MG/DL|0.0-0.0|N|||F|||||TECH< hcixlttest produces correctly these two messages (we have a CONTINUE within the ITER and a SUPPRESS as the last statement): 0(0).MSH(0)  :  >|^~&|LabPak|LCAR||LW|200508051216||ORU^R01|52|P|2.2|||NE|NE< 0(0).PID(0)  :  >|1|080064497|80064497||DEETEST^Lpc||19160707|M|||123 MC TESTING^^GREENSBORO^NC^27401|||||||400043055|729382983< 0(0).OBR(0)  :  >|1|105540|05217011BUN|BUN.^BUN^L||20050805121500|20050805121500|||TECH^LCH||||20050805121500||001819^Hochrein^James^^MD^^^L||||05217011||20050805121600||HM|F||^^^^^R||||^^I9< 1(0).OBX(0)  :  >|1|NM|BUN^BUN^L||19|MG/DL|0-0|N|||F|||||TECH< 0(0).MSH(0)  :  >|^~&|LabPak|LCAR||LW|200508051216||ORU^R01|52|P|2.2|||NE|NE< 0(0).PID(0)  :  >|1|080064497|80064497||DEETEST^Lpc||19160707|M|||123 MC TESTING^^GREENSBORO^NC^27401|||||||400043055|729382983< 0(0).OBR(0)  :  >|2|105541|05217011CREA|CREA.^CREATININE^L||20050805121500|20050805121500|||TECH^LCH||||20050805121500||001819^Hochrein^James^^MD^^^L||||05217011||20050805121600||HM|F||^^^^^R||||^^I9< 1(0).OBX(0)  :  >|1|NM|CREA^CREATININE^L||1.1|MG/DL|0.0-0.0|N|||F|||||TECH< Basically first ITER is group type over basis 1 with variable %g1 and we always copy the OBR fields from the iterative group (1(%g1).0(0).OBR) to non-iterative (0(0).OBR) expecting the fields just to get overwritten for the “simpler message”.  From the route test and engine it looks like the MIT messages are for these OBR statements.  Here is what the route test and engine are producing: MSH|^~&|LabPak|LCAR||LW|200508051216||ORU^R01|52|P|2.2|||NE|NE PID|1|080064497|80064497||DEETEST^Lpc||19160707|M|||123 MC TESTING^^GREENSBORO^NC^27401|||||||400043055|729382983 OBR||||.||||||||||||||||||||HM One additional note — we cannot make any “echo” statements work within the ITER that show for the route test or engine. Thanks so much. Here is the xlate: { { OP PATHCOPY }    { ERR 0 }    { IN 0(0).MSH }    { OUT 0(0).MSH } } { { OP COPY }    { ERR 0 }    { IN =2.2 }    { OUT 0(0).MSH.00012 } } { { OP IF }    { ERR 0 }    { COND { 0(0).PV1.00133  eq @null} }    { THENBODY {        { { OP COMMENT }            { COMMENT {IN THE BEGINNING there was no location…} }        }        { { OP COPY }            { ERR 0 }            { IN =LCAR }            { OUT 0(0).MSH.00004 }        }    }}    { ELSEBODY {        { { OP COMMENT }            { COMMENT {TODO: Insert new actions here} }        }        { { OP TABLE }            { ERR 0 }            { PRE {                echo invals=$xlateInVals            }}            { POST {                echo outinvals=$xlateInVals            }}            { IN {{0(0).PV1.00133.[0]}} }            { OUT 0(0).MSH.00004 }            { TBL LeBauerSCHEDLoc_TO_LWfac.tbl }            { SIDE {} }        }    }} } { { OP PATHCOPY }    { ERR 0 }    { IN 0(0).PID }    { OUT 0(0).PID } } { { OP COPY }    { ERR 0 }    { PRE {        set x [clength $xlateInVals]            if {$x > 8} {

                   set xlateOutVals [csubstr $xlateInVals 1 9]

               } else {

                   set y [expr 8 – $x]

                   set xlateOutVals [replicate 0 $y]$xlateInVals

               }

       }}

       { POST {

           echo MRN $xlateOutVals

       }}

       { IN {{0(0).PID.00106(0).[0]}} }

       { OUT {{0(0).PID.00106(0).[0]}} }

    }

    { { OP ITERATE }

       { BASIS 1 }

       { VAR %g1 }

       { TYPE group }

       { BODY {

          { { OP COMMENT }

               { COMMENT {TODO: Insert new actions here} }

           }

           { { OP PATHCOPY }

               { ERR 0 }

               { IN 1(%g1).0(0).OBR }

               { OUT 0(0).OBR }

           }

           { { OP COPY }

               { ERR 0 }

               { PRE {

                   echo ITERg1-past-first-PATHCOPY

                   set newOBR [lindex $xlateInVals 0]

                   set newOBR [string trimright $newOBR “LW”]

                   set xlateOutVals

                 }}

                 { IN {{1(%g1).0(0).OBR.00216.[0]}} }

                 { OUT {{0(0).OBR.00216.[0]}} }

             }

             { { OP COPY }

                 { ERR 0 }

                 { IN {{1(%g1).0(0).OBR.00238(0).[0]} =.} }

                 { OUT {{0(0).OBR.00238(0).[0]}} }

                 { COPYSEP {} }

             }

             { { OP COPY }

                 { ERR 0 }

                 { PRE {

                     xltp_ChkDocCode

                     xltp_pad_doc

                 }}

                 { IN {{1(%g1).0(0).OBR.00226(0).[0]}} }

                 { OUT {{0(0).OBR.00226(0).[0]}} }

             }

             { { OP COPY }

                 { ERR 0 }

                 { PRE {

                     echo CopyHM

                 }}

                 { IN =HM }

                 { OUT {{0(0).OBR.00257.[0]}} }

             }

             { { OP COPY }

                 { ERR 0 }

                 { IN {{1(%g1).0(0).OBR.00258.[0]}} }

                 { OUT {{0(0).OBR.00258.[0]}} }

             }

             { { OP COPY }

                 { ERR 0 }

                 { IN 1(%g1).0(0).OBR.00221(0) }

                 { OUT 0(0).OBR.00221(0) }

             }

             { { OP COPY }

                 { ERR 0 }

                 { PRE {

                     xltp_ChkDocCode

                     xltp_pad_doc

                 }}

                 { IN {{1(%g1).0(0).OBR.00260(0).[0]}} }

                 { OUT {{0(0).OBR.00260(0).[0]}} }

             }

             { { OP ITERATE }

                 { BASIS 1(%g1).1 }  (NOTE: does same if 1(0).1 )

                 { VAR %g2 }

                 { TYPE group }

                 { BODY {

                     { { OP PATHCOPY }

                         { ERR 0 }

                         { IN 1(%g1).1(%g2).OBX }

                         { OUT 1(%g2).OBX }

                     }

                     { { OP IF }

                         { ERR 0 }

                         { COND { 1(%g1).1(%g2).NTE(0).00098(0)  ne @null } }

                         { THENBODY {

                             { { OP COMMENT }

                                 { COMMENT {TODO: Insert new actions here} }

                         { THENBODY {

                             { { OP COMMENT }

                                 { COMMENT {TODO: Insert new actions here} }

                             }

                             { { OP PATHCOPY }

                                 { ERR 0 }

                                 { IN 1(%g1).1(%g2).NTE(0) }

                                 { OUT 1(%g2).NTE(0) }

                             }

                         }}

                         { ELSEBODY {

                         }}

                     }

                     { { OP CONTINUE } }

                 }}

             }

         }}

      }

      { { OP SUPPRESS } }

Viewing 1 reply thread
  • Author
    Replies
    • #57131
      Jonathan Hamilton
      Participant

      If the xlate works in xlatetest, but not routetest have you verified your Tcl procs to see if it is actually them kicking the errors (especially if you use GRM commands)?

      Also, have you made sure you have the correct xlate file specified in your route, I know it’s kinda obvious but it happens.

      Based, on your whole message I really think you have the wrong xlate file specified in the route detail, and/or the message is hitting a different route detail than you think.

    • #57132
      Dee Davis
      Participant

      Thanks, Jonathan — definitely needed a “cool head” look.  Too much happening here and this was a request by the vendor at the last minute.  We were trying to keep the “singles” working while getting the new translate.

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

Forum Statistics

Registered Users
5,126
Forums
28
Topics
9,297
Replies
34,440
Topic Tags
287
Empty Topic Tags
10