creating multiple oru off one oru

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf creating multiple oru off one oru

  • Creator
    Topic
  • #49930
    Rob Parnell
    Participant

      I have everything working but I am stump with my second iteration  I have OBR3 repeat as well as OBR 4.  I have it creating multiple messages and OBR3 populating each message with the correct data but i am missing how to also do OBR 4 as well.  Not sure where to put the iterate for teh second field to repeat

      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 {

                 }}

             }

         }}

      }

    • The forum ‘Cloverleaf’ is closed to new topics and replies.