| 1 | PSOBBC ;IHS/DSD/JCM-BATCH BARCODE DRIVER ;3/30/06 10:10am
 | 
|---|
| 2 |  ;;7.0;OUTPATIENT PHARMACY;**11,22,27,34,46,130,146,185,242,264**;DEC 1997;Build 19
 | 
|---|
| 3 |  ;External reference to ^IBE(350.1,"ANEW" supported by DBIA 592
 | 
|---|
| 4 |  ;External references CHPUS^IBACUS and TRI^IBACUS supported by DBIA 2030
 | 
|---|
| 5 |  ;External reference PDA^PPPPDA1 supported by DBIA 1374
 | 
|---|
| 6 |  ;External references LK^ORX2 and ULK^ORX2 supported by DBIA 867
 | 
|---|
| 7 |  ;External references ^PS(55 supported by DBIA 2228
 | 
|---|
| 8 |  ;External references U, UL, PSOL, and PSOUL^PSSLOCK supported by DBIA 2789
 | 
|---|
| 9 |  ;PSO*242 change default to from Q to S
 | 
|---|
| 10 |  ;-------------------------------------------------------------------
 | 
|---|
| 11 | START ;
 | 
|---|
| 12 |  N PSODFN,PSOBBCNO
 | 
|---|
| 13 |  D INIT I '$D(PSOPAR) D ^PSOLSET G:'$D(PSOPAR) EOJ
 | 
|---|
| 14 |  I $G(PSOSITE) S PSOBARID=$G(^PS(59,PSOSITE,"IB")) I '$D(^IBE(350.1,"ANEW",+PSOBARID,1,1)) D  S PSORX("QFLG")=1 K PSOBARID G END
 | 
|---|
| 15 |  .W $C(7),!!,"WARNING: Pharmacy Copay not working,",!,?10,"Check IB SERVICE/SECTION in Pharmacy Site File.",!!!,"You will not be able to enter any new prescriptions until this is corrected!"
 | 
|---|
| 16 |  S PSOBBC("QFLG")=0,PSORX("BAR CODE")=1
 | 
|---|
| 17 |  D FROM I PSOBBC("QFLG") S PSORX("QFLG")=1 G END
 | 
|---|
| 18 |  D ASK I PSOBBC("QFLG") S PSORX("QFLG")=1 G END
 | 
|---|
| 19 |  D PROCESS
 | 
|---|
| 20 | END D EOJ
 | 
|---|
| 21 |  Q
 | 
|---|
| 22 |  ;--------------------------------------------------------------------
 | 
|---|
| 23 | INIT ;
 | 
|---|
| 24 |  S PSOBBC("QFLG")=0,PSORX("BAR CODE")=1 K PPL
 | 
|---|
| 25 |  I '$G(PSOINST) D
 | 
|---|
| 26 |  .K DIC,DR,DIQ S DA=$P($$SITE^VASITE(),"^") I DA D
 | 
|---|
| 27 |  ..K PSOINST S DIC=4,DIQ(0)="I",DR=99,DIQ="PSOINST" D EN^DIQ1
 | 
|---|
| 28 |  ..S PSOINST=PSOINST(4,DA,99,"I") K DIC,DA,DIQ,PSOINST(4)
 | 
|---|
| 29 |  Q
 | 
|---|
| 30 | FROM ;
 | 
|---|
| 31 |  S DIR(0)="S^1:REFILLS;2:RENEWS;"
 | 
|---|
| 32 |  S DIR("A")="Batch Barcode for",DIR("B")="REFILLS"
 | 
|---|
| 33 |  D DIR G:'Y FROMX
 | 
|---|
| 34 |  S PSOBBC1("FROM")=$S(Y=1:"REFILL",1:"NEW")
 | 
|---|
| 35 | FROMX K X,Y,DIR
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | ASK ;
 | 
|---|
| 39 |  K BINGCRT,BINGRTE,BBRX
 | 
|---|
| 40 |  W !,"Please answer the following for this session of prescriptions",!
 | 
|---|
| 41 |  D EN^PSOREF2(.PSOBBC) I PSOBBC("DFLG") S PSOBBC("QFLG")=1 G ASKX
 | 
|---|
| 42 |  D SUSP
 | 
|---|
| 43 |  D INPT,CNH
 | 
|---|
| 44 |  D:'$P($G(PSOPAR),"^",6) EARLY
 | 
|---|
| 45 |  D SET
 | 
|---|
| 46 |  D:PSOBBC1("FROM")="NEW" NOORE^PSONEW(.PSOBBC) S:$G(PSOBBC("NOO"))'="" PSOBBCNO=$G(PSOBBC("NOO")) S:$G(PSOBBC("DFLG")) PSOBBC("QFLG")=1
 | 
|---|
| 47 | ASKX Q
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | SUSP ;
 | 
|---|
| 50 |  S DIR(0)="SAB^Q:QUEUED;S:SUSPENDED"
 | 
|---|
| 51 |  S DIR("A")="Will these refills be Queued or Suspended ? "
 | 
|---|
| 52 |  S DIR("B")="S"   ;PSO*242
 | 
|---|
| 53 |  D DIR G:PSOBBC("QFLG") SUSPX
 | 
|---|
| 54 |  S (PSOBBC1("QS"),PSOBBC("QS"))=Y S:PSOBBC1("QS")="S" BINGCRT=0
 | 
|---|
| 55 | SUSPX K X,Y,DIR
 | 
|---|
| 56 |  Q
 | 
|---|
| 57 |  ;
 | 
|---|
| 58 | INPT ;
 | 
|---|
| 59 |  S DIR(0)="YA"
 | 
|---|
| 60 |  S DIR("A")="Allow refills for inpatient ? "
 | 
|---|
| 61 |  S DIR("B")="N"
 | 
|---|
| 62 |  D DIR G:PSOBBC("QFLG") INPTX
 | 
|---|
| 63 |  S (PSOBBC1("INOK"),PSOBBC("INOK"))=Y
 | 
|---|
| 64 | INPTX K X,Y,DIR
 | 
|---|
| 65 |  Q
 | 
|---|
| 66 | CNH ;
 | 
|---|
| 67 |  S DIR(0)="YA"
 | 
|---|
| 68 |  S DIR("A")="Allow refills for CNH ? "
 | 
|---|
| 69 |  S DIR("B")="N"
 | 
|---|
| 70 |  D DIR G:PSOBBC("QFLG") CNHX
 | 
|---|
| 71 |  S (PSOBBC1("CNHOK"),PSOBBC("CNHOK"))=Y
 | 
|---|
| 72 | CNHX K X,Y,DIR
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 | EARLY ;
 | 
|---|
| 76 |  S DIR(0)="YA"
 | 
|---|
| 77 |  S DIR("A")="Allow early refills ? "
 | 
|---|
| 78 |  S DIR("B")="N"
 | 
|---|
| 79 |  D DIR G:PSOBBC("QFLG") EARLYX
 | 
|---|
| 80 |  S (PSOBBC1("EAOK"),PSOBBC("EAOK"))=Y
 | 
|---|
| 81 | EARLYX K X,Y,DIR
 | 
|---|
| 82 |  Q
 | 
|---|
| 83 |  ;
 | 
|---|
| 84 | SET ;
 | 
|---|
| 85 |  S PSOBBC1("MAIL/WINDOW")=PSOBBC("MAIL/WINDOW") S:PSOBBC1("MAIL/WINDOW")="W" BINGRTE="W"
 | 
|---|
| 86 |  S PSOBBC1("FILL DATE")=PSOBBC("FILL DATE")
 | 
|---|
| 87 |  S:$G(PSOBBC("CLERK CODE")) PSOBBC1("CLERK CODE")=PSOBBC("CLERK CODE")
 | 
|---|
| 88 |  S:$G(PSOBBC("EXPIRATION DATE")) PSOBBC1("EXPIRATION DATE")=PSOBBC("EXPIRATION DATE")
 | 
|---|
| 89 |  Q
 | 
|---|
| 90 | DIR ;
 | 
|---|
| 91 |  D ^DIR
 | 
|---|
| 92 |  S:$D(DIRUT) PSOBBC("QFLG")=1,PSORX("QFLG")=1
 | 
|---|
| 93 |  K DIRUT,DUOUT,DTOUT,DIROUT
 | 
|---|
| 94 |  Q
 | 
|---|
| 95 |  ;
 | 
|---|
| 96 | PROCESS ;
 | 
|---|
| 97 |  S PSOBBC("DFLG")=0 D NOW^%DTC S TM=$E(%,1,12),TM1=$P(TM,".",2)
 | 
|---|
| 98 |  S RXN=$O(^TMP("PSORXN",$J,0)) I RXN D
 | 
|---|
| 99 |  .S RXN1=^TMP("PSORXN",$J,RXN) D EN^PSOHLSN1(RXN,$P(RXN1,"^"),$P(RXN1,"^",2),"",$P(RXN1,"^",3))
 | 
|---|
| 100 |  .I $P(^PSRX(RXN,"STA"),"^")=5 D EN^PSOHLSN1(RXN,"SC","ZS","")
 | 
|---|
| 101 |  K RXN,RXN1,^TMP("PSORXN",$J) D CLEAN^PSOVER1 K ^TMP("PSORXDC",$J)
 | 
|---|
| 102 |  D GETRXM D:PSOBBC("QFLG") ULK,ULP,ULRX G:PSOBBC("QFLG") PROCESSX
 | 
|---|
| 103 |  I $G(PSODFN)'=$P(^PSRX(PSOBBC("IRXN"),0),"^",2) D  G:PSOBBC("DFLG") PROCESS
 | 
|---|
| 104 |  .I $G(PSODFN) D ULK,ULP
 | 
|---|
| 105 |  .D PT Q:PSOBBC("DFLG")
 | 
|---|
| 106 |  .D PROFILE^PSORX1 S X="PPPPDA1" X ^%ZOSF("TEST") I  S X=$$PDA^PPPPDA1(PSODFN) W !!
 | 
|---|
| 107 |  E  D PTC G:PSOBBC("DFLG") PROCESS
 | 
|---|
| 108 |  D:'$G(PSOSD) ^PSOBUILD
 | 
|---|
| 109 |  S PSOBBC("DONE")=PSOBBC("IRXN")_","
 | 
|---|
| 110 |  D @PSOBBC1("FROM") S:$G(PPL)&$D(BINGRTE) BBRX(1)=$S($D(PSOBBC("DONE")):PSOBBC("DONE"),1:BBRX) D:$D(BINGCRT)&($D(BINGRTE)&($D(DISGROUP))) ^PSOBING1 K BBRX D ULRX G PROCESS
 | 
|---|
| 111 | PROCESSX I $G(PPL) D SETX,TRI,Q^PSORXL K PPL,RXFL
 | 
|---|
| 112 |  Q
 | 
|---|
| 113 | GETRXM ;
 | 
|---|
| 114 |  K DIR,PSOBBC("IRXN"),PSOREFXM
 | 
|---|
| 115 |  S DIR(0)="FO^5:245^K:X'?3N1""-""1.N X"
 | 
|---|
| 116 |  S DIR("A")="WAND BARCODE"
 | 
|---|
| 117 |  S DIR("?",1)="Wand the barcoded number of the prescription to be processed."
 | 
|---|
| 118 |  S DIR("?",2)="The number should be of the form NNN-NNNNNN"
 | 
|---|
| 119 |  S DIR("?",3)="where the number before the dash is your station number."
 | 
|---|
| 120 |  S DIR("?")="Enter ""^"", or a RETURN to quit."
 | 
|---|
| 121 |  D DIR G:PSOBBC("QFLG") GETRXMX
 | 
|---|
| 122 |  I $P(X,"-")'=PSOINST W !?7,$C(7),$C(7),$C(7),"Not From this Institution" G GETRXM
 | 
|---|
| 123 |  S (PSOBBC("IRXN"),PSOBBC("OIRXN"),BBRX)=$P(X,"-",2)
 | 
|---|
| 124 |  I $G(^PSRX(PSOBBC("IRXN"),0))']"" W !,$C(7),"Rx data is not on file !",! G GETRXM
 | 
|---|
| 125 |  S PSOXDFN=+$P($G(^PSRX(PSOBBC("IRXN"),0)),"^",2) I PSOXDFN S PSOLOUD=1 D:$P($G(^PS(55,PSOXDFN,0)),"^",6)'=2 EN^PSOHLUP(PSOXDFN) K PSOLOUD
 | 
|---|
| 126 |  K PSOXDFN I $P($G(^PSRX(PSOBBC("IRXN"),"STA")),"^")=13 W !,$C(7),"Rx has already been deleted." G GETRXM
 | 
|---|
| 127 |  I $G(PSOBBC("DONE"))[PSOBBC("IRXN")_"," W !,$C(7),"Rx has already been entered" G GETRXM
 | 
|---|
| 128 |  I $G(PSOBBC1("FROM"))="REFILL" S PSOREFXM=$G(PSOBBC("IRXN")) I PSOREFXM D PSOL^PSSLOCK(PSOREFXM) I '$G(PSOMSG) D  K PSOMSG G GETRXM
 | 
|---|
| 129 |  .I $P($G(PSOMSG),"^",2)'="" W $C(7),!!?5,$P(PSOMSG,"^",2),! Q
 | 
|---|
| 130 |  .W $C(7),!!?5,"Another person is editing Rx "_$P($G(^PSRX(+$G(PSOBBC("IRXN")),0)),"^"),!
 | 
|---|
| 131 |  I '$D(PSODFNX(+$P(^PSRX(PSOBBC("IRXN"),0),"^",2))),$G(PSOBBC1("FROM"))="NEW" K PSONOERR D  G:'$G(PSOPLCK)!($G(PSONOERR)) GETRXM
 | 
|---|
| 132 |  .S PSOPLCK=$$L^PSSLOCK(+$P(^PSRX(PSOBBC("IRXN"),0),"^",2),0) I '$G(PSOPLCK) D LOCK^PSOORCPY Q
 | 
|---|
| 133 |  .S X=+$P(^PSRX(PSOBBC("IRXN"),0),"^",2)_";DPT(" D LK^ORX2 I 'Y S PSONOERR=1 D UL^PSSLOCK(+$P(^PSRX(PSOBBC("IRXN"),0),"^",2)) Q
 | 
|---|
| 134 |  .S PSODFNX(+$P(^PSRX(PSOBBC("IRXN"),0),"^",2))=""
 | 
|---|
| 135 | GETRXMX K X,Y,DIR,PSOOPT
 | 
|---|
| 136 |  Q
 | 
|---|
| 137 |  ;
 | 
|---|
| 138 | PT ;
 | 
|---|
| 139 |  S PSOBBC("DFLG")=0
 | 
|---|
| 140 |  W !,$C(7),"New Patient, please pause"
 | 
|---|
| 141 |  I $G(PPL) D SETX,TRI,Q^PSORXL K PPL
 | 
|---|
| 142 |  K RXFL
 | 
|---|
| 143 |  S (DFN,PSODFN)=$P(^PSRX(PSOBBC("IRXN"),0),"^",2),PSORX("NAME")=$P(^DPT(PSODFN,0),"^")
 | 
|---|
| 144 |  D ICN^PSODPT(DFN)
 | 
|---|
| 145 |  ;CHECK FOR BAD ADDRESS/SAB
 | 
|---|
| 146 |  S PSOLOUD=1 D:$P($G(^PS(55,PSODFN,0)),"^",6)'=2 EN^PSOHLUP(PSODFN) K PSOLOUD
 | 
|---|
| 147 |  D ^PSOBUILD
 | 
|---|
| 148 |  S PSOX=$G(^PS(55,PSODFN,"PS")) I PSOX]"" S PSORX("PATIENT STATUS")=$P($G(^PS(53,PSOX,0)),"^")
 | 
|---|
| 149 |  K PSOX
 | 
|---|
| 150 | PTC S (DFN,PSODFN)=$P(^PSRX(PSOBBC("IRXN"),0),"^",2)
 | 
|---|
| 151 |  S PSOLOUD=1 D:$P($G(^PS(55,PSODFN,0)),"^",6)'=2 EN^PSOHLUP(PSODFN) K PSOLOUD
 | 
|---|
| 152 |  S PSOBBC("DFLG")=0 D GET^PSOPTPST
 | 
|---|
| 153 |  I $G(PSOPTPST(2,PSODFN,.351))]"" S PSOBBC("DFLG")=1 D DEAD^PSOPTPST G PTX
 | 
|---|
| 154 |  N PSOTPEXT I $G(PSOBBC1("FROM"))="NEW",$D(^PS(52.91,PSODFN,0)) I '$P(^PS(52.91,PSODFN,0),"^",3)!($P(^(0),"^",3)>DT) D PDIR^PSOTPCAN(PSODFN) I $G(PSOTPEXT) K PSOTPEXT S PSOBBC("DFLG")=1 G PTX
 | 
|---|
| 155 |  K PSOTPEXT
 | 
|---|
| 156 |  I $G(PSOPTPST(2,PSODFN,.1))]"" D:'PSOBBC("INOK") PID W !,$C(7),?10,"PATIENT IS AN INPATIENT ON WARD ",PSOPTPST(2,PSODFN,.1)," !!" I 'PSOBBC("INOK") S PSOBBC("DFLG")=1 G PTX
 | 
|---|
| 157 |  K PSORX("CNH")
 | 
|---|
| 158 |  I $G(PSOPTPST(2,PSODFN,148))="YES" D:'PSOBBC("CNHOK") PID W !,$C(7),?10,"PATIENT IS IN A CONTRACT NURSING HOME !!" S:PSOBBC("CNHOK") PSORX("CNH")=1 I 'PSOBBC("CNHOK") S PSOBBC("DFLG")=1 G PTX
 | 
|---|
| 159 |  D:PSOBBC1("FROM")="NEW" COPAY^PSOPTPST
 | 
|---|
| 160 | PTX K PSOPTPST W:PSOBBC("DFLG") !!,$C(7),"Rx not filled"
 | 
|---|
| 161 |  Q
 | 
|---|
| 162 |  ;
 | 
|---|
| 163 | REFILL ;
 | 
|---|
| 164 |  N PSOFROM S PSOFROM="REFILL",XFROM="BATCH"
 | 
|---|
| 165 |  D EN^PSOREF0(.PSOBBC)
 | 
|---|
| 166 |  Q
 | 
|---|
| 167 | REFILLX ;
 | 
|---|
| 168 |  Q
 | 
|---|
| 169 |  ;
 | 
|---|
| 170 | NEW ;
 | 
|---|
| 171 |  N PSOFROM S (PSOFROM,XFROM)="BATCH"
 | 
|---|
| 172 |  S PSOBBC("OIRXN")=PSOBBC("IRXN")
 | 
|---|
| 173 |  S PSORNW("FILL DATE")=PSOBBC1("FILL DATE"),PSOOPT=3
 | 
|---|
| 174 |  S PSORX("DFLG")=0,PSOBBC("NOO")=$G(PSOBBCNO) D EN^PSORENW0(.PSOBBC)
 | 
|---|
| 175 |  S PSOBBC("MAIL/WINDOW")=PSOBBC1("MAIL/WINDOW")
 | 
|---|
| 176 |  S PSOBBC("EAOK")=$G(PSOBBC1("EAOK"))
 | 
|---|
| 177 |  S PSOBBC("QS")=PSOBBC1("QS")
 | 
|---|
| 178 |  S PSOBBC("INOK")=PSOBBC1("INOK")
 | 
|---|
| 179 |  S PSOBBC("CNHOK")=PSOBBC1("CNHOK")
 | 
|---|
| 180 |  S:$G(PSOBBC1("CLERK CODE")) PSOBBC("CLERK CODE")=PSOBBC1("CLERK CODE")
 | 
|---|
| 181 |  S:$G(PSOBBC1("EXPIRATION DATE")) PSOBBC("EXPIRATION DATE")=PSOBBC1("EXPIRATION DATE")
 | 
|---|
| 182 |  K PSORNW,PSOOPT
 | 
|---|
| 183 |  Q
 | 
|---|
| 184 |  ;
 | 
|---|
| 185 | EOJ ;
 | 
|---|
| 186 |  K PSOMSG,PSOREFXM,PSONOERR,PSOPLCK,PSOSD,PSOBBC,PSOBBC1,PSOBARID,Y,X,XFROM,PSOCOUU,PSOCOU,ACNT,ADFN,CLS,CMOP,CNT,FDR,HDR,PSCAN,JJ,POERR,PSOBCK,PSONEW3,PSORENW3,RXFL,PSOOPT
 | 
|---|
| 187 |  K PSORX,RFDT,RX1,RXS,SDA,PSONOOR,VALMBCK,VALMSG,SIG,SIGOK,STA,TM,TM1,VA,VADM,VAEL,VAPA
 | 
|---|
| 188 |  D CLEAN^PSOVER1 K ^TMP("PSORXDC",$J)
 | 
|---|
| 189 |  Q
 | 
|---|
| 190 | TRI ;Check for Tricare Rx's
 | 
|---|
| 191 |  S X="IBACUS" X ^%ZOSF("TEST") I '$T Q
 | 
|---|
| 192 |  I '$$TRI^IBACUS Q
 | 
|---|
| 193 |  Q:'$G(PPL)
 | 
|---|
| 194 |  ;PREV LINE, IN V 7 D ZOSF FIRST
 | 
|---|
| 195 |  N DA,NEWPPL,WWFLAG,PSOWRX,PSOWW,WWNEXT,WXRX,WPAT,WSITE,WDUZ,WFILL,WLOOP,WBILL,WPPLFLG,WWW
 | 
|---|
| 196 |  D DEV^PSOCPTRI
 | 
|---|
| 197 |  S NEWPPL=PPL S PPL=""
 | 
|---|
| 198 |  S (WWFLAG,WPPLFLG)=0 F PSOWW=1:1 S PSOWRX=$P(NEWPPL,",",PSOWW) D  Q:$G(WWFLAG)
 | 
|---|
| 199 |  .S WWNEXT=$P(NEWPPL,",",(PSOWW+1)) I WWNEXT=""!(WWNEXT=",") S WWFLAG=1
 | 
|---|
| 200 |  .I '$G(DT) S DT=$$DT^XLFDT
 | 
|---|
| 201 |  .S WPAT=$P($G(^PSRX(+PSOWRX,0)),"^",2),WSITE=+$G(PSOSITE),WDUZ=+$G(DUZ)
 | 
|---|
| 202 |  .S WFILL=0 F WLOOP=0:0 S WLOOP=$O(^PSRX(+PSOWRX,1,WLOOP)) Q:'WLOOP  S WFILL=WLOOP
 | 
|---|
| 203 |  .S WBILL=$$CHPUS^IBACUS(WPAT,DT,PSOWRX,WFILL,PSOLAP,WSITE,WDUZ)
 | 
|---|
| 204 |  .I '$G(WBILL) S WXRX(PSOWW,PSOWRX)="" Q
 | 
|---|
| 205 |  .S WPPLFLG=1
 | 
|---|
| 206 |  .S FLD(99)="99",FLD(99.1)="Awaiting CHAMPUS billing approval"
 | 
|---|
| 207 |  .N RSDT,ACT,PSUS,RXF,I,PSDA,NOW,IR,FDA,RFN S DA=PSOWRX D H^PSOCPTRH Q
 | 
|---|
| 208 |  I '$G(WPPLFLG) S PPL=NEWPPL Q
 | 
|---|
| 209 |  S WWW="" F  S WWW=$O(WXRX(WWW)) Q:WWW=""  D
 | 
|---|
| 210 |  .I $G(PPL)="" S PPL=$O(WXRX(WWW,0))_"," Q
 | 
|---|
| 211 |  .S PPL=PPL_$O(WXRX(WWW,0))_","
 | 
|---|
| 212 |  Q
 | 
|---|
| 213 | ULK ;
 | 
|---|
| 214 |  Q:$G(PSOBBC1("FROM"))'="NEW"
 | 
|---|
| 215 |  I '$G(PSODFN) Q
 | 
|---|
| 216 |  S X=PSODFN_";DPT(" D ULK^ORX2 K PSODFNX(PSODFN) Q
 | 
|---|
| 217 | ULP Q:$G(PSOBBC1("FROM"))'="NEW"
 | 
|---|
| 218 |  Q:'$G(PSODFN)
 | 
|---|
| 219 |  D UL^PSSLOCK(PSODFN)
 | 
|---|
| 220 |  Q
 | 
|---|
| 221 | ULRX ;
 | 
|---|
| 222 |  Q:$G(PSOBBC1("FROM"))'="REFILL"
 | 
|---|
| 223 |  Q:'$G(PSOREFXM)
 | 
|---|
| 224 |  D PSOUL^PSSLOCK(PSOREFXM)
 | 
|---|
| 225 |  K PSOREFXM
 | 
|---|
| 226 |  Q
 | 
|---|
| 227 |  ;
 | 
|---|
| 228 | SETX ;
 | 
|---|
| 229 |  S:$G(PSOBBC1("FROM"))="REFILL" XFROM="BATCH"
 | 
|---|
| 230 |  S:$G(PSOBBC1("FROM"))="NEW" XFROM="BATCH"
 | 
|---|
| 231 |  Q
 | 
|---|
| 232 | PID ;
 | 
|---|
| 233 |  I '$G(DFN) S DFN=+$G(PSODFN)
 | 
|---|
| 234 |  Q:'$G(DFN)
 | 
|---|
| 235 |  K VAPTYP D PID^VADPT
 | 
|---|
| 236 |  W !!,?9,$G(PSORX("NAME"))_"    ",$G(VA("BID"))
 | 
|---|
| 237 |  K VA("BID"),VA("PID")
 | 
|---|
| 238 |  Q
 | 
|---|