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