source: FOIAVistA/trunk/r/REGISTRATION-DGQE-DG-DPT-GRPX-VAD-VAF-VAS-VAT-VAU--VA-VIC--DGBT--DGJ--DGYA--VALM/DGENRPD1.m@ 1688

Last change on this file since 1688 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 4.7 KB
Line 
1DGENRPD1 ;ALB/CJM - Veterans with no Application and with a Future Appointment Report; 04/28/2004
2 ;;5.3;Registration;**147,568**;Aug 13,1993
3 ;
4REPORT ;
5 N DGENRP
6 ;
7 ;Control variables used in generating report
8 ;DGENRP("BEGIN")=<begining of the date range for appt selection>
9 ;DGENRP("END")=<ending date of range>
10 ;DGENRP("ALL")=1 means to include all clinics for appt selection
11 ;DGENRP("DIVISION",<list of medical center Divisions to include>)=""
12 ;DGENRP("CLINIC",<list of clinics to include>)=""
13 ;DGENRP("JUSTONCE")=<1 means that if the patient has multiple appts to print only the first, 0 means print all the patient's appts>
14 ;
15 G:'$$ASKRANGE(.DGENRP) EXIT
16 G:'$$LOCATION(.DGENRP) EXIT
17 G:'$$JUSTONCE(.DGENRP) EXIT
18 ;
19 I $$DEVICE() D PRINT^DGENRPD2
20EXIT ;
21 Q
22 ;
23DEVICE() ;
24 ;Description: allows the user to select a device.
25 ;Input: none
26 ;
27 ;Output:
28 ; Function Value - Returns 0 if the user decides not to print or to
29 ; queue the report, 1 otherwise.
30 ;
31 N OK
32 S OK=1
33 S %ZIS="MQ"
34 W !,"*** This report requires a 132 column printer. ******"
35 D ^%ZIS
36 S:POP OK=0
37 D:OK&$D(IO("Q"))
38 .S ZTRTN="PRINT^DGENRPD2",ZTDESC="Future Appointments with No EnrollmentApplication REPORT",ZTSAVE("DGENRP(")=""
39 .D ^%ZTLOAD
40 .W !,$S($D(ZTSK):"REQUEST QUEUED TASK="_ZTSK,1:"REQUEST CANCELLED")
41 .D HOME^%ZIS
42 .S OK=0
43 Q OK
44 ;
45LOCATION(DGENRP) ;
46 ;Description: asks the user to select locations of future appointments
47 ;
48 ;Input: none
49 ;Output:
50 ; DGENRP - (pass by reference) used to return selected locations
51 ; Function Value: 0 on failure, 1 on success
52 ;
53 N DIR,SUCCESS
54 S SUCCESS=1
55 S DIR("B")="ALL"
56 S DIR(0)=$S($P($G(^DG(43,1,"GL")),"^",2):"S^A:All;D:by Division;C:by Clinic",1:"S^A:All;C:by Clinic")
57 S DIR("A")="How do you want to select the clinics to appear in the report? "
58 S DIR("?")="You have the choice of selecting all clinics, entire divisions, or individual clinics."
59 D ^DIR
60 I $D(DIRUT) D
61 .S SUCCESS=0
62 E D
63 .I Y="A" D
64 ..S DGENRP("ALL")=1
65 .E D
66 ..S DGENRP("ALL")=0
67 ..I Y="C" D
68 ...S SUCCESS=$$CLINIC(.DGENRP)
69 ..E D
70 ...I Y="D" S SUCCESS=$$DIVISION(.DGENRP)
71 ;
72 Q SUCCESS
73 ;
74ASKRANGE(DGENRP) ;
75 ;Description: Asks the user to enter a date range begining no earlier
76 ;than the current date
77 ;
78 Q:'$$ASKBEGIN(.DGENRP) 0
79 Q:'$$ASKEND(.DGENRP) 0
80 Q 1
81 ;
82ASKBEGIN(DGENRP) ;
83 ;Description: Asks the user to enter a beginning date.
84 ;
85 ;Input: none
86 ;
87 ;Output:
88 ; Function value=1 if user selected a date, 0 otherwise
89 ; DGENRP("BEGIN")=date selected
90 ;
91 N DIR,X,Y
92 S DIR(0)="D^::XO"
93 S DIR("A")="Enter beginning date for future appointments for."
94 S DIR("B")=$$FMTE^XLFDT($$FMADD^XLFDT(DT,1),"D")
95 S DIR("?")="Enter the first day to list appointments."
96REPEAT D ^DIR
97 Q:$D(DIRUT) 0
98 I Y'>DT W !,"Date must be later than today!" G REPEAT
99 S DGENRP("BEGIN")=Y
100 Q 1
101 ;
102ASKEND(DGENRP) ;
103 ;Description: Asks the user to enter an end date.
104 ;
105 ;Input:
106 ; DGENRP("BEGIN") - the earliest possible date
107 ;
108 ;Output:
109 ; Function value=1 if user selected a date, 0 otherwise
110 ; DGENRP("END")=date selected
111 ;
112 N DIR,X,Y
113 S DIR(0)="D^::X"
114 S DIR("A")="Enter ending date"
115 S DIR("B")=$$FMTE^XLFDT(DGENRP("BEGIN"),"D")
116 S DIR("?")="Enter the last day to list appointments for."
117AGAIN D ^DIR
118 Q:$D(DIRUT) 0
119 I (Y<$G(DGENRP("BEGIN"))) W !,"Date must be no earlier than "_DIR("B") G AGAIN
120 S DGENRP("END")=Y
121 Q 1
122 ;
123DIVISION(DGENRP) ;
124 ;Description: asks divisions to include
125 ;
126 N DIR,QUIT,SUCCESS
127 S SUCCESS=1
128 S DIR(0)="PO^40.8:AEM"
129 S DIR("A")="Select the medical center divisions to include in the report"
130 S DIR("?")="Appointments will not be included in the report for divisions that you do not select."
131 S QUIT=0
132 F D Q:QUIT
133 .D ^DIR
134 .I $D(DUOUT)!$D(DTOUT) S QUIT=1,SUCCESS=0 Q
135 .I ((+Y)'>0) S QUIT=1 Q
136 .S DGENRP("DIVISION",+Y)=""
137 S:'$O(DGENRP("DIVISION",0)) SUCCESS=0
138 Q SUCCESS
139 ;
140CLINIC(DGENRP) ;
141 ;Description: asks clinics to include
142 ;
143 N DIR,QUIT,SUCCESS
144 S SUCCESS=1
145 S DIR(0)="PO^44:AEM"
146 S DIR("A")="Select the clinics to include in the report"
147 S DIR("?")="Appointments will not be included in the report for clinics that you do not select."
148 S DIR("S")="I $P(^(0),""^"",3)=""C"""
149 S QUIT=0
150 F D Q:QUIT
151 .D ^DIR
152 .I $D(DUOUT)!$D(DTOUT) S QUIT=1,SUCCESS=0 Q
153 .I ((+Y)'>0) S QUIT=1 Q
154 .S DGENRP("CLINIC",+Y)=""
155 S:'$O(DGENRP("CLINIC",0)) SUCCESS=0
156 Q SUCCESS
157 ;
158JUSTONCE(DGENRP) ;
159 ;Description: Asks wether or not to include only the first appointment
160 ;for a patient that has multiple appointments
161 ;
162 ;Output:
163 ; Function Value: reuturns 1 on success, 0 on failure
164 ; DGENRP("JUSTONCE")=<1 for only earliest, 0 for all>
165 ;
166 N DIR
167 S DGENRP("JUSTONCE")=0
168 S DIR(0)="Y"
169 S DIR("B")="NO"
170 S DIR("A")="For patients with multiple appointments, should only the first be listed"
171 D ^DIR
172 Q:$D(DIRUT) 0
173 I +Y=1 S DGENRP("JUSTONCE")=1
174 Q 1
Note: See TracBrowser for help on using the repository browser.