Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PSOLLL8

PSOLLL8.m

Go to the documentation of this file.
  1. PSOLLL8 ;BIR/JLC - LASER LABEL - CRITICAL INTERACTION ;12/13/02
  1. ;;7.0;OUTPATIENT PHARMACY;**120,251,387,367,372,616**;DEC 1997;Build 3
  1. ;Reference to PS(56 supported by DBIA 2229
  1. ;Reference to PSDRUG supported by DBIA 221
  1. ;External reference to $$DS^PSSDSAPI supported by DBIA 5424
  1. ;
  1. S HOLDCOPY=COPIES
  1. START ;
  1. ;
  1. I $G(PSOIO("CDII"))]"" X PSOIO("CDII")
  1. I $G(PSOIO(PSOFONT))]"" X PSOIO(PSOFONT)
  1. K PSOSERV N PSODOSEW,PSODRGI,PSRXSET S (PSODOSEW,PSODRGI)=0
  1. S COPIES=COPIES-1,Y=$P(^PSRX(RX,2),"^",6) X ^DD("DD") S EXPDT=Y,Y=$P(^PSRX(RX,0),"^",13) X ^DD("DD") S ISD=Y
  1. S Y=DATE X ^DD("DD") S DATE1=Y D NOW^%DTC S Y=% X ^DD("DD") S NOW=Y
  1. I '$D(^PS(52.4,RX,0)),$P(^PSRX(RX,"STA"),"^")=4 D UNKNOWN Q
  1. I '$G(RXRP(RX)) S T=$P(PS2,"^",2)_" "_"("_$P(RXY,"^",16)_"/"_$S(+$G(VRPH):VRPH,1:" ")_")"_" "_$P(NOW,":",1,2) D PRINT(T)
  1. 2 ;
  1. I $D(^PSRX(RX,"DRI")) D M1 S SCRIPT=$P(^PSRX(RX,"DRI"),"^",2),SEV=$P(^PSRX(RX,"DRI"),"^") F X=1:1 S RXX(X)=$P(SCRIPT,",",X),SEV(X)=$P(SEV,",",X) Q:RXX(X)="" D
  1. .S:SEV(X)=1 PSOSERV=1
  1. .S T=$P($G(^PSRX(RXX(X),0)),"^")_" "_$S(SEV(X)=1:"CRITICAL",SEV(X)=2:"SIGNIFICANT",1:"UNKNOWN")_" INTERACTION "_$P(^PSDRUG($P(^PSRX(RXX(X),0),"^",6),0),"^") S:SEV(X)=1 PSODRGI=1 D PRINT(T)
  1. I '$D(^PSRX(RX,"DRI")),$D(^PS(52.4,RX,0)) S SCRIPT=$P(^PS(52.4,RX,0),"^",10),SEV=$P(^PS(52.4,RX,0),"^",9) D M2:SCRIPT="" I SCRIPT'="" D M1 F X=1:1 S RXX(X)=$P(SCRIPT,",",X),SEV(X)=$P(SEV,",",X) Q:RXX(X)="" D
  1. .S:SEV(X)=1 PSOSERV=1
  1. .S T=$P($G(^PSRX(RXX(X),0)),"^")_" "_$S(SEV(X)=1:"CRITICAL",SEV(X)=2:"SIGNIFICANT",1:"UNKNOWN")_" INTERACTION "_$P(^PSDRUG($P(^PSRX(RXX(X),0),"^",6),0),"^") S:SEV(X)=1 PSODRGI=1 D PRINT(T)
  1. I $$DS^PSSDSAPI,($D(^PS(52.4,RX,1))) S T="",T=$P(^PS(52.4,RX,1),"^") D D:T'="" PRINT(T)
  1. . S T=$$RCONVMS^PSODOSUT(T),PSODOSEW=1
  1. S T="This prescription was entered by: "_TECH_"." D PRINT(T)
  1. S T="This prescription "_$S('$G(PSOSERV):"may require",1:"requires")_" "_$S('$G(PSOSERV):"reviewing",1:"intervention")_" by a pharmacist." D PRINT(T)
  1. S T=DATE1_" Fill "_(RXF+1)_" of "_(1+$P(RXY,"^",9)) D PRINT(T)
  1. S T=PNM_" "_SSNP D PRINT(T)
  1. F SSG=1:1 Q:$G(SGY(SSG))="" S T=SGY(SSG) D PRINT(T)
  1. S T="Qty: "_$G(QTY)_" "_$G(PHYS) D PRINT(T)
  1. S T="Tech__________RPh__________" D PRINT(T)
  1. S T=DRUG D PRINT(T)
  1. S T="Routing: "_$S("W"[$E(MW):MW,1:MW_" MAIL") D PRINT(T)
  1. S T="Days supply: "_$G(DAYS)_" Cap: "_$S(PSCAP:"**NON-SFTY**",1:"SAFETY") D PRINT(T)
  1. S T="Isd: "_ISD_" Exp: "_EXPDT D PRINT(T)
  1. S T="Last Fill: "_$G(PSOFLAST) D PRINT(T)
  1. S T="Pat. Stat "_PATST_" Clinic: "_PSCLN D PRINT(T)
  1. W @IOF
  1. I COPIES>0 G START
  1. S COPIES=HOLDCOPY K HOLDCOPY
  1. STORE ;LABEL PRINT NODE
  1. D NOW^%DTC S NOW=% K %,%H,%I I $G(RXF)="" S RXF=0 F I=0:0 S I=$O(^PSRX(RX,1,I)) Q:'I S RXF=I
  1. F IR=0 F FDA=0:0 S FDA=$O(^PSRX(RX,"L",FDA)) Q:'FDA S IR=FDA
  1. ;S IR=IR+1,^PSRX(RX,"L",0)="^52.032DA^"_IR_"^"_IR,^PSRX(RX,"L",IR,0)=NOW_"^"_RXF_"^"_$S($G(PCOMX)]"":$G(PCOMX),1:"From RX number "_$P(^PSRX(RX,0),"^"))_" Drug-Drug interaction"_$S($G(RXRP(RX)):" (Reprint)",1:"")_"^"_PDUZ_"^1"
  1. S IR=IR+1,PSRXSET="^52.032DA^"_IR_"^"_IR
  1. S ^PSRX(RX,"L",0)=PSRXSET ; PSO*7*616 Fix missing Header node
  1. S PSRXSET=NOW_"^"_RXF_"^"_$S($G(PCOMX)]"":$G(PCOMX),1:"From RX number "_$P(^PSRX(RX,0),"^"))
  1. S PSRXSET=PSRXSET_$S(PSODRGI&(PSODOSEW)&$$DS^PSSDSAPI:" Drug-Drug interaction/dose warning",PSODRGI:" Drug-Drug interaction",PSODOSEW&$$DS^PSSDSAPI:" Dose Warning",1:"")_$S($G(RXRP(RX)):" (Reprint)",1:"")_"^"_PDUZ_"^1"
  1. S ^PSRX(RX,"L",IR,0)=PSRXSET
  1. ;
  1. ;Storing FDA Medication Guide filename in the Prescription file
  1. I $$MGONFILE^PSOFDAUT(RX) D
  1. . I $G(RXRP(RX)),'$G(RXRP(RX,"MG")) Q
  1. . S ^PSRX(RX,"L",IR,"FDA")=$P($$MGONFILE^PSOFDAUT(RX),"^",2)
  1. ;
  1. K:$D(^PS(52.4,RX,0)) RXF,IR,FDA,NOW,I
  1. END K:$D(^PS(52.4,RX,0)) PSCLN,DATE1,DRUG,RFLMSG,COPIES,DRUG,LMI,LINE,PS,PS1,PS2,INT,ISD,I1,MW,STATE,SIDE,SGY,PATST,PRTFL,PHYS,SGC,VRPH,NLWS,X1,X2,X,Y,TECH,EXPDT,NURSE,SEV,SCRIPT,RXX,SGY,SER,SSG,RXY,SIGPH,PS55,PS55X K PSOSERV
  1. Q
  1. UNKNOWN S PSOY=PSOY+(3*PSOYI),T="",$P(T,"*",100)="" D PRINT(T)
  1. S T="THIS PRESCRIPTION HAS CAUSED A DRUG-DRUG INTERACTION " D PRINT(T)
  1. S T="",$P(T,"*",100)="" D PRINT(T)
  1. S T="PRESCRIPTION # "_$P(^PSRX(RX,0),"^")_" "_$P(^PSDRUG($P(^PSRX(RX,0),"^",6),0),"^") D PRINT(T)
  1. S T="The above prescription has a status of PENDING due to a DRUG-DRUG INTERACTION." D PRINT(T)
  1. S T=PNM_" "_SSNP D PRINT(T)
  1. S T=$P(PS2,"^",2)_" ("_$P(RXY,"^",16)_"/"_$S(+$G(VRPH):VRPH,1:" ")_")"_" "_$P($P(NOW,":",1,2),"@") D PRINT(T)
  1. S T=RXN_" "_DATE1_" Fill "_(RXF+1)_" of "_(1+$P(RXY,"^",9)) D PRINT(T)
  1. F SSG=1:1 Q:$G(SGY(SSG))="" S T=SGY(SSG) D PRINT(T)
  1. S PSOY=PSOY+PSOYI,T="Please review printouts of all labels for this patient that follow." D PRINT(T),STORE
  1. W @IOF K PSCLN,DATE1,DRUG,RFLMSG,COPIES,DRUG,LMI,LINE,PS,PS1,PS2,INT,ISD,I1,MW,STATE,SIDE,SIGPH,SGY,PATST,PRTFL,PHYS,SGC,VRPH,NLWS,X1,X2,X,Y,TECH,EXPDT,NURSE,SEV,SCRIPT,RXX,SGY,SER,SSG,RXY,PSOSERV Q
  1. ;
  1. PRINT(T) ;
  1. I $G(PSOIO("ST"))]"" X PSOIO("ST")
  1. W T,!
  1. I $G(PSOIO("ET"))]"" X PSOIO("ET")
  1. Q
  1. ;
  1. M1 ;
  1. S PSOY=PSOY+PSOYI,T="Rx# "_RXN_" has caused a DRUG-DRUG INTERACTION with the following prescription(s):" D PRINT(T)
  1. Q
  1. M2 ;
  1. S PSOY=PSOY+PSOYI,T="",T="Rx# "_RXN D PRINT(T)
  1. Q