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
