1 | PSOCPE ;BIR/BAB - PHARMACY COPAY APPLICATION UTILITIES FOR IB ;10/26/92
|
---|
2 | ;;7.0;OUTPATPSOCT PHARMACY;**26,71,85,114,157,219,268**;DEC 1997;Build 9
|
---|
3 | ;
|
---|
4 | ;REF/IA
|
---|
5 | ;^XUSEC/10076
|
---|
6 | ;^PSDRUG(/221
|
---|
7 | ;Routine initially released as part of the copayment enhancement.
|
---|
8 | ;called from PSOLBL
|
---|
9 | INV ; Entry point from PSOCP - Prints one copay invoice
|
---|
10 | I '$D(PSOCPN)!($G(RXP)) Q
|
---|
11 | S PSOCPBAR=0
|
---|
12 | I $D(PSOBARS),PSOBARS S PSOCPBAR=1
|
---|
13 | D DEM^VADPT S Y=DT X ^DD("DD") S EDT=Y
|
---|
14 | W ?54,"PRESCRIPTION COPAYMENT INFORMATION"
|
---|
15 | W !!,?54,VADM(1)," ",VA("PID")," ",EDT
|
---|
16 | S PSZ1=0,PSZ2="",PSOCPBN=$P(VADM(2),"^"),PSOCPBN=$S(PSOCPBN]"":PSOCPBN,1:"Unavailable")
|
---|
17 | ;I '$G(PSOCPN) S PSOCPN=$P(^PSRX(RX,0),U,2)
|
---|
18 | I PSOCPBAR,(PSOCPBN]"") S X="S",X2=PSOCPBN W !,?54,@PSOBAR1,PSOCPBN,@PSOBAR0
|
---|
19 | E W !
|
---|
20 | W !,?54,"The following prescriptions are"
|
---|
21 | W !,?54,"eligible for prescription copayment.",!!
|
---|
22 | DRUG S PSZ2="" F S PSZ2=$O(^TMP($J,"PSOCP",PSOCPN,PSZ2)) Q:PSZ2']"" S PSZ=^(PSZ2) D PRT
|
---|
23 | NAR ; Print narrative from site parameter file
|
---|
24 | K ^UTILITY($J,"W") S DIWL=55,DIWR=99,DIWF="" W !
|
---|
25 | G:'$D(^PS(59,PSOSITE,4,0)) END
|
---|
26 | G:$P(^PS(59,PSOSITE,4,0),"^",3)'>0 END
|
---|
27 | F PSO9=0:0 S PSO9=$O(^PS(59,PSOSITE,4,PSO9)) G:'PSO9 P1 I $D(^PS(59,PSOSITE,4,PSO9,0)) S X=^(0) D ^DIWP
|
---|
28 | P1 D ^DIWW
|
---|
29 | K DIWF,DIWL,DIWR,PSO9
|
---|
30 | END ;
|
---|
31 | W @IOF
|
---|
32 | K ^TMP($J,"PSOCP",PSOCPN),PSOCPBAR,PSOCPBN,PSZ1,PSZ2,PSOCPN,DIWF,DIWL,DIWR,PSO9
|
---|
33 | Q
|
---|
34 | PRT ;
|
---|
35 | W ?54,PSZ2
|
---|
36 | W ?72," ",$P(^TMP($J,"PSOCP",PSOCPN,PSZ2),"^",3)," ","Days Supply",!
|
---|
37 | W ?56,$E($P(^TMP($J,"PSOCP",PSOCPN,PSZ2),U,2),1,45),!
|
---|
38 | Q
|
---|
39 | XMPT ; Entry point for menu option to select copay exemption
|
---|
40 | N PSORXPNM,PSORXPRE,PSOCPEDA
|
---|
41 | I '$D(PSOPAR) D ^PSOLSET G XMPT
|
---|
42 | W ! S (DIC,DIE)="^PS(53,",DIC(0)="AEQMZ" D ^DIC K DIC G:Y<0 QUIT
|
---|
43 | G:$D(DTOUT) QUIT
|
---|
44 | S PSORXPRE=$P($G(^PS(53,+$G(Y),0)),"^",7)
|
---|
45 | S PSORXPNM=$P($G(^PS(53,+$G(Y),0)),"^")
|
---|
46 | S DA=+Y,DR="15" L +^PS(53,DA):$S(+$G(^DD("DILOCKTM"))>0:+^DD("DILOCKTM"),1:3) I '$T W !!,PSORXPNM_" is locked by another user. Try Later!" W ! D PAGE G QUIT
|
---|
47 | W ! D ^DIE
|
---|
48 | I PSORXPRE,$P($G(^PS(53,DA,0)),"^",7) W !!,"All Rx's entered with this Rx Patient Status will be EXEMPT from Copayment.",! D PAGE L -^PS(53,DA) G QUIT
|
---|
49 | I 'PSORXPRE,'$P($G(^PS(53,DA,0)),"^",7) W !!,"All Rx's entered with this Rx Patient Status will NOT be exempt from Copayment.",! D PAGE L -^PS(53,DA) G QUIT
|
---|
50 | D WARN L -^PS(53,DA)
|
---|
51 | QUIT K PSORXPRE,DIE,DIC,DA,DR,X,C,Y
|
---|
52 | Q
|
---|
53 | PAGE ;
|
---|
54 | I '$G(DUZ("AUTO")) K DIR S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR
|
---|
55 | Q
|
---|
56 | WARN ;
|
---|
57 | S PSOCPEDA=$G(DA)
|
---|
58 | W !!?28,"**** WARNING ****",!
|
---|
59 | I 'PSORXPRE W !,"By setting the Exempt from Copayment for the Rx Patient Status of",!,PSORXPNM," to 'YES', every prescription entered",!,"with this Rx Patient Status will NOT be charged a Copayment.",!
|
---|
60 | I PSORXPRE W !,"By setting the EXEMPT FROM COPAYMENT for the Rx Patient Status of ",!,PSORXPNM," to 'NO', prescriptions entered with this Rx",!,"Patient Status from this point on will NOT be exempt from Copayment.",!
|
---|
61 | W !,"A mail message will be sent to PSORPH and PSO COPAY Key holders informing",!,"them of your change."
|
---|
62 | W ! K DIR S DIR(0)="Y",DIR("A")="Are you sure you want to do this",DIR("B")="Y" D ^DIR K DIR
|
---|
63 | I $G(Y) D D MAIL G WARNX
|
---|
64 | .I 'PSORXPRE W !!,"Setting ",PSORXPNM," Rx Patient Status to Exempt from Copayment." Q
|
---|
65 | .W !!,"Setting Exempt from Copayment to 'NO' for the ",PSORXPNM,!,"Rx Patient Status."
|
---|
66 | I 'PSORXPRE W !!,"No action taken." S $P(^PS(53,PSOCPEDA,0),"^",7)=0 H 1
|
---|
67 | I PSORXPRE W !!,"No action taken." S $P(^PS(53,PSOCPEDA,0),"^",7)=1 H 1
|
---|
68 | WARNX W ! D PAGE
|
---|
69 | S DA=$G(PSOCPEDA) K PSOCPEDA
|
---|
70 | Q
|
---|
71 | MAIL ;
|
---|
72 | K PSOTXT,PSOCFN,PSODCPA
|
---|
73 | I $G(DUZ) S DIC=200,DR=".01",DA=DUZ,DIQ(0)="E",DIQ="PSODCPA(" D EN^DIQ1 S PSOCFN=$G(PSODCPA(200,DA,.01,"E")) K PSODCPA,DIC,DIQ,DR
|
---|
74 | I 'PSORXPRE S PSOTXT(1,0)="The "_PSORXPNM_" Rx Patient Status has been marked as",PSOTXT(2,0)="Exempt from Copayment by "_$G(PSOCFN)_".",PSOTXT(3,0)="Every prescription with this Rx Patient Status will not be charged a Copayment."
|
---|
75 | I PSORXPRE S PSOTXT(1,0)="The Exempt from Copayment status has been removed from the",PSOTXT(2,0)=PSORXPNM_" Rx Patient Status by "_$G(PSOCFN)_".",PSOTXT(3,0)="Prescriptions entered with this Rx Patient Status will not be exempt from"
|
---|
76 | I PSORXPRE S PSOTXT(4,0)="Copayment."
|
---|
77 | F PSOCXPDA=0:0 S PSOCXPDA=$O(^XUSEC("PSORPH",PSOCXPDA)) Q:'PSOCXPDA S XMY(PSOCXPDA)=""
|
---|
78 | F PSOCXPDA=0:0 S PSOCXPDA=$O(^XUSEC("PSO COPAY",PSOCXPDA)) Q:'PSOCXPDA S XMY(PSOCXPDA)=""
|
---|
79 | I $G(DUZ) S XMY(DUZ)=""
|
---|
80 | S XMSUB="Exempt from Copayment",XMTEXT="PSOTXT(",XMDUZ="Outpatient Pharmacy" D ^XMD
|
---|
81 | K PSOTXT,PSOCXPDA,XMDUZ,PSOCFN,XMTEXT,XMSUB,XMY
|
---|
82 | Q
|
---|
83 | ;
|
---|
84 | MAIL2 ; SEND MAIL TO PHARMACIST, PROVIDER, AND HOLDERS OF PSO COPAY KEY
|
---|
85 | N PSOC,PSOTXT,X
|
---|
86 | K XMY
|
---|
87 | S XMSUB="PRESCRIPTION QUESTIONS REVIEW NEEDED"
|
---|
88 | S XMDUZ="Outpatient Pharmacy Package"
|
---|
89 | S PSOTXT(1)=" "
|
---|
90 | S DFN=+$P($G(^PSRX(RXP,0)),"^",2) D PID^VADPT
|
---|
91 | S PSODIV=$P($G(^PSRX(RXP,2)),"^",9) S:PSODIV'="" XMSUB=XMSUB_" ("_$P($G(^PS(59,PSODIV,0)),"^",6)_")",PSODIV=$P($G(^PS(59,PSODIV,0)),"^",1) ; ADDED DIVISION NUMBER TO SUBJECT LINE - PATCH 85
|
---|
92 | S PSOTXT(2)=$P($G(^DPT($P(^PSRX(RXP,0),"^",2),0)),"^",1)_" ("_$G(VA("BID"))_")"_" "_PSODIV
|
---|
93 | D ELIG
|
---|
94 | S PSOTXT(PSOC)="Rx# "_$P(^PSRX(RXP,0),"^",1)_" ("_PSOREF_") "_$S('$G(^PSRX(RXP,"IB")):"NO COPAY",1:"COPAY")
|
---|
95 | S PSOC=PSOC+1
|
---|
96 | S DRG=+$P(^PSRX(RXP,0),"^",6)
|
---|
97 | S PSOC=PSOC+1
|
---|
98 | S PSOTXT(PSOC)=$P($G(^PSDRUG(DRG,0)),"^",1)
|
---|
99 | S PSOC=PSOC+1
|
---|
100 | S PSOTXT(PSOC)=" "
|
---|
101 | S PSOC=PSOC+1
|
---|
102 | S PSOTXT(PSOC)="Due to a change in criteria, additional information listed below is needed"
|
---|
103 | S PSOC=PSOC+1
|
---|
104 | S PSOTXT(PSOC)="to determine the final VA copay and/or insurance billable status for this Rx"
|
---|
105 | S PSOC=PSOC+1
|
---|
106 | S PSOTXT(PSOC)="so that appropriate action can be taken by pharmacy personnel."
|
---|
107 | S PSOC=PSOC+1
|
---|
108 | S PSOTXT(PSOC)=" "
|
---|
109 | S PSOC=PSOC+1
|
---|
110 | F EXMT="SC","CV","AO","IR","EC","MST","HNC" I $D(PSOTG(EXMT)) D
|
---|
111 | . I PSOTG(EXMT)'="" Q
|
---|
112 | . S PSOLTAG="REL"_EXMT
|
---|
113 | . S PSOQUES=$P($T(@PSOLTAG),";",2) I PSOQUES="" Q
|
---|
114 | . S PSOC=PSOC+1,PSOTXT(PSOC)=PSOQUES
|
---|
115 | . S PSOQUES=$P($T(@PSOLTAG),";",2) I PSOQUES="" Q
|
---|
116 | S PSOC=PSOC+1,PSOTXT(PSOC)=" "
|
---|
117 | S PSOC=PSOC+1,PSOTXT(PSOC)="This message has been sent to the provider of record, the pharmacist who"
|
---|
118 | S PSOC=PSOC+1,PSOTXT(PSOC)="finished the prescription order, and all holders of the PSO COPAY key."
|
---|
119 | S PSOC=PSOC+1,PSOTXT(PSOC)=" "
|
---|
120 | S PSOC=PSOC+1,PSOTXT(PSOC)="Providers:"
|
---|
121 | S PSOC=PSOC+1,PSOTXT(PSOC)="Please respond with your answer to the question(s) as a reply to this"
|
---|
122 | S PSOC=PSOC+1,PSOTXT(PSOC)="message. The prescription will be updated by the appropriate staff."
|
---|
123 | S PSOC=PSOC+1,PSOTXT(PSOC)=" "
|
---|
124 | S PSOC=PSOC+1,PSOTXT(PSOC)="Staff assigned to update the Prescription responses:"
|
---|
125 | S PSOC=PSOC+1,PSOTXT(PSOC)="Please use the RESET COPAY STATUS/CANCEL CHARGES option to enter the responses"
|
---|
126 | S PSOC=PSOC+1,PSOTXT(PSOC)="to the questions above, which may result in a Rx copay status change and/or"
|
---|
127 | S PSOC=PSOC+1,PSOTXT(PSOC)="the need to remove VA copay charges or may result in a charge to the patient's"
|
---|
128 | S PSOC=PSOC+1,PSOTXT(PSOC)="insurance carrier."
|
---|
129 | S PSOC=PSOC+1,PSOTXT(PSOC)=" "
|
---|
130 | S PSOC=PSOC+1,PSOTXT(PSOC)="Note: The SC question is now asked for Veterans who are SC>49% in order to"
|
---|
131 | S PSOC=PSOC+1,PSOTXT(PSOC)="determine if the Rx can be billed to a third party insurance. These Veterans"
|
---|
132 | S PSOC=PSOC+1,PSOTXT(PSOC)="will NOT be charged a VA copay."
|
---|
133 | S PSOC=PSOC+1,PSOTXT(PSOC)=" "
|
---|
134 | S PSOC=PSOC+1,PSOTXT(PSOC)="Supply and investigational drugs are not charged a VA copay but could be"
|
---|
135 | S PSOC=PSOC+1,PSOTXT(PSOC)="reimbursable by third party insurance."
|
---|
136 | ; S XMY() TO ALL THE RECIPIENTS
|
---|
137 | I '$G(PSOREF) S XMY(+$P(^PSRX(RXP,0),"^",4))="" ; ORIGINAL
|
---|
138 | I $G(PSOREF) S XMY(+$P(^PSRX(RXP,1,PSOREF,0),"^",17))="" ; REFILL
|
---|
139 | I $G(^PSRX(RXP,"OR1")) I $P(^PSRX(RXP,"OR1"),"^",5)'="" S XMY($P(^PSRX(RXP,"OR1"),"^",5))=""
|
---|
140 | F PSOCXPDA=0:0 S PSOCXPDA=$O(^XUSEC("PSO COPAY",PSOCXPDA)) Q:'PSOCXPDA S XMY(PSOCXPDA)=""
|
---|
141 | S XMTEXT="PSOTXT("
|
---|
142 | D ^XMD K XMSUB,XMY,XMDUZ,XMTEXT,PSODIV,PSOCXPDA,PSOLTAG,PSOC,PSOQUES,PSOTG
|
---|
143 | Q
|
---|
144 | ;
|
---|
145 | ELIG D ELIG^VADPT S PSOC=3,PSOTXT(PSOC)="Eligibility: "_$P(VAEL(1),"^",2)_$S(+VAEL(3):" SC%: "_$P(VAEL(3),"^",2),1:""),PSOC=PSOC+1
|
---|
146 | N N,I,I1,PSDIS,PSCNT
|
---|
147 | S N=0 F S N=$O(VAEL(1,N)) Q:'N S $P(PSOTXT(PSOC)," ",14)=$P(VAEL(1,N),"^",2),PSOC=PSOC+1
|
---|
148 | S PSOTXT(PSOC)=" ",PSOC=PSOC+1,PSOTXT(PSOC)="Disabilities: "
|
---|
149 | F I=0:0 S I=$O(^DPT(DFN,.372,I)) Q:'I S I1=$S($D(^DPT(DFN,.372,I,0)):^(0),1:"") D:+I1
|
---|
150 | .S PSDIS=$S($P($G(^DIC(31,+I1,0)),"^")]""&($P($G(^(0)),"^",4)']""):$P(^(0),"^"),$P($G(^DIC(31,+I1,0)),"^",4)]"":$P(^(0),"^",4),1:""),PSCNT=$P(I1,"^",2)
|
---|
151 | .S:$L(PSOTXT(PSOC)_PSDIS_"-"_PSCNT_"% ("_$S($P(I1,"^",3):"SC",1:"NSC")_"), ")>80 PSOC=PSOC+1,$P(PSOTXT(PSOC)," ",14)=" "
|
---|
152 | .S PSOTXT(PSOC)=$G(PSOTXT(PSOC))_PSDIS_"-"_PSCNT_"%("_$S($P(I1,"^",3):"SC",1:"NSC")_"), "
|
---|
153 | S PSOC=PSOC+1 S PSOTXT(PSOC)=" ",PSOC=PSOC+1
|
---|
154 | Q
|
---|
155 | ;
|
---|
156 | ;EXEMPTION QUESTIONS - MAIL MESSAGE POSITION;SUBSCRIPT IN "IBQ" NODE
|
---|
157 | RELSC ;Is this Rx for a Service Connected Condition?;1
|
---|
158 | RELMST ;Is this Rx related to the treatment of Military Sexual Trauma?;2
|
---|
159 | RELAO ;Is this Rx for treatment of Vietnam-Era Herbicide (Agent Orange) exposure?;3
|
---|
160 | RELIR ;Is this Rx for treatment of Ionizing Radiation exposure?;4
|
---|
161 | RELEC ;Is this Rx for treatment of Environmental Contaminants exposure?;5
|
---|
162 | RELHNC ;Is this Rx related to treatment of Head and/or Neck Cancer?;6
|
---|
163 | RELCV ;Is this Rx potentially for treatment related to Combat?;7
|
---|
164 | ;
|
---|