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

LRGV.m

Go to the documentation of this file.
  1. LRGV ;DALIO/RWF - INSTRUMENT GROUP VERIFY DATA ;2/5/91 13:26
  1. ;;5.2;LAB SERVICE;**269,411,519**;Sep 27, 1994;Build 16
  1. ;
  1. N LRANYAA,LRDUZ,LRUID,LRVBY,LRGVP
  1. ;
  1. D ^LRGVK,^LRPARAM
  1. I $G(LREND) D END Q
  1. ;
  1. S U="^",LRSS="CH",LROUTINE=$P(^LAB(69.9,1,3),U,2),(LRANYAA,LRUID,LRVBY)=""
  1. ;
  1. ; Get user's initials to use to verify results
  1. S X=DUZ D DUZ^LRX
  1. X ^%ZOSF("EOFF")
  1. N DIR
  1. S DIR(0)="FAO^1:10",DIR("A")="Please enter your initials to verify: "
  1. D ^DIR K DIR
  1. X ^%ZOSF("EON")
  1. I $D(DIRUT)!(Y'=LRUSI) D END Q
  1. ;
  1. D ^LRGP1
  1. I LREND D END Q
  1. ;
  1. D COM
  1. I LREND D NOP,END Q
  1. ;
  1. S %ZIS="Q" D ^%ZIS
  1. I POP D END Q
  1. ;
  1. I $D(IO("Q")) D Q
  1. . N ZTDTH,ZTRTN,ZTSAVE,ZTDESC
  1. . K IO("Q")
  1. . ;LRGVP = indicates to downstream routines that sending to a printer
  1. . S LRGVP=1
  1. . S ZTRTN="DQ^LRGV",ZTSAVE("LR*")="",ZTSAVE("^TMP(""LR"",$J,")="",ZTDESC="Group verify (EA, EL, EW)"
  1. . D ^%ZTLOAD
  1. . U IO(0) W !,"Task ",$S($G(ZTSK):ZTSK,1:"NOT")," Queued"
  1. . D END
  1. ;
  1. DQ ;
  1. U IO
  1. S LRNOW=$$NOW^XLFDT,LRDT=$$FMTE^XLFDT(LRNOW,"1M"),(LREND,LRPAGE)=0
  1. S LRLLNM=$P(^LRO(68.2,LRLL,0),"^")
  1. D HDR
  1. D LRTRAY:LRWT="T",ACCLST:LRWT="A",SEQ:LRWT="M",WRKLST:LRWT="W"
  1. I $E(IOST,1,2)="P-" W @IOF
  1. ;
  1. END ;
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. E D ^%ZISC
  1. D ^LRGVK
  1. K LRCSQQ,LRLLNM,LRNGS,LRPAGE
  1. Q
  1. ;
  1. ;
  1. ACCLST ; Verify by accession number/UID
  1. ;
  1. S LRVWLE=""
  1. ;
  1. ; Verify by accession number
  1. I LRVBY=1 D
  1. . S LRAN=LRFAN
  1. . F S LRAN=$O(^LRO(68,LRAA,1,LRAD,1,LRAN)) Q:LRAN<1!(LRAN>LRLIX) D ACC2 Q:LREND
  1. . I $L(LRVWLE) D
  1. . . S $P(^LRO(68,LRAA,1,LRAD,2),"^")=LRUSI
  1. . . S $P(^LRO(68,LRAA,1,LRAD,2),"^",4)=LRVWLE
  1. ;
  1. ; Verify by UID
  1. I LRVBY=2 D
  1. . S LRANYAA=+$P($G(^LRO(68.2,LRLL,10,LRPROF,0)),"^",3),LRUID=""
  1. . F D NEXT^LRVRA Q:LRUID="" D ACC2 Q:LREND
  1. ;
  1. Q
  1. ;
  1. ;
  1. ACC2 ; Only select those entries in ^LAH that match the accession area and
  1. ; date selected by the user.
  1. ;
  1. I $Y>(IOSL-10) D HDR Q:LREND
  1. W ! D DASH^LRX
  1. W !,"Accession #: ",LRAN
  1. I LRVBY=2 D
  1. . W " [UID: ",LRUID,"]"
  1. . I '$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) D Q
  1. . . W " No accession on file for this UID."
  1. . W " <",$P($G(^LRO(68,LRAA,1,LRAD,1,LRAN,.2)),"^"),">"
  1. ;
  1. I '$P($G(^LRO(68,LRAA,1,LRAD,1,LRAN,3)),"^",3) D Q
  1. . W " Has not been received. Unable to verify."
  1. ;
  1. I +^LRO(68,LRAA,1,LRAD,1,LRAN,3)>$$NOW^XLFDT D Q
  1. . W " Has a collection time in the future. Unable to verify."
  1. ;
  1. I $O(^LAH(LRLL,1,"C",LRAN,0))<1 D Q
  1. . W " NO Instrument Data Found."
  1. ;
  1. S LRSQ=0
  1. F S LRSQ=$O(^LAH(LRLL,1,"C",LRAN,LRSQ)) Q:LRSQ<1 D Q:LREND
  1. . S X=^LAH(LRLL,1,LRSQ,0)
  1. . I LRAA'=$P(X,"^",3)!(LRAD'=$P(X,"^",4)) Q
  1. . S LRAN=$P(X,"^",5)
  1. . I LRAN D STUFF^LRGV1
  1. Q
  1. ;
  1. ;
  1. LRTRAY ; Verify by tray/cup
  1. ;
  1. F LRTRAY=LRFTRAY:1:LRLTRAY D Q:LREND
  1. . I $Y>(IOSL-10) D HDR Q:LREND
  1. . W ! D DASH^LRX
  1. . W !!,"Start TRAY: ",LRTRAY
  1. . D TR2
  1. Q
  1. ;
  1. ;
  1. TR2 ; Verify by tray/cup
  1. ; Only select those entries in ^LAH that match the accession area and date
  1. ; selected by the user.
  1. N LRSC,LREC,X
  1. ;
  1. ; Figure out starting and ending cups for this tray
  1. S LRSC=$S(LRTRAY=LRFTRAY:LRFCUP,1:1)
  1. S LREC=$S(LRTRAY=LRLTRAY:LRLCUP,1:LRMAXCUP)
  1. ;
  1. F LRCUP=LRSC:1:LREC D Q:LREND
  1. . S LRITC=LRTRAY_";"_LRCUP
  1. . I $Y>(IOSL-10) D HDR Q:LREND
  1. . W ! D DASH^LRX
  1. . W !,"Tray ",$J(LRTRAY,3)," Cup ",$J(LRCUP,3)
  1. . I $O(^LAH(LRLL,1,"B",LRITC,0))<1 W ?35,"No Instrument Data Found" Q
  1. . ;
  1. . S LRSQ=0
  1. . F S LRSQ=$O(^LAH(LRLL,1,"B",LRITC,LRSQ)) Q:LRSQ<1 D Q:LREND
  1. . . I '$D(^LAH(LRLL,1,+LRSQ,0)) D Q
  1. . . . K ^LAH(LRLL,1,"B",LRTIC,LRSQ)
  1. . . . W ?35,"No Instrument Data Found"
  1. . . S X=^LAH(LRLL,1,LRSQ,0)
  1. . . I LRAA'=$P(X,"^",3)!(LRAD'=$P(X,"^",4)) Q
  1. . . S LRAN=$P(X,"^",5)
  1. . . I LRAN D STUFF^LRGV1 Q
  1. . . W ?35," Does not have a link to an Accession."
  1. Q
  1. ;
  1. ;
  1. SEQ ; Verify by sequence number
  1. ; Only select those entries in ^LAH that match the accession area and date
  1. ; selected by the user.
  1. ;
  1. N X
  1. ;
  1. S LRSQ=LRSQ-1
  1. F S LRSQ=$O(^LAH(LRLL,1,LRSQ)) Q:LRSQ<1!(LRSQ>LRESEQ) D Q:LREND
  1. . I $Y>(IOSL-10) D HDR Q:LREND
  1. . W ! D DASH^LRX
  1. . S X=^LAH(LRLL,1,LRSQ,0)
  1. . I LRAA'=$P(X,"^",3)!(LRAD'=$P(X,"^",4)) Q
  1. . S LRAN=$P(X,"^",5)
  1. . I LRAN D STUFF^LRGV1 Q
  1. . W !!,"SEQ: ",LRSQ,". Does not have a link to an Accession."
  1. Q
  1. ;
  1. ;
  1. WRKLST ; Verify by worklist
  1. ; Only select those entries in file #68.2 that match the profile selected
  1. ; by the user.
  1. ;
  1. N X
  1. ;
  1. S LRCUP=LRCUP-1
  1. F S LRCUP=$O(^LRO(68.2,LRLL,1,1,1,LRCUP)) Q:'LRCUP!(LRCUP>LRECUP) D Q:LREND
  1. . I $Y>(IOSL-10) D HDR Q:LREND
  1. . W ! D DASH^LRX
  1. . S X=^LRO(68.2,LRLL,1,1,1,LRCUP,0)
  1. . I $P(X,"^",4),$P(X,"^",4)'=LRPROF Q
  1. . S LRAA=$P(X,"^"),LRAD=$P(X,"^",2),LRAN=$P(X,"^",3)
  1. . W !,"Sequence #",$J(LRCUP,4)
  1. . I $O(^LAH(LRLL,1,"C",+LRAN,0))<1 W ?35,"No Instrument Data Found" Q
  1. . ;
  1. . S LRSQ=0
  1. . F S LRSQ=$O(^LAH(LRLL,1,"C",LRAN,LRSQ)) Q:LRSQ<1 D STUFF^LRGV1 Q:LREND
  1. Q
  1. ;
  1. ;
  1. COM ; Ask common questions
  1. ;
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. ;
  1. S LRVRFYAL=0
  1. I $D(^XUSEC("LRSUPER",DUZ))!1 D
  1. . S DIR(0)="YAO",DIR("B")="NO"
  1. . S DIR("A",1)="Verify accessions specified, even if"
  1. . S DIR("A")=" DELTA check or CRITICAL range flag? "
  1. . D ^DIR
  1. . I $D(DIRUT) S LREND=1 Q
  1. . S LRVRFYAL=Y
  1. ;
  1. I LREND Q
  1. ;
  1. K DIR
  1. S DIR(0)="YO",DIR("A")="Everything OK",DIR("B")="YES"
  1. D ^DIR
  1. I $D(DIRUT)!(Y'=1) S LREND=1
  1. Q
  1. ;
  1. ;
  1. NOP ;
  1. W !!,"NOTHING VERIFIED"
  1. Q
  1. ;
  1. ;
  1. HDR ;
  1. ;
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. ;
  1. I $E(IOST,1,2)="C-",'$D(ZTQUEUED),LRPAGE D
  1. . S DIR(0)="E" D ^DIR
  1. . I $D(DIRUT) S LREND=1
  1. I LREND Q
  1. ;
  1. I LRPAGE!($E(IOST,1,2)="C-") W @IOF
  1. S LRPAGE=LRPAGE+1
  1. W "Group verification report - Verify with",$S(LRVRFYAL:"",1:"out")," flags"
  1. W ?(IOM-27)," Date: ",LRDT
  1. W !,"Load/Work list: ",LRLLNM," Panel: ",LRPANEL,?(IOM-27)," Page: ",LRPAGE
  1. ;
  1. ; Check if task has been asked to stop.
  1. I $D(ZTQUEUED),$$S^%ZTLOAD D Q
  1. . S (LREND,ZTSTOP)=1
  1. . W !!,"*** Report requested to stop by TaskMan ***"
  1. . W !,"*** Task #",$G(ZTQUEUED,"UNKNOWN")," stopped at ",$$HTE^XLFDT($H)," ***"
  1. Q