LRMIPSZ4 ;DALOI/RBN - MICRO PATIENT REPORT - AFB, FUNGUS ;Jul 15, 2021@13:13
 ;;5.2;LAB SERVICE;**350,547**;Sep 27, 1994;Build 10
 ;
 ;Reference to ^DD supported by ICR #999
 ;
 Q
 ;
TB ;
 ; from LRMIPSZ1
 ; also called from RPT^LROR4
 N B,LRBLDTMP,LRQUIT,LRTA,LRX
 S (LRBLDTMP,LRQUIT)=0
 I '$D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT)) D  ;
 . S LRBLDTMP=1
 . M ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)=^LR(LRDFN,"MI",LRIDT)
 . K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT,32)
 ;
 I $P(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,11),U)="",'$G(LRLABKY) D  S:'$D(LRWRDVEW) LRQUIT=1 S:LRSB'=11 LRQUIT=1
 . Q:'$D(^XTMP("LRMICRO EDIT",LRDFN,LRIDT,11))
 . ;LR*5.2*547: Display informational message if accession/test is currently being edited
 . ;            and results had previously been verified.
 . N LR7SB S LR7SB=11
 . D MES^LRMIPSZ2
 ;
 I LRQUIT D  Q
 . I LRBLDTMP K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)
 ;
 S LRX=^TMP("LRMI",$J,LRDFN,"MI",LRIDT,11)
 S LRTUS=$P(LRX,U,2),DZ=$P(LRX,U,5),LRAFS=$P(LRX,U,3),LRAMT=$P(LRX,U,4),Y=$P(LRX,U)
 D D^LRU
 W:LRHC !
 W !,"* MYCOBACTERIOLOGY ",$S(LRTUS="F":"FINAL",LRTUS="P":"PRELIMINARY",1:"")," REPORT => "_Y_"   TECH CODE: "_DZ
 S LRPRE=23
 D PRE^LRMIPSU
 ;
 S LRTA=""
 I $O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,0)) S LRTA=0
 D:LRAFS'=""!(LRTA=0) AFS
 ;
 I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,13)) D  ;
 . W:LRHC !
 . W !,"Mycobacteriology Remark(s):"
 . D NP Q:LRABORT
 . S B=0
 . F  S B=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,13,B)) Q:B<1  W !,?3,^(B,0) D NP Q:LRABORT
 ;
 I LRBLDTMP K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)
 Q
 ;
 ;
AFS ; Acid Fast Stain results
 ;
 N LRX,X
 ;
 I LRAFS'="" D
 . S LRX="Acid Fast Stain:  "
 . I LRAFS?1(1"DP",1"DN",1"CP",1"CN") D
 . . S LRX=$S($E(LRAFS)="D":"Direct ",$E(LRAFS)="C":"Concentrate ",1:"")_LRX
 . . S LRX=LRX_$S($E(LRAFS,2)="P":"Positive",$E(LRAFS,2)="N":"Negative",1:LRAFS)
 . E  D
 . . S X=$$GET1^DIQ(63.05,LRIDT_","_LRDFN_",",24)
 . . I X'="" S LRX=LRX_X Q
 . . S LRX=LRX_LRAFS
 . W:LRHC ! W !,LRX
 . I LRAMT'="" W !,?3,"Quantity: ",LRAMT
 ;
 K ^TMP("LR",$J,"T"),LRTSTS
 ;
 I LRTA=0 D
 . S LRTSTS=0
 . F  S LRTA=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA)) Q:LRTA<1  D
 . . S (LRBUG(LRTA),LRTBC)=$P(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,0),U)
 . . S LRQU=$P(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,0),U,2)
 . . S LRTBC=$P(^LAB(61.2,LRTBC,0),U)
 . . D LIST
 ;
 Q
 ;
 ;
LIST ; List organisms
 ;
 N B,LRTB,LRTBA,LRTBS,LRX
 W:LRHC !
 D NP Q:LRABORT
 W !,"Mycobacterium: ",LRTBC
 D NP Q:LRABORT
 I LRQU'="" W !,?3,"Quantity: ",LRQU D NP Q:LRABORT
 S:$D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,2)) LRTSTS=LRTSTS+1
 I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA)) D  Q:LRABORT  ;
 . W !,"   Comment: "
 . D NP Q:LRABORT
 . S B=0
 . F  S B=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,1,B)) Q:B<1  W ?13,^(B,0),! D NP Q:LRABORT
 ;
 ;
SEN ; Display AFB sensitivities.
 ;
 S LRTB=2
 F  S LRTB=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,LRTB)) Q:LRTB'["2."!(LRTB="")  D  ;
 . S LRTBS=^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,LRTB)
 . I LRTBS="" Q
 . S LRTBA=""
 . I $D(^LAB(62.06,"AD1",LRTB)) D
 . . S LRX=$O(^LAB(62.06,"AD1",LRTB,0)),LRX(0)=""
 . . I LRX S LRX(0)=$G(^LAB(62.06,LRX,0))
 . . S LRTBA=$P(LRX(0),"^")
 . I LRTBA="" D
 . . S LRTBA=$O(^DD(63.39,"GL",LRTB,1,0))
 . . S LRTBA=$P(^DD(63.39,LRTBA,0),U)
 . W !,?3,$$LJ^XLFSTR(LRTBA,30,"."),?34,LRTBS
 Q
 ;
 ;
FUNG ;
 ; from LRMIPSZ1
 ; also called from RPT^LROR4
 N LRBLDTMP,LRQUIT
 S (LRBLDTMP,LRQUIT)=0
 I '$D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT)) D  ;
 . S LRBLDTMP=1
 . M ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)=^LR(LRDFN,"MI",LRIDT)
 . K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT,32)
 ;
 I $P(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,8),U)="",'$G(LRLABKY) D  S:'$D(LRWRDVEW) LRQUIT=1 S:LRSB'=8 LRQUIT=1
 . Q:'$D(^XTMP("LRMICRO EDIT",LRDFN,LRIDT,8))
 . ;LR*5.2*547: Display informational message if accession/test is currently being edited
 . ;            and results had previously been verified.
 . N LR7SB S LR7SB=8
 . D MES^LRMIPSZ2
 ;
 I LRQUIT D  Q
 . I LRBLDTMP K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)
 ;
 S LRTUS=$P(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,8),U,2)
 S DZ=$P(^(8),U,3),Y=$P(^(8),U)
 D D^LRU
 W:LRHC !
 D NP Q:LRABORT
 W !,"* MYCOLOGY ",$S(LRTUS="F":"FINAL",LRTUS="P":"PRELIMINARY",1:"")," REPORT => ",Y,"   TECH CODE: ",DZ
 D NP Q:LRABORT
 S LRPRE=22 D PRE^LRMIPSU
 D QA
 ;
 I LRBLDTMP K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)
 Q
 ;
 ;
QA ;
 ;
 I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,15)) D  ;
 . W:LRHC !
 . D NP Q:LRABORT
 . W !,"MYCOLOGY SMEAR/PREP:"
 . S LRMYC=0
 . F  S LRMYC=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,15,LRMYC)) Q:LRMYC<1  W !?5,^(LRMYC,0) D NP Q:LRABORT
 ;
 I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,9)) D  ;
 . W:LRHC !
 . D NP Q:LRABORT
 . W !,"Fungus/Yeast: "
 . D NP Q:LRABORT
 . D SHOW
 ;
 I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,10)) D  ;
 . W:LRHC !
 . D NP Q:LRABORT
 . W !,"Mycology Remark(s):"
 . D NP Q:LRABORT
 . S LRMYC=0
 . F  S LRMYC=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,10,LRMYC)) Q:LRMYC<1  W !,?3,^(LRMYC,0) D NP Q:LRABORT
 ;
 Q
 ;
 ;
SHOW ;
 ;
 S LRTA=0
 F  S LRTA=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,9,LRTA)) Q:LRTA?.N2A.E!(LRTA<1)  D
 . S LRTA=+LRTA
 . S (LRBUG(LRTA),LRTBC)=$P(^(LRTA,0),U)
 . S LRQU=$P(^(0),U,2)
 . S LRTBC=$P(^LAB(61.2,LRTBC,0),U)
 . D LIST1
 ;
 Q
 ;
 ;
LIST1 ;
 ;
 N B
 W !,LRTBC
 D NP Q:LRABORT
 I LRQU'="" W !,?3,"Quantity: ",LRQU
 D NP Q:LRABORT
 I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,9,LRTA,1,0)) D  ;
 . W !,?3,"Comment:"
 . S B=0
 . F  S B=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,9,LRTA,1,B)) Q:B<1  W ?13,^(B,0),! D NP Q:LRABORT
 Q
 ;
 ;
NP ;
 ; Convenience method
 D NP^LRMIPSZ1
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRMIPSZ4   5701     printed  Sep 23, 2025@19:52:55                                                                                                                                                                                                    Page 2
LRMIPSZ4  ;DALOI/RBN - MICRO PATIENT REPORT - AFB, FUNGUS ;Jul 15, 2021@13:13
 +1       ;;5.2;LAB SERVICE;**350,547**;Sep 27, 1994;Build 10
 +2       ;
 +3       ;Reference to ^DD supported by ICR #999
 +4       ;
 +5        QUIT 
 +6       ;
TB        ;
 +1       ; from LRMIPSZ1
 +2       ; also called from RPT^LROR4
 +3        NEW B,LRBLDTMP,LRQUIT,LRTA,LRX
 +4        SET (LRBLDTMP,LRQUIT)=0
 +5       ;
           IF '$DATA(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT))
               Begin DoDot:1
 +6                SET LRBLDTMP=1
 +7                MERGE ^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT)=^LR(LRDFN,"MI",LRIDT)
 +8                KILL ^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,32)
               End DoDot:1
 +9       ;
 +10       IF $PIECE(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,11),U)=""
               IF '$GET(LRLABKY)
                   Begin DoDot:1
 +11                   if '$DATA(^XTMP("LRMICRO EDIT",LRDFN,LRIDT,11))
                           QUIT 
 +12      ;LR*5.2*547: Display informational message if accession/test is currently being edited
 +13      ;            and results had previously been verified.
 +14                   NEW LR7SB
                       SET LR7SB=11
 +15                   DO MES^LRMIPSZ2
                   End DoDot:1
                   if '$DATA(LRWRDVEW)
                       SET LRQUIT=1
                   if LRSB'=11
                       SET LRQUIT=1
 +16      ;
 +17       IF LRQUIT
               Begin DoDot:1
 +18               IF LRBLDTMP
                       KILL ^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT)
               End DoDot:1
               QUIT 
 +19      ;
 +20       SET LRX=^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,11)
 +21       SET LRTUS=$PIECE(LRX,U,2)
           SET DZ=$PIECE(LRX,U,5)
           SET LRAFS=$PIECE(LRX,U,3)
           SET LRAMT=$PIECE(LRX,U,4)
           SET Y=$PIECE(LRX,U)
 +22       DO D^LRU
 +23       if LRHC
               WRITE !
 +24       WRITE !,"* MYCOBACTERIOLOGY ",$SELECT(LRTUS="F":"FINAL",LRTUS="P":"PRELIMINARY",1:"")," REPORT => "_Y_"   TECH CODE: "_DZ
 +25       SET LRPRE=23
 +26       DO PRE^LRMIPSU
 +27      ;
 +28       SET LRTA=""
 +29       IF $ORDER(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,12,0))
               SET LRTA=0
 +30       if LRAFS'=""!(LRTA=0)
               DO AFS
 +31      ;
 +32      ;
           IF $DATA(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,13))
               Begin DoDot:1
 +33               if LRHC
                       WRITE !
 +34               WRITE !,"Mycobacteriology Remark(s):"
 +35               DO NP
                   if LRABORT
                       QUIT 
 +36               SET B=0
 +37               FOR 
                       SET B=+$ORDER(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,13,B))
                       if B<1
                           QUIT 
                       WRITE !,?3,^(B,0)
                       DO NP
                       if LRABORT
                           QUIT 
               End DoDot:1
 +38      ;
 +39       IF LRBLDTMP
               KILL ^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT)
 +40       QUIT 
 +41      ;
 +42      ;
AFS       ; Acid Fast Stain results
 +1       ;
 +2        NEW LRX,X
 +3       ;
 +4        IF LRAFS'=""
               Begin DoDot:1
 +5                SET LRX="Acid Fast Stain:  "
 +6                IF LRAFS?1(1"DP",1"DN",1"CP",1"CN")
                       Begin DoDot:2
 +7                        SET LRX=$SELECT($EXTRACT(LRAFS)="D":"Direct ",$EXTRACT(LRAFS)="C":"Concentrate ",1:"")_LRX
 +8                        SET LRX=LRX_$SELECT($EXTRACT(LRAFS,2)="P":"Positive",$EXTRACT(LRAFS,2)="N":"Negative",1:LRAFS)
                       End DoDot:2
 +9               IF '$TEST
                       Begin DoDot:2
 +10                       SET X=$$GET1^DIQ(63.05,LRIDT_","_LRDFN_",",24)
 +11                       IF X'=""
                               SET LRX=LRX_X
                               QUIT 
 +12                       SET LRX=LRX_LRAFS
                       End DoDot:2
 +13               if LRHC
                       WRITE !
                   WRITE !,LRX
 +14               IF LRAMT'=""
                       WRITE !,?3,"Quantity: ",LRAMT
               End DoDot:1
 +15      ;
 +16       KILL ^TMP("LR",$JOB,"T"),LRTSTS
 +17      ;
 +18       IF LRTA=0
               Begin DoDot:1
 +19               SET LRTSTS=0
 +20               FOR 
                       SET LRTA=+$ORDER(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,12,LRTA))
                       if LRTA<1
                           QUIT 
                       Begin DoDot:2
 +21                       SET (LRBUG(LRTA),LRTBC)=$PIECE(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,12,LRTA,0),U)
 +22                       SET LRQU=$PIECE(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,12,LRTA,0),U,2)
 +23                       SET LRTBC=$PIECE(^LAB(61.2,LRTBC,0),U)
 +24                       DO LIST
                       End DoDot:2
               End DoDot:1
 +25      ;
 +26       QUIT 
 +27      ;
 +28      ;
LIST      ; List organisms
 +1       ;
 +2        NEW B,LRTB,LRTBA,LRTBS,LRX
 +3        if LRHC
               WRITE !
 +4        DO NP
           if LRABORT
               QUIT 
 +5        WRITE !,"Mycobacterium: ",LRTBC
 +6        DO NP
           if LRABORT
               QUIT 
 +7        IF LRQU'=""
               WRITE !,?3,"Quantity: ",LRQU
               DO NP
               if LRABORT
                   QUIT 
 +8        if $DATA(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,12,LRTA,2))
               SET LRTSTS=LRTSTS+1
 +9       ;
           IF $DATA(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,12,LRTA))
               Begin DoDot:1
 +10               WRITE !,"   Comment: "
 +11               DO NP
                   if LRABORT
                       QUIT 
 +12               SET B=0
 +13               FOR 
                       SET B=+$ORDER(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,12,LRTA,1,B))
                       if B<1
                           QUIT 
                       WRITE ?13,^(B,0),!
                       DO NP
                       if LRABORT
                           QUIT 
               End DoDot:1
               if LRABORT
                   QUIT 
 +14      ;
 +15      ;
SEN       ; Display AFB sensitivities.
 +1       ;
 +2        SET LRTB=2
 +3       ;
           FOR 
               SET LRTB=+$ORDER(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,12,LRTA,LRTB))
               if LRTB'["2."!(LRTB="")
                   QUIT 
               Begin DoDot:1
 +4                SET LRTBS=^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,12,LRTA,LRTB)
 +5                IF LRTBS=""
                       QUIT 
 +6                SET LRTBA=""
 +7                IF $DATA(^LAB(62.06,"AD1",LRTB))
                       Begin DoDot:2
 +8                        SET LRX=$ORDER(^LAB(62.06,"AD1",LRTB,0))
                           SET LRX(0)=""
 +9                        IF LRX
                               SET LRX(0)=$GET(^LAB(62.06,LRX,0))
 +10                       SET LRTBA=$PIECE(LRX(0),"^")
                       End DoDot:2
 +11               IF LRTBA=""
                       Begin DoDot:2
 +12                       SET LRTBA=$ORDER(^DD(63.39,"GL",LRTB,1,0))
 +13                       SET LRTBA=$PIECE(^DD(63.39,LRTBA,0),U)
                       End DoDot:2
 +14               WRITE !,?3,$$LJ^XLFSTR(LRTBA,30,"."),?34,LRTBS
               End DoDot:1
 +15       QUIT 
 +16      ;
 +17      ;
FUNG      ;
 +1       ; from LRMIPSZ1
 +2       ; also called from RPT^LROR4
 +3        NEW LRBLDTMP,LRQUIT
 +4        SET (LRBLDTMP,LRQUIT)=0
 +5       ;
           IF '$DATA(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT))
               Begin DoDot:1
 +6                SET LRBLDTMP=1
 +7                MERGE ^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT)=^LR(LRDFN,"MI",LRIDT)
 +8                KILL ^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,32)
               End DoDot:1
 +9       ;
 +10       IF $PIECE(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,8),U)=""
               IF '$GET(LRLABKY)
                   Begin DoDot:1
 +11                   if '$DATA(^XTMP("LRMICRO EDIT",LRDFN,LRIDT,8))
                           QUIT 
 +12      ;LR*5.2*547: Display informational message if accession/test is currently being edited
 +13      ;            and results had previously been verified.
 +14                   NEW LR7SB
                       SET LR7SB=8
 +15                   DO MES^LRMIPSZ2
                   End DoDot:1
                   if '$DATA(LRWRDVEW)
                       SET LRQUIT=1
                   if LRSB'=8
                       SET LRQUIT=1
 +16      ;
 +17       IF LRQUIT
               Begin DoDot:1
 +18               IF LRBLDTMP
                       KILL ^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT)
               End DoDot:1
               QUIT 
 +19      ;
 +20       SET LRTUS=$PIECE(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,8),U,2)
 +21       SET DZ=$PIECE(^(8),U,3)
           SET Y=$PIECE(^(8),U)
 +22       DO D^LRU
 +23       if LRHC
               WRITE !
 +24       DO NP
           if LRABORT
               QUIT 
 +25       WRITE !,"* MYCOLOGY ",$SELECT(LRTUS="F":"FINAL",LRTUS="P":"PRELIMINARY",1:"")," REPORT => ",Y,"   TECH CODE: ",DZ
 +26       DO NP
           if LRABORT
               QUIT 
 +27       SET LRPRE=22
           DO PRE^LRMIPSU
 +28       DO QA
 +29      ;
 +30       IF LRBLDTMP
               KILL ^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT)
 +31       QUIT 
 +32      ;
 +33      ;
QA        ;
 +1       ;
 +2       ;
           IF $DATA(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,15))
               Begin DoDot:1
 +3                if LRHC
                       WRITE !
 +4                DO NP
                   if LRABORT
                       QUIT 
 +5                WRITE !,"MYCOLOGY SMEAR/PREP:"
 +6                SET LRMYC=0
 +7                FOR 
                       SET LRMYC=+$ORDER(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,15,LRMYC))
                       if LRMYC<1
                           QUIT 
                       WRITE !?5,^(LRMYC,0)
                       DO NP
                       if LRABORT
                           QUIT 
               End DoDot:1
 +8       ;
 +9       ;
           IF $DATA(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,9))
               Begin DoDot:1
 +10               if LRHC
                       WRITE !
 +11               DO NP
                   if LRABORT
                       QUIT 
 +12               WRITE !,"Fungus/Yeast: "
 +13               DO NP
                   if LRABORT
                       QUIT 
 +14               DO SHOW
               End DoDot:1
 +15      ;
 +16      ;
           IF $DATA(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,10))
               Begin DoDot:1
 +17               if LRHC
                       WRITE !
 +18               DO NP
                   if LRABORT
                       QUIT 
 +19               WRITE !,"Mycology Remark(s):"
 +20               DO NP
                   if LRABORT
                       QUIT 
 +21               SET LRMYC=0
 +22               FOR 
                       SET LRMYC=+$ORDER(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,10,LRMYC))
                       if LRMYC<1
                           QUIT 
                       WRITE !,?3,^(LRMYC,0)
                       DO NP
                       if LRABORT
                           QUIT 
               End DoDot:1
 +23      ;
 +24       QUIT 
 +25      ;
 +26      ;
SHOW      ;
 +1       ;
 +2        SET LRTA=0
 +3        FOR 
               SET LRTA=+$ORDER(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,9,LRTA))
               if LRTA?.N2A.E!(LRTA<1)
                   QUIT 
               Begin DoDot:1
 +4                SET LRTA=+LRTA
 +5                SET (LRBUG(LRTA),LRTBC)=$PIECE(^(LRTA,0),U)
 +6                SET LRQU=$PIECE(^(0),U,2)
 +7                SET LRTBC=$PIECE(^LAB(61.2,LRTBC,0),U)
 +8                DO LIST1
               End DoDot:1
 +9       ;
 +10       QUIT 
 +11      ;
 +12      ;
LIST1     ;
 +1       ;
 +2        NEW B
 +3        WRITE !,LRTBC
 +4        DO NP
           if LRABORT
               QUIT 
 +5        IF LRQU'=""
               WRITE !,?3,"Quantity: ",LRQU
 +6        DO NP
           if LRABORT
               QUIT 
 +7       ;
           IF $DATA(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,9,LRTA,1,0))
               Begin DoDot:1
 +8                WRITE !,?3,"Comment:"
 +9                SET B=0
 +10               FOR 
                       SET B=+$ORDER(^TMP("LRMI",$JOB,LRDFN,"MI",LRIDT,9,LRTA,1,B))
                       if B<1
                           QUIT 
                       WRITE ?13,^(B,0),!
                       DO NP
                       if LRABORT
                           QUIT 
               End DoDot:1
 +11       QUIT 
 +12      ;
 +13      ;
NP        ;
 +1       ; Convenience method
 +2        DO NP^LRMIPSZ1
 +3        QUIT