1 | IVMBULK2 ;ALB/KCL - IVM/ENROLLMENT Extract Utilities; 23-SEP-1997
|
---|
2 | ;;2.0;INCOME VERIFICATION MATCH;**9**; 21-OCT-94
|
---|
3 | ;
|
---|
4 | ;
|
---|
5 | GET(IVMARRY) ; --
|
---|
6 | ; Description: Used to obtain a record from the IVM Extract Management file into the local IVMARRY array.
|
---|
7 | ;
|
---|
8 | ; Input: None
|
---|
9 | ;
|
---|
10 | ; Output:
|
---|
11 | ; Function Value - returns 1 if success, 0 if failure.
|
---|
12 | ; IVMARRY - this is the name of a local array, it should be passed by
|
---|
13 | ; reference. If the function is successful this array will
|
---|
14 | ; contain the record.
|
---|
15 | ;
|
---|
16 | ; Subscript Field Name
|
---|
17 | ; ========== =======================
|
---|
18 | ; "HOST" Host File Name
|
---|
19 | ; "DIR" Directory
|
---|
20 | ; "PROC" # of Patients Processed
|
---|
21 | ; "TASK" Task Number
|
---|
22 | ; "START" Date/Time Job Started
|
---|
23 | ; "STOP" Date/Time Job Stopped
|
---|
24 | ; "TERM" Job Terminated?
|
---|
25 | ; "LASTPAT" Last Patient Processed
|
---|
26 | ; "PROJECT" Projected Completion Date/Time
|
---|
27 | ; "EXTRACT" # of Patients Extracted
|
---|
28 | ; "FILES" Number of Host Files
|
---|
29 | ; "ERROR" Error
|
---|
30 | ;
|
---|
31 | N NODE,SUCCESS
|
---|
32 | S SUCCESS=0
|
---|
33 | ;
|
---|
34 | I '$D(^IVM(301.63,1,0)) G GETQ
|
---|
35 | ;
|
---|
36 | K IVMARRY S IVMARRY=""
|
---|
37 | S NODE=$G(^IVM(301.63,1,0))
|
---|
38 | ;
|
---|
39 | S IVMARRY("HOST")=$P(NODE,"^")
|
---|
40 | S IVMARRY("DIR")=$P(NODE,"^",2)
|
---|
41 | S IVMARRY("PROC")=$P(NODE,"^",3)
|
---|
42 | S IVMARRY("TASK")=$P(NODE,"^",4)
|
---|
43 | S IVMARRY("START")=$P(NODE,"^",5)
|
---|
44 | S IVMARRY("STOP")=$P(NODE,"^",6)
|
---|
45 | S IVMARRY("TERM")=$P(NODE,"^",7)
|
---|
46 | S IVMARRY("LASTPAT")=$P(NODE,"^",8)
|
---|
47 | S IVMARRY("PROJECT")=$P(NODE,"^",9)
|
---|
48 | S IVMARRY("EXTRACT")=$P(NODE,"^",10)
|
---|
49 | S IVMARRY("FILES")=$P(NODE,"^",11)
|
---|
50 | S NODE=$G(^IVM(301.63,1,10))
|
---|
51 | S IVMARRY("ERROR")=$P(NODE,"^")
|
---|
52 | ;
|
---|
53 | S SUCCESS=1
|
---|
54 | ;
|
---|
55 | GETQ Q SUCCESS
|
---|
56 | ;
|
---|
57 | ;
|
---|
58 | STORE(IVMARRY) ; --
|
---|
59 | ; Description: Used to store the processing information for the
|
---|
60 | ; execution of the initial extract in the IVM Extract Management file.
|
---|
61 | ;
|
---|
62 | ; Input:
|
---|
63 | ; IVMARRY - this is the name of a local array, it should be passed by
|
---|
64 | ; reference. This array should contain the processing
|
---|
65 | ; information to be stored. Missing subscripts will cause
|
---|
66 | ; the field to be deleted. "HOST" is required.
|
---|
67 | ;
|
---|
68 | ; Subscript Field Name
|
---|
69 | ; ========== =======================
|
---|
70 | ; "HOST" Host File Name
|
---|
71 | ; "DIR" Directory
|
---|
72 | ; "PROC" # of Patients Processed
|
---|
73 | ; "TASK" Task Number
|
---|
74 | ; "START" Date/Time Job Started
|
---|
75 | ; "STOP" Date/Time Job Stopped
|
---|
76 | ; "TERM" Job Terminated?
|
---|
77 | ; "LASTPAT" Last Patient Processed
|
---|
78 | ; "PROJECT" Projected Completion Date/Time
|
---|
79 | ; "EXTRACT" # of Patients Extracted
|
---|
80 | ; "FILES" Number of Host Files
|
---|
81 | ; "ERROR" Error
|
---|
82 | ;
|
---|
83 | ; Output:
|
---|
84 | ; Function Value - returns 1 if success, 0 if failure.
|
---|
85 | ;
|
---|
86 | N SUCCESS
|
---|
87 | S SUCCESS=1
|
---|
88 | ;
|
---|
89 | I $G(IVMARRY("HOST"))="" S SUCCESS=0 G STOREQ
|
---|
90 | I '$D(^IVM(301.63,1,0)) D G:('SUCCESS) STOREQ
|
---|
91 | .S DATA(.01)=IVMARRY("HOST")
|
---|
92 | .I '$$ADD^DGENDBS(301.63,,.DATA) S SUCCESS=0
|
---|
93 | ;
|
---|
94 | ;
|
---|
95 | S DATA(.01)=IVMARRY("HOST")
|
---|
96 | S DATA(.02)=$G(IVMARRY("DIR"))
|
---|
97 | S DATA(.03)=$G(IVMARRY("PROC"))
|
---|
98 | S DATA(.04)=$G(IVMARRY("TASK"))
|
---|
99 | S DATA(.05)=$G(IVMARRY("START"))
|
---|
100 | S DATA(.06)=$G(IVMARRY("STOP"))
|
---|
101 | S DATA(.07)=$G(IVMARRY("TERM"))
|
---|
102 | S DATA(.08)=$G(IVMARRY("LASTPAT"))
|
---|
103 | S DATA(.09)=$G(IVMARRY("PROJECT"))
|
---|
104 | S DATA(.1)=$G(IVMARRY("EXTRACT"))
|
---|
105 | S DATA(.11)=$G(IVMARRY("FILES"))
|
---|
106 | S DATA(10)=$G(IVMARRY("ERROR"))
|
---|
107 | I '$$UPD^DGENDBS(301.63,1,.DATA) S SUCCESS=0
|
---|
108 | ;
|
---|
109 | STOREQ Q SUCCESS
|
---|
110 | ;
|
---|
111 | ;
|
---|
112 | INIT(IVMARRY) ; --
|
---|
113 | ; Description: Used to initilized IVM Extract Management record in the local IVMARRY array.
|
---|
114 | ;
|
---|
115 | ; Input: None
|
---|
116 | ;
|
---|
117 | ; Output:
|
---|
118 | ; Function Value - returns 1 if success, 0 if failure.
|
---|
119 | ; IVMARRY - this is the name of a local array, it should be passed by
|
---|
120 | ; reference. If the function is successful this array will
|
---|
121 | ; contain the initialized record.
|
---|
122 | ;
|
---|
123 | ; Subscript Field Name
|
---|
124 | ; ========== =======================
|
---|
125 | ; "HOST" Host File Name
|
---|
126 | ; "DIR" Directory
|
---|
127 | ; "PROC" # of Patients Processed
|
---|
128 | ; "TASK" Task Number
|
---|
129 | ; "START" Date/Time Job Started
|
---|
130 | ; "STOP" Date/Time Job Stopped
|
---|
131 | ; "TERM" Job Terminated?
|
---|
132 | ; "LASTPAT" Last Patient Processed
|
---|
133 | ; "PROJECT" Projected Completion Date/Time
|
---|
134 | ; "EXTRACT" # of Patients Extracted
|
---|
135 | ; "FILES" Number of Host Files
|
---|
136 | ; "ERROR" Error
|
---|
137 | ;
|
---|
138 | K IVMARRY S IVMARRY=""
|
---|
139 | ;
|
---|
140 | S IVMARRY("HOST")=""
|
---|
141 | S IVMARRY("DIR")=""
|
---|
142 | S IVMARRY("PROC")=""
|
---|
143 | S IVMARRY("TASK")=""
|
---|
144 | S IVMARRY("START")=""
|
---|
145 | S IVMARRY("STOP")=""
|
---|
146 | S IVMARRY("TERM")=""
|
---|
147 | S IVMARRY("LASTPAT")=""
|
---|
148 | S IVMARRY("PROJECT")=""
|
---|
149 | S IVMARRY("EXTRACT")=""
|
---|
150 | S IVMARRY("FILES")=""
|
---|
151 | S IVMARRY("ERROR")=""
|
---|
152 | ;
|
---|
153 | INITQ Q 1
|
---|
154 | ;
|
---|
155 | ;
|
---|
156 | PATH(IVMARRY) ; --
|
---|
157 | ; Description: Ask user for for valid host file directory.
|
---|
158 | ;
|
---|
159 | ; Input:
|
---|
160 | ; IVMARRY - a local array where the extract input parameters will be
|
---|
161 | ; stored, pass by reference
|
---|
162 | ;
|
---|
163 | ; Output:
|
---|
164 | ; Function Value - returns 1 if successful, 0 otherwise
|
---|
165 | ; IVMARRY("DIR") - directory
|
---|
166 | ;
|
---|
167 | N DIR,DTOUT,DUOUT,DIROUT,DIRUT,SUCCESS,Y
|
---|
168 | ;
|
---|
169 | S SUCCESS=0
|
---|
170 | ;
|
---|
171 | W !!,?15,"* * * * * I M P O R T A N T * * * * *"
|
---|
172 | W !,?5,"The host files created by this job will be placed in the"
|
---|
173 | W !,?5,"current working directory. A directory other than the"
|
---|
174 | W !,?5,"current working directory may also be selected."
|
---|
175 | W !!,?5,"Please check the following to ensure the extract runs correctly."
|
---|
176 | W !!,?10,"1) The directory you have chosen the extract to run in"
|
---|
177 | W !,?13,"is a valid directory."
|
---|
178 | W !!,?10,"2) In order for TaskMan to have access to the directory, the"
|
---|
179 | W !,?13,"WORLD file protection must be 'RW' (Read and Write). For"
|
---|
180 | W !,?13,"NT/OpenM systems, ensure that the directory is not read only.",!
|
---|
181 | ;
|
---|
182 | ; ask directory
|
---|
183 | S DIR("A")="Select Directory"
|
---|
184 | S DIR("B")=$$PWD^%ZISH,DIR(0)="F^3:50"
|
---|
185 | D ^DIR
|
---|
186 | G:$D(DTOUT)!($D(DUOUT))!($D(DIRUT))!($D(DIROUT)) PATHQ
|
---|
187 | ;
|
---|
188 | S IVMARRY("DIR")=Y
|
---|
189 | S SUCCESS=1
|
---|
190 | ;
|
---|
191 | PATHQ Q SUCCESS
|
---|
192 | ;
|
---|
193 | ;
|
---|
194 | GETCONST(IVMARRY) ; --
|
---|
195 | ; Description: Places enrollment extract constants into the local IVMARRY array.
|
---|
196 | ;
|
---|
197 | ; Input: None
|
---|
198 | ;
|
---|
199 | ; Output:
|
---|
200 | ; Function Value - returns 1 if success, 0 if failure.
|
---|
201 | ; IVMARRY - this is the name of a local array, it should be passed by
|
---|
202 | ; reference. If the function is successful this array will
|
---|
203 | ; contain the extract constants.
|
---|
204 | ;
|
---|
205 | ; Subscript Description
|
---|
206 | ; ========== =======================
|
---|
207 | ; "BEGDT" as begin date/time for extract search
|
---|
208 | ; "HOST" as name of host file
|
---|
209 | ; "MAILGRP" as HEC mail group for notification msg
|
---|
210 | ; "MSGMAX" as maximum # of HL7 msgs each host file may contain
|
---|
211 | ; "PERCNT" as # of patients expected to be extracted
|
---|
212 | ; "AVG100" as average time to extract 100 patients in seconds
|
---|
213 | ; "SIZE" as average size of single patient record in bytes
|
---|
214 | ;
|
---|
215 | ;
|
---|
216 | K IVMARRY
|
---|
217 | S IVMARRY=""
|
---|
218 | ;
|
---|
219 | S IVMARRY("BEGDT")=2951231.2359
|
---|
220 | S IVMARRY("HOST")="HECHOST"_$P($$SITE^VASITE,"^",3)
|
---|
221 | S IVMARRY("MAILGRP")="G.ENROLLMENT EXTRACT@IVM.VA.GOV"
|
---|
222 | S IVMARRY("MSGMAX")=10000
|
---|
223 | S IVMARRY("PERCNT")=31
|
---|
224 | S IVMARRY("AVG100")=42
|
---|
225 | S IVMARRY("SIZE")=1050
|
---|
226 | ;
|
---|
227 | CONSTQ Q 1
|
---|
228 | ;
|
---|
229 | ;
|
---|
230 | INQUIRE(ROOT,IEN) ; --
|
---|
231 | ; Description: Display data from file entry.
|
---|
232 | ;
|
---|
233 | ; Input:
|
---|
234 | ; ROOT - global root of the file
|
---|
235 | ; IEN - IEN of file entry
|
---|
236 | ;
|
---|
237 | N DA,DIC
|
---|
238 | ;
|
---|
239 | S DIC=ROOT,DA=IEN
|
---|
240 | D EN^DIQ
|
---|
241 | Q
|
---|
242 | ;
|
---|
243 | ;
|
---|
244 | LOCK(IEN) ; --
|
---|
245 | ; Description: This lock is used to prevent another process from editing
|
---|
246 | ; IVM Extract Management record.
|
---|
247 | ;
|
---|
248 | ; Input:
|
---|
249 | ; IEN - Internal entry number of IVM EXTRACT MANAGEMENT file
|
---|
250 | ;
|
---|
251 | ; Output:
|
---|
252 | ; Function Value - Returns 1 if the lock was successful, 0 otherwise
|
---|
253 | ;
|
---|
254 | I $G(IEN) L +^IVM(IEN,301.63):10
|
---|
255 | Q $T
|
---|
256 | ;
|
---|
257 | ;
|
---|
258 | UNLOCK(IEN) ; --
|
---|
259 | ; Description: Used to release a lock created by $$LOCK.
|
---|
260 | ; Input:
|
---|
261 | ; IEN - Internal entry number of IVM EXTRACT MANAGEMENT file
|
---|
262 | ;
|
---|
263 | ; Output: None
|
---|
264 | ;
|
---|
265 | I $G(IEN) L -^IVM(IEN,301.63)
|
---|
266 | Q
|
---|