- This topic has 2 replies, 2 voices, and was last updated 19 years, 2 months ago by .
-
Topic
-
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 } }
- The forum ‘Cloverleaf’ is closed to new topics and replies.