PSOAFPTL ;VFA/HMS autofinish print for laser printer ; 3/6/07 9:25pm
 ;;7.0;OUTPATIENT PHARMACY;**208**;DEC 1997;Build 39
 ; Copyright (C) 2007 WorldVistA
 ;
 ; This program is free software; you can redistribute it and/or modify
 ; it under the terms of the GNU General Public License as published by
 ; the Free Software Foundation; either version 2 of the License, or
 ; (at your option) any later version.
 ;
 ; This program is distributed in the hope that it will be useful,
 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ; GNU General Public License for more details.
 ;
 ; You should have received a copy of the GNU General Public License
 ; along with this program; if not, write to the Free Software
 ; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
BEGLP ;
 U IO ;hms fax stuff
 ;
 F DR=1:1 Q:$G(SGY(DR))=""  S SN=19+DR D
 .S AFSIG(SN)=$G(SGY(DR))
 S SIGL=DR-1
 ;
 ;CHECK FOR ES
 S AFESFLAG=$P($G(^PS(59,PSOSITE,"RXFIN")),"^",3)
 S AFORD=$P(^PSRX(RX,"OR1"),"^",2)
 I $G(AFESFLAG)="Y" D
 .S AFES=$P($G(^OR(100,AFORD,8,1,0)),"^",4)
 .I $G(AFES)=1 S AFESYN="Y"
 .I $G(AFESYN)="Y" S AFESIGN=$P($G(^OR(100,AFORD,8,1,0)),"^",5)
 ;
 ;CHECK FOR SCHEDULE II WET SIGNATUIRE
 S AFWET2=$P($G(^PS(59,PSOSITE,"RXFIN")),"^",6)
 S AFDEA=$P(^PSDRUG($P($G(^PSRX(RX,0)),"^",6),0),"^",3)
 ;
 I $G(AFWET2)="Y"&($G(AFDEA)["2") S AFESFLAG="" ;Turns off ES for Sch IIs if wet sig for IIs set in File#59
 I $G(AFWET2)="Y"&($G(AFDEA)["2") S AFESYN=""
 ;
 ;Get Synonym
 S AFS=0,DONE="N",AFSYN="" F L=1:1 S AFS=$O(^PSDRUG($P($G(^PSRX(RX,0)),"^",6),1,AFS)) Q:AFS=""!(DONE="Y")  D
 .I $P(^PSDRUG($P($G(^PSRX(RX,0)),"^",6),1,AFS,0),"^",3)="0" D
 ..S AFSYN=$P($G(^PSDRUG($P($G(^PSRX(RX,0)),"^",6),1,AFS,0)),"^",1),DONE="Y"
 K DONE
 ;
FAX ;
 K AFFAX
 S FAXNUM=$G(PSOAFFXP) ;PSOAFFXP from PSOLBLN
 S FAXLCNUM=$G(PSOAFFXL)_"@"_FAXNUM
 S FAXSER=$P($G(^PS(59,PSOSITE,"RXFIN")),"^",10)
 I $G(FAXNUM)'=""&(FAXSER'="") D
 . S AFFAX="Y"
 I IO["AFFAX"!($G(AFFAX)="Y") D
 .D NOW^%DTC
 .S FAXDATE=$P(%,".",1)_"Z"_$P(%,".",2)
 .S FAXJOB=RX_"Z"_DFN_"Z"_FAXDATE
 .D OPEN^%ZISH("HFSFAX",FAXSER,FAXJOB_"+"_FAXLCNUM_".TXT","A")
 .S AFFAX="Y"
 .U IO
 ;
 ;Checks to see if 1st 3 lines should print
 S PSOAFPFT=$P($G(^PS(59,PSOSITE,"RXFIN")),"^",9)
 ;
EN1 S OFF=$P(PS,"^",1)
 W $S(PSOAFPFT="N":"",1:OFF)
 ;
 S OFFAD=$P(PS,"^",7)_","_STATE_"  "_$G(PSOHZIP)
 W !
 W $S(PSOAFPFT="N":"",1:OFFAD)
 ;
 S OFFTEL=$P(PS,"^",3)_"-"_$P(PS,"^",4)
 W !
 W $S(PSOAFPFT="N":"",1:OFFTEL)
 ;
 S OFFFREE=$P($G(^PS(59,PSOSITE,"RXFIN")),"^",4)
 W !,OFFFREE
 ;
 W !,"---------------------------------------------------------------",!
 ;
 W !,"Rx for: "
 ;
 D 6^VADPT,PID^VADPT
 S PSOAFPTI=$S(DUZ("AG")="V":$E($G(VA("PID")),5,12),1:$G(VA("PID")))
 S AFPNAM=PNM_" "_$G(PSOAFPTI)
 W AFPNAM
 ;
 S AFPADD1=$G(VAPA(1))
 W !,"        ",AFPADD1
 ;
 S AFPADD2=$G(ADDR(2))
 W !,"        ",AFPADD2
 ;
 S AFPADD3=$G(ADDR(3))
 W !,"        ",AFPADD3
 ;
 S AFPADD4=$G(ADDR(4))
 W !,"        ",AFPADD4
 ;
 W !,"---------------------------------------------------------------",!
 S AFDRUG=DRUG
 W !,AFDRUG
 ;
 S SYNFLAG=$P($G(^PS(59,PSOSITE,"RXFIN")),"^",5)
 I SYNFLAG="Y"&(AFSYN'="") D
 .W !,"Also known as: "
 .W AFSYN
 ;
 I $P($G(^PSRX(RX,"RXFIN")),"^",1)="Y" S VFASDD="Y"
 I $G(VFASDD)="Y" D
 .W !,"Pharmacy may choose strength(s) of drug to meet requirements of directions"
 ;
 ;
SIG S SN=19
 W !
 F L=1:1:SIGL S SN=SN+1 W !,AFSIG(SN)
 W !
 ;
 W !,"   Dispense: "
 S AFDISP=$G(QTY)_" "_$G(PSDU)
 W AFDISP
 ;
 I $G(VFASDD)="Y" W "     Pharmacy to adjust qty for # of days"
 ;
 W !,"Days Supply: "
 S VFADAYS=$G(DAYS)
 W VFADAYS
 ;
 W !,"  Refill(s): "
 S AFRF=$P(RXY,"^",9)
 W AFRF
 ;
 W !," Issue Date: "
 W DATE
 ;
 ;Print Diagnosis
 I $P($G(^PS(59,PSOSITE,"RXFIN")),"^",8)="Y" D
DIAG .W !,"  Diagnosis:"
 .S AFICD9="None",AFICD="Not Available"
 .I $D(^OR(100,AFORD,5.1,0)) D
 ..S AFORL=0
 ..F L=1:1 S AFORL=$O(^OR(100,AFORD,5.1,AFORL)) Q:AFORL="B"!(AFORL=0)!(AFORL="")  D
 ...S AFORIN=$P($G(^OR(100,AFORD,5.1,AFORL,0)),"^",1)
 ...I AFORIN>"" D
 ....S AFICD9=$P($G(^ICD9(AFORIN,0)),"^",1)
 ....S AFICD=$P($G(^ICD9(AFORIN,0)),"^",3)
 ....W ?13,AFICD9,?23,AFICD
 .I AFICD9="None" W ?13,AFICD9,?23,AFICD
 ;
 ;Prints DOB
 I $P($G(^PS(59,PSOSITE,"RXFIN")),"^",7)="Y" D
 .S PSOAFDOB=$P($G(VADM(3)),"^",2)
 .W !,"        DOB: "_PSOAFDOB,!
 ;
 ;Prints Provider Comments
 ;W "MD Comments:"
 K ^UTILITY($J,"W") S PSNACNT=1,DIWL=0,DIWR=48,DIWF="",(PSSIXFL,PSSEVFL)=0 F ZZ=0:0 S ZZ=$O(^PSRX(RX,"PRC",ZZ)) Q:'ZZ  I $D(^(ZZ,0)) S X=^(0) D ^DIWP
 ;D ^DIWW
 I $D(^UTILITY($J,"W")) D
 .W "MD Comments:"
 .F ZZ=0:0 S ZZ=$O(^UTILITY($J,"W",DIWL,ZZ)) Q:'ZZ  I $D(^(ZZ,0)) W ?13,^(0),!
 K ^UTILITY($J,"W")
 ;
SIGN ;Prints DEA if it exists-if no DEA# prints VA# if it exists
 I $G(AFESFLAG)="Y" D
 .I $G(AFESYN)="Y" D
 ..S AFDEA=$$GET1^DIQ(200,AFESIGN,53.2,"I")
 ..I AFDEA="" D
 ...S AFDEA=$$GET1^DIQ(200,AFESIGN,53.3,"I")
 ..S AFESIGNN=$$GET1^DIQ(200,AFESIGN,.01,"I")
 ..S AFSIGN=$G(AFESIGNN)_"  "_AFDEA
 ;
SIGN1 I $G(AFESFLAG)'="Y" D
 .W !!!,"Signature:_________________________________________________"
 .;vfah prints DEA if it exists-if no DEA# prints VA# if it exists
 .S AFDEA=$$GET1^DIQ(200,PSOAFPRV,53.2,"I")
 .I AFDEA="" D
 ..S AFDEA=$$GET1^DIQ(200,PSOAFPRV,53.3,"I")
 .S AFSIGN="           "_$G(PHYS)_"  "_AFDEA
 ;
SIGNP I $G(AFESYN)="Y" S AFSIGN="Signed: /ES/"_AFSIGN
 W !,AFSIGN
 ;
 K AFESYN,AFESIGN,AFESIGNN
 ;
 W !!,"Must write BRAND NECESSARY to dispense brand drug"
 ;
 S AFPTIM=$S($D(REPRINT):"Re-Printed on: ",1:"Printed on: ")
 W !!,AFPTIM
 ;
 D NOW^%DTC S Y=% X ^DD("DD")
 S AFPRNDT=Y_"  ("_RX_")"
 W AFPRNDT
 ;
 I IO["AFFAX"!($G(AFFAX)="Y") D
 .S FAXFROM=$P($G(^PS(59,PSOSITE,"RXFIN")),"^",11)
 .W !!,"Faxed from: ",FAXFROM," ON ",Y
 ;
 I $D(REPRINT)&($G(PSOCKHN)'=",") W @IOF
 ;
 K VFASDD
 ;
 I IO["AFFAX"!($G(AFFAX)="Y") D CLOSE^%ZISH("HFSFAX") ;HMS CLOSE HFS FILE
 ;
 I $G(REPRINT)'=1 D
 .I IO["AFFAX"!($G(AFFAX)="Y") D
 ..S PSOLAP=$G(^SC(+ORL,"AFRXCLINPRNT"))
 ..S PSOLAP=$P(^%ZIS(1,PSOLAP,0),"^",1)
 ..S IOP=PSOLAP D ^%ZIS
 ..U IO
 ;
ACT ;Set activity log if faxed
 I IO["AFFAX"!($G(AFFAX)="Y") D
 .S (X,PCOM,PCOMX)="Faxed to: "_PSOAFFXP_" on "_Y
 .I '$D(PSOCLC) S PSOCLC=DUZ
ACT1 .S RXF=0 F J=0:0 S J=$O(^PSRX(RX,1,J)) Q:'J  S RXF=J S:J>5 RXF=J+1
 .S IR=0 F J=0:0 S J=$O(^PSRX(RX,"A",J)) Q:'J  S IR=J
 .S PSOAFPTZ=$S($D(REPRINT):"W",1:"AFFAX")
 .S IR=IR+1,^PSRX(RX,"A",0)="^52.3DA^"_IR_"^"_IR
 .D NOW^%DTC S ^PSRX(RX,"A",IR,0)=%_"^"_PSOAFPTZ_"^"_DUZ_"^"_RXF_"^"_PCOM K PC,IR,PS,PCOM,XX,%,%H,%I,RXF
 ;
 K PSOAFFXP,PSOAFFXL
 ;
 Q
