| [613] | 1 | LROR3 ;SLC/DCM - CANCEL,PURGE,SETUP,CLEAN EXECUTES ;11/26/90  10:10 ; | 
|---|
|  | 2 | ;;5.2;LAB SERVICE;**100,121,165**;Sep 27, 1994 | 
|---|
|  | 3 | C ;;Cancel execute from OR | 
|---|
|  | 4 | I ORSTS="",$D(ORPK),$L($P(ORPK,"^",8)) S X=$P(ORPK,"^",2)_","""_$P(ORPK,"^",5)_""","_$P(ORPK,"^",3)_","_$P(ORPK,"^",4)_","_$P(ORPK,"^",8) K:$L(X) @("^XUTL(""OR"",$J,""LROT"","_X_")") S ORSTS="K" D ST^ORX W "  Deleted" Q | 
|---|
|  | 5 | I +ORSTS=11 S ORSTS="K" D ST^ORX W "  Deleted" Q | 
|---|
|  | 6 | I ORGY=0 D C3 Q:LREND | 
|---|
|  | 7 | I ORGY'=0 S LRODT=+ORPK,LRSN=$P(ORPK,"^",2),I=$P(ORPK,"^",3) | 
|---|
|  | 8 | I 'LRODT!('LRSN)!('I) S ORSTS=1 D:ORGY=9 ST^ORX Q | 
|---|
|  | 9 | I '$D(^LRO(69,LRODT,1,LRSN)),ORGY=10 Q | 
|---|
|  | 10 | I '$D(^LRO(69,LRODT,1,LRSN)),ORGY=9 S ORSTS=1 D ST^ORX Q | 
|---|
|  | 11 | I '$D(^LRO(69,LRODT,1,LRSN,2,I)),ORGY=10 Q | 
|---|
|  | 12 | I '$D(^LRO(69,LRODT,1,LRSN,2,I)),ORGY=9 S ORSTS=1 D ST^ORX Q | 
|---|
|  | 13 | I $D(^LRO(69,LRODT,1,LRSN,3)),$P(^(3),"^",2) W !,"Tests already verified for this portion of the order, cannot delete." G END | 
|---|
|  | 14 | C1 S LRORD=+^LRO(69,LRODT,1,LRSN,.1),X=^(2,I,0),LRTSN=+X,LRAD=+$P(X,"^",3),LRAA=+$P(X,"^",4),LRAN=+$P(X,"^",5),(LRNOP,LRACC)="",LRONE="" | 
|---|
|  | 15 | I LRAD,LRAA,LRAN,$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)),'$D(^XUSEC("LRLAB",DUZ)) W !!,$C(7),"Already accessioned.  Contact lab to cancel.",! G END | 
|---|
|  | 16 | C2 I ORGY=0 D DC^ORX5 S LREND=1 G END | 
|---|
|  | 17 | I ORGY=9 D C4 | 
|---|
|  | 18 | END K LRODT,LRSN,LRAD,LRAA,LRAN,LRNOP,LRACC,LRONE,LRC,LRDFN,LRDPF,LRSX,LRTSN,LRUSNM | 
|---|
|  | 19 | Q | 
|---|
|  | 20 | C3 I 'ORPK D C2 Q | 
|---|
|  | 21 | S LRODT=+ORPK,LRSN=$P(ORPK,"^",2),I=$P(ORPK,"^",3) I 'LRODT!('LRSN)!('I) D C2 Q | 
|---|
|  | 22 | I '$D(^LRO(69,LRODT,1,LRSN,2,I)) K LRODT,LRSN D C2 Q | 
|---|
|  | 23 | S LREND=0 Q | 
|---|
|  | 24 | Q | 
|---|
|  | 25 | C4 I LRAD,LRAA,LRAN,$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) D OR^LRCENDE1 I LRNOP G END | 
|---|
|  | 26 | I 'LRNOP D C5 | 
|---|
|  | 27 | S ORSTS=1 D ST^ORX | 
|---|
|  | 28 | Q | 
|---|
|  | 29 | C5 ; | 
|---|
|  | 30 | S $P(^LRO(69,LRODT,1,LRSN,2,$P(ORPK,"^",3),0),"^",3,6)="^^^",$P(^(0),"^",9,11)="CA^W^"_DUZ | 
|---|
|  | 31 | ;K ^LRO(69,LRODT,1,LRSN,2,$P(ORPK,"^",3)),^LRO(69,LRODT,1,LRSN,2,"B",LRTSN,$P(ORPK,"^",3)) S LRTSN=$P(^LAB(60,LRTSN,0),"^") S:'$D(^LRO(69,LRODT,1,LRSN,6,0)) ^(0)="^69.04^^" | 
|---|
|  | 32 | ;S LRUSNM=$P(^VA(200,DUZ,0),"^"),X=1+$P(^LRO(69,LRODT,1,LRSN,6,0),"^",3),$P(^(0),"^",3,4)=X_"^"_X,^(X,0)="Ordered test "_LRTSN_" deleted by "_LRUSNM | 
|---|
|  | 33 | ;S DIE="^LRO(69,LRODT,1,",DA=LRSN,DR=16 D ^DIE | 
|---|
|  | 34 | S Y=$P(^LRO(69,LRODT,1,LRSN,0),"^",8) D DD^%DT W !,"  Ordered test "_$P(^LAB(60,LRTSN,0),"^")_" for "_Y_" cancelled." | 
|---|
|  | 35 | Q | 
|---|
|  | 36 | P ;;Purge execute from OR | 
|---|
|  | 37 | S LREND=0,LRXODT=+ORPK,LRXSN=$P(ORPK,"^",2),LRXTN=$P(ORPK,"^",3) | 
|---|
|  | 38 | I LRXODT,LRXSN,LRXTN,ORSTS'=1 D PEND | 
|---|
|  | 39 | I 'LREND S ORSTS="K" D ST^ORX | 
|---|
|  | 40 | K LRXODT,LRXSN,LRXTN,LREND Q | 
|---|
|  | 41 | SETUP ;;Setup execute from OR | 
|---|
|  | 42 | Q | 
|---|
|  | 43 | CLEAN ;;Clean-up execute from OR | 
|---|
|  | 44 | D LREND^LROW4 | 
|---|
|  | 45 | K LRASK,LRPREV,LROCK,LRPGM,LRTSNM,LRCK,LRDTX,LROSX,LREK,LROST,LRPRAM,LRA,LRAA,LRABV,LRAD,LRAX,LRC,LRH,LRSF,LRSS,LRSX,LRU,LRWHO,LRECUR,LRNOW,LRSTUB,LRZX,LRSZX | 
|---|
|  | 46 | K ^XUTL("OR",$J,"LROST"),^("LRZX"),^("LROT"),^("COM") | 
|---|
|  | 47 | Q | 
|---|
|  | 48 | PEND I '$D(^LRO(69,LRXODT,1,LRXSN,0)) Q | 
|---|
|  | 49 | S X=+^LRO(69,LRXODT,1,LRXSN,0) I $D(^LR(X,0)),$P(^(0),"^",2)'=2 G P1 | 
|---|
|  | 50 | I '$D(^LRO(69,LRXODT,1,LRXSN,1)) S LREND=1 Q | 
|---|
|  | 51 | I ORSTS=5 S LREND=1 Q | 
|---|
|  | 52 | I $D(^LRO(69,LRXODT,1,LRXSN,3)),'$L($P(^(3),"^",2)) S LREND=1 Q | 
|---|
|  | 53 | P1 S:$D(^LRO(69,LRXODT,1,LRXSN,2,LRXTN,0)) $P(^(0),"^",7)="" Q | 
|---|
|  | 54 | Q | 
|---|