| 1 | LRPHITEM ;SLC/CJS/RWF-ITEMIZED LOGIN ;6/24/91  10:49 | 
|---|
| 2 | ;;5.2;LAB SERVICE;**121,198,208,202,221,262**;Sep 27, 1994 | 
|---|
| 3 | ; | 
|---|
| 4 | S LRODT=DT,LRNT=$$NOW^XLFDT | 
|---|
| 5 | ; | 
|---|
| 6 | V1 D FNDLOC^LRDRAW G END^LRPHITE1:LRLLOC["^" | 
|---|
| 7 | I LRLLOC="" W !,"All locations" S %=2 D YN^DICN G V1:%=2!(%=0),END^LRPHITE1:%=-1 | 
|---|
| 8 | I $L(LRLLOC) I '$D(^LRO(69.1,"LRPH",1,LRLLOC)) W !,"Location ",LRLLOC," not found on collection list.",$C(7) G V1 | 
|---|
| 9 | ; | 
|---|
| 10 | V2 ; | 
|---|
| 11 | K LRSN,LROR,LRCOM,LRTCOM,LRNOCOM | 
|---|
| 12 | W !!,$C(7),"Enter Order Numbers NOT collected: " S LROR=0,LRFIRST=1 D LP1 G:X="^" END^LRPHITE1 | 
|---|
| 13 | ; -->Fix for 208 | 
|---|
| 14 | I $O(LROR(0))>0 W !,"Exceptions first." S LROR=0 D | 
|---|
| 15 | . N LRLLOC,LRODT | 
|---|
| 16 | . F  S LROR=$O(LROR(LROR)) Q:LROR<1  D EXCEPT^LRPHITE3 | 
|---|
| 17 | ; | 
|---|
| 18 | K LRSN,LROR,LRCOM,LRTCOM | 
|---|
| 19 | W !!,"Enter Order Numbers COLLECTED: " S LRNOCOM=1,LROR="" D LP1 G:X="^" END^LRPHITE1 | 
|---|
| 20 | G:LRLLOC'="" E1 S LRLLOC="" F  S LRLLOC=$O(^LRO(69,LRODT,1,"AC",LRLLOC)) Q:LRLLOC=""  D E2 | 
|---|
| 21 | D LEFT G END^LRPHITE1 | 
|---|
| 22 | ; | 
|---|
| 23 | E1 ; | 
|---|
| 24 | D E2,LEFT G END^LRPHITE1 | 
|---|
| 25 | ; | 
|---|
| 26 | LEFT Q:$O(LROR(0))=""  W !!,"DID NOT FIND THESE ORDERS:" S I=0 F  S I=$O(LROR(I)) Q:I=""  W $J(LROR(I),10) W:$X>69 ! | 
|---|
| 27 | Q | 
|---|
| 28 | ; | 
|---|
| 29 | E2 ; | 
|---|
| 30 | N LRSTORE | 
|---|
| 31 | S LROR=0 | 
|---|
| 32 | F  S LROR=$O(LROR(LROR)) Q:LROR<1  D | 
|---|
| 33 | . S LRSTORE(1)=LROR(LROR) | 
|---|
| 34 | . S LRSN=0 | 
|---|
| 35 | . F  S LRSN=$O(^LRO(69,"C",LRSTORE(1),LRODT,LRSN)) Q:LRSN=""  D | 
|---|
| 36 | . . I $G(^LRO(69,LRODT,1,"AC",LRLLOC,LRSN))'=1 Q | 
|---|
| 37 | . . S LRSTORE=0 | 
|---|
| 38 | . . D P15 | 
|---|
| 39 | . . W !,LRLLOC,"  ",LRSTORE(1) | 
|---|
| 40 | . . W:'$G(LRSTORE) "  Not Accepted !! ",$C(7) | 
|---|
| 41 | . . K LROR(LROR) | 
|---|
| 42 | Q | 
|---|
| 43 | ; | 
|---|
| 44 | ; | 
|---|
| 45 | P15 ;from LROE1, LRPHEXPT | 
|---|
| 46 | N LRORIFN,LRX712,LRUIDA | 
|---|
| 47 | ; | 
|---|
| 48 | Q:'$D(^LRO(69,LRODT,1,LRSN,1))  Q:$L($P(^(1),U,4))  S J1=^(1),LRX712=^(0) | 
|---|
| 49 | S LRDFN=+LRX712 K LRDPF | 
|---|
| 50 | D | 
|---|
| 51 | . N LRRB | 
|---|
| 52 | . D PT^LRX | 
|---|
| 53 | S LROLLOC=$P(LRX712,U,9) | 
|---|
| 54 | S LRTREA=+$G(VAIN(3)) | 
|---|
| 55 | S LRORIFN=$P(LRX712,U,11) | 
|---|
| 56 | S LRNT=$$NOW^XLFDT | 
|---|
| 57 | ; | 
|---|
| 58 | ;S ^LRO(69,LRODT,1,LRSN,1)=$P(J1,U,1,2)_"^"_DUZ_"^"_$P(J1,U,4)_"^^"_$P(J1,U,6)_"^"_$P(J1,U,7) | 
|---|
| 59 | S $P(^LRO(69,LRODT,1,LRSN,1),U,3)=DUZ | 
|---|
| 60 | ; | 
|---|
| 61 | S $P(^LRO(69,LRODT,1,LRSN,3),U)=LRNT,^LRO(69,LRODT,1,"AC",LRLLOC,LRSN)="" | 
|---|
| 62 | S (LRAA,LRAD,LRAN,LRTN)=0 | 
|---|
| 63 | F  S LRTN=$O(^LRO(69,LRODT,1,LRSN,2,LRTN)) Q:LRTN<1  D | 
|---|
| 64 | . I '$D(^LRO(69,LRODT,1,LRSN,2,LRTN,0)) Q | 
|---|
| 65 | . S X=^LRO(69,LRODT,1,LRSN,2,LRTN,0),LRAA=+$P(X,U,4),LRAD=+$P(X,U,3),LRAN=+$P(X,U,5),LRORIFN=$P(X,U,7) | 
|---|
| 66 | . D P15A | 
|---|
| 67 | . I $D(^LRO(68,LRAA,1,LRAD,1,LRAN,3)) D | 
|---|
| 68 | . . S $P(^LRO(68,LRAA,1,LRAD,1,LRAN,3),U,3)=LRNT | 
|---|
| 69 | . . S ^LRO(68,LRAA,1,LRAD,1,"E",LRNT,LRAN)="" | 
|---|
| 70 | ; | 
|---|
| 71 | I +$G(LRDPF)=2 D | 
|---|
| 72 | . N CONTROL | 
|---|
| 73 | . S CONTROL=$S($L(LRORIFN):"SC",1:"SN") | 
|---|
| 74 | . D NEW^LR7OB1(LRODT,LRSN,CONTROL,,,6) | 
|---|
| 75 | ; | 
|---|
| 76 | N LRX | 
|---|
| 77 | S LRX="" | 
|---|
| 78 | F  S LRX=$O(LRUIDA(LRX)) Q:LRX=""  D EN^LA7ADL(LRX) | 
|---|
| 79 | ; | 
|---|
| 80 | Q | 
|---|
| 81 | ; | 
|---|
| 82 | ; | 
|---|
| 83 | P15A ; | 
|---|
| 84 | I $G(LRDPF)=2,$$VER^LR7OU1<3 D:LRAA OR^LRWLST S $P(^LRO(69,LRODT,1,LRSN,2,LRTN,0),U,7)=LRORIFN | 
|---|
| 85 | Q:'$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) | 
|---|
| 86 | S $P(^LRO(69,LRODT,1,LRSN,1),U,4)="C",$P(^(1),U,8)=DUZ(2),LRRB="",$P(^LRO(69,LRODT,1,LRSN,1),U)=LRNT,^LRO(69,"AA",+$G(^(.1)),LRODT_"|"_LRSN)="" | 
|---|
| 87 | S LRSTORE=1 | 
|---|
| 88 | ; | 
|---|
| 89 | ; Save list of uid's on this order, used above to download to Lab UI. | 
|---|
| 90 | N X | 
|---|
| 91 | S X=$P($G(^LRO(68,LRAA,1,LRAD,1,LRAN,.3)),U) | 
|---|
| 92 | I $L(X) S LRUIDA(X)="" | 
|---|
| 93 | Q | 
|---|
| 94 | ; | 
|---|
| 95 | P16 ;from LRPHITE1 | 
|---|
| 96 | N X | 
|---|
| 97 | Q:'$D(^LRO(69,LRODT,1,LRSN,1))#2 | 
|---|
| 98 | S LRSS=$P(^LRO(68,LRAA,0),"^",2) | 
|---|
| 99 | Q:'$G(^LRO(68,LRAA,1,LRAD,1,LRAN,0))  S LRDFN=+^(0),LRDPF=$P(^(0),U,2) | 
|---|
| 100 | S LRDTM=$P($G(^LRO(68,LRAA,1,LRAD,1,LRAN,3)),U),LRIDT=+$P(^(3),U,5) | 
|---|
| 101 | I $S('LRIDT:1,'$D(^LR(LRDFN,LRSS,LRIDT,0))#2:1,1:0) S LRNOP=1 W !?5,"Accession Information Corrupt for this Order",!! Q | 
|---|
| 102 | I $P(^LR(LRDFN,LRSS,LRIDT,0),U,3) W !,$C(7),"CAN'T DO IT.  The data has been verified for accession  ",$P(^(0),U,6) S LRNOP=1 Q | 
|---|
| 103 | SKP S $P(^LRO(69,LRODT,1,LRSN,1),U,3)=DUZ,$P(^(1),U,4)="U" G P17:'LRBATCH | 
|---|
| 104 | S X=$O(LRCOM(999-LROR)),LRRND=$S($L(LRRND):LRRND,X>0:LRCOM(X,1,1),1:"") | 
|---|
| 105 | P17 G P18:$L(LRRND) W !,"REASON FOR NON-DRAW ON ORDER ",LROR(LROR) | 
|---|
| 106 | W " ",$G(LRCCOM) | 
|---|
| 107 | I $G(LREPISOD) K LREPISOD | 
|---|
| 108 | S LRSAMP=1,LRSPEC=1,LREND=0 I '$L(LRRND) F  D  Q:$L(LRRND)!($G(LREND))  W !?5,"You must enter a reason.",! | 
|---|
| 109 | . N LRCCOM,LRCCOM1,LRCCOMX D FX2^LRTSTOUT S LRRND=LRCCOM | 
|---|
| 110 | Q:$G(LREND) | 
|---|
| 111 | P18 S $P(^LRO(69,LRODT,1,LRSN,1),U,6)=LRRND | 
|---|
| 112 | D:$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) OUT^LRPHITE2 | 
|---|
| 113 | Q | 
|---|
| 114 | LP1 ;from LRPHEXPT | 
|---|
| 115 | N Y1 | 
|---|
| 116 | S LRFORD=LROR K LRCCOM,LRCOM0 | 
|---|
| 117 | W !,"Enter Order #(s) :",! R X:DTIME Q:(X="^"!(X="")!('$T))  W ! I (X="?"!($L(X)>80)) W !,"Enter a string of numbers separated with A ',' UP TO 80 CHARACTERS LONG ",! G LP1 | 
|---|
| 118 | W ! F I=1:1 S LRSN=+$P(X,",",I) Q:LRSN=0  D | 
|---|
| 119 | .  S Y1=$O(^LRO(69,"C",+LRSN,LRODT,0)) | 
|---|
| 120 | .  S Y=Y1 D:Y1<1 TEXT S LRSN0=Y1 ;----->LR*5.2*182 | 
|---|
| 121 | .  I Y1'="" S LRWD=$P(^LRO(69,LRODT,1,Y1,0),U,7) S:LRLLOC'="" Y=$S(LRWD=LRLLOC:$D(^LRO(69,LRODT,1,Y,1)),1:"") S:Y LROR=LROR+1,LROR(LROR)=+LRSN D TEXT | 
|---|
| 122 | 198 ; | 
|---|
| 123 | S LRSAMP=999-LRFORD,LRSPEC=1,LRCOM(LRSAMP,1,1)="",LRCOM(LRSAMP,1)=0 | 
|---|
| 124 | G LP1 | 
|---|
| 125 | TEXT S:Y<1 Y="" W:$X>70 ! W +LRSN,$S(Y:" OK, ",1:" NOT ON LIST, ") | 
|---|
| 126 | QUIT | 
|---|
| 127 | ;--> LR*5.2*182 | 
|---|
| 128 | SINGLE ; | 
|---|
| 129 | N X | 
|---|
| 130 | Q:$G(LREPISOD)=1 | 
|---|
| 131 | S LREPISOD=1 | 
|---|
| 132 | I '$G(LRSN) S LRSN=$G(LRSN0) | 
|---|
| 133 | S LRITN=$G(LRITN,LRIX) | 
|---|
| 134 | S LRRND=LRCCOM | 
|---|
| 135 | Q:'$G(LRSN) | 
|---|
| 136 | S $P(^LRO(69,LRODT,1,LRSN,1),U,6)=LRRND | 
|---|
| 137 | S X=1+$O(^LRO(69,LRODT,1,LRSN,2,LRITN,1.1,"A"),-1),X(1)=$P($G(^(0)),U,4) | 
|---|
| 138 | S ^LRO(69,LRODT,1,LRSN,2,LRITN,1.1,X,0)="*"_$G(LRCCOM1)_":"_LRCCOM,X=X+1,X(1)=X(1)+1 | 
|---|
| 139 | S ^LRO(69,LRODT,1,LRSN,2,LRITN,1.1,0)="^^"_X_U_X(1)_U_DT | 
|---|
| 140 | K LRSAMP,LRSPEC,LRCOM,LRCCOM | 
|---|
| 141 | QUIT | 
|---|
| 142 | POLY ; | 
|---|
| 143 | N LRTIC | 
|---|
| 144 | S LRTIC=0 | 
|---|
| 145 | F  S LRTIC=$O(^LRO(69,LRODT,1,LRSN,2,LRTIC)) Q:+LRTIC'>0  S LRITN=LRTIC D | 
|---|
| 146 | .  S X=1+$O(^LRO(69,LRODT,1,LRSN,2,LRITN,1.1,"A"),-1),X(1)=$P($G(^(0)),U,4) | 
|---|
| 147 | .  S ^LRO(69,LRODT,1,LRSN,2,LRITN,1.1,X,0)="*"_$G(LRCCOM1)_":"_LRCCOM,X=X+1,X(1)=X(1)+1 | 
|---|
| 148 | .  S ^LRO(69,LRODT,1,LRSN,2,LRITN,1.1,0)="^^"_X_U_X(1)_U_DT | 
|---|
| 149 | K DIE,LREPISOD | 
|---|
| 150 | S LRCOM0=LRCCOM | 
|---|
| 151 | K LRSAMP,LRSPEC,LRCOM | 
|---|
| 152 | QUIT | 
|---|
| 153 | ; | 
|---|
| 154 | MULT ; | 
|---|
| 155 | S LRSN0=0 ;-->  specimen number | 
|---|
| 156 | F  S LRSN0=$O(^LRO(69,"C",LRSN,LRODT,LRSN0)) Q:+LRSN0'>0  D LRSN | 
|---|
| 157 | QUIT | 
|---|
| 158 | LRSN ; | 
|---|
| 159 | ;--> From LRPHITE1 when multiple tests have been cancelled | 
|---|
| 160 | ;    LRCCOM is still valid since only one comment per order | 
|---|
| 161 | ; | 
|---|
| 162 | N LRTT3 | 
|---|
| 163 | S LRTT3=0 | 
|---|
| 164 | F  S LRTT3=$O(^LRO(69,LRODT,1,LRSN0,2,LRTT3)) Q:+LRTT3'>0  D | 
|---|
| 165 | .  Q:$P(^LRO(69,LRODT,1,LRSN0,2,LRTT3,0),U,9)'="CA" | 
|---|
| 166 | .  S LRTIC=0 | 
|---|
| 167 | .  F  S LRTIC=$O(^LRO(69,LRODT,1,LRSN0,2,LRTT3,1,LRTIC)) Q:+LRTIC'>0  D | 
|---|
| 168 | ..  Q:$D(^LRO(69,LRODT,1,LRSN0,2,LRTT3,1,LRTIC,0)) | 
|---|
| 169 | ..  N LRITN S LRITN=LRTT3 | 
|---|
| 170 | ..  D SINGLE | 
|---|
| 171 | QUIT | 
|---|