| 1 | SDWLRQ1 ;;IOFO BAY PINES/TEH - ADHOC WAIT LIST REPORT;06/12/2002 ; 20 Aug 2002  2:10 PM | 
|---|
| 2 | ;;5.3;scheduling;**263,399,412,425,448**;AUG 13 1993 | 
|---|
| 3 | ; | 
|---|
| 4 | ; | 
|---|
| 5 | ;****************************************************************** | 
|---|
| 6 | ;                             CHANGE LOG | 
|---|
| 7 | ; | 
|---|
| 8 | ;   DATE                        PATCH                   DESCRIPTION | 
|---|
| 9 | ;   ----                        -----                   ----------- | 
|---|
| 10 | ; | 
|---|
| 11 | ; | 
|---|
| 12 | ; | 
|---|
| 13 | ; | 
|---|
| 14 | EN ;Header | 
|---|
| 15 | N ZCODE,ZTDESC,ZTDTH,ZTIO,ZTQUEDED,ZTREQ,ZTRTN,ZTSAVE,ZTSK | 
|---|
| 16 | D HD | 
|---|
| 17 | S SDWLINST="",SDWLERR=0 K ^TMP("SDWLRQ1",$J),DIC,DIR,DR,DIE | 
|---|
| 18 | 1 D INS G END:$D(DUOUT) | 
|---|
| 19 | 2 D CAT G 1:SDWLERR,2:$D(DUOUT) | 
|---|
| 20 | 3 D DATE G 2:SDWLERR,END:$D(DUOUT) | 
|---|
| 21 | 4 D OPEN G 3:SDWLERR,3:$D(DUOUT) | 
|---|
| 22 | 5 D FORM G 4:SDWLERR,4:$D(DUOUT) | 
|---|
| 23 | 6 D DIS G EN:SDWLERR=1,END:SDWLERR=2 | 
|---|
| 24 | D QUE | 
|---|
| 25 | Q | 
|---|
| 26 | INS ;Get Institution | 
|---|
| 27 | N SDWLINST S SDWLINST="" | 
|---|
| 28 | S SDWLERR=0,SDWLPROM="Select Institution ALL // " | 
|---|
| 29 | 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" | 
|---|
| 30 | G IN2:Y<0 Q:$D(DUOUT) | 
|---|
| 31 | I Y<0 S SDWLINST=$S(Y="ALL":"ALL",Y="":"ALL",Y="all":"ALL",Y="All":"ALL",Y["A":"ALL",Y["a":"ALL") | 
|---|
| 32 | I Y="All"!(Y="")!(Y="all")!(Y="ALL") S SDWLINST="ALL",^TMP("SDWLRQ1",$J,"INS")="ALL" G IN3 | 
|---|
| 33 | S SDWLINST=SDWLINST_Y_";",SDWLPROM="Another Institution: ",SDWLERR=1 G IN | 
|---|
| 34 | IN2 S ^TMP("SDWLRQ1",$J,"INS")=SDWLINST | 
|---|
| 35 | IN3 Q | 
|---|
| 36 | CAT ;Report category selection | 
|---|
| 37 | K DIR,DIE,DR,DIC | 
|---|
| 38 | W !!,"    *** Report Category Selection ***" S SDWLERR=0 | 
|---|
| 39 | S SDWLERR=0,SDWLCAT="",DIR(0)="SO^1:Clinic;2:Select Service/Specialty",DIR("L",1)="     1. Clinic",DIR("L")="     2. Service/Specialty" | 
|---|
| 40 | D ^DIR | 
|---|
| 41 | I X="^" S SDWLERR=1 W *7 Q | 
|---|
| 42 | I X="" S SDWLERR=1 W *7 Q | 
|---|
| 43 | S X=$S(X["C":"C",X["c":"C",X["S":"S",X["s":"S",X=1:"C",X=2:"S",1:"") | 
|---|
| 44 | I X="" W *7," Invalid Selection." G CAT | 
|---|
| 45 | W !!,"Select Category for Report Output",! | 
|---|
| 46 | S SDWLX=$S(X="C":"Clinic: ALL// ",X="S":"Service/Specialty: ALL// ") | 
|---|
| 47 | S SDWLF=$S(X["C":409.32,X["S":409.31,X["c":409.32,X["s":409.31) | 
|---|
| 48 | S SDWLFD=$S(X="C":8,1:7) | 
|---|
| 49 | S SDWLCTX=X | 
|---|
| 50 | K DIR,DIC,DR | 
|---|
| 51 | S ^TMP("SDWLRQ1",$J,"CT1")=SDWLCTX_"^"_SDWLF_"^"_SDWLFD,DIC("A")=SDWLX,SDWLE=0 | 
|---|
| 52 | CT1 W ! S DIC(0)="QEMNZA",DIC=SDWLF D ^DIC I 'SDWLE,Y<1 S ^TMP("SDWLRQ1",$J,"CT2")="ALL" G CT3 | 
|---|
| 53 | I Y<0,'$D(^TMP("SDWLRQ1",$J,"CT1")) W !,"This Entry is Required." G CAT | 
|---|
| 54 | G CT2:Y<0 | 
|---|
| 55 | S SDWLCAT=SDWLCAT_Y_";",DIC("A")="Another "_$P(SDWLX,":",1)_": ",SDWLE=1 G CT1 | 
|---|
| 56 | CT2 G CT1:'$D(SDWLCAT) S ^TMP("SDWLRQ1",$J,"CT2")=SDWLCAT | 
|---|
| 57 | CT3 Q | 
|---|
| 58 | DATE ;Date range selection | 
|---|
| 59 | K X,Y,%DT | 
|---|
| 60 | S %=1 W !!,"Print Report for ALL dates? " D YN^DICN | 
|---|
| 61 | I %=1 S ^TMP("SDWLRQ1",$J,"DATE")="ALL" G E1 | 
|---|
| 62 | Q:%=0 | 
|---|
| 63 | Q:%=-1 | 
|---|
| 64 | S SDWLERR=0 W ! S %DT="AE",%DT("A")="Start with Desired Appointment Date: " D ^%DT | 
|---|
| 65 | I X["^" S SDWLERR=1 Q | 
|---|
| 66 | G E1:Y<0 S SDWLBDT=Y | 
|---|
| 67 | Q:$D(DUOUT) | 
|---|
| 68 | S %DT(0)=SDWLBDT,%DT("A")="End with Desired Appointment Date: " D ^%DT G DATE:Y<1 S SDWLEDT=Y K %DT(0),%DT("A") | 
|---|
| 69 | G DATE:$D(DUOUT) | 
|---|
| 70 | I SDWLEDT<SDWLBDT W !,"Beginning Date must be greater than Ending Date." G DATE | 
|---|
| 71 | S ^TMP("SDWLRQ1",$J,"DATE")=SDWLBDT_"^"_SDWLEDT Q | 
|---|
| 72 | E1 Q | 
|---|
| 73 | OPEN ;OPEN Wait List Entries | 
|---|
| 74 | S %=1 W !!,"Do you want only 'OPEN' Wait List Entries " D YN^DICN | 
|---|
| 75 | I %=0 W " Response must be 'YES' or 'NO'." G OPEN | 
|---|
| 76 | I %=-1 S SDWLERR=1 W *7,"?? " | 
|---|
| 77 | S ^TMP("SDWLRQ1",$J,"OPEN")=% | 
|---|
| 78 | Q | 
|---|
| 79 | FORM ;Report Format | 
|---|
| 80 | S SDWLERR=0,DIR(0)="SO^1:D:Detailed;S:Summary",DIR("L",2)="     D Detailed" | 
|---|
| 81 | S DIR("L")="     S Summary",DIR("L",1)="Select One of the Following: " | 
|---|
| 82 | D ^DIR | 
|---|
| 83 | S SDWLFORM=$S(X["D":"D",X["d":"D",X["S":"S",X["s":"S",1:"") | 
|---|
| 84 | I X="^" S DUOUT=1 Q | 
|---|
| 85 | I SDWLFORM="" W *7,"Required!" G FORM | 
|---|
| 86 | S ^TMP("SDWLRQ1",$J,"FORM")=SDWLFORM | 
|---|
| 87 | Q | 
|---|
| 88 | DIS ;Display Parameters | 
|---|
| 89 | S SDWLERR=0 W !!,?80-$L("*** Selected Report Parameters ***")\2,"*** Selected Report Parameters ***",! | 
|---|
| 90 | F SDWLI="INS","CT1","CT2","DATE","FORM","OPEN" D | 
|---|
| 91 | .S X="SDWL"_SDWLI,@X=$G(^TMP("SDWLRQ1",$J,SDWLI)) | 
|---|
| 92 | F SDWLTAG="IS","CT","DA","OP","PR" D @SDWLTAG | 
|---|
| 93 | Q | 
|---|
| 94 | IS I SDWLINS'["ALL" D | 
|---|
| 95 | .K SDWLY F I=1:1 S SDWLY=$P($P(SDWLINS,";",I),U,2) Q:SDWLY=""  S SDWLY(I)=SDWLY | 
|---|
| 96 | .W !,?20,"Institution: " | 
|---|
| 97 | .I $D(SDWLY) S I="" F  S I=$O(SDWLY(I)) Q:I=""  W:I>1 !,?33 W SDWLY(I) | 
|---|
| 98 | .K SDWLY | 
|---|
| 99 | I SDWLINS["ALL" W !,?20,"Institution: ALL " | 
|---|
| 100 | Q | 
|---|
| 101 | CT I SDWLCT2'["ALL" D | 
|---|
| 102 | .S SDWLF=$P(SDWLCT1,U,2) | 
|---|
| 103 | .K SDWLY F I=1:1 S SDWLY=$P($P(SDWLCT2,";",I),U,2) Q:SDWLY=""  S SDWLY(I)=SDWLY | 
|---|
| 104 | .W !,?16,"Report Category: " W $S(SDWLCT1["C":"Clinic",1:"Service Specialty"),!,?36 I @X="ALL" W "All " | 
|---|
| 105 | .I $D(SDWLY) S I="" F   S I=$O(SDWLY(I)) Q:I=""  W:I>1 !,?35 W $$EXTERNAL^DILFD(SDWLF,.01,,SDWLY(I)) | 
|---|
| 106 | I SDWLCT2["ALL" W !,?16,"Report Category: " W $S(SDWLCT1["C":"Clinic",1:"Service Specialty"),!,?36 W "ALL " | 
|---|
| 107 | Q | 
|---|
| 108 | DA W !,?13,"Date Desired Range: " S Y=$P(SDWLDATE,U,1) D DD^%DT S SDWLBD=Y S Y=$P(SDWLDATE,U,2) D DD^%DT S SDWLED=Y | 
|---|
| 109 | W " ",SDWLBD | 
|---|
| 110 | I SDWLED'="" W " to ",SDWLED | 
|---|
| 111 | Q | 
|---|
| 112 | OP W !,?18,"Output Format: ",$S(SDWLFORM="D":" Detailed",1:" Summary") | 
|---|
| 113 | Q | 
|---|
| 114 | PR I SDWLOPEN=1 W !,?25,"Printing 'OPEN' Entries Only." | 
|---|
| 115 | E  W !,?25,"Printing ALL Entries." | 
|---|
| 116 | S %=1 W !!,"Are these Parameters Correct " D YN^DICN I %=2 S SDWLERR=1 W !,"  This Report will NOT be queued to print." | 
|---|
| 117 | I SDWLERR S DIR(0)="E" D ^DIR I X["^" S SDWLERR=2 | 
|---|
| 118 | Q | 
|---|
| 119 | QUE ;Queue Report | 
|---|
| 120 | N ZTQUEUED,POP | 
|---|
| 121 | K %ZIS,IOP,IOC,ZTIO S %ZIS="MQ" D ^%ZIS G:POP QUE1 | 
|---|
| 122 | S ZTRTN=$S(SDWLFORM="D":"EN^SDWLRPT1",1:"EN^SDWLRPS1"),ZTDTH=$H,ZTDESC="WAIT LIST REPORT FORMAT 1" | 
|---|
| 123 | S SDWLTASK="" F  S SDWLTASK=$O(^TMP("SDWLRQ1",$J,SDWLTASK)) Q:SDWLTASK=""  D | 
|---|
| 124 | .S SDWLTK=$G(^TMP("SDWLRQ1",$J,SDWLTASK)) | 
|---|
| 125 | .S ZTSAVE(SDWLTASK)=SDWLTK | 
|---|
| 126 | S ZTSAVE("SDWLF")=""  ; SD*5.3*412 | 
|---|
| 127 | I $D(IO("Q")) K IO("Q") D ^%ZTLOAD W !,"REQUEST QUEUED" G END | 
|---|
| 128 | QUE1 S:$E(IOST,1,2)="C-" SDWLSPT=1 I $D(ZTRTN) U IO D @ZTRTN K SDWLSPT | 
|---|
| 129 | ; | 
|---|
| 130 | END ; | 
|---|
| 131 | K SDWLTASK,SDWLY,SDWLED,WDWLBD,SDWLOPEN,SDWLDATE,SDWLFORM,SDWLPRI,I | 
|---|
| 132 | K DIR,DIC,DR,DIE,SDWLERR,SDWLF,SDWLX,SDLFD,SDWLCTX,SDWLDAT,SDWLPROM,SDWLINST,SDWLI,SDWLTAG,SDWLY | 
|---|
| 133 | D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@" | 
|---|
| 134 | Q | 
|---|
| 135 | HD W:$D(IOF) @IOF W !,?80-$L("Appointment Wait List Report")\2,"Appointment Wait List Report" | 
|---|
| 136 | Q | 
|---|