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

AMQQDOW.m

Go to the documentation of this file.
  1. AMQQDOW ; IHS/CMI/THL - GS&CS/OHPRD&ANMC/IHS DAY OF WEEK ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ; This routine is dedicated to my friend and management guru, Dr. Mike Westley, ANMC
  1. ;-----
  1. I '$D(AMQRZZZ) S (AMQRZZZ,AMQRDXXX)=0
  1. S AMQRZZZ=AMQRZZZ+1
  1. I IOST["C-",AMQRZZZ>1 W *13,AMQRZZZ I AMQRDXXX W " (",AMQRDXXX,")"
  1. I AMQRZZZ>1 D SET Q
  1. I IOST["C-" W !!!!,"CRUNCH, CRUNCH....",!!
  1. D PRE
  1. D SET
  1. Q
  1. ;
  1. FAIL S AMQRDXXX=AMQRDXXX+1
  1. I AMQRZZZ>1 W *13,AMQRZZZ," (",AMQRDXXX,")"
  1. Q
  1. ;
  1. COUNT F Y=2,1 S X=@("D"_Y) D H^%DTC S X(Y)=%H
  1. S X(0)=%Y
  1. S X=X(2)-X(1)+1
  1. S Y=X\7,Z=X#7
  1. S %=$E("01234560123456",%Y+1,%Y+Z)
  1. S X=""
  1. F I=1:1:7 S X=X_(Y+(%[(I-1)))_U
  1. S AMQRDD=X
  1. Q
  1. ;
  1. PRE K ^UTILITY("AMQRD",$J)
  1. S DIOEND="D BLIST^AMQRDOW"
  1. F I=0:1:23 S ^UTILITY("AMQRD",$J,"B",I)=0
  1. F I=0:1:6 S ^UTILITY("AMQRD",$J,"C",I)=0
  1. S AMQRDTOT=0
  1. Q
  1. ;
  1. SET S %=+^AUPNVSIT(D0,0)
  1. S AMQRDAY=%\1
  1. I %'["." D FAIL Q
  1. S %=$P(%,".",2)
  1. S %="."_%
  1. S %=$J(%,1,4)
  1. S AMQRDTIM=(%*100)\1
  1. S X=AMQRDAY
  1. D H^%DTC
  1. S AMQRDAY=%Y
  1. S %=$G(^UTILITY("AMQRD",$J,"A",AMQRDTIM,AMQRDAY)),^(AMQRDAY)=%+1
  1. S %=$G(^UTILITY("AMQRD",$J,"B",AMQRDTIM)),^(AMQRDTIM)=%+1
  1. S %=$G(^UTILITY("AMQRD",$J,"C",AMQRDAY)),^(AMQRDAY)=%+1
  1. S AMQRDTOT=AMQRDTOT+1
  1. Q
  1. ;
  1. BLIST I IOST["C-" R !!,"<>",AMQRX:DTIME
  1. D HEADER
  1. BLVAR S G="^UTILITY(""AMQRD"",$J)"
  1. F AMQRLINE=0:1:23 D:AMQRLINE&'(AMQRLINE#(IOSL-4)) PAUSE G:AMQRLINE=999999 EXIT D B1
  1. W !!,"TOTAL"
  1. S I=0
  1. F J=16:8 W ?J,@G@("C",I) S I=I+1 I I=7 W ?(J+8),AMQRDTOT Q
  1. I $D(AMQRDD) W !,"DAYS" S (I,N)=0 F J=16:8 S I=I+1 W ?J,$P(AMQRDD,U,I) S N=N+$P(AMQRDD,U,I) I I=7 W ?(J+8),N Q
  1. I $D(AMQRDD) W !,"AVERAGE" S I=0 F J=16:8 D AVE I I=7 W ?(J+8) S %=AMQRDTOT/N,%=$J(%,1,1) W % Q
  1. I IOST'?1"C-".E W @IOF X ^%ZIS("C") G EXIT
  1. X ^%ZIS("C")
  1. R !!,"<>",AMQRX:DTIME
  1. EXIT K X,Y,Z,A,G,AMQRZZZ,AMQRDXXX,AMQRLINE,N,AMQRDAY,AMQRDTIM,AMQRDTOT,%H,%Y,%T,AMQRX
  1. Q
  1. ;
  1. AVE S I=I+1
  1. I '$P(AMQRDD,U,I) S %=0
  1. E S %=@G@("C",I-1)/$P(AMQRDD,U,I)
  1. S %=$J(%,1,1)
  1. W ?J,%
  1. Q
  1. ;
  1. B1 S %=AMQRLINE
  1. S %=%*100
  1. S X=%
  1. S Y=%+59
  1. S I=0
  1. I %<1000 S X="0"_X,Y="0"_Y
  1. I X="00" S X="0000",Y="0059"
  1. W !,X,"-",Y
  1. F J=16:8 W ?J,$S($D(@G@("A",AMQRLINE,I)):^(I),1:".") S I=I+1 I I=7 W ?(J+8),@G@("B",AMQRLINE) Q
  1. Q
  1. ;
  1. PAUSE I IOST["C-" R !,"<>",AMQRQ:DTIME S:'$T!(AMQRQ=U) AMQRLINE=999999 K AMQRQ
  1. I AMQRLINE=999999 Q
  1. D HEADER
  1. Q
  1. ;
  1. W !,"WORKLOAD REPORT FOR ",$P(AMQRINFO,U),?54,$P(AMQRINFO,U,2)," to ",$P(AMQRINFO,U,3),!
  1. W "VISIT TIME"
  1. S I=0
  1. F J=14:8 S I=I+1 W ?J,$P("SUN^MON^TUE^WED^THU^FRI^SAT",U,I) I I=7 W ?(J+8),"TOT" Q
  1. S AMQRX=""
  1. S $P(AMQRX,"-",80)=""
  1. W !,AMQRX
  1. K AMQRI,AMQRJ,AMQRX
  1. Q
  1. ;
  1. INFO ; GET TIME FRAME AND CLINIC TYPE
  1. S DIR(0)="D"
  1. S DIR("A")="Enter the starting date of the time frame"
  1. S DIR("?")=""
  1. D ^DIR
  1. K DIR
  1. I $D(DUOUT)!($D(DTOUT)) G EXITINFO
  1. I X="" S Y=2600101
  1. S D1=Y
  1. S DIR(0)="D"
  1. S DIR("A")="Enter the ending date of the time frame"
  1. S DIR("?")=""
  1. D ^DIR
  1. K DIR
  1. I $D(DUOUT)!($D(DTOUT)) G EXITINFO
  1. I X="" S Y=DT
  1. S D2=Y
  1. D COUNT
  1. S DIC=40.7
  1. S DIC(0)="AEQ"
  1. S DIC("A")="Enter the clinic: "
  1. D ^DIC
  1. K DIC
  1. I $D(DUOUT)!($D(DTOUT)) G EXITINFO
  1. I X="" S Y=0 G DIP
  1. I Y=-1 G EXITINFO
  1. DIP S DIC="^AUPNVSIT("
  1. S FLDS="+.01,+D ^AMQRDOW"
  1. S FR=D1
  1. S TO=D2
  1. S BY="@.01"
  1. S DHD="@"
  1. I Y S DIS(0)="N % S %=^(0),%=$P(%,U,8) I %="_+Y
  1. S AMQRINFO=$P(Y,U,2)_U
  1. S Y=D1
  1. S %DT=""
  1. X ^DD("DD")
  1. S AMQRINFO=AMQRINFO_Y_U
  1. S Y=D2
  1. S %DT=""
  1. X ^DD("DD")
  1. S AMQRINFO=AMQRINFO_Y
  1. PRINT S %IS="Q"
  1. D ^%ZIS
  1. I POP G EXITINFO
  1. I $D(IO("Q")),IO=IO(0) W !!,"You can not queue a job to a slave printer..Try again",!!,*7 G PRINT
  1. I '$D(IO("Q")) S IOP=IO K IOBS,IOF,ION,IOPAR,IOSL,IOT,POP D EN1^DIP X ^%ZIS("C") U 0 G EXITINFO
  1. S ZTRTN="EN1^DIP"
  1. S ZTIO=ION
  1. S ZTDTH="NOW"
  1. S ZTDESC="CLINIC WORKLOAD REPORT"
  1. F I=1:1 S %=$P("DT;DTIME;DUZ(;DUZ;U;AMQRINFO;BY;FR;TO;FLDS;DIC;DHD",";",I) Q:%="" S ZTSAVE(%)=""
  1. D ^%ZTLOAD
  1. W !!,$S($D(ZTSK):"Request queued!",1:"Request cancelled!"),!!!
  1. H 3
  1. Q
  1. ;
  1. EXITINFO K DIC,AMQRINFO,AMQRDD,B,DIJ,DP,P,C
  1. Q
  1. ;