1 | SDWLRPS1 ;;IOFO BAY PINES/TEH - WAIT LIST REPORT FORMAT 1-SUMMARY;06/12/2002 ; 20 Aug 2002 2:10 PM
|
---|
2 | ;;5.3;scheduling;**263,412**;AUG 13 1993
|
---|
3 | ;
|
---|
4 | ;
|
---|
5 | ;******************************************************************
|
---|
6 | ; CHANGE LOG
|
---|
7 | ;
|
---|
8 | ; DATE PATCH DESCRIPTION
|
---|
9 | ; ---- ----- -----------
|
---|
10 | ;
|
---|
11 | ;
|
---|
12 | ;
|
---|
13 | ;
|
---|
14 | EN ;
|
---|
15 | D INIT
|
---|
16 | I $$S^%ZTLOAD G END
|
---|
17 | D HD
|
---|
18 | D SORT
|
---|
19 | I $$S^%ZTLOAD G END
|
---|
20 | D PRT
|
---|
21 | I $D(DUOUT) W !!,"*** End of Report ***" G END
|
---|
22 | G:POP END
|
---|
23 | I $$S^%ZTLOAD G END
|
---|
24 | D PRT1
|
---|
25 | W !!,"*** End of Report ***"
|
---|
26 | K ^TMP("SDWLRPS1",$J)
|
---|
27 | Q
|
---|
28 | INIT ;Initialize variables
|
---|
29 | ;
|
---|
30 | I $D(CT1) S SDWLCT1=CT1
|
---|
31 | I $D(CT2) S SDWLCT2=CT2
|
---|
32 | I $D(DATE) S SDWLDATE=DATE
|
---|
33 | I $D(FORM) S SDWLFORM=FORM
|
---|
34 | I $D(INS) S SDWLINS=INS
|
---|
35 | I $D(OPEN) S SDWLOPEN=OPEN
|
---|
36 | S SDWLPG=0
|
---|
37 | I $D(ZTSAVE) D
|
---|
38 | .F SDWLI="CT1","CT2","DATE","FORM","INS","OPEN" S SDWL="SDWL"_SDWLI,@SDWL=$G(ZTSAVE(SDWLI))
|
---|
39 | I SDWLINS="ALL" S SDWLIN("ALL")=""
|
---|
40 | S SDWLTXP=$P(SDWLCT1,U,3)
|
---|
41 | S SDWLOPEN=$S(SDWLOPEN=1:"O",1:"C")
|
---|
42 | I SDWLINS'="ALL" F SDWLI=1:1 S SDWLIN=$P($P(SDWLINS,";",SDWLI),U,1) Q:SDWLIN="" S SDWLIN(SDWLIN)="",^TMP("SDWLRPT1",$J,$P(^DIC(4,SDWLIN,0),U,1))=0
|
---|
43 | I SDWLCT2'="ALL" F SDWLI=1:1 S SDWLCT=$P($P(SDWLCT2,";",SDWLI),U,1) Q:SDWLCT="" S SDWLCT2(SDWLCT)=""
|
---|
44 | I SDWLDATE="ALL" S SDWLBD=0,SDWLED=9999999 G INIT1
|
---|
45 | S SDWLBD=$P(SDWLDATE,U,1),SDWLED=$P(SDWLDATE,U,2)
|
---|
46 | N POP S POP=0 ;SD*5.3*412
|
---|
47 | INIT1 D NOW^%DTC S Y=% D DD^%DT S SDWLDTP=$P(Y,":",1,2)
|
---|
48 | Q
|
---|
49 | SORT ;Sort Records
|
---|
50 | K ^TMP("SDWLRPS1",$J)
|
---|
51 | S SDWLDA=0 F S SDWLDA=$O(^SDWL(409.3,SDWLDA)) Q:SDWLDA<1 D
|
---|
52 | .S SDWLX=$G(^SDWL(409.3,SDWLDA,0)),SDWLERR=0,SDWLDFN=+SDWLX,SDWLDDT=$P(SDWLX,U,16)
|
---|
53 | .;-Check for Institution Sort
|
---|
54 | .I SDWLINS'="ALL" D
|
---|
55 | ..I '$D(SDWLIN(+$P(SDWLX,U,3))) S SDWLERR=1 Q
|
---|
56 | .;-Check for Date Range Compliance
|
---|
57 | .I $P(SDWLX,U,16)<SDWLBD!($P(SDWLX,U,16)>SDWLED) S SDWLERR=2 Q
|
---|
58 | .S SDWLAPDT=$P(SDWLX,U,16),SDWLOPDT=$P(SDWLX,U,2) S X1=DT,X2=SDWLAPDT D ^%DTC S SDWLDWT=X I SDWLDWT<0 S SDWLDWT=0
|
---|
59 | .S SDWLTYP=$P(SDWLCT1,U,1),SDWLTYPE=$S(SDWLTYP="C":$P(SDWLX,U,9),1:$P(SDWLX,U,8)) I SDWLTYPE="" S SDWLERR=7 Q
|
---|
60 | .S SDWLF=$P(SDWLCT1,U,2)
|
---|
61 | .I SDWLCT2'="ALL" D
|
---|
62 | ..I '$D(SDWLCT2(SDWLTYPE)) S SDWLERR=3
|
---|
63 | .I SDWLTYP="" S SDWLERR=4 Q
|
---|
64 | .I SDWLOPEN'["C",$P(SDWLX,U,17)'[SDWLOPEN S SDWLERR=6 Q
|
---|
65 | .Q:SDWLERR D
|
---|
66 | ..S SDWLSCC=2,DFN=SDWLDFN D ELIG^VADPT I $D(VAEL(3)) S SDWLSCN=$P(VAEL(3),U,2) I SDWLSCN>49 S SDWLSCC=1
|
---|
67 | ..S:'$D(^TMP("SDWLRPS1",$J,"A",+$P(SDWLX,U,3),SDWLTYPE)) ^(SDWLTYPE)=0
|
---|
68 | ..S ^TMP("SDWLRPS1",$J,"A",+$P(SDWLX,U,3),SDWLTYPE)=^(SDWLTYPE)+1
|
---|
69 | ..S:'$D(^TMP("SDWLRPS1",$J,"B",+$P(SDWLX,U,3),SDWLTYPE,SDWLDFN)) ^(SDWLDFN)=0 S ^TMP("SDWLRPS1",$J,"B",+$P(SDWLX,U,3),SDWLTYPE,SDWLDFN)=^(SDWLDFN)+1
|
---|
70 | ..S:'$D(^TMP("SDWLRPS1",$J,"C",SDWLSCC,+$P(SDWLX,U,3),SDWLTYPE)) ^TMP("SDWLRPS1",$J,"C",SDWLSCC,+$P(SDWLX,U,3),SDWLTYPE)=0
|
---|
71 | ..S ^TMP("SDWLRPS1",$J,"C",SDWLSCC,+$P(SDWLX,U,3),SDWLTYPE)=^(SDWLTYPE)+1
|
---|
72 | ..S ^TMP("SDWLRPS1",$J,"D",SDWLSCC,+$P(SDWLX,U,3),SDWLTYPE,+SDWLDWT,SDWLDA)=""
|
---|
73 | Q
|
---|
74 | PRT ;
|
---|
75 | I '$D(^TMP("SDWLRPS1",$J,"A")) W !!,"*** No Patients to Report ***" S DUOUT="" Q
|
---|
76 | S SDWLIN=0 F S SDWLIN=$O(^TMP("SDWLRPS1",$J,"A",SDWLIN)) Q:SDWLIN="" W !,"Institution: ",$P($G(^DIC(4,SDWLIN,0)),U,1),! D Q:POP ;SD*5.3*412
|
---|
77 | .D PRA
|
---|
78 | Q
|
---|
79 | PRA ;
|
---|
80 | S SDWLSC=0,(SDWLX,SDWLXT)=0 F S SDWLSC=$O(^TMP("SDWLRPS1",$J,"A",SDWLIN,SDWLSC)) Q:SDWLSC="" D
|
---|
81 | .S SDWLX=$G(^TMP("SDWLRPS1",$J,"A",SDWLIN,SDWLSC)),SDWLXT=SDWLXT+SDWLX W !,$$EXTERNAL^DILFD(SDWLF,.01,,$P(^SDWL(SDWLF,SDWLSC,0),U,1)),?30,SDWLX
|
---|
82 | .S SDWLXTT=0,SDWLDFNX=0 F S SDWLDFNX=$O(^TMP("SDWLRPS1",$J,"B",SDWLIN,SDWLSC,SDWLDFNX)) Q:SDWLDFNX="" S SDWLXTT=SDWLXTT+1
|
---|
83 | W !,?20,"Total #: ",SDWLXT
|
---|
84 | I $D(SDWLSPT),$Y>IOSL S DIR(0)="E" D ^DIR S:X="^" POP=1 Q:POP ;SD*5.3*412 early exit
|
---|
85 | Q
|
---|
86 | PRT1 ;
|
---|
87 | N DFN
|
---|
88 | D HD1
|
---|
89 | S SDWLSCC=0 F S SDWLSCC=$O(^TMP("SDWLRPS1",$J,"D",SDWLSCC)) Q:SDWLSCC="" Q:$$S^%ZTLOAD D Q:POP ;SD*5.3*412 added to allow early exit
|
---|
90 | .W !,"******* ",SDWLSCC," *******",!
|
---|
91 | .S SDWLINS=0 F S SDWLINS=$O(^TMP("SDWLRPS1",$J,"D",SDWLSCC,SDWLINS)) Q:SDWLINS="" D Q:POP W ! ;SD*5.3*412
|
---|
92 | ..W !,$P($G(^DIC(4,SDWLINS,0)),U,1)
|
---|
93 | ..S SDWLSC=0 F S SDWLSC=$O(^TMP("SDWLRPS1",$J,"D",SDWLSCC,SDWLINS,SDWLSC)) Q:SDWLSC="" D Q:POP ;SD*5.3*412
|
---|
94 | ...W !,$$EXTERNAL^DILFD(SDWLF,.01,,$P(^SDWL(SDWLF,SDWLSC,0),U,1))
|
---|
95 | ...S SDWLWT="" F S SDWLWT=$O(^TMP("SDWLRPS1",$J,"D",SDWLSCC,SDWLINS,SDWLSC,SDWLWT)) Q:SDWLWT="" D Q:POP ;SD*5.3*412
|
---|
96 | ....S SDWLDA=0 F S SDWLDA=$O(^TMP("SDWLRPS1",$J,"D",SDWLSCC,SDWLINS,SDWLSC,SDWLWT,SDWLDA)) Q:SDWLDA="" D Q:POP ;SD*5.3*412
|
---|
97 | .....S X=$G(^SDWL(409.3,SDWLDA,0)),SDWLODT=$P(X,U,2),SDWLDDT=$P(X,U,16) S DFN=+X D Q:POP ;SD*5.3*412
|
---|
98 | ......D DEM^VADPT,1^VADPT K DFN
|
---|
99 | ......W !,VA("BID"),?6,$E(VADM(1),1,25) W ?32,$E(SDWLODT,4,5),"/",$E(SDWLODT,6,7),"/",($E(SDWLODT,1,3)+1700)
|
---|
100 | ......W ?47,$E(SDWLDDT,4,5),"/",$E(SDWLDDT,6,7),"/",($E(SDWLDDT,1,3)+1700),?60,$J(SDWLWT,5)
|
---|
101 | ......I $D(SDWLSPT),$Y>IOSL S DIR(0)="E" D ^DIR S:X="^" POP=1 Q:POP D HD1
|
---|
102 | ......I $Y>IOSL D HD
|
---|
103 | .W !
|
---|
104 | LINE ;Draw Line
|
---|
105 | W !,"_______________________________________________________________________________"
|
---|
106 | Q
|
---|
107 | HD ;Header
|
---|
108 | W:$D(IOF) @IOF W !,SDWLDTP,?80-$L("Appointment Wait List Report")\2,"Appointment Wait List Report"
|
---|
109 | S SDWLPG=SDWLPG+1 W ?72,"Page: ",SDWLPG
|
---|
110 | W !!,?30,"Institution: " I SDWLINS="ALL" D
|
---|
111 | .W ?45,SDWLINS
|
---|
112 | F I=1:1 S X=$P($P(SDWLINS,";",I),"^",2) Q:X="" W:I>1 ! W ?45,X
|
---|
113 | S Y=$P(SDWLDATE,U,1) D DD^%DT S SDWLBDT=Y S Y=$P(SDWLDATE,U,2) D DD^%DT S SDWLEDT=Y
|
---|
114 | W !,?23,"Date Desired Range: ",SDWLBDT," to ",SDWLEDT
|
---|
115 | S X=$P(SDWLCT2,U,2)
|
---|
116 | W !?27,"Report Category: ",$S($P(SDWLCT1,U,1)="C":"CLINIC",1:"SPECIALTY") I X="ALL" W " ALL"
|
---|
117 | I X'="ALL" D
|
---|
118 | .F I=1:1 S X=$P($P(SDWLCT2,";",I),"^",2) Q:X="" W !,?45,$$EXTERNAL^DILFD(SDWLF,.01,,X)
|
---|
119 | S X=$G(SDWLOPEN) W !,?36,"Status: ",$S(SDWLOPEN="O":"Open",1:"All")
|
---|
120 | S X=$G(SDWLFORM) W !,?28,"Output Format: ",$S(SDWLFORM="S":"Summary",1:"Detailed")
|
---|
121 | W !
|
---|
122 | Q
|
---|
123 | HD1 ;
|
---|
124 | W:$D(IOF) @IOF
|
---|
125 | W !!,"Name",?30,"Date Entered",?45,"Date Desired",?60,"# of Days Waiting",!
|
---|
126 | END K X1,X2,CT1,CT2,DATE,I,INS,OPEN,FORM
|
---|
127 | K ^TMP("SDWLRPT1",$J) Q
|
---|
128 | ;
|
---|