Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DGPMGL1

DGPMGL1.m

Go to the documentation of this file.
  1. DGPMGL1 ;ALB/MRL/LM/MJK - G&L ENTRY POINT CONT.; [ 09/13/2001 3:56 PM ]
  1. ;;5.3;Registration;**1005,1015**;Aug 13, 1993;Build 21
  1. ;IHS/ANMC/LJF 3/30/2001 changed references to IHS files
  1. ; added calls to IHS routines for calculate
  1. ; commented out code not needed
  1. ;IHS/OIT/LJF 01/05/2006 PATCH 1005 removed 2nd time recalc ran on primary date
  1. ;
  1. Q
  1. ; Continuation from DGPMGL
  1. A S REM=0 I BS!(GL) S Y=LD X:Y]"" ^DD("DD") W !!,"LAST BED STATUS REPORT TOTALS EXIST FOR ",Y
  1. ;I TSR,TSRI]"",TSLD S Y=TSLD X:Y]"" ^DD("DD") W !!,"LAST TREATING SPECIALTY REPORT TOTALS EXIST FOR ",Y ;IHS/ANMC/LJF 3/30/2001 not needed
  1. S X1=DT,X2=-1 D C^%DTC S YD=X
  1. ; Updating last date G&L generated
  1. I LD'=YD S X1=LD,X2=1 D C^%DTC S (LD,Y)=X X ^DD("DD")
  1. I LD=YD S LD=DT
  1. K ^UTILITY($J)
  1. S DD=Y
  1. ;
  1. WHEN ; Asking when to print report/s
  1. W !!,"PRINT REPORT",$S(GL&BS:"S",1:"")," FOR WHICH DATE: ",DD,"// " R X:DTIME
  1. G Q:X["^"!('$T) S:X="" X=DD S %DT="EPX" D ^%DT G WHEN:Y<0
  1. S (RD,X1)=+Y,X2=-1 D C^%DTC S PD=X
  1. I Y<DGPM("G") S Y=+DGPM("G") X ^DD("DD") W !!,"EARLIEST DATE ALLOWED IS ",Y,".",*7 G WHEN
  1. I Y>DT S Y=DT X ^DD("DD") W !!,"CHOOSE A DATE ON OR BEFORE ",Y,".",*7 G WHEN
  1. I Y<LD S X1=Y,X2=-1 D C^%DTC
  1. ;
  1. ;IHS/ANMC/LJF 3/30/2001 changed reference to IHS file
  1. ;I '$D(^DG(41.9,WD,"C",X,0)) W !!,"NO TOTALS EXIST FOR PREVIOUS DAY!!",*7 G WHEN
  1. I '$D(^BDGCWD(+WD,1,X,0)) D G WHEN
  1. . W !!,"NO TOTALS EXIST FOR PREVIOUS DAY!!"
  1. ;IHS/ANMC/LJF 3/30/2001 end of code changes
  1. ;
  1. I RD=DT,BS W !!," * BED STATUS REPORT WILL NOT BE CALCULATED...TODAY'S ACTIVITY IS INCOMPLETE! *",*7 S BS=0
  1. ;
  1. G IHS ;IHS/ANMC/LJF 3/30/2001 skip to line IHS
  1. ;
  1. I RD=DT,TSR W !!," * THE TSR WILL NOT PRINT...TODAY'S ACTIVITY IS INCOMPLETE! *",*7 S TSR=0
  1. I 'GL,'BS,'TSR G WHEN
  1. I TSR I TSRI]"" I RD<TSRI S Y=+TSRI X ^DD("DD") W !!,"EARLIEST DATE FOR TREATING SPECIALTY REPORT IS ",Y,".",*7,!!,"TREATING SPECIALTY REPORT WILL NOT BE PRINTED FOR THE DATE SELECTED!" I 'BS,'GL G WHEN
  1. I RD=YD,$D(^DG(43,1,"NOT")),$P(^("NOT"),"^",8) D ^DGABUL ; Transmit Overdue Absence Bulletin
  1. ADC I BS D ^DGPMGL2
  1. I 'BS&('TSR) S RC=0 D ^DGPMGL2
  1. I BS!(TSR) D RC I $D(%) G:%=-1 Q^DGPMGL I '$D(RCCK) G:%=2 Q^DGPMGL
  1. W !!,"Note: This output should be printed at a column width of 132.",!
  1. ;
  1. IHS ; skipped VA code from above and added IHS code;IHS/ANMC/LJF 3/30/2001
  1. I 'BS S RC=0
  1. I BS D RC I $D(%) I %=-1 G Q^DGPMGL
  1. I GL L +^BDGCWD:5 I '$T W !!,"CENSUS FILES LOCKED; SOMEONE ELSE RUNNING RECALC; TRY AGAIN LATER!!" D PAUSE^BDGF D Q^DGPMGL Q
  1. NEW BDGFRM,BDGQUIT W ! D FORMAT^BDGAD0 G:$G(BDGQUIT) Q^DGPMGL
  1. D MSG^BDGF("Printing to HOME puts report into browse mode.",2,1)
  1. ;IHS/ANMC/LJF 3/30/2001 end of IHS code
  1. ;
  1. S %ZIS="QM" D ^%ZIS G Q:POP!(IO="") I $D(IO("Q")) K IO("Q") D QUE G Q
  1. U IO
  1. ;
  1. GO D CLEAN^DGPMGLG
  1. D NOW^%DTC S Y=$E(%,1,12) X ^DD("DD") S DGNOW=Y ; used to print date/time of report
  1. ;
  1. ;IHS/ANMC/LJF 3/30/2001 call IHS calculate and print routines
  1. ;D:$D(RC) UP43^DGPMBSR,^DGPMBSR D ^DGPMGLG
  1. ;
  1. ;IHS/OIT/LJF 01/05/2006 PATCH 1005 don't recalc 2nd time into BDGAD1 (DGPMBSR already called BDGAD1)
  1. ;D:$D(RC) UP43^DGPMBSR,^DGPMBSR D ^BDGAD1
  1. D:$D(RC) UP43^DGPMBSR,^DGPMBSR S BDGREP=1 D ^BDGAD1
  1. ;
  1. D ^BDGADD:BDGFRM="D",^BDGADS:BDGFRM="S" ;detailed vs summary format
  1. ;IHS/ANMC/LJF 3/30/2001 end of code changes
  1. ;
  1. S DIE="^DG(43,",DA=1,DR="54////@;55////@;56////@" D ^DIE
  1. Q G DONE^DGPMGLG
  1. ;
  1. RC ; G&L corrections
  1. S RC=$S($P(DGPM("G"),"^",7)>+DGPM("G"):$P(DGPM("G"),"^",7),1:+DGPM("G")),CD=$O(^DGS(43.5,"AGL",RC-1))
  1. I CD,CD'>RD S Y=CD X ^DD("DD") W !!,"G&L corrections exist from ",Y,"."
  1. S X1=DT,X2=-7 D C^%DTC S LW=X ; Last Week
  1. I CD>LW,CD'>RD S RC=CD,%=1 W !,"SINCE G&L CORRECTIONS ARE RECENT (WITHIN LAST WEEK) RECALCULATION WILL OCCUR",!,"AUTOMATICALLY AS THE "_$S('TSR:"BED STATUS REPORT",'BS:"TREATING SPECIALTY REPORT",1:"BSR AND TSR")_" IS COMPUTED!" G RCQ
  1. ;
  1. ;IHS/ANMC/LJF 3/30/2001 reference IHS files
  1. ;I $O(^DIC(42,"AGL",0)) S WD=$O(^DIC(42,"AGL",$O(^(0)),0)) I '$D(^DG(41.9,WD,"C",RD,0)) S RC=RD,%=1 G RCQ
  1. I $O(^DIC(42,"AGL",0)) S WD=$O(^DIC(42,"AGL",$O(^(0)),0)) I '$D(^BDGCWD(+WD,1,RD,0)) S RC=RD,%=1 G RCQ
  1. ;IHS/ANMC/LJF 3/30/2001 end of code changes
  1. ;
  1. ;
  1. RC1 D RCCK^DGPMBSAR ; Check for ReCalc already running
  1. I '$D(RCCK) I $P(DGPM("GLS"),"^",5) I $D(%) I %=2!(%=-1) Q
  1. I $D(RCR) S RC=0 Q
  1. ;
  1. ;IHS/ANMC/LJF 3/30/2001 changed prompt
  1. ;W !!,"Recalculate BSR" W:TSR "/TSR" W " Totals" S %=2 D YN^DICN G RCQ:%=-1
  1. I $G(BDGREP) S %=2 ;reprint option selected from menu
  1. E W !!,"Recalculate Totals" S %=2 D YN^DICN G RCQ:%=-1 S:%=2 BDGREP=1
  1. ;IHS/ANMC/LJF 3/30/2001 end of code changes
  1. ;
  1. I % S RC=$S(%=2:0,'CD:RD,CD<RD:CD,1:RD) G RCQ
  1. I '% W !?4,"Answer YES to recalculate totals to insure accurancy or NO to simply print",!?4,"report with existing CENSUS file totals." G RC1
  1. RCQ K LW Q
  1. ;
  1. QUE S ZTIO=ION_";"_$S($D(IOST)#2:IOST,1:"")_";"_$S($D(IOM)#2:IOM,1:"")_";"_$S($D(IOSL)#2:IOSL,1:""),ZTDESC=$S(GL&(BS):"G&L AND BSR",GL:"G&L",1:"BSR")_" GENERATION",ZTRTN="GO^DGPMGL1"
  1. F I="DUZ","DIV","RD","TSR","TSRI","BS","GL","DGPM(""G"")","DGPM(""GL"")","DUZ","REM","PD","RC","RM","SS","MT","TS","CP","OS","SNM","VN","SF","TSD" S ZTSAVE(I)=""
  1. ;
  1. S ZTSAVE("BDGFRM")="" ;IHS/ANMC/LJF 3/30/2001 add IHS variable
  1. ;
  1. D ^%ZTLOAD Q
  1. ;
  1. VAR ; REM=Recalc Patient Days ; LD=Last Date G&L was run ; YD=YesterDay ;
  1. ; RD=Report Date ; PD=Previous Date ; CD= Correction Date ;
  1. ; RC=ReCalc from date ;