1 | SD132PT ;ALB/MJK - Patch SD*5.3*132 Post-Init Routine ; 11/5/97
|
---|
2 | ;;5.3;Scheduling;**132**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | EN ; --- main entry point
|
---|
5 | S U="^"
|
---|
6 | D BMES^XPDUTL("Post-Init Started...")
|
---|
7 | ;
|
---|
8 | ; -- main driver calls
|
---|
9 | D MAS,HL,LOG,ACG,AG,OVER
|
---|
10 | ;
|
---|
11 | D BMES^XPDUTL("Post-Init Finished.")
|
---|
12 | Q
|
---|
13 | ;
|
---|
14 | MAS ; -- delete MAS PARAMETERS (#43) fields and related data
|
---|
15 | N SDARY
|
---|
16 | ;
|
---|
17 | D BMES^XPDUTL(" >>> Deleting MAS PARAMETERS (#43) fields...")
|
---|
18 | ;
|
---|
19 | ; -- get fields to delete
|
---|
20 | D BUILDR(43,.SDARY)
|
---|
21 | ;
|
---|
22 | IF '$O(SDARY(0)) G MASQ
|
---|
23 | ;
|
---|
24 | ; -- delete data
|
---|
25 | N SDFDA,SDFLD
|
---|
26 | S SDFLD=0
|
---|
27 | F S SDFLD=$O(SDARY(SDFLD)) Q:'SDFLD D
|
---|
28 | . S SDFDA(43,"1,",SDFLD)="@"
|
---|
29 | D FILE^DIE("S","SDFDA")
|
---|
30 | ;
|
---|
31 | ; -- delete dds
|
---|
32 | D DELDD(43)
|
---|
33 | MASQ D MES^XPDUTL(" >>> Done.")
|
---|
34 | Q
|
---|
35 | ;
|
---|
36 | HL ; -- delete HOSPITIAL LOCATION (#44) fields and related data
|
---|
37 | N SDARY
|
---|
38 | ;
|
---|
39 | D BMES^XPDUTL(" >>> Deleting HOSPITAL LOCATION (#44) fields...")
|
---|
40 | ;
|
---|
41 | ; -- get fields to delete
|
---|
42 | D BUILDR(44,.SDARY)
|
---|
43 | ;
|
---|
44 | IF '$O(SDARY(0)) G HLQ
|
---|
45 | ;
|
---|
46 | ; -- delete data
|
---|
47 | S SDIEN=0
|
---|
48 | F S SDIEN=$O(^SC(SDIEN)) Q:'SDIEN D
|
---|
49 | . N SDFDA,SDFLD
|
---|
50 | . S SDFLD=0
|
---|
51 | . F S SDFLD=$O(SDARY(SDFLD)) Q:'SDFLD D
|
---|
52 | . . S SDFDA(44,SDIEN_",",SDFLD)="@"
|
---|
53 | . D FILE^DIE("S","SDFDA")
|
---|
54 | ;
|
---|
55 | ; -- delete dds
|
---|
56 | D DELDD(44)
|
---|
57 | HLQ D MES^XPDUTL(" >>> Done.")
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | LOG ; -- delete APPOINTMENT STATUS UPDATE LOG (#409.65) fields and related data
|
---|
61 | N SDARY
|
---|
62 | ;
|
---|
63 | D BMES^XPDUTL(" >>> Deleting APPPOINT STATUS UPDATE LOG (409.65) fields...")
|
---|
64 | ;
|
---|
65 | ; -- get fields to delete
|
---|
66 | D BUILDR(409.65,.SDARY)
|
---|
67 | ;
|
---|
68 | IF '$O(SDARY(0)) G LOGQ
|
---|
69 | ;
|
---|
70 | ; -- delete data
|
---|
71 | S SDIEN=0
|
---|
72 | F S SDIEN=$O(^SDD(409.65,SDIEN)) Q:'SDIEN D
|
---|
73 | . N SDFDA,SDFLD
|
---|
74 | . S SDFLD=0
|
---|
75 | . F S SDFLD=$O(SDARY(SDFLD)) Q:'SDFLD D
|
---|
76 | . . S SDFDA(409.65,SDIEN_",",SDFLD)="@"
|
---|
77 | . D FILE^DIE("S","SDFDA")
|
---|
78 | ;
|
---|
79 | ; -- delete dds
|
---|
80 | D DELDD(409.65)
|
---|
81 | LOGQ D MES^XPDUTL(" >>> Done.")
|
---|
82 | Q
|
---|
83 | ;
|
---|
84 | ACG ; -- update new computer generated appt type related fields in
|
---|
85 | ; OUTPATIENT ENCOUNTER (#409.68) with data for ^SDV data
|
---|
86 | ;
|
---|
87 | D BMES^XPDUTL(" >>> Setting 'ACG' cross references...")
|
---|
88 | ;
|
---|
89 | ; -- scan ^SDV("ACG") for records
|
---|
90 | N SDATE,SDCS,SDCS0,SDOE,SDOE0,SDREASON,SDAPPT,SDCG,DR,DA,DIE
|
---|
91 | S SDATE=0
|
---|
92 | F S SDATE=$O(^SDV("ACG",SDATE)) Q:'SDATE D
|
---|
93 | . S SDCS=0 F S SDCS=$O(^SDV("ACG",SDATE,SDCS)) Q:'SDCS D
|
---|
94 | . . S SDCS0=$G(^SDV(SDATE,"CS",SDCS,0))
|
---|
95 | . . S SDCG=+$G(^SDV(SDATE,"CS",SDCS,1))
|
---|
96 | . . S SDAPPT=$P(SDCS0,U,5)
|
---|
97 | . . S SDREASON=$P(SDCS0,U,6)
|
---|
98 | . . S SDOE=+$P(SDCS0,U,8)
|
---|
99 | . . S SDOE0=$G(^SCE(SDOE,0))
|
---|
100 | . . IF SDAPPT=10,SDOE,$P(SDOE0,U,10)=10,$G(^SCE(SDOE,"CG"))="" D
|
---|
101 | . . . S DR=".1////10"
|
---|
102 | . . . IF SDCG S DR=DR_";201////1"
|
---|
103 | . . . IF SDREASON S DR=DR_";202////"_SDREASON
|
---|
104 | . . . S DIE="^SCE(",DA=SDOE D ^DIE
|
---|
105 | ;
|
---|
106 | D MES^XPDUTL(" >>> Done.")
|
---|
107 | Q
|
---|
108 | ;
|
---|
109 | AG ; -- queue job to set 'AG' xref and related fields
|
---|
110 | N SDUZ,ZTRTN,ZTIO,ZTDESC,ZTDTH,ZTSAVE,ZTSK
|
---|
111 | S SDUZ=$G(DUZ)
|
---|
112 | D BMES^XPDUTL(" >>> Queuing task to set 'AG' cross reference.")
|
---|
113 | ; -- disable option
|
---|
114 | D OUT^XPDMENU("SDACS CGSCLIST","AG Cross Reference Being Set")
|
---|
115 | D MES^XPDUTL(" -> Option 'SDACS CGSCLIST' has been placed out of service.")
|
---|
116 | ;
|
---|
117 | ; -- queue task
|
---|
118 | S ZTIO=""
|
---|
119 | S ZTRTN="AGQUE^SD132PT"
|
---|
120 | S ZTDESC="Setting 'AG' Cross Reference"
|
---|
121 | S ZTDTH=$$NOW^XLFDT()
|
---|
122 | F X="SDUZ" S ZTSAVE(X)=""
|
---|
123 | D ^%ZTLOAD
|
---|
124 | D:$D(ZTSK) MES^XPDUTL(" -> Task: #"_ZTSK)
|
---|
125 | D MES^XPDUTL(" >>> Done.")
|
---|
126 | Q
|
---|
127 | ;
|
---|
128 | AGQUE ; -- TaskMan entry point to queue 'AG' setting
|
---|
129 | ;
|
---|
130 | N SDATE,SDCS,SDCS0,SDOE,SDREASON,SDCG,DR,DA,DIE,SDSTOP,SDTOT,SDBEG,SDEND
|
---|
131 | ;
|
---|
132 | S SDTOT=0
|
---|
133 | S SDBEG=$$NOW^XLFDT()
|
---|
134 | ;
|
---|
135 | ; -- scan ^SDV("AG") for records
|
---|
136 | S SDATE=0
|
---|
137 | F S SDATE=$O(^SDV("AG",SDATE)) Q:'SDATE D S SDSTOP=$$S^%ZTLOAD Q:SDSTOP
|
---|
138 | . S SDCS=0 F S SDCS=$O(^SDV("AG",SDATE,SDCS)) Q:'SDCS D
|
---|
139 | . . S SDCS0=$G(^SDV(SDATE,"CS",SDCS,0))
|
---|
140 | . . S SDCG=+$G(^SDV(SDATE,"CS",SDCS,1))
|
---|
141 | . . S SDOE=+$P(SDCS0,U,8)
|
---|
142 | . . S SDREASON=$P(SDCS0,U,6)
|
---|
143 | . . IF SDOE,$G(^SCE(SDOE,0))]"",$G(^SCE(SDOE,"CG"))="",SDCG D
|
---|
144 | . . . S DR="201////1"
|
---|
145 | . . . IF SDREASON S DR=DR_";202////"_SDREASON
|
---|
146 | . . . S DIE="^SCE(",DA=SDOE D ^DIE
|
---|
147 | . . . S SDTOT=SDTOT+1
|
---|
148 | ;
|
---|
149 | S SDEND=$$NOW^XLFDT()
|
---|
150 | ; -- send bulletin and enable option
|
---|
151 | D BULL
|
---|
152 | Q
|
---|
153 | ;
|
---|
154 | BULL ; -- send message indicating 'AG' xref is set and option enabled
|
---|
155 | N SDTEXT,SDCNT,XMSUB,XMN,XMTEXT,XMDUZ,XMY
|
---|
156 | S SDCNT=0
|
---|
157 | ;
|
---|
158 | D LINE("")
|
---|
159 | D LINE(" >>> Task Started: "_$$FMTE^XLFDT(SDBEG))
|
---|
160 | D LINE(" Finished: "_$$FMTE^XLFDT(SDEND))
|
---|
161 | D LINE("")
|
---|
162 | ;
|
---|
163 | ; -- build text
|
---|
164 | IF SDSTOP D
|
---|
165 | . D LINE(" >>> Task stopped by user. <<<")
|
---|
166 | ELSE D
|
---|
167 | . ; -- enable option
|
---|
168 | . D OUT^XPDMENU("SDACS CGSCLIST","")
|
---|
169 | . ;
|
---|
170 | . ; -- build text
|
---|
171 | . D LINE(" >>> Task Completed.")
|
---|
172 | . D LINE("")
|
---|
173 | . D LINE(" >>> Option 'SDACS CGSCLIST' is back in service.")
|
---|
174 | ;
|
---|
175 | D LINE("")
|
---|
176 | D LINE(" >>> "_SDTOT_" Records processed.")
|
---|
177 | ; -- set xm vars and send message
|
---|
178 | S XMSUB="Setting of 'AG' Cross Reference Task Information"
|
---|
179 | S XMN=0
|
---|
180 | S XMTEXT="SDTEXT("
|
---|
181 | S XMDUZ=.5
|
---|
182 | S XMY(SDUZ)=""
|
---|
183 | D ^XMD
|
---|
184 | Q
|
---|
185 | ;
|
---|
186 | OVER ; -- post override flag information
|
---|
187 | N SDPKG,SDCNT
|
---|
188 | ;
|
---|
189 | D BMES^XPDUTL(" >>> Package Override Flag Information")
|
---|
190 | ;
|
---|
191 | S SDPKG="A",SDCNT=0
|
---|
192 | F S SDPKG=$O(^XTMP("SD*5.3*132 OVERRIDE FLAGS",SDPKG)) Q:SDPKG="" D
|
---|
193 | . D MES^XPDUTL(" -> Override flag set for '"_SDPKG_"'")
|
---|
194 | . S SDCNT=SDCNT+1
|
---|
195 | ;
|
---|
196 | IF 'SDCNT D MES^XPDUTL(" -> No package override flags set.")
|
---|
197 | D MES^XPDUTL(" >>> Done.")
|
---|
198 | Q
|
---|
199 | ;
|
---|
200 | LINE(TEXT) ; -- add line of text
|
---|
201 | S SDCNT=SDCNT+1
|
---|
202 | S SDTEXT(SDCNT)=TEXT
|
---|
203 | Q
|
---|
204 | ;
|
---|
205 | BUILDR(SDD,SDARY) ; -- build array of fields to delete
|
---|
206 | N SDI,SDX,SDENDFLG
|
---|
207 | S SDENDFLG="$$END$$"
|
---|
208 | ;
|
---|
209 | F SDI=1:1 S SDX=$P($T(FLDS+SDI),";;",2) Q:SDX=SDENDFLG D
|
---|
210 | . N SDFILE,SDFLD
|
---|
211 | . S SDFILE=+SDX
|
---|
212 | . S SDFLD=+$P(SDX,U,2)
|
---|
213 | . S SDNAME=$P(SDX,U,3)
|
---|
214 | . IF SDD=SDFILE,$$LABEL(SDFILE,SDFLD)=SDNAME D
|
---|
215 | . . S SDARY(SDFLD)=""
|
---|
216 | Q
|
---|
217 | ;
|
---|
218 | DELDD(SDD) ; -- tool to delete fields dd
|
---|
219 | ; -- delete dd
|
---|
220 | N SDI,SDX,SDENDFLG,SDCNT
|
---|
221 | S SDENDFLG="$$END$$"
|
---|
222 | S SDCNT=0
|
---|
223 | ;
|
---|
224 | ; -- delete dds
|
---|
225 | F SDI=1:1 S SDX=$P($T(FLDS+SDI),";;",2) Q:SDX=SDENDFLG D
|
---|
226 | . N SDFILE,SDFLD,SDNAME
|
---|
227 | . S SDFILE=+SDX
|
---|
228 | . S SDFLD=+$P(SDX,U,2)
|
---|
229 | . S SDNAME=$P(SDX,U,3)
|
---|
230 | . ;
|
---|
231 | . ; -- make sure field is not reused before deleting
|
---|
232 | . IF SDD=SDFILE,$$LABEL(SDFILE,SDFLD)=SDNAME D
|
---|
233 | . . N DIK,DA
|
---|
234 | . . S DIK="^DD("_SDD_",",DA=SDFLD,DA(1)=SDD D ^DIK
|
---|
235 | . . D MSG(SDFLD,SDNAME)
|
---|
236 | . . S SDCNT=SDCNT+1
|
---|
237 | ;
|
---|
238 | IF 'SDCNT D MES^XPDUTL(" -> Fields already deleted.")
|
---|
239 | Q
|
---|
240 | ;
|
---|
241 | LABEL(SDFILE,SDFLD) ; -- get label if not deleted
|
---|
242 | N SDY
|
---|
243 | D FIELD^DID(SDFILE,SDFLD,"N","LABEL","SDY")
|
---|
244 | Q $G(SDY("LABEL"))
|
---|
245 | ;
|
---|
246 | MSG(SDFLD,SDNAME) ; -- tell user (use kids call??)
|
---|
247 | D MES^XPDUTL(" -> Field '"_SDFLD_" - "_SDNAME_"' deleted.")
|
---|
248 | Q
|
---|
249 | ;
|
---|
250 | FLDS ; -- fields to be deleted [ file# ^ field# ^ field label ]
|
---|
251 | ;;43^201^SPEC SURVEY DISP LAST RUN
|
---|
252 | ;;43^202^OPC FILE LAST RUN
|
---|
253 | ;;43^203^OPC TRANSMISSION LAST RUN
|
---|
254 | ;;43^204^GENERATING OPC FILE NOW?
|
---|
255 | ;;43^206^AMB PROC INITIALIZATION DATE
|
---|
256 | ;;43^206.1^OPC VLR DATE
|
---|
257 | ;;43^206.2^OPC MT INCOME DATE
|
---|
258 | ;;43^207^OPC STOP CODE CONVERSION DATE
|
---|
259 | ;;43^208^OPC GENERATION START DATE
|
---|
260 | ;;43^209^OPC GENERATION END DATE
|
---|
261 | ;;43^214^GEN OPC W/APPT STATUS UPDATE
|
---|
262 | ;;43^221^STOP CODE MAIL GROUP
|
---|
263 | ;;43^218^OPC FY93 FORMAT DATE
|
---|
264 | ;;43^219^ASK PROVIDER ON DISPOSITION
|
---|
265 | ;;43^220^ASK DIAGNOSIS ON DISPOSITION
|
---|
266 | ;;43^222^OPC FY94 FORMAT DATE
|
---|
267 | ;;43^225^OPC FY95 FORMAT DATE
|
---|
268 | ;;44^25^PROCEDURE CHECK-OFF SHEET
|
---|
269 | ;;44^26^ASK PROVIDER AT CHECK OUT
|
---|
270 | ;;44^27^ASK DIAGNOSIS AT CHECK OUT
|
---|
271 | ;;44^28^ASK STOP CODES AT CHECK OUT
|
---|
272 | ;;409.65^.06^OPC LAST GENERATED
|
---|
273 | ;;409.65^.07^OPC LAST TRANSMITTED
|
---|
274 | ;;409.65^.08^OPC LAST GENERATED BY
|
---|
275 | ;;409.65^.09^OPC LAST TRANSMITTED BY
|
---|
276 | ;;$$END$$
|
---|