1 | XUMF333 ;OIFO-OAK/RAM - Add HCS data types ;02/21/02
|
---|
2 | ;;8.0;KERNEL;**335**;Jul 10, 1995
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | ;
|
---|
7 | POST ; -- post installation XU*8*333
|
---|
8 | ;
|
---|
9 | N XUMF,IENS,IEN,FDA,I,HCS,XXX
|
---|
10 | ;
|
---|
11 | S XUMF=1
|
---|
12 | ;
|
---|
13 | D KM,KM1,KM2,KM3,STUFF
|
---|
14 | ;
|
---|
15 | Q
|
---|
16 | ;
|
---|
17 | KM ; -- add XUMF IMF EDIT STATUS to XUKERNEL
|
---|
18 | ;
|
---|
19 | N X,Y
|
---|
20 | ;
|
---|
21 | S X=$$FIND1^DIC(19,,"B","XUKERNEL")
|
---|
22 | S Y="?+1,"
|
---|
23 | ;
|
---|
24 | S IENS=Y_X_","
|
---|
25 | S FDA(19,"?1,",.01)="XUKERNEL"
|
---|
26 | S FDA(19.01,"?+2,?1,",.01)="XUMF IMF EDIT STATUS"
|
---|
27 | D UPDATE^DIE("","FDA")
|
---|
28 | ;
|
---|
29 | Q
|
---|
30 | ;
|
---|
31 | KM1 ; -- add XUMF IMF EDIT STATUS to XUKERNEL
|
---|
32 | ;
|
---|
33 | N X,Y
|
---|
34 | ;
|
---|
35 | S X=$$FIND1^DIC(19,,"B","XUKERNEL")
|
---|
36 | S Y="?+1,"
|
---|
37 | ;
|
---|
38 | S IENS=Y_X_","
|
---|
39 | S FDA(19,"?1,",.01)="XUKERNEL"
|
---|
40 | S FDA(19.01,"?+3,?1,",.01)="XUMF LOAD INSTITUTION"
|
---|
41 | D UPDATE^DIE("","FDA")
|
---|
42 | ;
|
---|
43 | Q
|
---|
44 | ;
|
---|
45 | KM2 ; -- add XUMF IMF EDIT STATUS to XUKERNEL
|
---|
46 | ;
|
---|
47 | N X,Y
|
---|
48 | ;
|
---|
49 | S X=$$FIND1^DIC(19,,"B","XUKERNEL")
|
---|
50 | S Y="?+1,"
|
---|
51 | ;
|
---|
52 | S IENS=Y_X_","
|
---|
53 | S FDA(19,"?1,",.01)="XUKERNEL"
|
---|
54 | S FDA(19.01,"?+3,?1,",.01)="Patch XU*8*335 clean 4.1 and 4"
|
---|
55 | D UPDATE^DIE("","FDA")
|
---|
56 | ;
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | KM3 ; -- remove XUMF333 clean 4.1 and 4 if present
|
---|
60 | ;
|
---|
61 | N X,IENS,FDA
|
---|
62 | ;
|
---|
63 | S X=$$FIND1^DIC(19,,"B","XUMF333 clean 4.1 and 4")
|
---|
64 | ;
|
---|
65 | Q:'X
|
---|
66 | ;
|
---|
67 | S IENS=X_","
|
---|
68 | S FDA(19,IENS,.01)="@"
|
---|
69 | D UPDATE^DIE("","FDA")
|
---|
70 | ;
|
---|
71 | Q
|
---|
72 | ;
|
---|
73 | STUFF ;
|
---|
74 | ;
|
---|
75 | S IEN=$O(^DIC(4.1,"B","HCS",0))
|
---|
76 | S IENS=$S(IEN:IEN_",",1:"+1,")
|
---|
77 | K FDA
|
---|
78 | S FDA(4.1,IENS,.01)="HCS"
|
---|
79 | S FDA(4.1,IENS,1)="HEALTH CARE SYSTEM"
|
---|
80 | S FDA(4.1,IENS,3)="LOCAL"
|
---|
81 | D UPDATE^DIE("E","FDA")
|
---|
82 | ;
|
---|
83 | S HCS=""
|
---|
84 | F XXX=1:1 D Q:HCS=""
|
---|
85 | .S HCS=$P($T(HCS+XXX),";;",2)
|
---|
86 | .S IEN=$S(HCS="":0,1:$O(^DIC(4,"B",HCS,0)))
|
---|
87 | .S IENS=$S(IEN:IEN_",",1:"+1,")
|
---|
88 | .;
|
---|
89 | .K FDA
|
---|
90 | .S FDA(4,IENS,.01)=HCS
|
---|
91 | .S FDA(4,IENS,11)="LOCAL"
|
---|
92 | .S FDA(4,IENS,13)="HCS"
|
---|
93 | .D UPDATE^DIE("E","FDA")
|
---|
94 | ;
|
---|
95 | Q
|
---|
96 | ;
|
---|
97 | HCS ;
|
---|
98 | ;;VA GREATER LOS ANGELES (691)
|
---|
99 | ;;VA HEARTLAND-EAST VISN15 (657)
|
---|
100 | ;;VA HEARTLAND-WEST VISN15 (589)
|
---|
101 | ;;VA CHICAGO HSC (537)
|
---|
102 | ;;CENTRAL PLAINS NETWORK (636)
|
---|
103 | ;;MONTANA HCS (436)
|
---|
104 | ;;VA PACIFIC ISLANDS HCS (459)
|
---|
105 | ;;NEW MEXICO HCS (501)
|
---|
106 | ;;AMARILLO HCS (504)
|
---|
107 | ;;MARYLAND HCS (512)
|
---|
108 | ;;WEST TEXAS HCS (519)
|
---|
109 | ;;BOSTON HCS (523)
|
---|
110 | ;;UPSTATE NEW YORK HCS (528)
|
---|
111 | ;;NORTH TEXAS HCS (549)
|
---|
112 | ;;EASTERN COLORADO HCS (554)
|
---|
113 | ;;NEW JERSEY HCS (561)
|
---|
114 | ;;BLACK HILLS HCS (568)
|
---|
115 | ;;CENTRAL CALIFORNIA HCS (570)
|
---|
116 | ;;N FLORIDA/S GEORGIA HCS (573)
|
---|
117 | ;;GREATER NEBRASKA HCS (597)
|
---|
118 | ;;CENTRAL ARKANSAS HCS (598)
|
---|
119 | ;;LONG BEACH HCS (600)
|
---|
120 | ;;CENTRAL ALABAMA HCS (619)
|
---|
121 | ;;HUDSON VALLEY HCS VAMC (620)
|
---|
122 | ;;TENNESSEE VALLEY HCS (626)
|
---|
123 | ;;PALO ALTO HCS (640)
|
---|
124 | ;;PITTSBURGH HCS (646)
|
---|
125 | ;;ROSEBURG HCS (653)
|
---|
126 | ;;SIERRA NEVADA HCS (654)
|
---|
127 | ;;SALT LAKE CITY HCS (660)
|
---|
128 | ;;PUGET SOUND HCS (663)
|
---|
129 | ;;SAN DIEGO HCS (664)
|
---|
130 | ;;SOUTH TEXAS HCS (671)
|
---|
131 | ;;CENTRAL TEXAS HCS (674)
|
---|
132 | ;;EASTERN KANSAS HCS (677)
|
---|
133 | ;;SOUTHERN ARIZONA VA HCS (678)
|
---|
134 | ;;CONNECTICUT HCS (689)
|
---|
135 | ;;EL PASO VA HCS (756)
|
---|
136 | ;;NEW YORK HHS (630)
|
---|
137 | ;
|
---|
138 | ; do not include
|
---|
139 | ;;EASTERN COLORADO HCS (554A4)
|
---|
140 | ;;SOUTHERN COLORADO HCS
|
---|
141 | ;;CENTRAL IOWA HCS (555)
|
---|
142 | ;;ILLIANA HCS (550)
|
---|
143 | ;;NORTHERN CALIFORNIA HCS (612)
|
---|
144 | ;;SOUTHERN NEVADA HCS (593)
|
---|
145 | ;;NORTHERN ARIZONA HCS (649)
|
---|
146 | ;
|
---|
147 | Q
|
---|
148 | ;
|
---|
149 | CHK ; -- check site updating required
|
---|
150 | ;
|
---|
151 | N STA,IEN,FLAG,CHK
|
---|
152 | ;
|
---|
153 | S STA=$$STA^XUAF4(+$G(DUZ(2)))
|
---|
154 | ;
|
---|
155 | I STA="" W !!,"DUZ not defined. Please log on." Q
|
---|
156 | ;
|
---|
157 | W @IOF,!,STA," ",$P($$NS^XUAF4(+DUZ(2)),U)
|
---|
158 | ;
|
---|
159 | S CHK=$$INST^XUMF333(+DUZ(2),.ERR)
|
---|
160 | I CHK=1 D
|
---|
161 | .W !!?5,"MISSING DATA - please fix",!
|
---|
162 | .S I=0 F S I=$O(ERR("FATAL",I)) Q:'I D
|
---|
163 | ..W !?5,ERR("FATAL",I)
|
---|
164 | I CHK'=1 W " is okay"
|
---|
165 | ;
|
---|
166 | S STA=STA_"A"
|
---|
167 | F S STA=$O(^DIC(4,"D",STA)) Q:STA="" D Q:$G(FLAG)
|
---|
168 | .I $E($$STA^XUAF4(DUZ(2)),1,3)'=$E(STA,1,3) S FLAG=1 Q
|
---|
169 | .S IEN=$$IEN^XUAF4(STA)
|
---|
170 | .S CHK=$$INST^XUMF333(+IEN,.ERR)
|
---|
171 | .W !!,STA," ",$P($$NS^XUAF4(+IEN),U)
|
---|
172 | .I CHK'=1 W " is okay" Q
|
---|
173 | .I CHK=1 D
|
---|
174 | ..W " is MISSING DATA - please fix",!
|
---|
175 | ..S I=0 F S I=$O(ERR("FATAL",I)) Q:'I D
|
---|
176 | ...W !?5,ERR("FATAL",I)
|
---|
177 | .K ERR
|
---|
178 | ;
|
---|
179 | ;
|
---|
180 | Q
|
---|
181 | ;
|
---|
182 | INST(IEN,ERR) ; -- validate Institution entry FALSE=valid
|
---|
183 | ;
|
---|
184 | Q:'$G(IEN) "IEN null"
|
---|
185 | ;
|
---|
186 | S CNT=1
|
---|
187 | ;
|
---|
188 | D ZERO(IEN,.ERR,.CNT)
|
---|
189 | D ADD1(IEN,.ERR,.CNT)
|
---|
190 | D ADD2(IEN,.ERR,.CNT)
|
---|
191 | D FTYP(IEN,.ERR,.CNT)
|
---|
192 | D ND99(IEN,.ERR,.CNT)
|
---|
193 | ;
|
---|
194 | Q $S($D(ERR("FATAL")):1,$D(ERR("WARNING")):2,1:0)
|
---|
195 | ;
|
---|
196 | ZERO(IEN,ERR,CNT) ; -- zero node
|
---|
197 | ;
|
---|
198 | N X
|
---|
199 | ;
|
---|
200 | S CNT=$G(CNT) S:'CNT CNT=1
|
---|
201 | ;
|
---|
202 | S X=$G(^DIC(4,+IEN,0))
|
---|
203 | I $P(X,U,2)="" D
|
---|
204 | .S ERR("FATAL",CNT)="STATE is missing",CNT=CNT+1
|
---|
205 | ;
|
---|
206 | Q
|
---|
207 | ;
|
---|
208 | ADD1(IEN,ERR,CNT) ; -- address node
|
---|
209 | ;
|
---|
210 | N X,I
|
---|
211 | ;
|
---|
212 | S CNT=$G(CNT) S:'CNT CNT=1
|
---|
213 | ;
|
---|
214 | S X=$G(^DIC(4,+IEN,1))
|
---|
215 | I $P(X,U,1)="" D
|
---|
216 | .S ERR("FATAL",CNT)="Physical address St. line 1 missing"
|
---|
217 | .S CNT=CNT+1
|
---|
218 | I $P(X,U,3)="" D
|
---|
219 | .S ERR("FATAL",CNT)="Physical address City missing"
|
---|
220 | .S CNT=CNT+1
|
---|
221 | I $P(X,U,4)="" D
|
---|
222 | .S ERR("FATAL",CNT)="Physical address ZIP missing"
|
---|
223 | .S CNT=CNT+1
|
---|
224 | I $P(X,U,2)="" D
|
---|
225 | .S ERR("WARNING",CNT)="Physical address St. line 2 missing"
|
---|
226 | .S CNT=CNT+1
|
---|
227 | ;
|
---|
228 | Q
|
---|
229 | ;
|
---|
230 | ADD2(IEN,ERR,CNT) ; -- mailing address node
|
---|
231 | ;
|
---|
232 | N X,I
|
---|
233 | ;
|
---|
234 | S CNT=$G(CNT) S:'CNT CNT=1
|
---|
235 | ;
|
---|
236 | S X=$G(^DIC(4,+IEN,4))
|
---|
237 | I $P(X,U,1)="" D
|
---|
238 | .S ERR("FATAL",CNT)="Mailing address St. line 1 missing"
|
---|
239 | .S CNT=CNT+1
|
---|
240 | I $P(X,U,3)="" D
|
---|
241 | .S ERR("FATAL",CNT)="Mailing address City missing"
|
---|
242 | .S CNT=CNT+1
|
---|
243 | I $P(X,U,4)="" D
|
---|
244 | .S ERR("FATAL",CNT)="Mailing address State missing"
|
---|
245 | .S CNT=CNT+1
|
---|
246 | I $P(X,U,5)="" D
|
---|
247 | .S ERR("FATAL",CNT)="Mailing address ZIP missing"
|
---|
248 | .S CNT=CNT+1
|
---|
249 | I $P(X,U,2)="" D
|
---|
250 | .S ERR("WARNING",CNT)="Mailing address St. line 2 missing"
|
---|
251 | .S CNT=CNT+1
|
---|
252 | ;
|
---|
253 | Q
|
---|
254 | ;
|
---|
255 | FTYP(IEN,ERR,CNT) ; -- facility type node
|
---|
256 | ;
|
---|
257 | N X
|
---|
258 | ;
|
---|
259 | S CNT=$G(CNT) S:'CNT CNT=1
|
---|
260 | ;
|
---|
261 | S X=$G(^DIC(4,+IEN,3))
|
---|
262 | I 'X D
|
---|
263 | .S ERR("FATAL",CNT)="FACILITY TYPE is missing",CNT=CNT+1
|
---|
264 | I $P($G(^DIC(4.1,+X,0)),U,4)'="N" D
|
---|
265 | .S ERR("FATAL",CNT)="FACILITY TYPE is not NATIONAL",CNT=CNT+1
|
---|
266 | ;
|
---|
267 | Q
|
---|
268 | ;
|
---|
269 | ND99(IEN,ERR,CNT) ; -- 99 node
|
---|
270 | ;
|
---|
271 | N X
|
---|
272 | ;
|
---|
273 | S CNT=$G(CNT) S:'CNT CNT=1
|
---|
274 | ;
|
---|
275 | S X=$G(^DIC(4,+IEN,99))
|
---|
276 | I $P(X,U,3)="" D
|
---|
277 | .S ERR("FATAL",CNT)="OFFICIAL VA NAME is missing",CNT=CNT+1
|
---|
278 | I ($P(X,U,4))&($E($$NS^XUAF4(+IEN),1,2)'="ZZ") D
|
---|
279 | .S ERR("FATAL",CNT)="Inactive facility NAME not ZZ'd",CNT=CNT+1
|
---|
280 | ;
|
---|
281 | Q
|
---|
282 | ;
|
---|
283 | C4 ; -- clean up Institution file
|
---|
284 | ;
|
---|
285 | D RIP,CFTYP,GET
|
---|
286 | ;
|
---|
287 | Q
|
---|
288 | ;
|
---|
289 | RIP ; -- remove from all inactive and local the associations visn & parent
|
---|
290 | ;
|
---|
291 | N IEN
|
---|
292 | ;
|
---|
293 | S IEN=0
|
---|
294 | F S IEN=$O(^DIC(4,IEN)) Q:'IEN D
|
---|
295 | .I $P($G(^DIC(4,+IEN,0)),U,11)="N",'$P($G(^DIC(4,+IEN,99)),U,4) Q
|
---|
296 | .D IFF^XUMF333(IEN)
|
---|
297 | ;
|
---|
298 | Q
|
---|
299 | ;
|
---|
300 | IFF(IEN) ; -- inactive facility remove VISN and parent association
|
---|
301 | ;
|
---|
302 | N FDA,IENS,XUMF
|
---|
303 | ;
|
---|
304 | S XUMF=1
|
---|
305 | ;
|
---|
306 | S IENS="1,"_IEN_","
|
---|
307 | S FDA(4.014,IENS,.01)="@"
|
---|
308 | S IENS="2,"_IEN_","
|
---|
309 | S FDA(4.014,IENS,.01)="@"
|
---|
310 | D FILE^DIE("E","FDA")
|
---|
311 | ;
|
---|
312 | Q
|
---|
313 | ;
|
---|
314 | CFTYP ; - clean 4.1
|
---|
315 | ;
|
---|
316 | N FDA,IENS,XUMF,IEN
|
---|
317 | ;
|
---|
318 | M ^TMP("XUMF 4.1",$J)=^DIC(4.1)
|
---|
319 | ;
|
---|
320 | S XUMF=1
|
---|
321 | ;
|
---|
322 | S IEN=0
|
---|
323 | F S IEN=$O(^DIC(4.1,IEN)) Q:'IEN D
|
---|
324 | .S IENS=IEN_","
|
---|
325 | .K FDA
|
---|
326 | .S FDA(4.1,IENS,.01)="@"
|
---|
327 | .D FILE^DIE("E","FDA")
|
---|
328 | ;
|
---|
329 | S IEN=0
|
---|
330 | F S IEN=$O(^DIC(4,IEN)) Q:'IEN D
|
---|
331 | .S IENS=IEN_","
|
---|
332 | .K FDA
|
---|
333 | .S FDA(4,IENS,13)="@"
|
---|
334 | .D FILE^DIE("E","FDA")
|
---|
335 | ;
|
---|
336 | Q
|
---|
337 | ;
|
---|
338 | GET ; -- get Institution Master File (IMF) and Facility Types
|
---|
339 | ;
|
---|
340 | W !!,"...getting Facility Types - wait please 5 min..."
|
---|
341 | D LOAD^XUMF(4.1)
|
---|
342 | W !!,"...getting Institutions - wait please 10 min..."
|
---|
343 | D LOAD^XUMF(4)
|
---|
344 | ;
|
---|
345 | Q
|
---|
346 | ;
|
---|
347 | SCN(IEN,XUMF) ; screen out HCS entries
|
---|
348 | ;
|
---|
349 | ; IEN = Institution Internal Entry Number to check
|
---|
350 | ;
|
---|
351 | S XUMF=$G(XUMF) Q:XUMF 1
|
---|
352 | ;
|
---|
353 | I $O(^DIC(4.1,"B","HCS",0))=+$G(^DIC(4,+IEN,3)) Q 0
|
---|
354 | ;
|
---|
355 | Q 1
|
---|
356 | ;
|
---|