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

LRVR5.m

Go to the documentation of this file.
  1. LRVR5 ;DALOI/CJS/DALOI/FHS - LAB ROUTINE DATA VERIFICATION ;4/20/89 18:02
  1. ;;5.2;LAB SERVICE;**1,42,153,263,283,286,437**;Sep 27, 1994;Build 3
  1. ;
  1. S LRNX=0,LRVRM=11
  1. V40 ;
  1. S LRNX=$O(LRORD(LRNX))
  1. G V44:LRNX<1 D SUBS G V40:'LRTS,V40:'$D(LRVTS(LRSB))
  1. ;
  1. ; Only allow verifying reference lab results which exist in LAH, no
  1. ; entering results "on the fly" - use EM options (^LRVER)
  1. I $G(LRDUZ(2)),LRDUZ(2)'=DUZ(2),'$D(^LAH(LRLL,1,LRSQ,LRSB)) K LRSB(LRSB) G V40
  1. ;
  1. I $D(^LR(LRDFN,LRSS,LRIDT,LRSB)),^(LRSB)'["pending" D V25^LRVR4 G:LRVF V40
  1. V42 D V25
  1. S X=$S($D(LRSB(LRSB)):$P(LRSB(LRSB),U),1:""),LREDIT=0
  1. I X="",LRDV'="" S $P(LRSB(LRSB),"^")=LRDV,X=LRDV
  1. S LRTEST=$P(^LAB(60,+LRTS,0),U),LROUT=0 K LRNOVER(LRSB)
  1. Q42 W !,LRTEST," " W:X'="" @LRFP R "//",X:DTIME I X'?.ANP W $C(7)," No Control Characters Allowed." G V42
  1. I X=""&$D(LRSB(LRSB)) S X=$P(LRSB(LRSB),U)
  1. Q43 S LRDL=X G V40:X="",V45:X'["^",V44:X="^",OUT:X="^^"
  1. V43 S X=$P(X,U,2),DIC="^LAB(60,",DIC(0)="EOQZ" D ^DIC G:Y<1 Q42
  1. S LRPLOC=$P(Y(0),U,5),LRSSQ=$P(LRPLOC,";",1),LRSB=$P(LRPLOC,";",2),LRTS=+Y
  1. I LRSSQ="" W !,"Not in this group" G OUT
  1. I LRSS'=LRSSQ!'$D(^TMP("LR",$J,"TMP",LRSB)) W !,"Not in this group" G OUT
  1. F LRNX=0:0 S LRNX=$O(LRORD(LRNX)) Q:LRNX<1 G V42:LRSB=LRORD(LRNX)
  1. V44 D COM^LRVR4
  1. S LRNUF=1
  1. Q
  1. ;
  1. ;
  1. V45 ;
  1. K LRSKIP
  1. S LRDL=X
  1. I X="@" D G V46
  1. . S X=$S($D(LRM(LRSB)):"pending",1:"")
  1. . S $P(LRSB(LRSB),"^")=X,$P(LRSB(LRSB),"^",2)=""
  1. ;
  1. S X7=U_$P(^LAB(60,+LRTS,0),U,12),X6=X7_"0)"
  1. X:'(X="*"!($E(X)="?")!(X="C")!(X="#")!(X="canc")!(X="pending")) $P(@X6,U,5,99)
  1. I '$D(X)#2 D HELP G V42
  1. I $D(X)#2,X["?" D HELP G:'($P(@X6,U,2)["S") V42
  1. I $D(X)#2,$P(@X6,U,2)["S",X'="*",X'="#",X'="canc",X'="pending" D SET G:'$D(X)#2 V42
  1. I $D(X)#2,X="C",$P(@X6,U,2)'["S" D COMP^LRVER5 G V42
  1. ;
  1. V46 G V44:'$D(X)#2
  1. S X1=$S($D(^LR(LRDFN,LRSS,LRLDT,LRSB)):$P(^(LRSB),U),1:""),LRFLG=""
  1. S:X="*" X="canc" S:X="#" X="comment"
  1. K LRQ S Y=0
  1. I LRDEL'="" S LRQ=1 D XDELTACK^LRVERA K LRQ
  1. D RANGE
  1. G:$D(LRNUF) V44
  1. K LRNUF
  1. G V40:'$D(LRSKIP)
  1. S X=LRSKIP
  1. G Q43:X["^",V40
  1. G RANGE
  1. ;
  1. ;
  1. RANGE D RANGE^LRVER5
  1. RQ S X=Y
  1. NR ;
  1. S:$P(X,U)="" LRSB(LRSB)="" Q:$D(LRQ)
  1. I $P(X,U)'="" D
  1. . N I,LRX,LRY
  1. . S $P(LRSB(LRSB),U,1,2)=X_U_LRFLG
  1. . S $P(LRSB(LRSB),U,4)=$G(DUZ)
  1. . I $P(LRSB(LRSB),U,9)="" S $P(LRSB(LRSB),U,9)=$S($G(LRDUZ(2)):LRDUZ(2),$G(DUZ(2)):DUZ(2),1:"")
  1. . S LRX=$$TMPSB^LRVER1(LRSB),LRY=$P(LRSB(LRSB),U,3)
  1. . F I=1:1:$L(LRX,"!") I $P(LRY,"!",I)="" S $P(LRY,"!",I)=$P(LRX,"!",I)
  1. . S $P(LRSB(LRSB),U,3)=LRY
  1. . S LRX=LRNGS,LRY=$P(LRSB(LRSB),U,5)
  1. . F I=1:1:$L(LRX,U) I $P(LRY,"!",I)="" S $P(LRY,"!",I)=$P(LRX,U,I)
  1. . S $P(LRSB(LRSB),U,5)=LRY
  1. Q
  1. ;
  1. ;
  1. SUBS ;
  1. D LRSUBS^LRVER5
  1. Q
  1. ;
  1. ;
  1. SET ;
  1. D LRSET^LRVER5
  1. Q
  1. ;
  1. ;
  1. HUH W !,"CHOOSE:" F I=1:1 S LRSUBS=$P(LRSET,";",I) Q:LRSUBS="" W !,$P(LRSUBS,":")," FOR ",$P(LRSUBS,":",2)
  1. K X
  1. Q
  1. ;
  1. ;
  1. V25 ; From LRVR4
  1. D V25^LRVER5
  1. Q
  1. ;
  1. ;
  1. OUT S LROUT=1
  1. Q
  1. ;
  1. ;
  1. HELP ;
  1. W !," ??",$C(7)
  1. S X5=X7_"3)"
  1. W:$D(@X5) " ",@X5
  1. W !,"Enter * to report ""canc"" for canceled."
  1. W !,"Enter # to report ""comment""."
  1. W:'($P(@X6,U,2)["S") !,"Enter C to enter calculate mode."
  1. Q