VistA-WorldVistAEHR/r/INPATIENT_MEDICATIONS-PSJ-P.../PSJADT1.m

39 lines
1.8 KiB
Mathematica

PSJADT1 ;BIR/CML3-AUTO CANCEL/HOLD UTILITIES ;17 JAN 96 / 10:11 AM
;;5.0; INPATIENT MEDICATIONS ;**30,37,51,83**;16 DEC 97
;
; Reference to ^PS(55 is supported by DBIA# 2191.
; Reference to ^PS(59.7 is supported by DBIA# 2181.
;
ENUW ; update ward and treating specialty
D INP^VADPT,NOW^%DTC F Q1=%:0 S Q1=$O(^PS(55,PSGP,5,"AUS",Q1)) Q:'Q1 F Q2=0:0 S Q2=$O(^PS(55,PSGP,5,"AUS",Q1,Q2)) Q:'Q2 D
.I $D(^PS(55,PSGP,5,Q2,0)) S $P(^(0),"^",23)=+VAIN(4),^PS(55,"AUE",PSGP,Q2)=""
F ON=0:0 S ON=$O(^PS(55,PSGP,"IV",ON)) Q:'ON I $D(^(ON,0)) S $P(^(0),"^",22)=+VAIN(4)
Q
;
ENHOLD(PSGOEHA,PSJDEL,PSJPAD,PSGALO) ;
; place orders on/off hold
S X=PSGOEHA W:'$D(DGQUIET) !,"...",$S(X:"plac",1:"tak"),"ing Inpatient Medication orders o",$S(X:"n",1:"ff")," of hold..."
D NOW^%DTC S PSGDT=+$E(%,1,12),PSGOEHA='PSGOEHA D ENACH^PSGOEHA
S DFN=PSGP,PSIVNST="H" I 'PSGOEHA D ^PSIVHLD
I PSGOEHA D START^PSIVHLD
I 'PSGOEHA S X=PSJDEL,X=$S(X=3:2,X=22:2,X=26:2,1:1),$P(PSJPIND,"^",7)=2,$P(PSJPIND,"^",10)="Transferred "_$P("A^Una",U,X)_"uthorized Absence" Q
S $P(PSJPIND,"^",7)="",$P(PSJPIND,"^",10)="" G ENUW
;
ENDEL(DFN,DGPMP,PSJTMT,PSJDEL) ;
;Undo mvmt action if movement is deleted.
N VAIP S VAIP("D")=+DGPMP D IN5^VADPT Q:VAIP(16)
; Add call to PSJADT0 to dc active/non-verified orders for cancelled admissions.
I PSJDEL=1 D Q
. S PSJPAD=+VAIP(13,1),PSGALO=1035
. N VAIP D IN5^VADPT Q:+VAIP(13,1)>PSJPAD
. D ENDC^PSJADT0
I PSJDEL=3 D ENUNDC^PSJADT0(+DGPMP,DFN,VAIP(5),18540) Q
I PSJDEL=6 D ENUNDC^PSJADT0(+DGPMP,DFN,VAIP(5),18550) Q
I PSJTMT=4 D ENUNDC^PSJADT0(+DGPMP,DFN,VAIP(5),18550) Q
I PSJTMT<4 D
.I $P($G(^PS(55,DFN,5.1)),U,7),$P(^(5.1),U,10)["Transferred" D ENHOLD(0,PSJDEL,+DGPMP,8090)
.D ENUNDC^PSJADT0(+DGPMP,DFN,VAIP(5),18550)
I PSJTMT>21,(PSJTMT<27) S X=PSJTMT I $P($G(^PS(59.7,1,22,+VAIP(5),0)),U,$S(X=22!(X=26):4,X=23:2,1:3)) D ENHOLD(1,X,+DGPMP,8590)
Q