PSOCAN2 ;BHAM ISC/JMB - modular rx cancel with speed ability drug check ; 10/23/06 11:30am ;;7.0;OUTPATIENT PHARMACY;**8,18,62,46,88,164,235,148,259**;DEC 1997;Build 5 ;External reference to ^PSDRUG supported by dbia 221 REINS N DODR I $P(^PSRX(DA,2),"^",6)
DT W $S('RFCNT:"Filled",1:"Refilled # "_LREF)_": "_XFDT,?32,"Printed: "_$S(LREF=RFCNT:XLPDT,1:"") I W ?56,"Released:" I '$G(DODR) W !?5,"Placing Rx on suspense. Please wait..." D SUS K DODR Q SUS ;Adds rec to suspense S ACT=1,RXN=DA,RX0=^PSRX(DA,0),RXS=$O(^PS(52.5,"B",DA,0)) I RXS S DA=RXS,DIK="^PS(52.5," D ^DIK S DA=RXN S RXP=$S($D(RXP):RXP,1:0),DIC="^PS(52.5,",DIC(0)="L",X=RXN,DIC("DR")=".02///"_FDT_";.03///"_$P(RX0,"^",2)_";.04///M;.05///"_RXP_";.06////"_$G(PSOSITE)_";2///0" K DD,DO D FILE^DICN I +$G(Y),$G(RFCNT)'="" S $P(^PS(52.5,+Y,0),"^",13)=$G(RFCNT) S DA=RXN,$P(^PSRX(DA,"STA"),"^")=5,LFD=$E($P(^PSRX(DA,3),"^"),4,5)_"-"_$E($P(^(3),"^"),6,7)_"-"_$E($P(^(3),"^"),2,3) S ACOM="RX Placed on Suspense until "_LFD D AREC^PSOCAN1 S ST="SC",PHST="ZS" D EN^PSOHLSN1(DA,ST,PHST,ACOM) K ST,PHST Q DRGDRG ;Checks for drug/drug interaction, duplicate drug and class Q:$P(^PSRX(DA,2),"^",6)
5 RFCNT=$G(RFCNT)+1 S ACNT=$G(ACNT)+1 D NOW^%DTC S ^PSRX(DA,"A",0)="^52.3DA^"_ACNT_"^"_ACNT S ^PSRX(DA,"A",ACNT,0)=%_"^R^"_DUZ_"^"_RFCNT_"^"_ACOM K ^PSRX("APSOD",PSODFN,DA),ACNT,RFCNT,RF,% S $P(^PSRX(DA,3),"^")=$P(^PSRX(DA,3),"^",5),$P(^(3),"^",2)=$P(^(3),"^",8) S $P(^PSRX(DA,3),"^",5)="",$P(^(3),"^",8)="" Q NVER ;Called from PSOCAN3, needs DA defined N PSONVC,PSONVCP,PSONVCC S PSONVC="SC",PSONVCP="IP",PSONVCC="Put in non-verified status" D EN^PSOHLSN1(DA,PSONVC,PSONVCP,PSONVCC) Q RMB(IDX) ;remove Rx if found in array BBRX() (Bingo Board) N ST4,ST5,ST6,K S ST4=BBRX(IDX) Q:ST4'[(DA_",") S ST6="" F K=1:1 S ST5=$P(ST4,",",K) Q:'ST5 D . S:ST5'=DA ST6=ST6_$S('ST6:"",1:",")_ST5 . S:ST6]"" BBRX(IDX)=ST6_"," K:ST6="" BBRX(IDX) I '$D(BBRX) K BINGCRT Q