1 | DVBAB82 ;ALB - CAPRI DVBA REPORTS;03/08/02
|
---|
2 | ;;2.7;AMIE;**42,90,100,119**;Apr 10, 1995;Build 10
|
---|
3 | Q
|
---|
4 | ;
|
---|
5 | START(MSG,RPID,PARM) ; CALLED BY REMOTE PROCEDURE DVBAB REPORTS
|
---|
6 | ;Parameters
|
---|
7 | ;=============
|
---|
8 | ; MSG : Output - ^TMP("DVBA",$J)
|
---|
9 | ; RPID : Report Identification Number
|
---|
10 | ; PARM : Input parameters separated by "^"
|
---|
11 | ;
|
---|
12 | N DVBHFS,DVBERR,DVBGUI,I
|
---|
13 | K ^TMP("DVBA",$J)
|
---|
14 | S DVBGUI=1,DVBERR=0,DVBHFS=$$HFS(),RPID=$G(RPID)
|
---|
15 | I RPID<1!(RPID>9) S ^TMP("DVBA",$J,1)="0^Undefined Report ID" G END
|
---|
16 | D HFSOPEN("DVBRP",DVBHFS,"W") I DVBERR G END
|
---|
17 | I RPID=1 D CRMS G END
|
---|
18 | I RPID=3 D CPRNT G END
|
---|
19 | D CHECK I DVBERR G END
|
---|
20 | I RPID=2 D CRRR G END
|
---|
21 | I RPID=4 D CRPON G END
|
---|
22 | I RPID=5 D CIRPT G END
|
---|
23 | I RPID=6 D DSRP G END
|
---|
24 | I RPID=7 D SDPP G END
|
---|
25 | I RPID=8 D SPRPT G END
|
---|
26 | I RPID=9 D VIEW
|
---|
27 | ;
|
---|
28 | END D HFSCLOSE("DVBRP",DVBHFS)
|
---|
29 | S I=0 F S I=$O(^TMP("DVBA",$J,1,I)) Q:'I S ^TMP("DVBA",$J,1,I)=^TMP("DVBA",$J,1,I)_$C(13) S:^(I)["$END" ^(I)=""
|
---|
30 | S MSG=$NA(^TMP("DVBA",$J))
|
---|
31 | Q
|
---|
32 | CHECK ; VALIDATE INPUT PARAMETERS
|
---|
33 | I $G(PARM)="" S DVBERR=1,^TMP("DVBA",$J,1)="0^Undefined Input Parameters"
|
---|
34 | Q
|
---|
35 | ;
|
---|
36 | SDPP ; Report # 7 - Full (Patient Profile MAS) Report
|
---|
37 | ;Parameters
|
---|
38 | ;=============
|
---|
39 | ; DFN : Patient Identification Number
|
---|
40 | ; SDR : R/Range or A/All
|
---|
41 | ; SDBD : Begining date
|
---|
42 | ; SDED : Ending date
|
---|
43 | ; SDP : Print the profile? 1 OR 0
|
---|
44 | ; SDTYP(2) : Print appointments? 1 OR 0
|
---|
45 | ; SDTYP(1) : Print add/edits? 1 or 0
|
---|
46 | ; SDTYP(4) : Print enrollments? 1 or 0
|
---|
47 | ; SDTYP(3) : Print dispositions? 1 OR 0
|
---|
48 | ; SDTYP(7) : Print team information? 1 OR 0
|
---|
49 | ; SDTYP(5) : Print means test? 1 OR 0
|
---|
50 | ;
|
---|
51 | N SDTYP,SDBD,SDED,SDACT,SDPRINT,SDYES,SDRANGE,SDBEG,SDEN
|
---|
52 | S DFN=$P(PARM,"^",1),SDR=$P(PARM,"^",2),SDBD=$P(PARM,"^",3),SDED=$P(PARM,"^",4)
|
---|
53 | S SDP=$P(PARM,"^",5),SDTYP(2)=$P(PARM,"^",6),SDTYP(1)=$P(PARM,"^",7)
|
---|
54 | S SDTYP(4)=$P(PARM,"^",8),SDTYP(3)=$P(PARM,"^",9),SDTYP(7)=$P(PARM,"^",10),SDTYP(5)=$P(PARM,"^",11)
|
---|
55 | D VAL Q:DVBERR
|
---|
56 | S SDACT="",(SDYES,SDRANGE,SDPRINT)=0
|
---|
57 | I SDR="R" S SDRANGE=1
|
---|
58 | I SDP=1 S SDYES=1,SDPRINT=1
|
---|
59 | I 'SDRANGE S (SDBD,SDBEG)=2800101,(SDED,SDEND)=$$ENDDT(),SDHDR=1
|
---|
60 | D ENS^%ZISS
|
---|
61 | N SDYN,DVB S SDPRINT=1,DVB(1)=SDBD_";"_SDED,DVB(4)=DFN,DVB("FLDS")=1
|
---|
62 | ;I $$SDAPI^SDAMA301(.DVB)>0 D
|
---|
63 | I $O(^DPT(DFN,"S",SDBD)) D
|
---|
64 | . I SDTYP(2)=1 S SDTYP(2)="" Q
|
---|
65 | . K SDTYP(2)
|
---|
66 | IF $$EXOE^SDOE(DFN,SDBD,SDED) D
|
---|
67 | . I SDTYP(1)=1 S SDTYP(1)="" Q
|
---|
68 | . K SDTYP(1)
|
---|
69 | I $D(^DPT(DFN,"DE")) D
|
---|
70 | . I SDTYP(4)=1 S SDTYP(4)="",SDACT=0 Q
|
---|
71 | . K SDTYP(4)
|
---|
72 | I $D(^DPT(DFN,"DIS")),$S('SDRANGE:1,+$O(^("DIS",9999999-(SDED+.9)))&($O(^(9999999-(SDED+.9)))<(9999999-(SDBD-.1))):1,1:0) D
|
---|
73 | . I SDTYP(3)=1 S SDTYP(3)="" Q
|
---|
74 | . K SDTYP(3)
|
---|
75 | S SDYN=$$LST^DGMTU(DFN) I SDYN D
|
---|
76 | . I SDTYP(5)=1 S SDTYP(5)="" Q
|
---|
77 | . K SDTYP(5)
|
---|
78 | I SDTYP(7)=1 D
|
---|
79 | . S SDTYP(7)="",GBL="^TMP(""SDPP"","_$J_")" Q
|
---|
80 | . K SDTYP(7)
|
---|
81 | D PRINT^SDPPRT
|
---|
82 | K ^TMP($J,"SDAMA301") S VALMBCK="R"
|
---|
83 | Q
|
---|
84 | ENDDT() ;Calculate end date for "all" date
|
---|
85 | N X S X=$O(^DPT(DFN,"S",""),-1) S:X<DT X=DT_.24 Q X
|
---|
86 | ;N X,X1,X2,%H S X1=DT,X2=36600
|
---|
87 | ;D C^%DTC
|
---|
88 | ;Q X_.24
|
---|
89 | ;
|
---|
90 | VIEW ; Report # 9 - View Registration Data Report
|
---|
91 | ; Parameters
|
---|
92 | ; ==========
|
---|
93 | ; DFN : Patient Identification Number
|
---|
94 | ;
|
---|
95 | U IO
|
---|
96 | S DFN=$P(PARM,"^",1)
|
---|
97 | D VAL Q:DVBERR
|
---|
98 | D EN1^DGRP
|
---|
99 | Q
|
---|
100 | DSRP ; Report # 6 - Reprint a Notice of Discharge Report
|
---|
101 | ; Parameters
|
---|
102 | ; % : 1=Report on all veterans for a given day (BDATE required)
|
---|
103 | ; : 0=Report on a single Veteran (DFN required)
|
---|
104 | ; BDATE : Original Processing Date - $H/FileMan
|
---|
105 | ; DFN : Patient Identification Number
|
---|
106 | ;
|
---|
107 | N %,BDATE,DFN,DFNIEN
|
---|
108 | S %=$P(PARM,"^",1),BDATE=$P(PARM,"^",2),DFN=$P(PARM,"^",3),DFNIEN=""
|
---|
109 | I BDATE="" S DVBERR=1,^TMP("DVBA",$J,1)="0^Incorrect Date" Q
|
---|
110 | D DUZ2^DVBAUTIL
|
---|
111 | U IO
|
---|
112 | D VAL Q:DVBERR
|
---|
113 | I %=1 D Q
|
---|
114 | . S HD="SINGLE NOTICE OF DISCHARGE REPRINTING"
|
---|
115 | . D NOPARM^DVBAUTL2 G:$D(DVBAQUIT) KILL^DVBAUTIL S DTAR=^DVB(396.1,1,0),FDT(0)=$$FMTE^XLFDT(DT,"5DZ")
|
---|
116 | . S HEAD="NOTICE OF DISCHARGE",HEAD1="FOR "_$P(DTAR,U,1)_" ON "_FDT(0)
|
---|
117 | . I $D(^DVB(396.2,"B",DFN)) D
|
---|
118 | . . S DFNIEN=$O(^DVB(396.2,"B",DFN,DFNIEN)),ADM=$P(^DVB(396.2,DFNIEN,0),U,3)
|
---|
119 | . . I $D(^DGPM(+ADM,0)),$P(^(0),U,17)]"" S DCHPTR=$P(^DGPM(+ADM,0),U,17),DISCH=$S($P(^DGPM(DCHPTR,0),U,1)]"":$P(^(0),U,1),1:"") W ?($X+5),"Discharge date: ",$$FMTE^XLFDT(DISCH,"5DZ")
|
---|
120 | . . I $P(^DVB(396.2,DFNIEN,0),U,7)'=DVBAD2 W *7,!!,"This does not belong to your RO.",!! H 3 Q
|
---|
121 | . . I DFNIEN>0 S XDA=DFNIEN,DA=$P(^DVB(396.2,DFNIEN,0),U,1),ADMDT=$P(^DVB(396.2,DFNIEN,0),U,2),MB=$P(^(0),U,3)
|
---|
122 | . . D REPRINT^DVBADSNT
|
---|
123 | D DEQUE^DVBADSRP
|
---|
124 | Q
|
---|
125 | ;
|
---|
126 | SPRPT ; Report # 8 - OP(Operation Report)
|
---|
127 | ;Parameters
|
---|
128 | ;=============
|
---|
129 | ; DFN : Patient Identification Number
|
---|
130 | ; SRTN : Select Operation
|
---|
131 | ;
|
---|
132 | N DFN,SRTN,MAGTMPR2,SRSITE
|
---|
133 | I $O(^SRO(133,1))'="B" S SRSITE=1
|
---|
134 | S DFN=$P(PARM,"^",1),SRTN=$P(PARM,"^",2),MAGTMPR2=1
|
---|
135 | D VAL Q:DVBERR
|
---|
136 | D ^SROPRPT
|
---|
137 | Q
|
---|
138 | ;
|
---|
139 | CRPON ; Report # - 4 Reprint C&P Final Report
|
---|
140 | ;Parameters
|
---|
141 | ;=============
|
---|
142 | ; RTYPE : Select Reprint Option (D)ate or (V)eteran
|
---|
143 | ; RUNDATE : ORIGINAL PROCESSING date
|
---|
144 | ; ANS : Reprinted by the RO or MAS
|
---|
145 | ; % : LAB 1 OR 0
|
---|
146 | ; DA(1) : Patient IEN for lab results
|
---|
147 | ; DFN : Patient Identification Number
|
---|
148 | ;
|
---|
149 | U IO
|
---|
150 | N ONE
|
---|
151 | S RTYPE=$P(PARM,"^",1),RUNDATE=$P(PARM,"^",2),ANS=$P(PARM,"^",3),%=$P(PARM,"^",4),DA(1)=$P(PARM,"^",5),DFN=$P(PARM,"^",6),DA=DA(1)
|
---|
152 | I RTYPE="V" D VAL Q:DVBERR
|
---|
153 | S XDD=^DD("DD"),$P(ULINE,"_",70)="_",ONE="N",Y=DT
|
---|
154 | X XDD S HD="Reprint C & P Exams",SUPER=0
|
---|
155 | I $D(^XUSEC("DVBA C SUPERVISOR",DUZ)) S SUPER=1
|
---|
156 | S DVBCDT(0)=Y,PGHD="Compensation and Pension Exam Report",LOC=DUZ(2),PG=0,DVBCSITE=$S($D(^DVB(396.1,1,0)):$P(^(0),U,1),1:"Not specified")
|
---|
157 | I "^D^V^"'[RTYPE S DVBERR=1,^TMP("DVBA",$J,1)="0^Incorrect Data Type" Q
|
---|
158 | I ANS="R" K AUTO
|
---|
159 | I ANS="M" S AUTO=1
|
---|
160 | I "^M^R^"'[ANS S DVBERR=1,^TMP("DVBA",$J,1)="0^Incorrect Data Type" Q
|
---|
161 | I RTYPE="D" D GO^DVBCRPRT Q
|
---|
162 | I RTYPE="V" D
|
---|
163 | . S ONE="Y",RO=$P(^DVB(396.3,DA,0),U,3)
|
---|
164 | . I RO'=DUZ(2)&('$D(AUTO))&(SUPER=0) W !!,*7,"Those results do not belong to your office.",!! Q
|
---|
165 | . I RO=DUZ(2)&('$D(AUTO))&("RC"'[($P(^DVB(396.3,DA,0),U,18))) W *7,!!,"This request has not been released to the Regional Office yet.",!! Q
|
---|
166 | . S PRTDATE=$P(^DVB(396.3,DA,0),U,16) I PRTDATE="" W *7,!!,"This has never been printed.",!! I SUPER=0 S OUT=1 Q
|
---|
167 | . I %=1 D REN2^DVBCLABR Q
|
---|
168 | . ;D OV^DVBCRPON
|
---|
169 | . K DVBAON2 D SETLAB^DVBCPRNT,VARS^DVBCUTIL,STEP2^DVBCRPRT
|
---|
170 | Q
|
---|
171 | ;
|
---|
172 | CIRPT ; Report # 5 - Insufficient Exam Report
|
---|
173 | ;Parameters
|
---|
174 | ;=============
|
---|
175 | ; RPTTYPE : D/Detailed or S/Summary
|
---|
176 | ; BEGDT : Beginning date $H/FileMan
|
---|
177 | ; ENDDT : Ending date $H/FileMan
|
---|
178 | ; RESANS : Insufficient Reason
|
---|
179 | ;
|
---|
180 | U IO
|
---|
181 | S RPTTYPE=$P(PARM,"^",1),BEGDT=$P(PARM,"^",2),ENDDT=$P(PARM,"^",3),RESANS=$P(PARM,"^",4)
|
---|
182 | I RPTTYPE="S" D SUM^DVBCIRPT Q
|
---|
183 | I RPTTYPE="D" D
|
---|
184 | . I RESANS="" S Y=-1 D INREAS
|
---|
185 | . I '$D(DVBAARY("REASON")) S DVBAQTSL=""
|
---|
186 | . S DVBCYQ=""
|
---|
187 | . I RESANS'="" S Y=RESANS D INREAS
|
---|
188 | . K DTOUT,DUOUT
|
---|
189 | . S Y=-1 D EXMTPE,DETAIL^DVBCIRP1
|
---|
190 | Q
|
---|
191 | ;
|
---|
192 | EXMTPE ;
|
---|
193 | N YSAVE,DVBAXIFN
|
---|
194 | S YSAVE=Y
|
---|
195 | F DVBAXIFN=0:0 S DVBAXIFN=$O(^DVB(396.6,DVBAXIFN)) Q:+DVBAXIFN=0 DO
|
---|
196 | . S ^TMP($J,"XMTYPE",DVBAXIFN)=""
|
---|
197 | S Y=-1
|
---|
198 | I +YSAVE>0 S ^TMP($J,"XMTYPE",+YSAVE)=""
|
---|
199 | S Y=YSAVE
|
---|
200 | Q
|
---|
201 | INREAS ;
|
---|
202 | N YSAVE,DVBXIFN
|
---|
203 | S YSAVE=Y
|
---|
204 | F DVBAXIFN=0:0 S DVBAXIFN=$O(^DVB(396.94,DVBAXIFN)) Q:+DVBAXIFN=0 DO
|
---|
205 | . S DVBAARY("REASON",DVBAXIFN)=""
|
---|
206 | S Y=-1
|
---|
207 | I +YSAVE>0 S DVBAARY("REASON",+YSAVE)=""
|
---|
208 | S Y=YSAVE
|
---|
209 | Q
|
---|
210 | ;
|
---|
211 | CRMS ; Report # 1 - Regional Office 21- day Certificate Printing Report.
|
---|
212 | ; No Parameters
|
---|
213 | ;
|
---|
214 | U IO
|
---|
215 | D ^DVBACRMS
|
---|
216 | Q
|
---|
217 | ;
|
---|
218 | CRRR ; Report # 2 - Reprint a 21 - day Certificate for the RO
|
---|
219 | ;Parameters
|
---|
220 | ;=============
|
---|
221 | ; DVBSEL : Select one of the following:
|
---|
222 | ; N Patient Name
|
---|
223 | ; D ORIGINAL PROCESSING DATE
|
---|
224 | ; SDATE : ORIGINAL PROCESSING date - $H/FileMan
|
---|
225 | ; XDA : Patient IEN
|
---|
226 | ;
|
---|
227 | U IO
|
---|
228 | S DVBSEL=$P(PARM,"^",1),SDATE=$P(PARM,"^",2),XDA=$P(PARM,"^",3)
|
---|
229 | I "^D^N^"'[DVBSEL S DVBERR=1,^TMP("DVBA",$J,1)="0^Incorrect Data Type" Q
|
---|
230 | I DVBSEL="D" D I DVBERR Q
|
---|
231 | . I SDATE="" S DVBERR=1,^TMP("DVBA",$J,1)="0^Undefined Date" Q
|
---|
232 | . S %DT="X" S X=SDATE D ^%DT I Y<0 D Q
|
---|
233 | . . S DVBERR=1,^TMP("DVBA",$J,1)="0^Incorrect Date Format"
|
---|
234 | I DVBSEL="N" D I DVBERR Q
|
---|
235 | . I XDA="" S DVBERR=1,^TMP("DVBA",$J,1)="0^Undefined Patient IEN" Q
|
---|
236 | . S DIC=2,DIC(0)="NZX",X=XDA D ^DIC I Y<0 D I DVBERR Q
|
---|
237 | . . S DVBERR=1,^TMP("DVBA",$J,1)="0^Invalid Patient Name."
|
---|
238 | . S DFN=XDA
|
---|
239 | D INIT^DVBACRRR I 'CONT Q
|
---|
240 | D HDR^DVBACRRR,DATA^DVBACRRR
|
---|
241 | Q
|
---|
242 | ;
|
---|
243 | CPRNT ; Report # 3 - Print C&P Final Report (manual) Report
|
---|
244 | ; No Parameters
|
---|
245 | ;
|
---|
246 | S XDD=^DD("DD"),$P(ULINE,"_",70)="_",Y=DT
|
---|
247 | X XDD S DVBCDT(0)=Y,PGHD="Compensation and Pension Exam Report",DVBCSITE=$S($D(^DVB(396.1,1,0)):$P(^(0),U,1),1:"Not Specified")
|
---|
248 | D GO^DVBCPRNT
|
---|
249 | Q
|
---|
250 | VAL ; VALIDATE PATIENT
|
---|
251 | I $G(DFN)="" S DVBERR=1,^TMP("DVBA",$J,1)="0^Undefined Patient IEN" G END
|
---|
252 | S DIC=2,DIC(0)="NZX",X=DFN D ^DIC
|
---|
253 | I Y<0 S DVBERR=1,^TMP("DVBA",$J,1)="0^Invalid Patient Name." G END
|
---|
254 | Q
|
---|
255 | ;
|
---|
256 | HFS() ; -- get hfs file name
|
---|
257 | N H
|
---|
258 | S H=$H
|
---|
259 | Q "DVBA_"_$J_"_"_$P(H,",")_"_"_$P(H,",",2)_".DAT"
|
---|
260 | ;
|
---|
261 | HFSOPEN(HANDLE,DVBHFS,DVBMODE) ; Open File
|
---|
262 | S DVBDIRY=$$GET^XPAR("DIV","DVB HFS SCRATCH")
|
---|
263 | ;I DVBDIRY="" S ECERR=1 D Q
|
---|
264 | ;. S ^TMP("DVBA",$J,1)="0^A scratch directory for reports doesn't exist"
|
---|
265 | D OPEN^%ZISH(HANDLE,,DVBHFS,$G(DVBMODE,"W")) D:POP Q:POP
|
---|
266 | .S DVBERR=1,^TMP("DVBA",$J,1)="0^Unable to open file "
|
---|
267 | Q
|
---|
268 | ;
|
---|
269 | HFSCLOSE(HANDLE,DVBHFS) ;Close HFS and unload data
|
---|
270 | N DVBDEL,X,%ZIS
|
---|
271 | D CLOSE^%ZISH(HANDLE)
|
---|
272 | S ROOT=$NA(^TMP("DVBA",$J,1)),DVBDEL(DVBHFS)=""
|
---|
273 | K @ROOT
|
---|
274 | S X=$$FTG^%ZISH(,DVBHFS,$NA(@ROOT@(1)),4)
|
---|
275 | S X=$$DEL^%ZISH(,$NA(DVBDEL))
|
---|
276 | Q
|
---|