| [613] | 1 | LRSORA ;DRH/DALISC - HIGH/LOW VALUE REPORT ;2/19/91  11:42 ; | 
|---|
|  | 2 | ;;5.2;LAB SERVICE;**344,357,369**;Sep 27, 1994;Build 2 | 
|---|
|  | 3 | MAIN D INIT,GDT,GAA:'LREND,GLRT:'LREND,GLOG:'LREND,SORTBY^LRSORA1:'LREND | 
|---|
|  | 4 | D PATS^LRSORA1:'LREND,LOCS^LRSORA1:'LREND,GDV:'LREND,RUN:'LREND | 
|---|
|  | 5 | D STOP | 
|---|
|  | 6 | Q | 
|---|
|  | 7 | RUN ; | 
|---|
|  | 8 | K ^TMP("LR",$J) | 
|---|
|  | 9 | S:$D(ZTQUEUED) ZTREQ="@" U IO | 
|---|
|  | 10 | S (LRPAG,LREND)=0,$P(LRDASH,"-",IOM)="-" | 
|---|
|  | 11 | K %DT S X=$P(LRSDT,"."),%DT="X" D ^%DT,DD^LRX S LRSDAT=Y | 
|---|
|  | 12 | K %DT S X=LREDT,%DT="X" D ^%DT,DD^LRX S LREDAT=Y | 
|---|
|  | 13 | S LRHDR2="For date range: "_LREDAT_" to "_LRSDAT | 
|---|
|  | 14 | D:'LREND START^LRSORA2 | 
|---|
|  | 15 | D:$D(ZTQUEUED) STOP | 
|---|
|  | 16 | Q | 
|---|
|  | 17 | STOP ; | 
|---|
|  | 18 | D STOP^LRSORA0 | 
|---|
|  | 19 | Q | 
|---|
|  | 20 | GAA ; | 
|---|
|  | 21 | D GAA^LRSORA0 | 
|---|
|  | 22 | Q | 
|---|
|  | 23 | GLRT ; | 
|---|
|  | 24 | W ! K LRTST S LRTST=1 | 
|---|
|  | 25 | F I=0:0 D GTSC Q:'$D(LRTST(LRTST,1))  W ! S LRTST=LRTST+1 | 
|---|
|  | 26 | K LRTST(LRTST) S LRTST=LRTST-1 Q | 
|---|
|  | 27 | GTSC ; | 
|---|
|  | 28 | S LRA=1 | 
|---|
|  | 29 | F I=0:0 D @$S(LRA=2:"SPEC",LRA=3:"CND",LRA=4:"GV",1:"TST") Q:LRA=0 | 
|---|
|  | 30 | Q | 
|---|
|  | 31 | TST ; | 
|---|
|  | 32 | K DIC S DIC="^LAB(60,",DIC(0)="AEMOQ" | 
|---|
|  | 33 | S DIC("S")="I $P(^(0),U,5)[""CH"",""BO""[$P(^(0),U,3)" D ^DIC | 
|---|
|  | 34 | S LRA=$S(Y>0:2,1:0) | 
|---|
|  | 35 | S:X["^" LREND=1 | 
|---|
|  | 36 | I Y>0 S $P(LRTST(LRTST,3),"^",1)=$P($P(^LAB(60,+Y,0),U,5),";",2) | 
|---|
|  | 37 | I  S $P(LRTST(LRTST,2),"^",1)=$P(Y,"^",2) | 
|---|
|  | 38 | Q | 
|---|
|  | 39 | SPEC ; | 
|---|
|  | 40 | S LRCNT=LRCNT+1 | 
|---|
|  | 41 | K DIC S DIC="^LAB(61,",DIC(0)="AEMOQ" | 
|---|
|  | 42 | S DIC("A")="Select SPECIMEN/SITE: ANY// " D ^DIC | 
|---|
|  | 43 | S:Y<1 $P(LRTST(LRTST,3),"^",2)="",$P(LRTST(LRTST,2),"^",2)="" | 
|---|
|  | 44 | S LRA=$S(X["^":1,1:3) | 
|---|
|  | 45 | I Y>0 S $P(LRTST(LRTST,3),"^",2)=+Y,$P(LRTST(LRTST,2),"^",2)=$P(Y,"^",2) | 
|---|
|  | 46 | Q | 
|---|
|  | 47 | CND ; | 
|---|
|  | 48 | W !,"Select CONDITION: " R X:DTIME S:'$T X="^" | 
|---|
|  | 49 | D @$S(X?1.N1":"1.N:"RNG",1:"GC") Q | 
|---|
|  | 50 | RNG ; | 
|---|
|  | 51 | N Y | 
|---|
|  | 52 | S LRV=+$P(X,":",1),LRV2=+$P(X,":",2),LRA=0 | 
|---|
|  | 53 | S:LRV>LRV2 X=LRV,LRV=LRV2,LRV2=X | 
|---|
|  | 54 | S $P(LRTST(LRTST,2),U,3)="BETWEEN "_LRV_" AND "_LRV2 | 
|---|
|  | 55 | S X=$P(LRTST(LRTST,3),U,1) | 
|---|
|  | 56 | S Y="I $D(^("_X | 
|---|
|  | 57 | S Y=Y_")) S LRVX=$P(^("_X | 
|---|
|  | 58 | S Y=Y_"),U),LRVX=$S(LRVX?1A.E:LRVX," | 
|---|
|  | 59 | S Y=Y_"""<>""[$E(LRVX):$E(LRVX,2,$L(LRVX)),1:LRVX)" | 
|---|
|  | 60 | S LRTST(LRTST,1)=Y_" I LRVX>"_LRV_",LRVX<"_LRV2 | 
|---|
|  | 61 | D ASPC Q | 
|---|
|  | 62 | GC ; | 
|---|
|  | 63 | S DIC="^DOPT(""DIS"",",DIC(0)="EMQZ",DIC("S")="I $L($P(^(0),U,2))" | 
|---|
|  | 64 | D ^DIC K DIC | 
|---|
|  | 65 | S LRA=$S(X["^":2,Y<0:3,1:4) D:X["?" HLP1 W:'$L(X) " ??" Q:Y<0 | 
|---|
|  | 66 | GV ; | 
|---|
|  | 67 | N LY,ALPHA,DEC,II,TT | 
|---|
|  | 68 | W !,"Enter VALUE: " | 
|---|
|  | 69 | R X:DTIME S:'$T X="^" | 
|---|
|  | 70 | S LRA=$S(X["^":3,"?"[X:4,1:0) | 
|---|
|  | 71 | W:X="" " ??" D:X["?" HLP2 Q:LRA | 
|---|
|  | 72 | S:"<>"[$P(Y(0),U,2) X=+X | 
|---|
|  | 73 | S $P(LRTST(LRTST,2),"^",3)=$P(Y(0),"^",1)_" "_X | 
|---|
|  | 74 | ; | 
|---|
|  | 75 | ; determine if entered value is alphanumeric | 
|---|
|  | 76 | S (ALPHA,DEC)=0 | 
|---|
|  | 77 | F II=1:1 S TT=$E(X,II) Q:TT=""  D  Q:ALPHA | 
|---|
|  | 78 | . I TT?1N Q | 
|---|
|  | 79 | . I TT?1"." S DEC=DEC+1 S:DEC>1 ALPHA=1 Q | 
|---|
|  | 80 | . S ALPHA=1 | 
|---|
|  | 81 | I X="""""" S ALPHA=0 ;ADDED FOR LR*5.2*357 | 
|---|
|  | 82 | ; | 
|---|
|  | 83 | S LY="I $D(^("_$P(LRTST(LRTST,3),U) | 
|---|
|  | 84 | S LY=LY_")) S LRVX=$P(^(" | 
|---|
|  | 85 | S LY=LY_$P(LRTST(LRTST,3),U) | 
|---|
|  | 86 | S LY=LY_"),U),LRVX=$S(LRVX?1A.E:LRVX," | 
|---|
|  | 87 | S LY=LY_"""<>""[$E(LRVX):$E(LRVX,2,$L(LRVX)),1:LRVX) I LRVX" | 
|---|
|  | 88 | S LRTST(LRTST,1)=LY_$P(Y(0),U,2)_$S(ALPHA:""""_X_"""",1:X) D ASPC Q | 
|---|
|  | 89 | ASPC ; | 
|---|
|  | 90 | S:$L($P(LRTST(LRTST,3),U,2)) LRTST(LRTST,1)=LRTST(LRTST,1)_",$P(^(0),U,5)="_$P(LRTST(LRTST,3),U,2) Q | 
|---|
|  | 91 | INIT ; | 
|---|
|  | 92 | S LRCNT=0 | 
|---|
|  | 93 | S U="^" | 
|---|
|  | 94 | S LREND=0 | 
|---|
|  | 95 | S LRLONG=0 | 
|---|
|  | 96 | S LRSDT="TODAY" | 
|---|
|  | 97 | S LREDT="T-1" | 
|---|
|  | 98 | S LRTW=.00001 | 
|---|
|  | 99 | S:'$D(DTIME) DTIME=300 | 
|---|
|  | 100 | W !,"SPECIAL REPORT - Search for high/low values" Q | 
|---|
|  | 101 | GDT ; | 
|---|
|  | 102 | F W=0:0 D SDF,GSD Q:LREND  S LRSDT=Y D GED I Y>0 S LREDT=Y S:LREDT>LRSDT X=LREDT,LREDT=LRSDT,LRSDT=X D CXR W:Y'>0 !!,"No data for the year selected.",! Q:Y>0 | 
|---|
|  | 103 | K %DT S X=$P(LRSDT,"."),%DT="X" D ^%DT,DD^LRX S LRSDAT=Y | 
|---|
|  | 104 | K %DT S X=$P(LREDT,"."),%DT="X" D ^%DT,DD^LRX S LREDAT=Y | 
|---|
|  | 105 | S LRHDR2="For date range: "_LREDAT_" to "_LRSDAT | 
|---|
|  | 106 | K LRSDAT,LREDAT,%DT Q | 
|---|
|  | 107 | GSD ; | 
|---|
|  | 108 | S %DT("A")="Enter START date: ",%DT("B")=LRSDT,%DT="AET" | 
|---|
|  | 109 | D ^%DT S LREND=Y<1 Q | 
|---|
|  | 110 | GED ; | 
|---|
|  | 111 | S %DT("A")="Enter END date: ",%DT("B")=LREDT D ^%DT Q | 
|---|
|  | 112 | CXR ; | 
|---|
|  | 113 | S Y=$E(LREDT,1,3)_"0000" F I=0:0 S Y=$O(^LRO(69,Y)) Q:Y=""!($D(^LRO(69,+Y,1,"AN"))) | 
|---|
|  | 114 | I Y>LREDT D DD^LRX W !,"The earliest date in the X-ref is ",Y,".  Long search required.",! D CXR1 | 
|---|
|  | 115 | Q | 
|---|
|  | 116 | CXR1 ; | 
|---|
|  | 117 | F I=0:0 S %=2 W "  OK to continue" D YN^DICN S:%=2!(%<0) LREND=1 S:%=1 LRLONG=1 Q:%  W !,"Enter 'YES' for the long search, 'NO' to exit.",! | 
|---|
|  | 118 | Q | 
|---|
|  | 119 | SDF ; | 
|---|
|  | 120 | I LRSDT?1.7N S Y=LRSDT D DD^LRX S LRSDT=Y | 
|---|
|  | 121 | I LREDT?1.7N S Y=LREDT D DD^LRX S LREDT=Y | 
|---|
|  | 122 | Q | 
|---|
|  | 123 | GLOG ; | 
|---|
|  | 124 | S:LRTST=1 LRTST(0)="A" D:LRTST>1 EN^LRSORA1 S:LRTST<1 LREND=1 Q | 
|---|
|  | 125 | GDV ; | 
|---|
|  | 126 | S %ZIS="Q" D ^%ZIS K %ZIS I POP S LREND=1 Q | 
|---|
|  | 127 | I $D(IO("Q")) K IO("Q") S (LRQUE,LREND)=1,ZTRTN="RUN^LRSORA",ZTDESC="Lab Special Report",ZTSAVE("LR*")="" D ^%ZTLOAD | 
|---|
|  | 128 | Q | 
|---|
|  | 129 | HLP1 ; | 
|---|
|  | 130 | W !,"A VALUE RANGE may also be entered (value:value).",!,"  For Example, 100:200 will search for values between 100 and 200.",! | 
|---|
|  | 131 | Q | 
|---|
|  | 132 | HLP2 ; | 
|---|
|  | 133 | W !,"Enter a value for the comparison:  " | 
|---|
|  | 134 | W $P(LRTST(LRTST,2),U,1)," ",$P(Y(0),U,1)_" _____." | 
|---|
|  | 135 | Q | 
|---|
|  | 136 | XX ; | 
|---|
|  | 137 | WAIT K DIR S DIR(0)="E" D ^DIR S:($D(DUOUT))!($D(DTOUT)) LREND=1 | 
|---|
|  | 138 | Q | 
|---|