[645] | 1 | BMXADOX ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
---|
| 2 | ;;2.1;BMX;;Jul 26, 2009
|
---|
| 3 | ; EXMAPLES OF RPMS SCHEMAE GENERATION
|
---|
| 4 | ;
|
---|
| 5 | ;
|
---|
| 6 | DISP(OUT) ;EP - TEMP DISPLAY
|
---|
| 7 | N I,X
|
---|
| 8 | S I=0 W !
|
---|
| 9 | F S I=$O(@OUT@(I)) Q:'I S X=@OUT@(I) S X=$TR(X,$C(30),"}") S X=$TR(X,$C(31),"{") W !,X
|
---|
| 10 | Q
|
---|
| 11 | ;
|
---|
| 12 | SCHEMA(NAME) ; GIVEN SCHEMA NAME, RETURN THE IEN
|
---|
| 13 | N IEN
|
---|
| 14 | S IEN=$O(^BMXADO("B",NAME,0))
|
---|
| 15 | Q IEN
|
---|
| 16 | ;
|
---|
| 17 | NEXTNUM(DFN,LOC) ; RETURN THE NEXT PROBLEM NUMBER FOR A PATIENT
|
---|
| 18 | N X,LAST,MAX,NUM
|
---|
| 19 | S NUM=0,MAX=""
|
---|
| 20 | F S NUM=$O(^AUPNPROB("AA",DFN,LOC,NUM)) Q:NUM="" S X=$E(NUM,2,99) I +X>MAX S MAX=+X
|
---|
| 21 | I 'MAX Q 1
|
---|
| 22 | S X=X+1 S X=X\1
|
---|
| 23 | Q X
|
---|
| 24 | ;
|
---|
| 25 | DEMOG ; VIEW DEMOGRAPHICS
|
---|
| 26 | N OUT,%,DFN,MAX,SIEN
|
---|
| 27 | S DFN=1,MAX=1000
|
---|
| 28 | S SIEN=$$SCHEMA("UPDATE PATIENT DEMOGRAPHICS")
|
---|
| 29 | D SS^BMXADO(.OUT,SIEN,"",("~"_DFN_"~"_DFN_"~"_MAX))
|
---|
| 30 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 31 | K ^TMP("BMX ADO",$J)
|
---|
| 32 | Q
|
---|
| 33 | ;
|
---|
| 34 | MEDICARE ; UPDATE MEDICARE DATES/INFO
|
---|
| 35 | N OUT,%,DAS,PIEN,JIEN,DFN,MAX
|
---|
| 36 | S DFN=1,MAX=1000
|
---|
| 37 | S DAS=DFN_","
|
---|
| 38 | S PIEN=$$SCHEMA("UPDATE MEDICARE DATES")
|
---|
| 39 | S JIEN=$$SCHEMA("UPDATE MEDICARE INFO")
|
---|
| 40 | D SS^BMXADO(.OUT,PIEN,DAS,("~"_DFN_"~"_DFN_"~"_MAX_"~~"_"MEDICARE~BMXADOV2~~"_JIEN_",PARENT"))
|
---|
| 41 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 42 | K ^TMP("BMX ADO",$J)
|
---|
| 43 | Q
|
---|
| 44 | ;
|
---|
| 45 | MEDICAID ; VIEW MEDICAID DATES/INFO
|
---|
| 46 | N OUT,%,DAS,PIEN,JIEN,DFN,DA
|
---|
| 47 | S DFN=3
|
---|
| 48 | S DA(1)=$$MCDIEN^BMXADOV2(DFN) I 'DA(1) Q
|
---|
| 49 | S DAS=DA(1)_","
|
---|
| 50 | S PIEN=$$SCHEMA("UPDATE MEDICAID DATES")
|
---|
| 51 | S JIEN=$$SCHEMA("UPDATE MEDICAID INFO")
|
---|
| 52 | D SS^BMXADO(.OUT,PIEN,DAS,("~~~~~MEDICAID~BMXADOV2~~"_JIEN_",PARENT"))
|
---|
| 53 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 54 | K ^TMP("BMX ADO",$J)
|
---|
| 55 | Q
|
---|
| 56 | ;
|
---|
| 57 | PVTINS ; VIEW PRIVATE INSURANCE DATES/INFO
|
---|
| 58 | N OUT,%,DAS,SIEN,DFN
|
---|
| 59 | S DFN=1
|
---|
| 60 | S DAS=DFN_","
|
---|
| 61 | S SIEN=$$SCHEMA("UPDATE PVT INSURANCE INFO")
|
---|
| 62 | D SS^BMXADO(.OUT,SIEN,DAS,"~~~~~PVTINS~BMXADOV2~~")
|
---|
| 63 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 64 | K ^TMP("BMX ADO",$J)
|
---|
| 65 | Q
|
---|
| 66 | ;
|
---|
| 67 | VISIT ; VIEW VISITS
|
---|
| 68 | N OUT,%,SIEN,DFN
|
---|
| 69 | S DFN=1
|
---|
| 70 | S SIEN=$$SCHEMA("VISITS")
|
---|
| 71 | D SS^BMXADO(.OUT,SIEN,"","AA~3/21/1985~6/4/1986~100~~~~1|R")
|
---|
| 72 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 73 | K ^TMP("BMX ADO",$J)
|
---|
| 74 | Q
|
---|
| 75 | ;
|
---|
| 76 | DUPVIS ; DISPLAY POSSIBLE DUPLICATE VISITS
|
---|
| 77 | N OUT,%,SIEN,DFN
|
---|
| 78 | S DFN=1
|
---|
| 79 | S SIEN=$$SCHEMA("VISITS")
|
---|
| 80 | D SS^BMXADO(.OUT,SIEN,"","~~~~~DUPV~BMXADOV2~1|4/19/04@1PM|I|4585|A~")
|
---|
| 81 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 82 | K ^TMP("BMX ADO",$J)
|
---|
| 83 | Q
|
---|
| 84 | ;
|
---|
| 85 | ADDVIS ; ADD A NEW VISIT
|
---|
| 86 | N OUT,%,SIEN,DFN,NODE
|
---|
| 87 | S DFN=3
|
---|
| 88 | S SIEN=$$SCHEMA("VISITS")
|
---|
| 89 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 90 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 91 | S ^TMP("BMX ADO",$J,NODE)="^JUN 03, 2004@09:32^I^`3^`4585^A^`1"_$C(30)
|
---|
| 92 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 93 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 94 | K ^TMP("BMX ADO",$J)
|
---|
| 95 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 96 | Q
|
---|
| 97 | ;
|
---|
| 98 | POV ; DISPLAY POVS
|
---|
| 99 | N OUT,%,SIEN,DFN
|
---|
| 100 | S DFN=1
|
---|
| 101 | S SIEN=$$SCHEMA("VIEW POVS")
|
---|
| 102 | D SS^BMXADO(.OUT,SIEN,"","AA~3/21/1985~6/4/1986~100~~~~1|C")
|
---|
| 103 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 104 | K ^TMP("BMX ADO",$J)
|
---|
| 105 | Q
|
---|
| 106 | ;
|
---|
| 107 | FLDS ; GET FILEMAN FIELDS
|
---|
| 108 | N OUT,%,SIEN,DFN
|
---|
| 109 | S SIEN=$$SCHEMA("FIELDS")
|
---|
| 110 | D SS^BMXADO(.OUT,SIEN,"","~~~~~FLDIT~BMXADOS1~3.7~")
|
---|
| 111 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 112 | K ^TMP("BMX ADO",$J)
|
---|
| 113 | Q
|
---|
| 114 | ;
|
---|
| 115 | FINFO ; GET FILEMAN FILEINFO
|
---|
| 116 | N OUT,%,SIEN,DFN
|
---|
| 117 | S SIEN=$$SCHEMA("FILEMAN FILEINFO")
|
---|
| 118 | D SS^BMXADO(.OUT,SIEN,"","~~~~~FNIT~BMXADOS1~3.7~")
|
---|
| 119 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 120 | K ^TMP("BMX ADO",$J)
|
---|
| 121 | Q
|
---|
| 122 | ;
|
---|
| 123 | ADDPOV ; ADD A POV TO AN EXISITING VISIT
|
---|
| 124 | N OUT,%,SIEN,DFN,NODE
|
---|
| 125 | S DFN=1
|
---|
| 126 | S SIEN=$$SCHEMA("UPDATE POVS")
|
---|
| 127 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 128 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 129 | S ^TMP("BMX ADO",$J,NODE)="^`8718^`1^`71164^DM II ON NEW MEDS^2^P"_$C(30)
|
---|
| 130 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 131 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 132 | K ^TMP("BMX ADO",$J)
|
---|
| 133 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 134 | Q
|
---|
| 135 | ;
|
---|
| 136 | EDITPOV ; ADD A POV TO AN EXISITING VISIT
|
---|
| 137 | N OUT,%,SIEN,DFN,NODE
|
---|
| 138 | S DFN=1
|
---|
| 139 | S SIEN=$$SCHEMA("UPDATE POVS")
|
---|
| 140 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 141 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 142 | S ^TMP("BMX ADO",$J,NODE)="100123^`8718^`1^`71164^DM II ON SPECIAL MEDS^2^P"_$C(30)
|
---|
| 143 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 144 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 145 | K ^TMP("BMX ADO",$J)
|
---|
| 146 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 147 | Q
|
---|
| 148 | ;
|
---|
| 149 | PROB ; DISPLAY PROBLEMS
|
---|
| 150 | N OUT,%,SIEN,DFN
|
---|
| 151 | S DFN=1
|
---|
| 152 | S SIEN=$$SCHEMA("VIEW PROBLEMS")
|
---|
| 153 | D SS^BMXADO(.OUT,SIEN,"","AA~"_DFN_"~"_DFN_"~~~~~")
|
---|
| 154 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 155 | K ^TMP("BMX ADO",$J)
|
---|
| 156 | Q
|
---|
| 157 | ;
|
---|
| 158 | ADDPROB ; ADD A PROBLEM TO THE PROBLEM LIST
|
---|
| 159 | N OUT,%,SIEN,DFN,NODE,NUM,LOC,ICD,TEXT,AIR,IEN
|
---|
| 160 | S ICD=2477
|
---|
| 161 | S TEXT="HYPERTENSION ON SPECIAL MEDS"
|
---|
| 162 | S DFN=1,LOC=DUZ(2),AIR="A"
|
---|
| 163 | S SIEN=$$SCHEMA("UPDATE PROBLEMS")
|
---|
| 164 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 165 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 166 | S ^TMP("BMX ADO",$J,NODE)=U_"`"_ICD_U_"`"_DFN_U_DT_U_U_TEXT_U_"`"_LOC_U_DT_$C(30)
|
---|
| 167 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 168 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 169 | K ^TMP("BMX ADO",$J)
|
---|
| 170 | S IEN=+$P(OUT(1),"|",2) I '$D(^AUPNPROB(IEN,0)) Q
|
---|
| 171 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 172 | K OUT
|
---|
| 173 | S NUM=$$NEXTNUM(DFN,LOC) I 'NUM Q ; PROBLEM NUMBER & STATUS MUST BE ADDED SEPARATELY
|
---|
| 174 | S SIEN=$$SCHEMA("UPDATE PROBLEM NUMBER")
|
---|
| 175 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 176 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 177 | S ^TMP("BMX ADO",$J,NODE)=IEN_U_NUM_U_"A"_$C(30)
|
---|
| 178 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 179 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 180 | K ^TMP("BMX ADO",$J)
|
---|
| 181 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 182 | Q
|
---|
| 183 | ;
|
---|
| 184 | MEAS ; DISPLAY MEASUREMENTS
|
---|
| 185 | N OUT,%,SIEN,DFN
|
---|
| 186 | S DFN=1
|
---|
| 187 | S SIEN=$$SCHEMA("VIEW MEASUREMENTS")
|
---|
| 188 | D SS^BMXADO(.OUT,SIEN,"","AA~3/21/1985~6/4/1986~10~~~~"_DFN_"|WT|C")
|
---|
| 189 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 190 | K ^TMP("BMX ADO",$J)
|
---|
| 191 | Q
|
---|
| 192 | ;
|
---|
| 193 | ADDMEAS ; UPDATE V MEASUREMENT FILE
|
---|
| 194 | N OUT,%,SIEN,DFN,NODE
|
---|
| 195 | S DFN=1
|
---|
| 196 | S SIEN=$$SCHEMA("UPDATE MEASUREMENTS")
|
---|
| 197 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 198 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 199 | S ^TMP("BMX ADO",$J,NODE)="^`2^`"_DFN_"^`71164^177.5^`6"_$C(30)
|
---|
| 200 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 201 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 202 | K ^TMP("BMX ADO",$J)
|
---|
| 203 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 204 | Q
|
---|
| 205 | ;
|
---|
| 206 | MEDS ; DISPLAY MEDS
|
---|
| 207 | N OUT,%,SIEN,DFN
|
---|
| 208 | S DFN=3
|
---|
| 209 | S SIEN=$$SCHEMA("VIEW MEDS")
|
---|
| 210 | D SS^BMXADO(.OUT,SIEN,"","AA~1/1/1989~12/31/1990~10~~~~"_DFN_"|C")
|
---|
| 211 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 212 | K ^TMP("BMX ADO",$J)
|
---|
| 213 | Q
|
---|
| 214 | ;
|
---|
| 215 | ADDMEDS ; UPDATE V MED FILE
|
---|
| 216 | N OUT,%,SIEN,DFN,NODE
|
---|
| 217 | S DFN=3
|
---|
| 218 | S SIEN=$$SCHEMA("UPDATE MEDS")
|
---|
| 219 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 220 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 221 | S ^TMP("BMX ADO",$J,NODE)="^`305^`"_DFN_"^`71164^T1T QID^40"_$C(30)
|
---|
| 222 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 223 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 224 | K ^TMP("BMX ADO",$J)
|
---|
| 225 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 226 | Q
|
---|
| 227 | ;
|
---|
| 228 | LAB ; DISPLAY LAB TEST RESULTS
|
---|
| 229 | N OUT,%,SIEN,DFN
|
---|
| 230 | S DFN=1
|
---|
| 231 | S SIEN=$$SCHEMA("VIEW LABS")
|
---|
| 232 | D SS^BMXADO(.OUT,SIEN,"","AA~1/1/1985~12/31/1987~10~~~~"_DFN_"|175|C")
|
---|
| 233 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 234 | K ^TMP("BMX ADO",$J)
|
---|
| 235 | Q
|
---|
| 236 | ;
|
---|
| 237 | ADDLAB ; UPDATE V LAB
|
---|
| 238 | N OUT,%,SIEN,DFN,NODE
|
---|
| 239 | S DFN=1
|
---|
| 240 | S SIEN=$$SCHEMA("UPDATE LABS")
|
---|
| 241 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 242 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 243 | S ^TMP("BMX ADO",$J,NODE)="^`175^`"_DFN_"^`71164^216"_$C(30)
|
---|
| 244 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 245 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 246 | K ^TMP("BMX ADO",$J)
|
---|
| 247 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 248 | Q
|
---|
| 249 | ;
|
---|
| 250 | EXAMS ; DISPLAY EXAMS
|
---|
| 251 | N OUT,%,SIEN,DFN
|
---|
| 252 | S DFN=1
|
---|
| 253 | S SIEN=$$SCHEMA("VIEW EXAMS")
|
---|
| 254 | D SS^BMXADO(.OUT,SIEN,"","AA~1/1/1986~12/31/1990~10~~~~"_DFN_"|6|C")
|
---|
| 255 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 256 | K ^TMP("BMX ADO",$J)
|
---|
| 257 | Q
|
---|
| 258 | ;
|
---|
| 259 | ADDEXAMS ; UPDATE V EXAM
|
---|
| 260 | S DFN=1
|
---|
| 261 | S SIEN=$$SCHEMA("UPDATE EXAMS")
|
---|
| 262 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 263 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 264 | S ^TMP("BMX ADO",$J,NODE)="^`6^`"_DFN_"^`71164^NORMAL"_$C(30)
|
---|
| 265 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 266 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 267 | K ^TMP("BMX ADO",$J)
|
---|
| 268 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 269 | Q
|
---|
| 270 | ;
|
---|
| 271 | IMM ; DISPLAY IMMUNIZATIONS
|
---|
| 272 | N OUT,%,SIEN,DFN
|
---|
| 273 | S DFN=2
|
---|
| 274 | S SIEN=$$SCHEMA("VIEW IMM")
|
---|
| 275 | D SS^BMXADO(.OUT,SIEN,"","AA~1/1/1986~12/31/1988~10~~~~"_DFN_"|12|C")
|
---|
| 276 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 277 | K ^TMP("BMX ADO",$J)
|
---|
| 278 | Q
|
---|
| 279 | ;
|
---|
| 280 | ADDIMM ; UPDATE V IMMUNIZATION FILE
|
---|
| 281 | S DFN=2
|
---|
| 282 | S SIEN=$$SCHEMA("UPDATE IMM")
|
---|
| 283 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 284 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 285 | S ^TMP("BMX ADO",$J,NODE)="^`12^`"_DFN_"^`71164^2"_$C(30)
|
---|
| 286 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 287 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 288 | K ^TMP("BMX ADO",$J)
|
---|
| 289 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 290 | Q
|
---|
| 291 | ;
|
---|
| 292 | PROV ; DISPLAY PROVIDERS FOR A VISIT
|
---|
| 293 | N OUT,%,SIEN,VIEN
|
---|
| 294 | S VIEN=11
|
---|
| 295 | S SIEN=$$SCHEMA("VIEW PROV")
|
---|
| 296 | D SS^BMXADO(.OUT,SIEN,"","AD~"_VIEN_"~"_VIEN_"~10~~~~")
|
---|
| 297 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 298 | K ^TMP("BMX ADO",$J)
|
---|
| 299 | Q
|
---|
| 300 | ;
|
---|
| 301 | ADDPROV ; UPDATE V PROVIDER FILE
|
---|
| 302 | N OUT,%,SIEN,NODE,PIEN,DFN
|
---|
| 303 | S PIEN=5,DFN=1
|
---|
| 304 | I $P(^DD(9000010.06,.01,0),U,3)["DIC(6" S PIEN=$P(^VA(200,PIEN,0),U,16) ; CONVERT FILE 200 TO FILE 16 IF NECESS.
|
---|
| 305 | S SIEN=$$SCHEMA("UPDATE PROV")
|
---|
| 306 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 307 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 308 | S ^TMP("BMX ADO",$J,NODE)="^`"_PIEN_"^`"_DFN_"^`71164^P"_$C(30)
|
---|
| 309 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 310 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 311 | K ^TMP("BMX ADO",$J)
|
---|
| 312 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 313 | Q
|
---|
| 314 | ;
|
---|
| 315 | PROC ; DISPLAY PROCEDURES
|
---|
| 316 | N OUT,%,SIEN,DFN
|
---|
| 317 | S DFN=4
|
---|
| 318 | S SIEN=$$SCHEMA("VIEW PROCEDURES")
|
---|
| 319 | D SS^BMXADO(.OUT,SIEN,"","AA~1/1/1985~12/31/1985~10~~~~"_DFN_"|C")
|
---|
| 320 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 321 | K ^TMP("BMX ADO",$J)
|
---|
| 322 | Q
|
---|
| 323 | ;
|
---|
| 324 | ADDPROC ; UPDATE V PROCEDURES FILE
|
---|
| 325 | N OUT,%,SIEN,DFN,NODE
|
---|
| 326 | S DFN=1
|
---|
| 327 | S SIEN=$$SCHEMA("UPDATE PROCEDURES")
|
---|
| 328 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 329 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 330 | S ^TMP("BMX ADO",$J,NODE)="^`2198^`"_DFN_"^`71164^`8718"_$C(30)
|
---|
| 331 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 332 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 333 | K ^TMP("BMX ADO",$J)
|
---|
| 334 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 335 | Q
|
---|
| 336 | ;
|
---|
| 337 | CPT ; DISPLAY CPT CODES
|
---|
| 338 | N OUT,%,SIEN,DFN
|
---|
| 339 | S VIEN=71164
|
---|
| 340 | S SIEN=$$SCHEMA("VIEW CPT")
|
---|
| 341 | D SS^BMXADO(.OUT,SIEN,"","AD~"_VIEN_"~"_VIEN_"~10~~~~")
|
---|
| 342 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 343 | K ^TMP("BMX ADO",$J)
|
---|
| 344 | Q
|
---|
| 345 | ;
|
---|
| 346 | ADDCPT ; UPDATE V CPT FILE
|
---|
| 347 | N OUT,%,SIEN,DFN,NODE
|
---|
| 348 | S DFN=1
|
---|
| 349 | S SIEN=$$SCHEMA("UPDATE CPT")
|
---|
| 350 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 351 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 352 | S ^TMP("BMX ADO",$J,NODE)="^`10000^`"_DFN_"^`71164^WOUND CARE"_$C(30)
|
---|
| 353 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 354 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 355 | K ^TMP("BMX ADO",$J)
|
---|
| 356 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 357 | Q
|
---|
| 358 | ;
|
---|
| 359 | PH ; DISPLAY PERSONAL HISTORY
|
---|
| 360 | N OUT,%,SIEN,DFN
|
---|
| 361 | S DFN=632
|
---|
| 362 | S SIEN=$$SCHEMA("VIEW PERSONAL HISTORY")
|
---|
| 363 | D SS^BMXADO(.OUT,SIEN,"","AC~"_DFN_"~"_DFN_"~~~~~")
|
---|
| 364 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 365 | K ^TMP("BMX ADO",$J)
|
---|
| 366 | Q
|
---|
| 367 | ;
|
---|
| 368 | ADDPH ; UPDATE PERSONAL HX
|
---|
| 369 | N OUT,%,SIEN,DFN,NODE,ICD,TEXT
|
---|
| 370 | S ICD=2477
|
---|
| 371 | S TEXT="PERSONAL HISTORY OF SERIOUS PROBLEMS"
|
---|
| 372 | S DFN=632
|
---|
| 373 | S SIEN=$$SCHEMA("UPDATE PERSONAL HISTORY")
|
---|
| 374 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 375 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 376 | S ^TMP("BMX ADO",$J,NODE)="^`11353^`"_DFN_"^2851219^"_TEXT_"^2810303"_$C(30)
|
---|
| 377 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 378 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 379 | K ^TMP("BMX ADO",$J)
|
---|
| 380 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 381 | Q
|
---|
| 382 | ;
|
---|
| 383 | FH ; DISPLAY FAMILY HX
|
---|
| 384 | N OUT,%,SIEN,DFN
|
---|
| 385 | S DFN=631
|
---|
| 386 | S SIEN=$$SCHEMA("VIEW FAMILY HISTORY")
|
---|
| 387 | D SS^BMXADO(.OUT,SIEN,"","AC~"_DFN_"~"_DFN_"~~~~~")
|
---|
| 388 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 389 | K ^TMP("BMX ADO",$J)
|
---|
| 390 | Q
|
---|
| 391 | ;
|
---|
| 392 | ADDFH ; UPDATE FAMILY HISTORY
|
---|
| 393 | N OUT,%,SIEN,DFN,NODE,ICD,TEXT
|
---|
| 394 | S ICD=2477
|
---|
| 395 | S TEXT="FAMILY HISTORY OF SERIOUS PROBLEMS"
|
---|
| 396 | S DFN=631
|
---|
| 397 | S SIEN=$$SCHEMA("UPDATE FAMILY HISTORY")
|
---|
| 398 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 399 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 400 | S ^TMP("BMX ADO",$J,NODE)="^`7571^`"_DFN_"^2851219^"_TEXT_$C(30)
|
---|
| 401 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 402 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 403 | K ^TMP("BMX ADO",$J)
|
---|
| 404 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 405 | Q
|
---|
| 406 | ;
|
---|
| 407 | HF ; DISPLAY HEALTH FACTORS
|
---|
| 408 | N OUT,%,SIEN,DFN
|
---|
| 409 | S DFN=1
|
---|
| 410 | S SIEN=$$SCHEMA("VIEW HEALTH FACTORS")
|
---|
| 411 | D SS^BMXADO(.OUT,SIEN,"","AC"_"~"_DFN_"~"_DFN_"~~~~~")
|
---|
| 412 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 413 | K ^TMP("BMX ADO",$J)
|
---|
| 414 | Q
|
---|
| 415 | ;
|
---|
| 416 | ADDHF ; UPDATE HEALTH FACTORS FILE
|
---|
| 417 | N OUT,%,SIEN,DFN,NODE
|
---|
| 418 | S DFN=1
|
---|
| 419 | S SIEN=$$SCHEMA("UPDATE HEALTH FACTORS")
|
---|
| 420 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 421 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 422 | S ^TMP("BMX ADO",$J,NODE)="^`3^`"_DFN_U_DT_$C(30)
|
---|
| 423 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 424 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 425 | K ^TMP("BMX ADO",$J)
|
---|
| 426 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 427 | Q
|
---|
| 428 | ;
|
---|
| 429 | REPRO ; DISPLAY REPRODUCTIVE FACTORS
|
---|
| 430 | N OUT,%,SIEN,DFN
|
---|
| 431 | S DFN=5
|
---|
| 432 | S SIEN=$$SCHEMA("VIEW REPRODUCTIVE FACTORS")
|
---|
| 433 | D SS^BMXADO(.OUT,SIEN,"","B"_"~"_DFN_"~"_DFN_"~~~~~")
|
---|
| 434 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 435 | K ^TMP("BMX ADO",$J)
|
---|
| 436 | Q
|
---|
| 437 | ;
|
---|
| 438 | ADDREPRO ; UPDATE REPRODUCTIVE FACTORS
|
---|
| 439 | ; THE .O1 FIELD IS DINUMED
|
---|
| 440 | ; THEREFORE, THE FILER WILL AUTOMATICALLY SWITCH TO MOD MODE IF A RECORD ALREADY EXISTS FOR THIS PATIENT
|
---|
| 441 | N OUT,%,SIEN,DFN,NODE
|
---|
| 442 | S DFN=5
|
---|
| 443 | ; I $D(^AUPNREP(DFN)) G ERF
|
---|
| 444 | S SIEN=$$SCHEMA("ADD REPRODUCTIVE FACTORS")
|
---|
| 445 | D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
|
---|
| 446 | S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
|
---|
| 447 | S ^TMP("BMX ADO",$J,NODE)="^`"_DFN_"^G5P4LC3SA1TA0^"_DT_"^2^3040101^"_DT_$C(30)
|
---|
| 448 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 449 | D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
|
---|
| 450 | K ^TMP("BMX ADO",$J)
|
---|
| 451 | W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
|
---|
| 452 | Q
|
---|
| 453 | ;
|
---|
| 454 | ; ---------------------------------- GRIDS ---------------------------------------------
|
---|
| 455 | ;
|
---|
| 456 | GRID ; POPULATE THE INTRO GRID
|
---|
| 457 | N OUT,%,SIEN,NODE,NEXT
|
---|
| 458 | S NEXT="70470;0"
|
---|
| 459 | S SIEN=$$SCHEMA("VEN MOJO DE INTRO")
|
---|
| 460 | D SS^BMXADO(.OUT,SIEN,"","ASEG~"_NEXT_"~"_NEXT) ; GET SCHEMA
|
---|
| 461 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 462 | K ^TMP("BMX ADO",$J)
|
---|
| 463 | Q
|
---|
| 464 | ;
|
---|
| 465 | MGRID ; POPULATE THE MEASUREMENT GRID
|
---|
| 466 | N OUT,%,SIEN,NODE,NEXT,START,STOP
|
---|
| 467 | S NEXT="70470;2"
|
---|
| 468 | S SIEN=$$SCHEMA("VEN MOJO DE MEASUREMENT")
|
---|
| 469 | ; D SS^BMXADO(.OUT,SIEN,"","~~~~~GRIDIT~VENPCCTG~"_NEXT) ; GET SCHEMA
|
---|
| 470 | D SS^BMXADO(.OUT,SIEN,"","ASEG~"_NEXT_"~"_NEXT) ; GET SCHEMA
|
---|
| 471 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 472 | ; K ^TMP("BMX ADO",$J)
|
---|
| 473 | Q
|
---|
| 474 | ;
|
---|
| 475 | PRVGRID ; POPULATE THE PROVIDER GRID
|
---|
| 476 | N OUT,%,SIEN,NODE,NEXT
|
---|
| 477 | S NEXT="70470;4"
|
---|
| 478 | S SIEN=$$SCHEMA("VEN MOJO DE PROVIDER")
|
---|
| 479 | D SS^BMXADO(.OUT,SIEN,"","ASEG~"_NEXT_"~"_NEXT) ; GET SCHEMA
|
---|
| 480 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 481 | K ^TMP("BMX ADO",$J)
|
---|
| 482 | Q
|
---|
| 483 | ;
|
---|
| 484 | CLGRID ; POPULATE THE CLINIC GRID
|
---|
| 485 | N OUT,%,SIEN,NODE,NEXT
|
---|
| 486 | S NEXT="70470;8"
|
---|
| 487 | S SIEN=$$SCHEMA("VEN MOJO DE CLINIC")
|
---|
| 488 | D SS^BMXADO(.OUT,SIEN,"","ASEG~"_NEXT_"~"_NEXT) ; GET SCHEMA
|
---|
| 489 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 490 | K ^TMP("BMX ADO",$J)
|
---|
| 491 | Q
|
---|
| 492 | ;
|
---|
| 493 | DXGRID ; POPULATE THE DX GRID
|
---|
| 494 | N OUT,%,SIEN,NODE,NEXT
|
---|
| 495 | S NEXT="70470;1"
|
---|
| 496 | S SIEN=$$SCHEMA("VEN MOJO DE DX DXHX")
|
---|
| 497 | D SS^BMXADO(.OUT,SIEN,"","ASEG~"_NEXT_"~"_NEXT) ; GET SCHEMA
|
---|
| 498 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 499 | K ^TMP("BMX ADO",$J)
|
---|
| 500 | Q
|
---|
| 501 | ;
|
---|