- LRLNCTOP ;DALOI/RH-LEDI HL7 CODES ;11-OCT-1998
- ;;5.2T9;LR;**1018**;Nov 17, 2004
- ;;5.2;LAB SERVICE;**215,232**;Sep 27,1994
- EN ;
- W @IOF
- W !,$$CJ^XLFSTR("This option prints a list of SITE/SPECIMENS from the LABORATORY TEST FILE",IOM)
- W !,$$CJ^XLFSTR(" Standard LEDI HL7 specimen codes in the Topography file.",IOM)
- W !,$$CJ^XLFSTR("You will be prompted to print the specimen with or without the LEDI HL7 codes; ",IOM)
- WHICH ;
- W !!
- W !,"Print Topography with or without a LEDI HL7 CODE and Time Aspect."
- K DIR S DIR("?")="Print Topography with or without a LEDI HL7 CODE and Time Aspect"
- S DIR(0)="S^1:WITH;2:WITHOUT" D ^DIR K DIR
- S LRANS=Y
- I $D(DIRUT) G EXIT Q
- K %ZIS S %ZIS="Q" D ^%ZIS G:POP EXIT
- I $D(IO("Q")) D QUE Q
- U IO D START,^%ZISC Q
- QUE ;
- S ZTRTN="START^LRLNCTOP",ZTDESC="TOPOGRAPHY REPORT"
- S ZTSAVE("LRANS")=""
- D ^%ZTLOAD
- I $D(ZTSK)'[0 W !,"REQUEST QUEUED TO ",ION
- D HOME^%ZIS K IO("Q") Q
- START ;BEGINS PRINTING THE REPORT
- I LRANS=1 D ALPHA
- I LRANS=2 D EN2
- D EXIT
- Q
- ALPHA ;PRINTS THE ALPHABETIC LISTING OF SPECIMEN THAT HAVE A LEDI HL7 CODE IN THE TOPOGRAPHY FILE
- D INI,HDR1,EQUALS^LRX
- S LRTOP="^LAB(61,""B"",0)"
- F S LRTOP=$Q(@LRTOP) Q:$QS(LRTOP,2)'="B" Q:$G(LREND) D
- . I $G(@LRTOP)!($G(LREND)) Q
- . S LRIEN=+$QS(LRTOP,4)
- . S LRY=$G(^LAB(61,LRIEN,0)) Q:'$L(LRY)
- . I $Y+4>IOSL D HDR D:'LREND HDR1,EQUALS^LRX Q:$G(LREND)
- . Q:'$P($G(^LAB(61,LRIEN,0)),U,9)!('$P($G(^LAB(61,LRIEN,0)),U,10))
- . W !?3,"[",$J(LRIEN,4),"]",?11,$E($P(LRY,U),1,20)
- . S LRIEN=$P(LRY,U,9) Q:'$D(^LAB(64.061,LRIEN,0))#2
- . W ?33,$E($P(^LAB(64.061,LRIEN,0),U),1,20)_"|"_$$GET1^DIQ(64.061,+$P(LRY,U,10),1)
- Q
- EN2 ;PRINTS THE SPECIMEN THAT DO NOT HAVE A LEDI HL7 CODE
- D INI,HDR2,EQUALS^LRX
- S LRNODE="^LAB(60,""B"",0)"
- F S LRNODE=$Q(@LRNODE) Q:$QS(LRNODE,2)'="B" Q:$G(LREND) D
- . I $G(@LRNODE)!($G(LREND)) Q
- . S LRI=+$QS(LRNODE,4)
- . S LRX=$G(^LAB(60,LRI,0)) Q:'$L($P(LRX,U))!($P(LRX,U,3)="")!($P(LRX,U,3)="N")
- . S LRIEN=0 F S LRIEN=$O(^LAB(60,LRI,1,LRIEN)) Q:LRIEN<1!$G(LREND) D
- .. S LRY=$G(^LAB(61,LRIEN,0)) Q:$P(LRY,U)=""
- .. I $P(LRY,U,9) Q
- .. I $Y+5>IOSL D HDR D:'LREND HDR2,EQUALS^LRX Q:$G(LREND)
- .. W !
- .. W:LRTEST'=$P(LRX,U) ?5,$P(LRX,U)
- .. W ?37,$E($P(LRY,U),1,30)
- .. S LRTEST=$P(LRX,U)
- Q
- INI ;INITIALIZE VARIABLES
- S (LREND,LRPAGE)=0,LRTEST="" W:$E(IOST,1,2)="C-" @IOF
- HDR ;PRINT HEADING
- I LRPAGE,$E(IOST,1,2)="C-" W !,"Press RETURN to continue or '^' to exit: " R LRN:DTIME S LREND='$T!(LRN="^") Q:LREND
- S LRPAGE=LRPAGE+1
- S LRDT=$$FMTE^XLFDT($$NOW^XLFDT,"Z5M")
- Q
- HDR1 ;PRINT HEADING FOR SPECIMENS WITH A LEDI HL7 CODE
- W @IOF
- W !?50,LRDT,?(IOM-10)," Page ",$J(LRPAGE,3)
- W !
- W !,$$CJ^XLFSTR("A LISTING FROM THE TOPOGRAPHY FILE OF SPECIMENS WITH LEDI HL7 CODE",IOM)
- W !,$$CJ^XLFSTR("AND HAVE TIME ASPECT ENTERED",IOM)
- W !
- W !?3,"FILE 61"
- W !?4,"[IEN]",?11,"SITE/SPECIMEN",?32,"ELEC CODE NAME|TIME ASPECT"
- Q
- HDR2 ;PRINT HEADING FOR TESTS WITHOUT A LEDI HL7 CODE
- W @IOF
- W !?50,LRDT,?(IOM-10)," Page ",$J(LRPAGE,3)
- W !!?23,"LAB SPECIMEN WITHOUT LEDI HL7 CODE"
- W !,$$CJ^XLFSTR("THESE SPECIMENS NEED LEDI HL7 CODES DEFINED IN THE TOPOGRAPHY FILE",IOM)
- W !!?5,"LAB TEST NAME",?37,"SITE/SPECIMEN"
- Q
- EXIT ;
- S:$D(ZTQUEUED) ZTREQ="@"
- K LREND,LRPAGE,LRI,LRX,LRANS,LRY,LRDT,LRIEN,LRTEST
- K DIR,DIRUT,DUOUT,ZTIO,ZTDESC,ZTRTN,ZTSAVE
- K LRN,Y,POP,ZTSK,ZTQUEUED,ZTREQ
- Q
- LRLNCTOP ;DALOI/RH-LEDI HL7 CODES ;11-OCT-1998
- +1 ;;5.2T9;LR;**1018**;Nov 17, 2004
- +2 ;;5.2;LAB SERVICE;**215,232**;Sep 27,1994
- EN ;
- +1 WRITE @IOF
- +2 WRITE !,$$CJ^XLFSTR("This option prints a list of SITE/SPECIMENS from the LABORATORY TEST FILE",IOM)
- +3 WRITE !,$$CJ^XLFSTR(" Standard LEDI HL7 specimen codes in the Topography file.",IOM)
- +4 WRITE !,$$CJ^XLFSTR("You will be prompted to print the specimen with or without the LEDI HL7 codes; ",IOM)
- WHICH ;
- +1 WRITE !!
- +2 WRITE !,"Print Topography with or without a LEDI HL7 CODE and Time Aspect."
- +3 KILL DIR
- SET DIR("?")="Print Topography with or without a LEDI HL7 CODE and Time Aspect"
- +4 SET DIR(0)="S^1:WITH;2:WITHOUT"
- DO ^DIR
- KILL DIR
- +5 SET LRANS=Y
- +6 IF $DATA(DIRUT)
- GOTO EXIT
- QUIT
- +7 KILL %ZIS
- SET %ZIS="Q"
- DO ^%ZIS
- IF POP
- GOTO EXIT
- +8 IF $DATA(IO("Q"))
- DO QUE
- QUIT
- +9 USE IO
- DO START
- DO ^%ZISC
- QUIT
- QUE ;
- +1 SET ZTRTN="START^LRLNCTOP"
- SET ZTDESC="TOPOGRAPHY REPORT"
- +2 SET ZTSAVE("LRANS")=""
- +3 DO ^%ZTLOAD
- +4 IF $DATA(ZTSK)'[0
- WRITE !,"REQUEST QUEUED TO ",ION
- +5 DO HOME^%ZIS
- KILL IO("Q")
- QUIT
- START ;BEGINS PRINTING THE REPORT
- +1 IF LRANS=1
- DO ALPHA
- +2 IF LRANS=2
- DO EN2
- +3 DO EXIT
- +4 QUIT
- ALPHA ;PRINTS THE ALPHABETIC LISTING OF SPECIMEN THAT HAVE A LEDI HL7 CODE IN THE TOPOGRAPHY FILE
- +1 DO INI
- DO HDR1
- DO EQUALS^LRX
- +2 SET LRTOP="^LAB(61,""B"",0)"
- +3 FOR
- SET LRTOP=$QUERY(@LRTOP)
- IF $QSUBSCRIPT(LRTOP,2)'="B"
- QUIT
- IF $GET(LREND)
- QUIT
- Begin DoDot:1
- +4 IF $GET(@LRTOP)!($GET(LREND))
- QUIT
- +5 SET LRIEN=+$QSUBSCRIPT(LRTOP,4)
- +6 SET LRY=$GET(^LAB(61,LRIEN,0))
- IF '$LENGTH(LRY)
- QUIT
- +7 IF $Y+4>IOSL
- DO HDR
- IF 'LREND
- DO HDR1
- DO EQUALS^LRX
- IF $GET(LREND)
- QUIT
- +8 IF '$PIECE($GET(^LAB(61,LRIEN,0)),U,9)!('$PIECE($GET(^LAB(61,LRIEN,0)),U,10))
- QUIT
- +9 WRITE !?3,"[",$JUSTIFY(LRIEN,4),"]",?11,$EXTRACT($PIECE(LRY,U),1,20)
- +10 SET LRIEN=$PIECE(LRY,U,9)
- IF '$DATA(^LAB(64.061,LRIEN,0))#2
- QUIT
- +11 WRITE ?33,$EXTRACT($PIECE(^LAB(64.061,LRIEN,0),U),1,20)_"|"_$$GET1^DIQ(64.061,+$PIECE(LRY,U,10),1)
- End DoDot:1
- +12 QUIT
- EN2 ;PRINTS THE SPECIMEN THAT DO NOT HAVE A LEDI HL7 CODE
- +1 DO INI
- DO HDR2
- DO EQUALS^LRX
- +2 SET LRNODE="^LAB(60,""B"",0)"
- +3 FOR
- SET LRNODE=$QUERY(@LRNODE)
- IF $QSUBSCRIPT(LRNODE,2)'="B"
- QUIT
- IF $GET(LREND)
- QUIT
- Begin DoDot:1
- +4 IF $GET(@LRNODE)!($GET(LREND))
- QUIT
- +5 SET LRI=+$QSUBSCRIPT(LRNODE,4)
- +6 SET LRX=$GET(^LAB(60,LRI,0))
- IF '$LENGTH($PIECE(LRX,U))!($PIECE(LRX,U,3)="")!($PIECE(LRX,U,3)="N")
- QUIT
- +7 SET LRIEN=0
- FOR
- SET LRIEN=$ORDER(^LAB(60,LRI,1,LRIEN))
- IF LRIEN<1!$GET(LREND)
- QUIT
- Begin DoDot:2
- +8 SET LRY=$GET(^LAB(61,LRIEN,0))
- IF $PIECE(LRY,U)=""
- QUIT
- +9 IF $PIECE(LRY,U,9)
- QUIT
- +10 IF $Y+5>IOSL
- DO HDR
- IF 'LREND
- DO HDR2
- DO EQUALS^LRX
- IF $GET(LREND)
- QUIT
- +11 WRITE !
- +12 IF LRTEST'=$PIECE(LRX,U)
- WRITE ?5,$PIECE(LRX,U)
- +13 WRITE ?37,$EXTRACT($PIECE(LRY,U),1,30)
- +14 SET LRTEST=$PIECE(LRX,U)
- End DoDot:2
- End DoDot:1
- +15 QUIT
- INI ;INITIALIZE VARIABLES
- +1 SET (LREND,LRPAGE)=0
- SET LRTEST=""
- IF $EXTRACT(IOST,1,2)="C-"
- WRITE @IOF
- HDR ;PRINT HEADING
- +1 IF LRPAGE
- IF $EXTRACT(IOST,1,2)="C-"
- WRITE !,"Press RETURN to continue or '^' to exit: "
- READ LRN:DTIME
- SET LREND='$TEST!(LRN="^")
- IF LREND
- QUIT
- +2 SET LRPAGE=LRPAGE+1
- +3 SET LRDT=$$FMTE^XLFDT($$NOW^XLFDT,"Z5M")
- +4 QUIT
- HDR1 ;PRINT HEADING FOR SPECIMENS WITH A LEDI HL7 CODE
- +1 WRITE @IOF
- +2 WRITE !?50,LRDT,?(IOM-10)," Page ",$JUSTIFY(LRPAGE,3)
- +3 WRITE !
- +4 WRITE !,$$CJ^XLFSTR("A LISTING FROM THE TOPOGRAPHY FILE OF SPECIMENS WITH LEDI HL7 CODE",IOM)
- +5 WRITE !,$$CJ^XLFSTR("AND HAVE TIME ASPECT ENTERED",IOM)
- +6 WRITE !
- +7 WRITE !?3,"FILE 61"
- +8 WRITE !?4,"[IEN]",?11,"SITE/SPECIMEN",?32,"ELEC CODE NAME|TIME ASPECT"
- +9 QUIT
- HDR2 ;PRINT HEADING FOR TESTS WITHOUT A LEDI HL7 CODE
- +1 WRITE @IOF
- +2 WRITE !?50,LRDT,?(IOM-10)," Page ",$JUSTIFY(LRPAGE,3)
- +3 WRITE !!?23,"LAB SPECIMEN WITHOUT LEDI HL7 CODE"
- +4 WRITE !,$$CJ^XLFSTR("THESE SPECIMENS NEED LEDI HL7 CODES DEFINED IN THE TOPOGRAPHY FILE",IOM)
- +5 WRITE !!?5,"LAB TEST NAME",?37,"SITE/SPECIMEN"
- +6 QUIT
- EXIT ;
- +1 IF $DATA(ZTQUEUED)
- SET ZTREQ="@"
- +2 KILL LREND,LRPAGE,LRI,LRX,LRANS,LRY,LRDT,LRIEN,LRTEST
- +3 KILL DIR,DIRUT,DUOUT,ZTIO,ZTDESC,ZTRTN,ZTSAVE
- +4 KILL LRN,Y,POP,ZTSK,ZTQUEUED,ZTREQ
- +5 QUIT