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