1 | SCRPW62 ;BP-CIOFO/KEITH - SC veterans awaiting appointments ; 23 August 2002@20:23
|
---|
2 | ;;5.3;Scheduling;**267,269,358**;AUG 13, 1993
|
---|
3 | ;
|
---|
4 | ;Prompt for report parameters
|
---|
5 | ;
|
---|
6 | N SDOUT,DIR,DTOUT,DUOUT,SDFMT,SDATES,SDDIV,SDRPT,SDSCVT
|
---|
7 | N SDELIM,SDX,ZTSAVE,X,Y
|
---|
8 | S SDOUT=0
|
---|
9 | D TITL^SCRPW50("SC Veterans Awaiting Appointments")
|
---|
10 | W !,"Note: Once the scheduling replacement application has been implemented at your"
|
---|
11 | W !,"site, this report will no longer be accurate."
|
---|
12 | RPT D SUBT^SCRPW50("**** Report Type Selection ****")
|
---|
13 | S DIR(0)="S^E:ENTERED WITH NO APPOINTMENT PROVIDED;A:APPOINTMENTS BEYOND DATE DESIRED",DIR("A")="Select report type"
|
---|
14 | S DIR("?",1)="Specify 'E' to return SC veterans entered but not yet provided an appointment,"
|
---|
15 | S DIR("?")="'A' to return SC veterans with appointments beyond the date desired."
|
---|
16 | W ! D ^DIR I $D(DTOUT)!$D(DUOUT) S SDOUT=1 G EXIT
|
---|
17 | K DIR S SDRPT=Y D ENT:SDRPT="E",APPT:SDRPT="A" G:SDOUT EXIT
|
---|
18 | D SUBT^SCRPW50("**** Patient Eligibility Selection ****")
|
---|
19 | S DIR(0)="S^1:50-100% SC Veterans;2:0-50% SC Veterans;3:All SC Veterans"
|
---|
20 | S DIR("A")="Select eligibility type"
|
---|
21 | S DIR("?")="Specify the eligibility of the patients you wish to include."
|
---|
22 | W ! D ^DIR I $D(DTOUT)!$D(DUOUT) S SDOUT=1 G EXIT
|
---|
23 | K DIR S SDSCVT=Y
|
---|
24 | FMT D SUBT^SCRPW50("**** Report Format Selection ****")
|
---|
25 | S DIR(0)="S^D:DETAILED REPORT;S:STATISTICS ONLY"
|
---|
26 | S DIR("A")="Select report format"
|
---|
27 | S DIR("?")="Specify the report format desired."
|
---|
28 | W ! D ^DIR I $D(DTOUT)!$D(DUOUT) S SDOUT=1 G EXIT
|
---|
29 | K DIR S SDFMT=Y
|
---|
30 | I SDFMT="S" S SDELIM=0 G QUE
|
---|
31 | D SUBT^SCRPW50("**** Output Format Selection ****")
|
---|
32 | S DIR(0)="Y",DIR("A")="Return report output in delimited format"
|
---|
33 | S DIR("B")="NO"
|
---|
34 | S DIR("?",1)="Specify if you would like the report output to be in delimited format for"
|
---|
35 | S DIR("?",2)="transfer to a spreadsheet. The delimited output will not include rated SC"
|
---|
36 | S DIR("?")="disabilities for 0-50% SC veterans (as included in the text formatted report)."
|
---|
37 | W ! D ^DIR I $D(DTOUT)!$D(DUOUT) S SDOUT=1 G EXIT
|
---|
38 | S SDELIM=Y
|
---|
39 | ;
|
---|
40 | QUE ;Queue output
|
---|
41 | W !!,"This report requires ",$S(SDELIM:"greater than ",1:""),"132 columns for output!"
|
---|
42 | F SDX="SDELIM","SDRPT","SDSCVT","SDATES","SDDIV","SDDIV(","SDFMT" S ZTSAVE(SDX)=""
|
---|
43 | W ! D EN^XUTMDEVQ("START^SCRPW62","SC Veterans Awaiting Appointments",.ZTSAVE) D DISP0^SCRPW23
|
---|
44 | Q
|
---|
45 | ;
|
---|
46 | ENT ;Date entered parameters
|
---|
47 | S SDATES=1 Q
|
---|
48 | ;
|
---|
49 | ;Following logic suppressed by request
|
---|
50 | D SUBT^SCRPW50("**** Report Time Frame ****")
|
---|
51 | S DIR(0)="S^1:THE PAST YEAR;2:THE PAST TWO YEARS;3:THE PAST 3 YEARS"
|
---|
52 | S DIR("A")="Include SC veterans entered during"
|
---|
53 | S DIR("?")="Specify the time frame in which these patients were entered in VistA."
|
---|
54 | W ! D ^DIR I $D(DTOUT)!$D(DUOUT) S SDOUT=1 Q
|
---|
55 | S SDATES=Y
|
---|
56 | Q
|
---|
57 | ;
|
---|
58 | APPT ;Appointment delay parameters
|
---|
59 | I '$$DIVA^SCRPW17(.SDDIV) S SDOUT=1 Q
|
---|
60 | S SDATES=30 Q
|
---|
61 | ;
|
---|
62 | ;Following logic suppressed by request
|
---|
63 | D SUBT^SCRPW50("**** Report Time Frame ****")
|
---|
64 | S DIR(0)="S^30:>30 DAYS BEYOND 'DESIRED DATE';60:>60 DAYS BEYOND 'DESIRED DATE;90:>90 DAYS BEYOND 'DESIRED DATE';180:>180 DAYS BEYOND 'DESIRED DATE'"
|
---|
65 | S DIR("A")="Include SC veterans with future appointments greater than"
|
---|
66 | S DIR("?")="Specify the difference between 'desired date' and the appointement date."
|
---|
67 | W ! D ^DIR I $D(DTOUT)!$D(DUOUT) S SDOUT=1 Q
|
---|
68 | S SDATES=Y
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | START ;Gather report data
|
---|
72 | N SDSTOP,SDOUT,SDSTOP,SDPAGE,SDLINE,SDPNOW,SDT,SDX
|
---|
73 | I '$D(ZTQUEUED),$E(IOST)="C" D WAIT^DICD
|
---|
74 | K ^TMP("SCRPW",$J) S (SDSTOP,SDOUT)=0,SDPAGE=1,SDLINE=""
|
---|
75 | S $P(SDLINE,"-",(IOM+1))=""
|
---|
76 | S SDPNOW=$$FMTE^XLFDT($E($$NOW^XLFDT(),1,12))
|
---|
77 | S SDX=$S(SDSCVT=1:"SC 50-100% ",SDSCVT=2:"SC < 50% ",1:"")
|
---|
78 | S SDT(1)="<*> SC VETERANS AWAITING APPOINTMENTS <*>"
|
---|
79 | S SDT(2)=$S(SDRPT="E":SDX_"PATIENTS ENTERED IN THE PAST "_$S(SDATES=1:"YEAR",1:SDATES_" YEARS")_" WITHOUT AN APPOINTMENT",1:SDX_"PATIENTS WAITING > "_SDATES_" DAYS BEYOND APPOINTMENT 'DESIRED DATE'")
|
---|
80 | D @(SDRPT_"^SCRPW63") W !!
|
---|
81 | D EXIT
|
---|
82 | Q
|
---|
83 | ;
|
---|
84 | SCEL(SDE,SDSCVT) ;Gather SC eligibility codes
|
---|
85 | ;Input: SDE=array to return list of codes in the format SDE(n) where
|
---|
86 | ; 'n' is the ifn in file #8 (pass by reference)
|
---|
87 | ; SDSCVT=type of SC vets to include
|
---|
88 | N SDE81,SDX,SDI,SDII
|
---|
89 | S SDI=0 F S SDI=$O(^DIC(8.1,SDI)) Q:'SDI D
|
---|
90 | .S SDX=$G(^DIC(8.1,SDI,0))
|
---|
91 | .Q:$P(SDX,U,5)'="Y" S SDX=$P(SDX,U,4)
|
---|
92 | .I SDSCVT=1,SDX'=1 Q ;50-100% SC only
|
---|
93 | .I SDSCVT=2,SDX'=3 Q ;0-50% SC only
|
---|
94 | .I SDSCVT=3,(SDX'=1&(SDX'=3)) Q ;SC only
|
---|
95 | .S SDII=0 F S SDII=$O(^DIC(8,"D",SDI,SDII)) Q:'SDII D
|
---|
96 | ..S SDE(SDII)=SDX
|
---|
97 | ..Q
|
---|
98 | .Q
|
---|
99 | Q
|
---|
100 | ;
|
---|
101 | EXIT K ZTQUEUED,ZTSTOP,SDATES,SDDIV,SDFMT,SDRPT,SDELIM
|
---|
102 | D END^SCRPW50 Q
|
---|
103 | ;
|
---|
104 | HDR ;Print report header
|
---|
105 | N X
|
---|
106 | I SDELIM D HDRD Q
|
---|
107 | I $E(IOST)="C",SDPAGE>1 N DIR S DIR(0)="E" D ^DIR S SDOUT=Y'=1 Q:SDOUT
|
---|
108 | D STOP^SCRPW63 Q:SDOUT
|
---|
109 | W:SDPAGE>1!($E(IOST)="C") $$XY^SCRPW50(IOF,1,0)
|
---|
110 | W:$X $$XY^SCRPW50("",0,0) W SDLINE
|
---|
111 | S X=0 F S X=$O(SDT(X)) Q:'X W !?(IOM-$L(SDT(X))\2),SDT(X)
|
---|
112 | W !,SDLINE,!,"Date printed: ",SDPNOW,?((IOM-6)-$L(SDPAGE)),"Page: "
|
---|
113 | W SDPAGE,!,SDLINE S SDPAGE=SDPAGE+1 Q
|
---|
114 | ;
|
---|
115 | HDRD ;Header for delimited report
|
---|
116 | Q:SDPAGE>1
|
---|
117 | W !,SDLINE S X=0 F S X=$O(SDT(X)) Q:'X W !,SDT(X)
|
---|
118 | W !,"Date printed: ",SDPNOW,!,SDLINE
|
---|
119 | W !,"NAME^SSN^PRIM. ELIG.^DATE ENTERED INTO FILE^STREET ADDRESS^CITY^STATE^ZIP^PHONE NUMBER"
|
---|
120 | W:SDRPT="A" "^APPOINTMENT DATE^CLINIC^CREDIT PAIR^DIVISION^DATE APPT. ENTERED^DESIRED DATE^DIFFERENCE (DESIRED DATE - APPT. DATE)^DIFFERENCE (DATE APPT. ENTERED - DESIRED DATE)"
|
---|
121 | S SDPAGE=SDPAGE+1 Q
|
---|