DGPMBSAR ;ALB/LM/MJK - RECALC ENTRY POINTS; 16 JAN 91 ;;5.3;Registration;**85**;Aug 13, 1993 ; A D PCHK^DGPMGL I E G ERR^DGPMGL ; Parameter check D RCCK G:'$D(RCCK) Q ; Check for ReCalc already running D PAR^DGPMGL ; Display parameters ; ASK W ! S %DT("A")="RECALCULATE TOTALS FROM WHICH DATE: ",%DT="APE",%DT(0)=-(DT-1) D ^%DT K %DT G Q:Y'>0 S RC=+Y,X=$S($P(DGPM("G"),"^",7):$P(DGPM("G"),"^",7),1:+DGPM("G")) ; X=Earliest date ReCalc can be run ; I RCDGCDT) S DA=DGI,DIK="^DGS(43.5," D ^DIK K DA,DIK F DGCDT=0:0 S DGCDT=$O(^DGS(43.5,"AGL",DGCDT)) Q:'DGCDT!(DGCDT>EGL) F DGI=0:0 S DGI=$O(^DGS(43.5,"AGL",DGCDT,DGI)) Q:'DGI S DR=".08///@",DA=DGI,DIE="^DGS(43.5," D ^DIE K DR,DA,DIE,DQ,DE,DG,DGCDT Q ; WDCHK ; -- chk first ward S %=+$O(^DIC(42,"AGL",0)),WD=+$O(^(%,0)) S X=RC F J=1:1 S X1=X,X2=-1 D C^%DTC Q:X'>EGL!($D(^DG(41.9,WD,"C",X))) S RC=X I X'=EGL S X1=X,X2=1 D C^%DTC S RC=X K WD,% Q ; RCCK ; Check for ReCalc already running K RCCK I $P(DGPM("GLS"),"^",3) D RCR^DGPMGL Q ; ReCalc running I $P(DGPM("GLS"),"^",5),$P(DGPM("GLS"),"^",4),$P(DGPM("GLS"),"^",6)]"" S ZTSK=$P(DGPM("GLS"),"^",4),ZTCPU=$P(DGPM("GLS"),"^",6) D ISQED^%ZTLOAD I ZTSK(0) S Y=$P(DGPM("GLS"),"^",5) X ^DD("DD") W !,"ReCalc Already Scheduled for ",Y,! Q I $P(DGPM("GLS"),"^",5) S Y=$P(DGPM("GLS"),"^",5) X ^DD("DD") W !,"ReCalc appears to be scheduled for ",Y,!,"Do you wish to continue" S %=2 D YN^DICN Q:%=2!(%=-1) G RCCK:'% S RCCK=1 Q ; DEFS ; -- defaults for recalc S %DT="",X="T" D ^%DT K %DT S DT=Y S X1=DT,X2=-1 D C^%DTC S RD=X S X1=X,X2=-1 D C^%DTC S PD=X S (REM,GL,BS,TSR)=0 Q ; VAR ; RC=ReCalc from date ; RD=Report Date ; ; PD=Previous Date ; REM=Recalc patient days ;