Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: LRMIPSZ4

LRMIPSZ4.m

Go to the documentation of this file.
  1. 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
  1. ;
  1. ;Reference to ^DD supported by ICR #999
  1. ;
  1. Q
  1. ;
  1. TB ;
  1. ; from LRMIPSZ1
  1. ; also called from RPT^LROR4
  1. N B,LRBLDTMP,LRQUIT,LRTA,LRX
  1. S (LRBLDTMP,LRQUIT)=0
  1. I '$D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT)) D ;
  1. . S LRBLDTMP=1
  1. . M ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)=^LR(LRDFN,"MI",LRIDT)
  1. . K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT,32)
  1. ;
  1. I $P(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,11),U)="",'$G(LRLABKY) D S:'$D(LRWRDVEW) LRQUIT=1 S:LRSB'=11 LRQUIT=1
  1. . Q:'$D(^XTMP("LRMICRO EDIT",LRDFN,LRIDT,11))
  1. . ;LR*5.2*547: Display informational message if accession/test is currently being edited
  1. . ; and results had previously been verified.
  1. . N LR7SB S LR7SB=11
  1. . D MES^LRMIPSZ2
  1. ;
  1. I LRQUIT D Q
  1. . I LRBLDTMP K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)
  1. ;
  1. S LRX=^TMP("LRMI",$J,LRDFN,"MI",LRIDT,11)
  1. 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)
  1. D D^LRU
  1. W:LRHC !
  1. W !,"* MYCOBACTERIOLOGY ",$S(LRTUS="F":"FINAL",LRTUS="P":"PRELIMINARY",1:"")," REPORT => "_Y_" TECH CODE: "_DZ
  1. S LRPRE=23
  1. D PRE^LRMIPSU
  1. ;
  1. S LRTA=""
  1. I $O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,0)) S LRTA=0
  1. D:LRAFS'=""!(LRTA=0) AFS
  1. ;
  1. I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,13)) D ;
  1. . W:LRHC !
  1. . W !,"Mycobacteriology Remark(s):"
  1. . D NP Q:LRABORT
  1. . S B=0
  1. . F S B=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,13,B)) Q:B<1 W !,?3,^(B,0) D NP Q:LRABORT
  1. ;
  1. I LRBLDTMP K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)
  1. Q
  1. ;
  1. ;
  1. AFS ; Acid Fast Stain results
  1. ;
  1. N LRX,X
  1. ;
  1. I LRAFS'="" D
  1. . S LRX="Acid Fast Stain: "
  1. . I LRAFS?1(1"DP",1"DN",1"CP",1"CN") D
  1. . . S LRX=$S($E(LRAFS)="D":"Direct ",$E(LRAFS)="C":"Concentrate ",1:"")_LRX
  1. . . S LRX=LRX_$S($E(LRAFS,2)="P":"Positive",$E(LRAFS,2)="N":"Negative",1:LRAFS)
  1. . E D
  1. . . S X=$$GET1^DIQ(63.05,LRIDT_","_LRDFN_",",24)
  1. . . I X'="" S LRX=LRX_X Q
  1. . . S LRX=LRX_LRAFS
  1. . W:LRHC ! W !,LRX
  1. . I LRAMT'="" W !,?3,"Quantity: ",LRAMT
  1. ;
  1. K ^TMP("LR",$J,"T"),LRTSTS
  1. ;
  1. I LRTA=0 D
  1. . S LRTSTS=0
  1. . F S LRTA=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA)) Q:LRTA<1 D
  1. . . S (LRBUG(LRTA),LRTBC)=$P(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,0),U)
  1. . . S LRQU=$P(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,0),U,2)
  1. . . S LRTBC=$P(^LAB(61.2,LRTBC,0),U)
  1. . . D LIST
  1. ;
  1. Q
  1. ;
  1. ;
  1. LIST ; List organisms
  1. ;
  1. N B,LRTB,LRTBA,LRTBS,LRX
  1. W:LRHC !
  1. D NP Q:LRABORT
  1. W !,"Mycobacterium: ",LRTBC
  1. D NP Q:LRABORT
  1. I LRQU'="" W !,?3,"Quantity: ",LRQU D NP Q:LRABORT
  1. S:$D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,2)) LRTSTS=LRTSTS+1
  1. I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA)) D Q:LRABORT ;
  1. . W !," Comment: "
  1. . D NP Q:LRABORT
  1. . S B=0
  1. . 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
  1. ;
  1. ;
  1. SEN ; Display AFB sensitivities.
  1. ;
  1. S LRTB=2
  1. F S LRTB=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,LRTB)) Q:LRTB'["2."!(LRTB="") D ;
  1. . S LRTBS=^TMP("LRMI",$J,LRDFN,"MI",LRIDT,12,LRTA,LRTB)
  1. . I LRTBS="" Q
  1. . S LRTBA=""
  1. . I $D(^LAB(62.06,"AD1",LRTB)) D
  1. . . S LRX=$O(^LAB(62.06,"AD1",LRTB,0)),LRX(0)=""
  1. . . I LRX S LRX(0)=$G(^LAB(62.06,LRX,0))
  1. . . S LRTBA=$P(LRX(0),"^")
  1. . I LRTBA="" D
  1. . . S LRTBA=$O(^DD(63.39,"GL",LRTB,1,0))
  1. . . S LRTBA=$P(^DD(63.39,LRTBA,0),U)
  1. . W !,?3,$$LJ^XLFSTR(LRTBA,30,"."),?34,LRTBS
  1. Q
  1. ;
  1. ;
  1. FUNG ;
  1. ; from LRMIPSZ1
  1. ; also called from RPT^LROR4
  1. N LRBLDTMP,LRQUIT
  1. S (LRBLDTMP,LRQUIT)=0
  1. I '$D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT)) D ;
  1. . S LRBLDTMP=1
  1. . M ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)=^LR(LRDFN,"MI",LRIDT)
  1. . K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT,32)
  1. ;
  1. I $P(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,8),U)="",'$G(LRLABKY) D S:'$D(LRWRDVEW) LRQUIT=1 S:LRSB'=8 LRQUIT=1
  1. . Q:'$D(^XTMP("LRMICRO EDIT",LRDFN,LRIDT,8))
  1. . ;LR*5.2*547: Display informational message if accession/test is currently being edited
  1. . ; and results had previously been verified.
  1. . N LR7SB S LR7SB=8
  1. . D MES^LRMIPSZ2
  1. ;
  1. I LRQUIT D Q
  1. . I LRBLDTMP K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)
  1. ;
  1. S LRTUS=$P(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,8),U,2)
  1. S DZ=$P(^(8),U,3),Y=$P(^(8),U)
  1. D D^LRU
  1. W:LRHC !
  1. D NP Q:LRABORT
  1. W !,"* MYCOLOGY ",$S(LRTUS="F":"FINAL",LRTUS="P":"PRELIMINARY",1:"")," REPORT => ",Y," TECH CODE: ",DZ
  1. D NP Q:LRABORT
  1. S LRPRE=22 D PRE^LRMIPSU
  1. D QA
  1. ;
  1. I LRBLDTMP K ^TMP("LRMI",$J,LRDFN,"MI",LRIDT)
  1. Q
  1. ;
  1. ;
  1. QA ;
  1. ;
  1. I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,15)) D ;
  1. . W:LRHC !
  1. . D NP Q:LRABORT
  1. . W !,"MYCOLOGY SMEAR/PREP:"
  1. . S LRMYC=0
  1. . F S LRMYC=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,15,LRMYC)) Q:LRMYC<1 W !?5,^(LRMYC,0) D NP Q:LRABORT
  1. ;
  1. I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,9)) D ;
  1. . W:LRHC !
  1. . D NP Q:LRABORT
  1. . W !,"Fungus/Yeast: "
  1. . D NP Q:LRABORT
  1. . D SHOW
  1. ;
  1. I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,10)) D ;
  1. . W:LRHC !
  1. . D NP Q:LRABORT
  1. . W !,"Mycology Remark(s):"
  1. . D NP Q:LRABORT
  1. . S LRMYC=0
  1. . F S LRMYC=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,10,LRMYC)) Q:LRMYC<1 W !,?3,^(LRMYC,0) D NP Q:LRABORT
  1. ;
  1. Q
  1. ;
  1. ;
  1. SHOW ;
  1. ;
  1. S LRTA=0
  1. F S LRTA=+$O(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,9,LRTA)) Q:LRTA?.N2A.E!(LRTA<1) D
  1. . S LRTA=+LRTA
  1. . S (LRBUG(LRTA),LRTBC)=$P(^(LRTA,0),U)
  1. . S LRQU=$P(^(0),U,2)
  1. . S LRTBC=$P(^LAB(61.2,LRTBC,0),U)
  1. . D LIST1
  1. ;
  1. Q
  1. ;
  1. ;
  1. LIST1 ;
  1. ;
  1. N B
  1. W !,LRTBC
  1. D NP Q:LRABORT
  1. I LRQU'="" W !,?3,"Quantity: ",LRQU
  1. D NP Q:LRABORT
  1. I $D(^TMP("LRMI",$J,LRDFN,"MI",LRIDT,9,LRTA,1,0)) D ;
  1. . W !,?3,"Comment:"
  1. . S B=0
  1. . 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
  1. Q
  1. ;
  1. ;
  1. NP ;
  1. ; Convenience method
  1. D NP^LRMIPSZ1
  1. Q