VistA-FOIAVistA/r/SCHEDULING-SD-SC/SDWLQSR.m

68 lines
2.4 KiB
Mathematica

SDWLQSR ;BPOI/TEH - WAIT LIST STAT REPORT;06/12/02
;;5.3;scheduling;**263,425,448,524**;08/13/93;Build 29
;
;
;
;
;
EN N ZCODE,ZTDESC,ZTDTH,ZTIO,ZTQUEDED,ZTREQ,ZTRTN,ZTSAVE,ZTSK,POP
K ^TMP("SDWLQSR",$J)
D HD
1 D INS G END:$D(DUOUT)
2 D DATE G END:$D(DUOUT)
3 D EXCL G END:$D(DUOUT)
D QUE G END:$D(DUOUT)
Q
INS ;Get Institution
S SDWLERR=0,SDWLPROM="Select Institution ALL // ",SDWLINST=""
IN W ! S DIC(0)="QEMA",DIC("A")=SDWLPROM,DIC=4,DIC("S")="I $D(^SDWL(409.32,""C"",+Y))!$D(^SDWL(409.31,""E"",+Y))!$D(^SCTM(404.51,""AINST"",+Y))" D ^DIC I Y<0,'SDWLERR Q:$D(DUOUT) S Y="ALL"
G IN2:Y<0 Q:$D(DUOUT)
I Y<0 S SDWLINST=$S(Y="ALL":"ALL",Y="":"ALL",Y="all":"ALL",Y="All":"ALL",Y["A":"ALL",Y["a":"ALL")
I Y="All"!(Y="")!(Y="all")!(Y="ALL") S SDWLINST="ALL",^TMP("SDWLQSR",$J,"INS")="ALL" G IN3
S SDWLINST=SDWLINST_Y_";",SDWLPROM="Another Institution: ",SDWLERR=1 G IN
IN2 S ^TMP("SDWLQSR",$J,"INS")=SDWLINST
IN3 Q
DATE ;Date range selection
K X,Y,%DT
S SDWLERR=0 W ! S %DT="AE",%DT("A")="Start Date: " D ^%DT
I X["^" S DUOUT=1 Q
I Y<0 S DUOUT=1 Q
S SDWLBDT=Y
Q:$D(DUOUT)
S %DT("A")="End Date: " D ^%DT G DATE:Y<1 S SDWLEDT=Y K %DT(0),%DT("A")
G DATE:$D(DUOUT)
I SDWLEDT<SDWLBDT W !,"Beginning Date must be greater than Ending Date." G DATE
S ^TMP("SDWLQSR",$J,"DATE")=SDWLBDT_"^"_SDWLEDT K DIR,DIC,DIE,%DT Q
Q
EXCL ;EXCLUDE # REMAINING =0 - PATCH SD*5.3*524
S SDWLEXCL=0,^TMP("SDWLQSR",$J,"EXCL")=0
S DIR("A",1)="Do you wish to exclude any Teams, Specialities or Specific"
S DIR("A")="Clinics where ALL values are zero"
S DIR("B")="YES",DIR(0)="Y^A0" D ^DIR
I X["^" S DUOUT=1 Q
I Y<0 S DUOUT=1 Q
EXCL1 I Y S SDWLEXCL=1,^TMP("SDWLQSR",$J,"EXCL")=SDWLEXCL
K DIR,X,Y,SDWLEXCL
Q
QUE ;Queue Report
N ZTQUEUED,POP
K %ZIS,IOP,IOC,ZTIO S %ZIS="MQ" D ^%ZIS G:POP QUE1
S ZTRTN="EN^SDWLRSR",ZTDTH=$H,ZTDESC="WAIT LIST STAT REPORT"
S SDWLTASK="" F S SDWLTASK=$O(^TMP("SDWLQSR",$J,SDWLTASK)) Q:SDWLTASK="" D
.S SDWLTK=$G(^TMP("SDWLQSR",$J,SDWLTASK))
.S ZTSAVE(SDWLTASK)=SDWLTK
I $D(IO("Q")) K IO("Q") D ^%ZTLOAD W !,"REQUEST QUEUED" G QUE2
QUE1 S:$E(IOST,1,2)="C-" SDWLSPT=1 I $D(ZTRTN) U IO D @ZTRTN K SDWLSPT
;
;
QUE2 K SDWLTASK,SDWLY,SDWLED,WDWLBD,SDWLOPEN,SDWLDATE,SDWLFORM,SDWLPRI
K DIR,DIC,DR,DIE
D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
Q
END D EN^SDWLKIL
K DUOUT,SDWLBDT,SDWLEDT,SDWLERR,SDWLIST,SDWLPROM,SDWLTK
Q
HD ;
W:$D(IOF) @IOF W !,?80-$L("Wait List Stat Report")\2,"Wait List Stat Report",!
Q