1 | PSGOERI ;BIR/CML3-REINSTATE A DC'D ORDER ;06 Aug 98 / 2:17 PM
|
---|
2 | ;;5.0; INPATIENT MEDICATIONS ;**17,27,31,88,110,137**;16 DEC 97
|
---|
3 | ;
|
---|
4 | ; Reference to ^PS(55 is supported by DBIA# 2191
|
---|
5 | ;
|
---|
6 | ENRI ;
|
---|
7 | S PSGALR=80,PSGFD=$P($G(^PS(55,PSGP,5,+PSGORD,2)),"^",3) I 'PSGFD W:'$D(PSJUNDC) $C(7),$C(7),!?3,"I CANNOT REINSTATE THIS ORDER! THE OLD STOP DATE IS MISSING!" Q
|
---|
8 | I PSGFD'>PSGDT Q:$D(PSJUNDC) W !!,"This order has technically expired as of ",$$ENDTC^PSGMI,"." F S %=1 W !!,"Do you want to RENEW this order" D YN^DICN Q:% D
|
---|
9 | .W !!?2,"This order has expired, and cannot be renewed. But the order can be",!,"reinstated. Answer 'YES' to reinstate the order now. Answer 'NO' (or '^') if",!,"you do not want to reinstate this order now."
|
---|
10 | I PSGFD'>PSGDT G:%'=1 DONE S PSGRRF=0 D NEW^PSGOER,DONE^PSGOER G DONE
|
---|
11 | W:'$D(PSJUNDC) !!,"...reinstating this order..."
|
---|
12 | ;Create a list of recipients beyond normal mail group
|
---|
13 | D:$D(PSJUNDC) ; do only if from movement deletion
|
---|
14 | .I $P(^PS(55,PSGP,5,+PSGORD,4),U,1)'="" S PSJSENTO($J,$P(^PS(55,PSGP,5,+PSGORD,4),U,1))="" ; Record verifying Nurse
|
---|
15 | .I $P(^PS(55,PSGP,5,+PSGORD,4),U,3)'="" S PSJSENTO($J,$P(^PS(55,PSGP,5,+PSGORD,4),U,3))="" ; Record verifying Pharmacist
|
---|
16 | .I $P(^PS(55,PSGP,5,+PSGORD,4),U,5)'="" S PSJSENTO($J,$P(^PS(55,PSGP,5,+PSGORD,4),U,5))="" ; Record Physician
|
---|
17 | .I $P(^PS(55,PSGP,5,+PSGORD,0),U,2)'="" S PSJSENTO($J,$P(^PS(55,PSGP,5,+PSGORD,0),U,2))="" ; Record Provider
|
---|
18 | ;If a duplicate order exists do not reinstate the older one. Record in ^TMP for later advice in auto e-mail (PSJADT2)
|
---|
19 | D NOW^%DTC
|
---|
20 | I $D(PSJUNDC) I $$CHECKDUP^PSGOERI(PSGP,+PSGORD) S ^TMP("PSJNOTUNDC",$J,PSGP,PSGORD_"U")="" G DONE
|
---|
21 | S DR=$S(+$P($G(^PS(55,PSGP,5,+PSGORD,4)),U,18)=1:"28///H",+$P($G(^(4)),U,26)=1:"28///H",1:"28////A")_";34////"_PSGFD
|
---|
22 | S Z=$G(^PS(55,PSGP,5,+PSGORD,4)),$P(Z,U,11)="",$P(Z,"^",15,17)="^^" S:'$D(PSJUNDC) $P(Z,"^",PSJSYSU,PSJSYSU+1)=DUZ_"^"_PSGDT S ^(4)=Z W "."
|
---|
23 | N CHKIT S CHKIT=$G(^PS(55,PSGP,5,+PSGORD,0)) I $P(CHKIT,U,26)["P",($P(CHKIT,U,27)="R") S DR=DR_";105///@;107///@"
|
---|
24 | S DIE="^PS(55,"_PSGP_",5,",DA(1)=PSGP,DA=+PSGORD,PSGAL("C")=$S($D(PSJUNDC):40,1:(PSJSYSU*10))+18500 D ^PSGAL5 W "." D ^DIE W "."
|
---|
25 | S X=$P(^PS(55,PSGP,5,+PSGORD,0),"^",20),$P(^(0),"^",20)="" K:X ^PS(55,"AUDDD",X,PSGP,+PSGORD) ;Removed cross reference after reinstate order.
|
---|
26 | ;S X=$O(^ORD(101,"B","PS EVSEND OR",0))_";ORD(101,",PSOC="SC",PSJORDER=$$ORDER^PSJHLU(PSGORD) D EN1^XQOR:X K X
|
---|
27 | S ^TMP("PSJUNDC",$J,PSGP,PSGORD_"U")=""
|
---|
28 | D EN1^PSJHL2(PSGP,"SC",PSGORD_"U",$S($D(PSJUNDC):"AUTO REINSTATED",1:"REINSTATED"))
|
---|
29 | Q:$S('$D(PSJUNDC):0,PSGALO=18540:1,1:'$P($G(PSJSYSW0),U,15))
|
---|
30 | S PSGTOL=$S($D(PSJUNDC):3,1:2),PSGUOW=$S($D(PSJUNDC):PSJUOW,1:DUZ)
|
---|
31 | I $D(^PS(53.41,1,1,+PSGUOW,1,PSGP,1,1,1,+PSGORD)) K DIK,DA S DIK="^PS(53.41,"_1_",1,"_+PSGUOW_",1,"_PSGP_",1,1,1,",DA=+PSGORD,DA(1)=1,DA(2)=PSGP,DA(3)=+PSGUOW,DA(4)=1 D ^DIK
|
---|
32 | E D
|
---|
33 | .S X=0 S:$D(PSJUNDC) X=$O(^PS(59.6,"B",+PSGUOW,0)),X=$P($G(^PS(59.6,+X,0)),U,15)
|
---|
34 | .I $S(X:1,'PSJSYSL:0,PSJSYSL<3:1,1:$P(^PS(55,PSGP,5,DA,4),"^",+PSJSYSU'=3+9)) D
|
---|
35 | ..K DA S DA=+PSGORD,DA(1)=PSGP,$P(^PS(55,PSGP,5,DA,7),"^",1,2)=PSGDT_"^RE",PSGTOO=1,PSGUOW=$S($D(PSJUNDC):+PSJUOW,1:DUZ) D ENL^PSGVDS W "."
|
---|
36 | W:'$D(PSJUNDC) ".DONE!" Q
|
---|
37 | ;
|
---|
38 | DONE ;
|
---|
39 | K DA,DIE,DR,PSGAL,PSGALR,PSGFD,PSGID,PSGOD,RF,Z
|
---|
40 | Q
|
---|
41 | CHECKDUP(PSGP,PSGORD) ;
|
---|
42 | N Z,ZZ,PSJCOM
|
---|
43 | S FOUND=0
|
---|
44 | S PSGX=+$G(^PS(55,PSGP,5,+PSGORD,.2)),PSJCOM=+$P($G(^(.2)),"^",8)
|
---|
45 | I PSGX'="" D
|
---|
46 | .F Z=%:0 S Z=$O(^PS(55,+PSGP,5,"AUS",Z)) Q:'Z!FOUND D
|
---|
47 | ..F ZZ=0:0 S ZZ=$O(^PS(55,+PSGP,5,"AUS",Z,ZZ)) Q:'ZZ!FOUND D
|
---|
48 | ...I PSJCOM>0 Q:+$P($G(^PS(55,+PSGP,5,ZZ,.2)),"^",8)=PSJCOM
|
---|
49 | ...I +$G(^PS(55,+PSGP,5,ZZ,.2))=PSGX D
|
---|
50 | ....S FOUND=1
|
---|
51 | Q FOUND
|
---|