[613] | 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
|
---|