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
|
---|