[796] | 1 | TMGPSSDE ;TMG/kst/Custom version of PSSDEE ;03/25/06
|
---|
| 2 | ;;1.0;TMG-LIB;**1**;04/25/04
|
---|
| 3 |
|
---|
| 4 | PSSDEE ;BIR/WRT-MASTER DRUG ENTER/EDIT ROUTINE ;01/21/00
|
---|
| 5 | ;;1.0;PHARMACY DATA MANAGEMENT;**3,5,15,16,20,22,28,32,34,33,38,57,47,68,61**;9/30/97
|
---|
| 6 |
|
---|
| 7 | ;"*****************************************************************
|
---|
| 8 | ;"* Custom version of code by Kevin Toppenberg, MD
|
---|
| 9 | ;"* to allow customization of the code.
|
---|
| 10 | ;"*
|
---|
| 11 | ;"*****************************************************************
|
---|
| 12 |
|
---|
| 13 | ;"Reference to REACT1^PSNOUT supported by DBIA #2080
|
---|
| 14 | ;"Reference to $$UP^XLFSTR(X) supported by DBIA #10104
|
---|
| 15 | ;"Reference to $$PSJDF^PSNAPIS(P1,P3) supported by DBIA #2531
|
---|
| 16 | ;
|
---|
| 17 | BEGIN set PSSFLAG=0
|
---|
| 18 | do ^PSSDEE2 ;"kill vars
|
---|
| 19 | set PSSZ=1
|
---|
| 20 | F PSSXX=1:1 do quit:PSSFLAG
|
---|
| 21 | . kill DA
|
---|
| 22 | . do ASK ;" ask users all questions
|
---|
| 23 | DONE do ^PSSDEE2 ;" kill vars
|
---|
| 24 | kill PSSFLAG
|
---|
| 25 | quit
|
---|
| 26 | ;
|
---|
| 27 | ;"=================================================================
|
---|
| 28 | ASK W !
|
---|
| 29 | set DIC="^PSDRUG("
|
---|
| 30 | set DIC(0)="QEALMNTV" ;"query/echo/ask/learn=OK/multIndex/IntNumOK/T->searchAllIndexes/verify
|
---|
| 31 | set DLAYGO=50 ;"force allowing adding record to file 50
|
---|
| 32 | set DIC("T")="" ;"present every match to the lookup value
|
---|
| 33 | do ^DIC
|
---|
| 34 | kill DIC
|
---|
| 35 | if Y<0 set PSSFLAG=1 quit
|
---|
| 36 | ;
|
---|
| 37 | set (FLG1,FLG2,FLG3,FLG4,FLG5,FLG6,FLG7,FLAG,FLGKY,FLGOI)=0
|
---|
| 38 | kill ^TMP($J,"ADD")
|
---|
| 39 | kill ^TMP($J,"SOL")
|
---|
| 40 | ;
|
---|
| 41 | set DA=+Y
|
---|
| 42 | set DISPDRG=DA
|
---|
| 43 | L +^PSDRUG(DISPDRG):0
|
---|
| 44 | if '$T W !,$C(7),"Another person is editing this one." quit
|
---|
| 45 | set PSSHUIDG=1
|
---|
| 46 | set PSSNEW=$P(Y,"^",3)
|
---|
| 47 | do USE
|
---|
| 48 | do NOPE
|
---|
| 49 | do COMMON
|
---|
| 50 | do DEA
|
---|
| 51 | do MF
|
---|
| 52 | kill PSSHUIDG
|
---|
| 53 | do DRG^PSSHUIDG(DISPDRG,PSSNEW)
|
---|
| 54 | L -^PSDRUG(DISPDRG)
|
---|
| 55 | kill FLG3,PSSNEW
|
---|
| 56 | quit
|
---|
| 57 | ;
|
---|
| 58 | ;"=================================================================
|
---|
| 59 | COMMON set DIE="^PSDRUG("
|
---|
| 60 | set DR="[PSSCOMMON]"
|
---|
| 61 | do ^DIE
|
---|
| 62 | quit:$data(Y)!($data(DTOUT))
|
---|
| 63 | W:'$data(Y) !,"PRICE PER DISPENSE UNIT: "
|
---|
| 64 | S:'$data(^PSDRUG(DA,660)) $P(^PSDRUG(DA,660),"^",6)=""
|
---|
| 65 | W:'$data(Y) $P(^PSDRUG(DA,660),"^",6)
|
---|
| 66 | do DEA
|
---|
| 67 | do CK
|
---|
| 68 | do ASKND
|
---|
| 69 | do OIKILL^PSSDEE1
|
---|
| 70 | do COMMON1
|
---|
| 71 | quit
|
---|
| 72 | ;
|
---|
| 73 | COMMON1 W !,"Just a reminder...you are editing ",$P(^PSDRUG(DISPDRG,0),"^"),"."
|
---|
| 74 | set (PSSVVDA,DA)=DISPDRG
|
---|
| 75 | do DOSN^PSSDOS
|
---|
| 76 | set DA=PSSVVDA
|
---|
| 77 | kill PSSVVDA
|
---|
| 78 | do USE
|
---|
| 79 | do APP
|
---|
| 80 | do ORDITM^PSSDEE1
|
---|
| 81 | quit
|
---|
| 82 | ;
|
---|
| 83 | CK do DSPY^PSSDEE1
|
---|
| 84 | set FLGNDF=0
|
---|
| 85 | quit
|
---|
| 86 | ;
|
---|
| 87 | ASKND set %=-1
|
---|
| 88 | if $data(^XUSEC("PSNMGR",DUZ)) do
|
---|
| 89 | . do MESSAGE^PSSDEE1
|
---|
| 90 | . W !!,"Do you wish to match/rematch to NATIONAL DRUG file"
|
---|
| 91 | . set %=1
|
---|
| 92 | . S:FLGMTH=1 %=2
|
---|
| 93 | . do YN^DICN
|
---|
| 94 | if %=0 W !,"If you answer ""yes"", you will attempt to match to NDF." G ASKND
|
---|
| 95 | if %=2 kill X,Y quit
|
---|
| 96 | if %<0 kill X,Y quit
|
---|
| 97 | if %=1 do
|
---|
| 98 | . do RSET^PSSDEE1
|
---|
| 99 | . do EN1^PSSUTIL(DISPDRG,1)
|
---|
| 100 | . set X="PSNOUT"
|
---|
| 101 | . X ^%ZOSF("TEST")
|
---|
| 102 | . if do
|
---|
| 103 | . . do REACT1^PSNOUT
|
---|
| 104 | . . set DA=DISPDRG
|
---|
| 105 | . . if $data(^PSDRUG(DA,"ND")),$P(^PSDRUG(DA,"ND"),"^",2)]"" do ONE
|
---|
| 106 | quit
|
---|
| 107 | ;
|
---|
| 108 | ONE set PSNP=$G(^PSDRUG(DA,"I"))
|
---|
| 109 | if PSNP,PSNP<DT quit
|
---|
| 110 | W !,"You have just VERIFIED this match and MERGED the entry."
|
---|
| 111 | do CKDF
|
---|
| 112 | do EN2^PSSUTIL(DISPDRG,1)
|
---|
| 113 | S:'$data(OLDDF) OLDDF=""
|
---|
| 114 | if OLDDF'=NEWDF do
|
---|
| 115 | . set FLGNDF=1
|
---|
| 116 | . do WR
|
---|
| 117 | quit
|
---|
| 118 | ;
|
---|
| 119 | CKDF set NWND=^PSDRUG(DA,"ND")
|
---|
| 120 | set NWPC1=$P(NWND,"^",1)
|
---|
| 121 | set NWPC3=$P(NWND,"^",3)
|
---|
| 122 | set DA=NWPC1
|
---|
| 123 | set K=NWPC3
|
---|
| 124 | set X=$$PSJDF^PSNAPIS(DA,K)
|
---|
| 125 | set NEWDF=$P(X,"^",2)
|
---|
| 126 | set DA=DISPDRG
|
---|
| 127 | N PSSK
|
---|
| 128 | do PKIND^PSSDDUT2
|
---|
| 129 | quit
|
---|
| 130 | ;
|
---|
| 131 | NOPE set ZAPFLG=0
|
---|
| 132 | if '$data(^PSDRUG(DA,"ND")),$data(^PSDRUG(DA,2)),$P(^PSDRUG(DA,2),"^",1)']"" do DFNULL
|
---|
| 133 | if '$data(^PSDRUG(DA,"ND")),'$data(^PSDRUG(DA,2)) do DFNULL
|
---|
| 134 | if $data(^PSDRUG(DA,"ND")),$P(^PSDRUG(DA,"ND"),"^",2)']"",$data(^PSDRUG(DA,2)),$P(^PSDRUG(DA,2),"^",1)']"" do DFNULL
|
---|
| 135 | quit
|
---|
| 136 | ;
|
---|
| 137 | DFNULL set OLDDF=""
|
---|
| 138 | set ZAPFLG=1
|
---|
| 139 | quit
|
---|
| 140 | ;
|
---|
| 141 | ZAPIT if $data(ZAPFLG),ZAPFLG=1,FLGNDF=1,OLDDF'=NEWDF do CKIV^PSSDEE1
|
---|
| 142 | quit
|
---|
| 143 | ;
|
---|
| 144 | APP W !!,"MARK THIS DRUG AND EDIT IT FOR: "
|
---|
| 145 | do CHOOSE
|
---|
| 146 | quit
|
---|
| 147 | ;
|
---|
| 148 | CHOOSE if $data(^XUSEC("PSORPH",DUZ))!($data(^XUSEC("PSXCMOPMGR",DUZ))) W !,"O - Outpatient" set FLG1=1
|
---|
| 149 | if $data(^XUSEC("PSJU MGR",DUZ)) W !,"U - Unit Dose" set FLG2=1
|
---|
| 150 | if $data(^XUSEC("PSJI MGR",DUZ)) W !,"I - IV" set FLG3=1
|
---|
| 151 | if $data(^XUSEC("PSGWMGR",DUZ)) W !,"W - Ward Stock" set FLG4=1
|
---|
| 152 | if $data(^XUSEC("PSAMGR",DUZ))!($data(^XUSEC("PSA ORDERS",DUZ))) W !,"D - Drug Accountability" set FLG5=1
|
---|
| 153 | if $data(^XUSEC("PSDMGR",DUZ)) W !,"C - Controlled Substances" set FLG6=1
|
---|
| 154 | if $data(^XUSEC("PSORPH",DUZ)) W !,"X - Non-VA Med" set FLG7=1
|
---|
| 155 | if FLG1,FLG2,FLG3,FLG4,FLG5,FLG6 set FLAG=1
|
---|
| 156 | if FLAG W !,"A - ALL"
|
---|
| 157 | W !
|
---|
| 158 | if 'FLG1,'FLG2,'FLG3,'FLG4,'FLG5,'FLG6,'FLG7 do quit
|
---|
| 159 | . W !,"You do not have the proper keys to continue. Sorry, this concludes your editing session.",!
|
---|
| 160 | . set FLGKY=1
|
---|
| 161 | . kill DIRUT,X
|
---|
| 162 | if FLGKY'=1 D
|
---|
| 163 | . kill DIR
|
---|
| 164 | . set DIR(0)="FO^1:30"
|
---|
| 165 | . set DIR("A")="Enter your choice(s) separated by commas "
|
---|
| 166 | . F do ^DIR quit:$$CHECK($$UP^XLFSTR(X))
|
---|
| 167 | . set PSSANS=X
|
---|
| 168 | . set PSSANS=$$UP^XLFSTR(PSSANS)
|
---|
| 169 | . do BRANCH
|
---|
| 170 | . do BRANCH1
|
---|
| 171 | quit
|
---|
| 172 | ;
|
---|
| 173 | CHECK(X) ;" Validates Application Use response
|
---|
| 174 | N CHECK,I,C
|
---|
| 175 | set CHECK=1 if X=""!(Y["^")!($data(DIRUT)) quit CHECK
|
---|
| 176 | F I=1:1:$L(X,",") D
|
---|
| 177 | . set C=$P(X,",",I) W !?43,C," - "
|
---|
| 178 | . if C="O",FLG1 W "Outpatient" quit
|
---|
| 179 | . if C="U",FLG2 W "Unit Dose" quit
|
---|
| 180 | . if C="I",FLG3 W "IV" quit
|
---|
| 181 | . if C="W",FLG4 W "Ward Stock" quit
|
---|
| 182 | . if C="D",FLG5 W "Drug Accountability" quit
|
---|
| 183 | . if C="C",FLG6 W "Controlled Substances" quit
|
---|
| 184 | . if C="X",FLG7 W "Non-VA Med" quit
|
---|
| 185 | . W "Invalid Entry",$C(7) set CHECK=0
|
---|
| 186 | quit CHECK
|
---|
| 187 | ;
|
---|
| 188 | BRANCH D:PSSANS["O" OP
|
---|
| 189 | D:PSSANS["U" UD
|
---|
| 190 | D:PSSANS["I" IV
|
---|
| 191 | D:PSSANS["W" WS
|
---|
| 192 | D:PSSANS["D" DACCT
|
---|
| 193 | D:PSSANS["C" CS
|
---|
| 194 | D:PSSANS["X" NVM
|
---|
| 195 | quit
|
---|
| 196 | ;
|
---|
| 197 | BRANCH1 if FLAG,PSSANS["A" do
|
---|
| 198 | . do OP
|
---|
| 199 | . do UD
|
---|
| 200 | . do IV
|
---|
| 201 | . do WS
|
---|
| 202 | . do DACCT
|
---|
| 203 | . do CS
|
---|
| 204 | . do NVM
|
---|
| 205 | quit
|
---|
| 206 | ;
|
---|
| 207 | OP if FLG1 D
|
---|
| 208 | . W !,"** You are NOW editing OUTPATIENT fields. **"
|
---|
| 209 | . set PSIUDA=DA
|
---|
| 210 | . set PSIUX="O^Outpatient Pharmacy"
|
---|
| 211 | . do ^PSSGIU
|
---|
| 212 | . if %=1 D
|
---|
| 213 | . . set DIE="^PSDRUG(",DR="[PSSOP]"
|
---|
| 214 | . . do ^DIE
|
---|
| 215 | . . kill DIR
|
---|
| 216 | . . do OPEI
|
---|
| 217 | . . do ASKCMOP
|
---|
| 218 | . . set X="PSOCLO1"
|
---|
| 219 | . . X ^%ZOSF("TEST")
|
---|
| 220 | . . if do ASKCLOZ set FLGOI=1
|
---|
| 221 | if FLG1 do CKCMOP
|
---|
| 222 | quit
|
---|
| 223 | ;
|
---|
| 224 | CKCMOP if $P($G(^PSDRUG(DISPDRG,2)),"^",3)'["O" do
|
---|
| 225 | . S:$data(^PSDRUG(DISPDRG,3)) $P(^PSDRUG(DISPDRG,3),"^",1)=0
|
---|
| 226 | . K:$data(^PSDRUG("AQ",DISPDRG)) ^PSDRUG("AQ",DISPDRG)
|
---|
| 227 | . set DA=DISPDRG
|
---|
| 228 | . do ^PSSREF
|
---|
| 229 | quit
|
---|
| 230 | ;
|
---|
| 231 | UD if FLG2 do
|
---|
| 232 | . W !,"** You are NOW editing UNIT DOSE fields. **"
|
---|
| 233 | . set PSIUDA=DA
|
---|
| 234 | . set PSIUX="U^Unit Dose"
|
---|
| 235 | . do ^PSSGIU
|
---|
| 236 | . if %=1 do
|
---|
| 237 | . . set DIE="^PSDRUG("
|
---|
| 238 | . . set DR="62.05;212.2"
|
---|
| 239 | . . do ^DIE
|
---|
| 240 | . . set DIE="^PSDRUG("
|
---|
| 241 | . . set DR="212"
|
---|
| 242 | . . set DR(2,50.0212)=".01;1"
|
---|
| 243 | . . do ^DIE
|
---|
| 244 | . . set FLGOI=1
|
---|
| 245 | quit
|
---|
| 246 | ;
|
---|
| 247 | IV if FLG3
|
---|
| 248 | W !,"** You are NOW editing IV fields. **"
|
---|
| 249 | S (PSIUDA,PSSDA)=DA
|
---|
| 250 | set PSIUX="I^IV"
|
---|
| 251 | do ^PSSGIU
|
---|
| 252 | if %=1 do IV1 set FLGOI=1
|
---|
| 253 | quit
|
---|
| 254 | ;
|
---|
| 255 | IV1 kill PSSIVOUT ;"This variable controls the selection process loop.
|
---|
| 256 | W !,"Edit Additives or Solutions: "
|
---|
| 257 | kill DIR
|
---|
| 258 | set DIR(0)="SO^A:ADDITIVES;S:SOLUTIONS;"
|
---|
| 259 | do ^DIR
|
---|
| 260 | quit:$data(DIRUT)
|
---|
| 261 | set PSSASK=Y(0)
|
---|
| 262 | D:PSSASK="ADDITIVES" ENA^PSSVIDRG
|
---|
| 263 | D:PSSASK="SOLUTIONS" ENS^PSSVIDRG
|
---|
| 264 | if '$data(PSSIVOUT) G IV1
|
---|
| 265 | kill PSSIVOUT
|
---|
| 266 | quit
|
---|
| 267 | ;
|
---|
| 268 | WS if FLG4
|
---|
| 269 | W !,"** You are NOW editing WARD STOCK fields. **"
|
---|
| 270 | set DIE="^PSDRUG("
|
---|
| 271 | set DR="300;301;302"
|
---|
| 272 | do ^DIE
|
---|
| 273 | quit
|
---|
| 274 | ;
|
---|
| 275 | DACCT if FLG5
|
---|
| 276 | W !,"** You are NOW editing DRUG ACCOUNTABILITY fields. **"
|
---|
| 277 | set DIE="^PSDRUG("
|
---|
| 278 | set DR="441"
|
---|
| 279 | do ^DIE
|
---|
| 280 | set DIE="^PSDRUG("
|
---|
| 281 | set DR="9"
|
---|
| 282 | set DR(2,50.1)="1;2;400;401;402;403;404;405"
|
---|
| 283 | do ^DIE
|
---|
| 284 | quit
|
---|
| 285 | ;
|
---|
| 286 | CS if FLG6
|
---|
| 287 | W !,"** You are NOW Marking/Unmarking for CONTROLLED SUBS. **"
|
---|
| 288 | set PSIUDA=DA
|
---|
| 289 | set PSIUX="N^Controlled Substances"
|
---|
| 290 | do ^PSSGIU
|
---|
| 291 | quit
|
---|
| 292 | ;
|
---|
| 293 | NVM if FLG7
|
---|
| 294 | W !,"** You are NOW Marking/Unmarking for NON-VA MEDS. **"
|
---|
| 295 | set PSIUDA=DA
|
---|
| 296 | set PSIUX="X^Non-VA Med"
|
---|
| 297 | do ^PSSGIU
|
---|
| 298 | quit
|
---|
| 299 | ;
|
---|
| 300 | ASKCMOP if $data(^XUSEC("PSXCMOPMGR",DUZ)) do
|
---|
| 301 | . W !!,"Do you wish to mark to transmit to CMOP? "
|
---|
| 302 | . kill DIR
|
---|
| 303 | . set DIR(0)="Y"
|
---|
| 304 | . set DIR("?")="If you answer ""yes"", you will attempt to mark this drug to transmit to CMOP."
|
---|
| 305 | do ^DIR
|
---|
| 306 | if "Nn"[X kill X,Y,DIRUT quit
|
---|
| 307 | if "Yy"[X do
|
---|
| 308 | . set PSXFL=0
|
---|
| 309 | . do TEXT^PSSMARK
|
---|
| 310 | . H 7
|
---|
| 311 | . N PSXUDA
|
---|
| 312 | . S (PSXUM,PSXUDA)=DA
|
---|
| 313 | . set PSXLOC=$P(^PSDRUG(DA,0),"^")
|
---|
| 314 | . set PSXGOOD=0
|
---|
| 315 | . set PSXF=0
|
---|
| 316 | . set PSXBT=0
|
---|
| 317 | . do BLD^PSSMARK
|
---|
| 318 | . do PICK2^PSSMARK
|
---|
| 319 | . set DA=PSXUDA
|
---|
| 320 | quit
|
---|
| 321 | ;
|
---|
| 322 | ASKCLOZ W !!,"Do you wish to mark/unmark as a LAB MONITOR or CLOZAPINE DRUG? "
|
---|
| 323 | kill DIR
|
---|
| 324 | set DIR(0)="Y"
|
---|
| 325 | set DIR("?")="If you answer ""yes"", you will have the opportunity to edit LAB MONITOR or CLOZAPINE fields."
|
---|
| 326 | do ^DIR
|
---|
| 327 | if "Nn"[X kill X,Y,DIRUT quit
|
---|
| 328 | if "Yy"[X set NFLAG=0 do MONCLOZ
|
---|
| 329 | quit
|
---|
| 330 | ;
|
---|
| 331 | MONCLOZ kill PSSAST
|
---|
| 332 | do FLASH
|
---|
| 333 | W !,"Mark/Unmark for Lab Monitor or Clozapine: "
|
---|
| 334 | kill DIR
|
---|
| 335 | set DIR(0)="S^L:LAB MONITOR;C:CLOZAPINE;"
|
---|
| 336 | do ^DIR
|
---|
| 337 | quit:$data(DIRUT)
|
---|
| 338 | set PSSAST=Y(0)
|
---|
| 339 | D:PSSAST="LAB MONITOR" ^PSSLAB
|
---|
| 340 | D:PSSAST="CLOZAPINE" CLOZ
|
---|
| 341 | quit
|
---|
| 342 | ;
|
---|
| 343 | FLASH kill LMFLAG,CLFALG,WHICH
|
---|
| 344 | set WHICH=$P($G(^PSDRUG(DISPDRG,"CLOZ1")),"^")
|
---|
| 345 | set LMFLAG=0
|
---|
| 346 | set CLFLAG=0
|
---|
| 347 | if WHICH="PSOCLO1" set CLFLAG=1
|
---|
| 348 | if WHICH'="PSOCLO1" S:WHICH'="" LMFLAG=1
|
---|
| 349 | quit
|
---|
| 350 | ;
|
---|
| 351 | CLOZ quit:NFLAG
|
---|
| 352 | quit:$data(DTOUT)
|
---|
| 353 | quit:$data(DIRUT)
|
---|
| 354 | quit:$data(DUOUT)
|
---|
| 355 | W !,"** You are NOW editing CLOZAPINE fields. **"
|
---|
| 356 | do ^PSSCLDRG
|
---|
| 357 | quit
|
---|
| 358 | ;
|
---|
| 359 | USE kill PACK
|
---|
| 360 | set PACK=""
|
---|
| 361 | S:$P($G(^PSDRUG(DISPDRG,"PSG")),"^",2)]"" PACK="W"
|
---|
| 362 | if $data(^PSDRUG(DISPDRG,2)) set PACK=PACK_$P(^PSDRUG(DISPDRG,2),"^",3)
|
---|
| 363 | if PACK'="" D
|
---|
| 364 | . W $C(7) N XX W !! F XX=1:1:79 W "*"
|
---|
| 365 | . W !,"This entry is marked for the following PHARMACY packages: "
|
---|
| 366 | . do USE1
|
---|
| 367 | quit
|
---|
| 368 | ;
|
---|
| 369 | USE1 W:PACK["O" !," Outpatient"
|
---|
| 370 | W:PACK["U" !," Unit Dose"
|
---|
| 371 | W:PACK["I" !," IV"
|
---|
| 372 | W:PACK["W" !," Ward Stock"
|
---|
| 373 | W:PACK["D" !," Drug Accountability"
|
---|
| 374 | W:PACK["N" !," Controlled Substances"
|
---|
| 375 | W:PACK["X" !," Non-VA Med"
|
---|
| 376 | W:'$data(PACK) !," NONE"
|
---|
| 377 | if PACK'["O",PACK'["U",PACK'["I",PACK'["W",PACK'["D",PACK'["N",PACK'["X" W !," NONE"
|
---|
| 378 | quit
|
---|
| 379 | ;
|
---|
| 380 | WR if ^XMB("NETNAME")'["CMOP-" do
|
---|
| 381 | . if OLDDF="" quit
|
---|
| 382 | . W !,"The dosage form has changed from "_OLDDF_" to "_NEWDF_" due to",!
|
---|
| 383 | . w "matching/rematching to NDF.",!
|
---|
| 384 | . w "You will need to rematch to Orderable Item.",!
|
---|
| 385 | quit
|
---|
| 386 | PRIMDRG if $data(^PS(59.7,1,20)),$P(^PS(59.7,1,20),"^",1)=4!($P(^PS(59.7,1,20),"^",1)=4.5) do
|
---|
| 387 | . if $data(^PSDRUG(DISPDRG,2)) do
|
---|
| 388 | . . set VAR=$P(^PSDRUG(DISPDRG,2),"^",3)
|
---|
| 389 | . . if VAR["U"!(VAR["I") do
|
---|
| 390 | . . . do PRIM1
|
---|
| 391 | quit
|
---|
| 392 | ;
|
---|
| 393 | PRIM1 W !!,"You need to match this drug to ""PRIMARY DRUG"" file as well.",!
|
---|
| 394 | set DIE="^PSDRUG(",DR="64"
|
---|
| 395 | set DA=DISPDRG
|
---|
| 396 | do ^DIE
|
---|
| 397 | kill VAR
|
---|
| 398 | quit
|
---|
| 399 | ;
|
---|
| 400 | MF if $P($G(^PS(59.7,1,80)),"^",2)>1 if $data(^PSDRUG(DISPDRG,2)) DO
|
---|
| 401 | . set PSSOR=$P(^PSDRUG(DISPDRG,2),"^",1)
|
---|
| 402 | . if PSSOR]"" DO
|
---|
| 403 | . . DO EN^PSSPOIDT(PSSOR)
|
---|
| 404 | . . DO EN2^PSSHL1(PSSOR,"MUP")
|
---|
| 405 | quit
|
---|
| 406 | ;
|
---|
| 407 | MFA if $P($G(^PS(59.7,1,80)),"^",2)>1 do
|
---|
| 408 | . set PSSOR=$P(^PS(52.6,ENTRY,0),"^",11)
|
---|
| 409 | . set PSSDD=$P(^PS(52.6,ENTRY,0),"^",2)
|
---|
| 410 | . if PSSOR]"" do
|
---|
| 411 | . . do EN^PSSPOIDT(PSSOR)
|
---|
| 412 | . . do EN2^PSSHL1(PSSOR,"MUP")
|
---|
| 413 | . . do MFDD
|
---|
| 414 | quit
|
---|
| 415 | ;
|
---|
| 416 | MFS if $P($G(^PS(59.7,1,80)),"^",2)>1 do
|
---|
| 417 | . set PSSOR=$P(^PS(52.7,ENTRY,0),"^",11)
|
---|
| 418 | . set PSSDD=$P(^PS(52.7,ENTRY,0),"^",2)
|
---|
| 419 | . if PSSOR]"" do
|
---|
| 420 | . . do EN^PSSPOIDT(PSSOR)
|
---|
| 421 | . . do EN2^PSSHL1(PSSOR,"MUP")
|
---|
| 422 | . . do MFDD
|
---|
| 423 | quit
|
---|
| 424 | ;
|
---|
| 425 | MFDD if $data(^PSDRUG(PSSDD,2)) do
|
---|
| 426 | . set PSSOR=$P(^PSDRUG(PSSDD,2),"^",1)
|
---|
| 427 | . if PSSOR]"" do
|
---|
| 428 | . . do EN^PSSPOIDT(PSSOR)
|
---|
| 429 | . . do EN2^PSSHL1(PSSOR,"MUP")
|
---|
| 430 | quit
|
---|
| 431 | ;
|
---|
| 432 | OPEI if $data(^PSDRUG(DISPDRG,"ND")),$P(^PSDRUG(DISPDRG,"ND"),"^",10)]"" do
|
---|
| 433 | . set DIE="^PSDRUG("
|
---|
| 434 | . set DR="28"
|
---|
| 435 | . set DA=DISPDRG
|
---|
| 436 | . do ^DIE
|
---|
| 437 | quit
|
---|
| 438 | ;
|
---|
| 439 | DEA ;
|
---|
| 440 | if $P($G(^PSDRUG(DISPDRG,3)),"^")=1,($P(^PSDRUG(DISPDRG,0),"^",3)[1!($P(^(0),"^",3)[2)) do DSH
|
---|
| 441 | quit
|
---|
| 442 | ;
|
---|
| 443 | DSH W !!,"****************************************************************************"
|
---|
| 444 | W !,"This entry contains a ""1"" or a ""2"" in the ""DEA, SPECIAL HDLG""",!
|
---|
| 445 | w "field, therefore this item has been UNMARKED for CMOP transmission."
|
---|
| 446 | W !,"****************************************************************************",!
|
---|
| 447 | S $P(^PSDRUG(DISPDRG,3),"^")=0
|
---|
| 448 | kill ^PSDRUG("AQ",DISPDRG)
|
---|
| 449 | set DA=DISPDRG
|
---|
| 450 | N %
|
---|
| 451 | do ^PSSREF
|
---|
| 452 | quit
|
---|