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

BLRUER.m

Go to the documentation of this file.
  1. BLRUER ;IHS/MSC/MKK - ERROR TRACKING TASKED REPORT ;2/18/98 07:03 ;
  1. ;;5.2;LAB SERVICE;**1038**;NOV 1, 1997;Build 6
  1. ;
  1. EEP ; EP - Ersatz EP
  1. D EEP^BLRGMENU
  1. Q
  1. ;
  1. ; Cloned from the LR*5.2*1031 version of LRUER
  1. ;
  1. ; This version is designed to be tasked. It will REJECT interactive reporting.
  1. ;
  1. BEGIN ; EP - Beginning
  1. I $D(ZTQUEUED)<1 D Q
  1. . W !!,?4,"This report can only be run from TASKMAN."
  1. . D PRESSKEY^BLRGMENU(9)
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. ;
  1. GETPARAM ; EP - Get the parameters from the IHS LAB SUPERVISOR TASKED REPORTS PARAMETERS (#90475.7) file
  1. NEW ACCDELC,D1,D1IEN,DEVICE,DEVDESC,GPD0,GPD1,TRANGE,DUZ2,DUZ2DESC,LISTTEST,NEWPAGE,PREVREPT,SPECREJ
  1. ;
  1. ; Parameters for LRUER report are in 90475.71
  1. S (GPD0,GPD1)=1
  1. ;
  1. S D1IEN=GPD1_","_GPD0
  1. S DUZ2=$$GET1^DIQ(90475.71,D1IEN,.01,"I")
  1. S DUZ2=$$GET1^DIQ(90475.71,D1IEN,.01,"I")
  1. S DUZ2DESC=$$GET1^DIQ(90475.71,D1IEN,.01)
  1. S PREVREPT=+$$GET1^DIQ(90475.71,D1IEN,1,"I")
  1. S SPECREJ=+$$GET1^DIQ(90475.71,D1IEN,2,"I")
  1. S ACCDELC=+$$GET1^DIQ(90475.71,D1IEN,3,"I")
  1. S LISTTEST=+$$GET1^DIQ(90475.71,D1IEN,4,"I")
  1. S NEWPAGE=+$$GET1^DIQ(90475.71,D1IEN,5,"I")
  1. S DTRANGE=+$$GET1^DIQ(90475.71,D1IEN,6,"I")
  1. S DEVICE=+$$GET1^DIQ(90475.71,D1IEN,7,"I")
  1. ;
  1. ; IF and ONLY IF the DEVICE variable is zero, then quit.
  1. ; Can Only happen if user up-hatted (^) out of the setup process.
  1. Q:DEVICE<1
  1. ;
  1. D DONTASK ; Do the report
  1. ;
  1. G END
  1. Q
  1. ;
  1. DONTASK ; EP
  1. S LRC(1)=$S(PREVREPT:"reported incorrectly as",SPECREJ:"specimen rejected",1:"")
  1. S LRC(2)=$S(ACCDELC:1,1:"")
  1. S LRC(3)="DUMMYZZZZ"
  1. S LRSDT=$S(DTRANGE=1:$$HTFM^XLFDT(+$H-7),DTRANGE=2:$$HTFM^XLFDT(+$H-30),DTRANGE=3:$$HTFM^XLFDT(+$H-365),1:$$HTFM^XLFDT(+$H-1))
  1. S LRLDT=$$DT^XLFDT
  1. S LRSTR=$$FMTE^XLFDT(LRSDT,"5DZ")
  1. S LRLST=$$FMTE^XLFDT(LRLDT,"5DZ")
  1. S LRS=LRSDT-.01,LRE=LRLDT+.99,LRLDT=9999998-LRLDT,LRSDT=9999999-LRSDT
  1. S LRF=LISTTEST
  1. S LRL=NEWPAGE
  1. K IOP,ZTSK,%ZIS
  1. S ZTSAVE("*")=""
  1. S %ZIS="Q"
  1. ; S IOP="`"_$$FIND1^DIC(3.5,,,"BLRUER TASKED")
  1. S IOP="`"_DEVICE
  1. D ENTRYAUD^BLRUTIL("DONTASK^BLRUER")
  1. D EN^XUTMDEVQ("QUE^BLRUER","TASKED IHS LAB ERROR TRACKING REPORT",.ZTSAVE,.%ZIS)
  1. G END
  1. Q
  1. ;
  1. QUE ; EP
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. U IO
  1. N A,B,C,D,E,G,J,LRDFN,LRX,V,X,Y,Z
  1. K ^TMP($J),^TMP("LRDFN",$J)
  1. S LRQ(1)=^DD("SITE"),(LRQ,LR("Q"))=0
  1. D L^LRU,H S LR("F")=1
  1. F B=LRS:0 S B=$O(^LRO(69,B)) Q:'B!(B>LRE) D
  1. . N X,I
  1. . S I=0 F S I=$O(^LRO(69,B,1,I)) Q:'I S X=+$G(^(I,0)) I X D
  1. .. S ^TMP("LRDFN",$J,X)=""
  1. I $$GET1^DIQ(9009029,+$G(DUZ(2)),"TAKE SNAPSHOTS","I") D
  1. . NEW SHOTMP
  1. . M SHOTMP("LRDFN",$J)=^TMP("LRDFN",$J)
  1. . D ENTRYAUD^BLRUTIL("QUE^BLRUER")
  1. F LRDFN=0:0 S LRDFN=$O(^TMP("LRDFN",$J,LRDFN)) Q:'LRDFN S LRI=LRLDT F A=0:0 S LRI=$O(^LR(LRDFN,"CH",LRI)) Q:'LRI!(LRI>LRSDT) D A
  1. K ^TMP("LRDFN",$J) D W,END^LRUTL,END
  1. Q
  1. ;
  1. A ; EP
  1. I LRC(2),$O(^LR(LRDFN,"CH",LRI,1,"AC",0)) D SET Q
  1. F B=0:0 S B=$O(^LR(LRDFN,"CH",LRI,1,B)) Q:'B I $G(^LR(LRDFN,"CH",LRI,1,B,0))[LRC(1)!($G(^LR(LRDFN,"CH",LRI,1,B,0))[LRC(3)) D SET Q ; IHS/OIT/MKK - LR*5.2*1030 - Get rid of Naked References
  1. Q
  1. ;
  1. SET ; EP
  1. S X=^LR(LRDFN,"CH",LRI,0),Y=$P(X,"^",6) S:Y="" Y="?? ?? ??" S ^TMP($J,$P(Y," "),$P(Y," ",2,3),+X,LRDFN,LRI)=$P(X,"^",5) Q
  1. Q
  1. ;
  1. W ; EP
  1. S (LRA,LRC)="" F A=0:0 S LRA=$O(^TMP($J,LRA)) Q:LRA=""!(LR("Q")) S LRC=LRC+1 D:LRL&(LRC>1) H Q:LR("Q") S LRB="" F B=0:0 S LRB=$O(^TMP($J,LRA,LRB)) Q:LRB=""!(LR("Q")) D W1
  1. Q
  1. ;
  1. W1 ; EP
  1. F LRT=0:0 S LRT=$O(^TMP($J,LRA,LRB,LRT)) Q:'LRT!(LR("Q")) F LRDFN=0:0 S LRDFN=$O(^TMP($J,LRA,LRB,LRT,LRDFN)) Q:'LRDFN!(LR("Q")) D X
  1. Q
  1. ;
  1. X ; EP
  1. F LRI=0:0 S LRI=$O(^TMP($J,LRA,LRB,LRT,LRDFN,LRI)) Q:'LRI!(LR("Q")) S X=+^(LRI),LRS=$P($G(^LAB(61,X,0)),"^") D P
  1. Q
  1. ;
  1. P ; EP
  1. S LRDATE=$$FMTE^XLFDT(LRT,"M")
  1. S X=^LR(LRDFN,0),(DFN,Y)=$P(X,"^",3),(LRDPF,X)=$P(X,"^",2),X=^DIC(X,0,"GL"),V=@(X_Y_",0)"),LRP=$P(V,"^"),SSN=$P(V,"^",9) D SSN^LRU ;IHS/ANMC/CLS 08/18/96
  1. D:$Y>(IOSL-6) H W !!,LRA_" "_LRB,?14,LRDATE,?34,LRP," ",HRCN,?67,LRS D:LRF TST Q:LR("Q") ;IHS/ANMC/CLS 08/18/96
  1. F B=0:0 S B=$O(^LR(LRDFN,"CH",LRI,1,B)) Q:'B!(LR("Q")) S B(1)=^(B,0) D:$Y>(IOSL-6) H1 Q:LR("Q") W !?5,B(1)
  1. F B=0:0 S B=$O(^LR(LRDFN,"CH",LRI,1,"AC",B)) Q:'B!(LR("Q")) S C="" F E=0:0 S C=$O(^LR(LRDFN,"CH",LRI,1,"AC",B,C)) Q:C="" D:$Y>(IOSL-6) H1 Q:LR("Q") D P1
  1. Q
  1. ;
  1. P1 ; EP
  1. S X=$G(^VA(200,B,0)) W !?5,$P(^LR(LRDFN,"CH",LRI,1,"AC",B,C),"^",3) W:$X>60 ! W " (deleted by ",$S($P(X,"^",2)]"":$P(X,"^",2),1:$P(X,",")),")"
  1. Q
  1. ;
  1. TST ; EP
  1. S:'$D(LR(LRA)) LR(LRA)=+$O(^LRO(68,"B",LRA,0)) S X=$P(^LRO(68,LR(LRA),0),"^",3),Z=$P(LRB," ",2),G=$E(LRT,1,3) S:X="D" G=G_$P(LRB," ")
  1. E S G=$S(X="Y":G_"0000",X="M":G_$E($P(LRB," "),1,2)_"00",1:G)
  1. S (C,E,E(1))=0 F E(1)=0:0 S C=$O(^LRO(68,LR(LRA),1,G,1,Z,4,C)) Q:'C!(LR("Q")) S LRX=^(C,0) I $P(^LAB(60,C,0),U,4)'="WK" D B
  1. Q
  1. ;
  1. B ; EP
  1. S E=E+1,J=$P(LRX,U,4),J=$S(J:$P($G(^VA(200,J,0)),"^",2),1:J) D:$Y>(IOSL-6) H2 Q:LR("Q") W ! W:E=1 "Test(s) ordered:" W ?18,$P($G(^LAB(60,C,0)),"^"),?49,"Tech: ",J
  1. Q
  1. ;
  1. H ; EP
  1. I $D(LR("F")),IOST?1"C".E D M^LRU Q:LR("Q")
  1. D F^LRU W !,LRC(1) W:$L(LRC(1))>44 ! W " From: ",LRSTR," To: ",LRLST,!,"Acc #",?14,"Date/Time",?34,"Name/HRCN",?67,"Specimen",!,LR("%")
  1. Q
  1. H1 ; EP
  1. D H Q:LR("Q") W !,LRA," ",LRB,?14,LRDATE,?34,LRP," ",HRCN," ",LRS
  1. Q
  1. ;
  1. H2 ; EP
  1. D H1 Q:LR("Q") W !,"Test(s) ordered:" S E=2
  1. Q
  1. END ; EP
  1. D V^LRU
  1. Q
  1. ;
  1. DEBUGFOR ; EP - Check the FOR loop
  1. NEW ACCDELC,D1,D1IEN,DEVICE,DEVDESC,TRANGE,DUZ2,DUZ2DESC,LISTTEST,NEWPAGE,PREVREPT,SPECREJ
  1. ;
  1. ; Parameters for LRUER report are in 90475.71
  1. S GPD1=.9999999
  1. F S GPD1=$O(^BLRLSRP(1,1,GPD1)) Q:GPD1<1 D
  1. . S D1IEN=GPD1_","_1
  1. . S DUZ2=$$GET1^DIQ(90475.71,D1IEN,.01,"I")
  1. . S DUZ2=$$GET1^DIQ(90475.71,D1IEN,.01,"I")
  1. . S DUZ2DESC=$$GET1^DIQ(90475.71,D1IEN,.01)
  1. . S PREVREPT=+$$GET1^DIQ(90475.71,D1IEN,1,"I")
  1. . S SPECREJ=+$$GET1^DIQ(90475.71,D1IEN,2,"I")
  1. . S ACCDELC=+$$GET1^DIQ(90475.71,D1IEN,3,"I")
  1. . S LISTTEST=+$$GET1^DIQ(90475.71,D1IEN,4,"I")
  1. . S NEWPAGE=+$$GET1^DIQ(90475.71,D1IEN,5,"I")
  1. . S DTRANGE=+$$GET1^DIQ(90475.71,D1IEN,6,"I")
  1. . ;
  1. . S LRSDT=$S(DTRANGE=1:$$HTFM^XLFDT(+$H-7),DTRANGE=2:$$HTFM^XLFDT(+$H-30),DTRANGE=3:$$HTFM^XLFDT(+$H-365),1:$$HTFM^XLFDT(+$H-1))
  1. . S LRLDT=$$DT^XLFDT
  1. . S LRSTR=$$FMTE^XLFDT(LRSDT,"5DZ")
  1. . S LRLST=$$FMTE^XLFDT(LRLDT,"5DZ")
  1. . S LRS=LRSDT-.01,LRE=LRLDT+.99,LRLDT=9999998-LRLDT,LRSDT=9999999-LRSDT
  1. . ;
  1. . S DEVICE=+$$GET1^DIQ(90475.71,D1IEN,7,"I")
  1. . I DEVICE=0 D ; Default device is LABLABEL
  1. .. S DEVICE=+$$FIND1^DIC(3.5,,,"LABLABEL")
  1. .. S DEVDESC=$$GET1^DIQ(3.5,DEVICE,.01)
  1. . ;
  1. . W ?4,"GPD1:",GPD1," -- ",$$GET1^DIQ(4,GPD1,.01),!
  1. . W ?9,"DUZ2:",DUZ2,"; DUZ2DESC:",DUZ2DESC,!
  1. . W ?9,"PREVREPT:",PREVREPT,!
  1. . W ?9,"SPECREJ:",SPECREJ,!
  1. . W ?9,"ACCDELC:",ACCDELC,!
  1. . W ?9,"LISTTEST:",LISTTEST,!
  1. . W ?9,"NEWPAGE:",NEWPAGE,!
  1. . W ?9,"DTRANGE:",DTRANGE,!
  1. . ;
  1. . S LRSDT=$S(DTRANGE=1:$$HTFM^XLFDT(+$H-7),DTRANGE=2:$$HTFM^XLFDT(+$H-30),DTRANGE=3:$$HTFM^XLFDT(+$H-365),1:$$HTFM^XLFDT(+$H-1))
  1. . S LRLDT=$$DT^XLFDT
  1. . W ?9,"LRSDT:",LRSDT,?29,"LRLDT:",LRLDT,!
  1. . S LRSTR=$$FMTE^XLFDT(LRSDT,"5DZ")
  1. . S LRLST=$$FMTE^XLFDT(LRLDT,"5DZ")
  1. . W ?9,"LRSTR:",LRSTR,?29,"LRLST:",LRLST,!
  1. . S LRS=LRSDT-.01,LRE=LRLDT+.99,LRLDT=9999998-LRLDT,LRSDT=9999999-LRSDT
  1. . W ?9,"LRS:",LRS,?29,"LRE:",LRE,!
  1. . W ?9,"LRSDT:",LRSDT,?29,"LRLDT:",LRLDT,!
  1. Q