example
OBR 3 111;RAD~112;RAD
OBR 4 1004;Ankle~1105;Knee
So this would create 2 messages with first message having OBR3 111;Knee OBR4 1004;Ankle
2nd message OBR3 112;RAD OBR4 1105
prologue
xlt_infile: hl7 2.3 Regional_Trans ORU
who: rparnell
date: March 25, 2008 12:56:01 PM EST
xlt_outfile: hl7 2.3 Star ORU
type: xlt
version: 5.0
end_prologue
{ { OP DATECOPYOPT }
{ ADDPREC 0 }
{ FABRICATE 1 }
{ USECURTM 1 }
{ RANGE {49 20 19} }
{ TMDEFS {01 01 00 00 00 0000 +0000} }
{ DELIMIT {/ :} }
}
{ { OP PATHCOPY }
{ ERR 0 }
{ IN 0(0).MSH }
{ OUT 0(0).MSH }
}
{ { OP PATHCOPY }
{ ERR 0 }
{ IN 1(0).0(0).0(0).PID }
{ OUT 1(0).0(0).0(0).PID }
}
{ { OP PATHCOPY }
{ ERR 0 }
{ IN 1(0).1(0).0(0).OBR }
{ OUT 1(0).1(0).0(0).OBR }
}
{ { OP IF }
{ ERR 0 }
{ COND { 1(0).1(0).0(0).OBR.00258.[0] eq =F || 1(0).1(0).0(0).OBR.00258.[0] eq =S} }
{ THENBODY {
{ { OP COPY }
{ ERR 0 }
{ IN =F }
{ OUT {{1(0).1(0).0(0).OBR.00258.[0]}} }
}
}}
{ ELSEBODY {
{ { OP IF }
{ ERR 0 }
{ COND { 1(0).1(0).0(0).OBR.00258.[0] eq =D} }
{ THENBODY {
{ { OP COPY }
{ ERR 0 }
{ IN =P }
{ OUT {{1(0).1(0).0(0).OBR.00258.[0]}} }
}
}}
{ ELSEBODY {
}}
}
}}
}
{ { OP IF }
{ ERR 0 }
{ COND { 1(0).1(0).0(0).OBR.00258.[1] eq =A && 1(0).1(0).0(0).OBR.00258.[0] ne =S} }
{ THENBODY {
{ { OP COPY }
{ ERR 0 }
{ IN =A }
{ OUT {{1(0).1(0).0(0).OBR.00258.[0]}} }
}
}}
{ ELSEBODY {
}}
}
{ { OP SUPPRESS } }
{ { OP ITERATE }
{ BASIS 1(0).1(0).1 }
{ VAR %g1 }
{ TYPE group }
{ BODY {
{ { OP PATHCOPY }
{ ERR 0 }
{ IN 1(0).1(0).1(%g1).OBX }
{ OUT 1(0).1(0).1(%g1).OBX }
}
}}
}
{ { OP ITERATE }
{ BASIS 1(0).1(0).0(0).OBR.00216 }
{ VAR %f1 }
{ TYPE field }
{ BODY {
{ { OP IF }
{ ERR 0 }
{ COND { 1(0).1(0).0(0).OBR.00216(%f1).[0] ne @null} }
{ THENBODY {
{ { OP COPY }
{ ERR 0 }
{ IN 1(0).1(0).0(0).OBR.00216(%f1) }
{ OUT 1(0).1(0).0(0).OBR.00217 }
}
{ { OP CONTINUE } }
}}
{ ELSEBODY {
}}
}
}}
}