1 | PSOCIDC3 ;BIR/LE - continuation of Copay Correction of erroneous billed copays ;11/08/05 1:56pm
|
---|
2 | ;;7.0;OUTPATIENT PHARMACY;**226**;DEC 1997
|
---|
3 | ;
|
---|
4 | RPT ;
|
---|
5 | N JOBN,NAMSP,ZTDESC,ZTRTN
|
---|
6 | S NAMSP=$$NAMSP^PSOCIDC1
|
---|
7 | S JOBN="Copay Corrections"
|
---|
8 | L +^XTMP(NAMSP):0 I '$T D Q
|
---|
9 | .W !,JOBN_" job for PSO*7*226 is still running. Halting..."
|
---|
10 | L -^XTMP(NAMSP)
|
---|
11 | W !!,"This report shows the patient name and prescription information for"
|
---|
12 | W !,"copay field corrections and copays billed erroneously that were cancelled"
|
---|
13 | W !,"by the patch PSO*7*226."
|
---|
14 | ;
|
---|
15 | W !!,"You may queue the report to print, if you wish.",!
|
---|
16 | ;
|
---|
17 | DVC K %ZIS,POP,IOP S %ZIS="QM" D ^%ZIS I $G(POP) W !!,"Nothing queued to print.",! G DONE
|
---|
18 | QUEUE I $D(IO("Q")) S ZTRTN="START^PSOCIDC3",ZTDESC=JOBN_" copay cancellation report" D ^%ZTLOAD K %ZSI W !,"Report queued to print.",! G DONE
|
---|
19 | START ;
|
---|
20 | U IO
|
---|
21 | N BLDT,RXO,NAMSP,PSOFILL,PSODFN,PSONAM,PSOOUT,PSODV,RXP,SSN,PSODIV,PSODV
|
---|
22 | N CANCEL,JOBN,PSOPATID,PSOTOT,PSOTOTC
|
---|
23 | S NAMSP=$$NAMSP^PSOCIDC1
|
---|
24 | S JOBN="Copay Corrections"
|
---|
25 | S PSOOUT=0,PSODV=$S($E(IOST)="C":"C",1:"P")
|
---|
26 | S PSOPGCT=0,PSOPGLN=IOSL-7,PSOPGCT=1
|
---|
27 | S BLDT=$P($G(^XTMP(NAMSP,0,"LAST")),"^",2)
|
---|
28 | I '$D(DT) S DT=$$NOW^XLFDT
|
---|
29 | D TITLE
|
---|
30 | S (PSOTOT,PSOTOTC,PSONAM)=""
|
---|
31 | F S PSONAM=$O(^XTMP(NAMSP,"REL",PSONAM)) Q:PSONAM="" D
|
---|
32 | .S PSODFN=""
|
---|
33 | .F S PSODFN=$O(^XTMP(NAMSP,"REL",PSONAM,PSODFN)) Q:PSODFN="" D
|
---|
34 | ..S RXP=""
|
---|
35 | ..F S RXP=$O(^XTMP(NAMSP,"REL",PSONAM,PSODFN,RXP)) Q:RXP="" D
|
---|
36 | ...S PSOFILL=""
|
---|
37 | ...F S PSOFILL=$O(^XTMP(NAMSP,"REL",PSONAM,PSODFN,RXP,PSOFILL)) Q:PSOFILL="" D
|
---|
38 | ....N XX,RXO,Y,PSONAME
|
---|
39 | ....S XX=$G(^XTMP(NAMSP,"REL",PSONAM,PSODFN,RXP,PSOFILL)) D ;NOTE THIS IS THE RELEASE DATE
|
---|
40 | .....D FULL Q:$G(PSOOUT) S PSONAME=$P($G(^DPT(PSODFN,0)),"^")
|
---|
41 | .....S CANCEL="" I $D(^XTMP(NAMSP,"CANCEL",PSODFN,RXP,PSOFILL)) D CHK S:CANCEL PSOTOTC=PSOTOTC+1
|
---|
42 | .....W !,$S(CANCEL:"*",1:"") W:CANCEL $E(PSONAME,1,14) W:'CANCEL ?1,$E(PSONAME,1,14)
|
---|
43 | .....D PRTSSN
|
---|
44 | .....S RXO=$P($G(^PSRX(RXP,0)),"^")
|
---|
45 | .....W ?41," ",RXO," (",PSOFILL,")"
|
---|
46 | .....S Y=XX I Y>0 X ^DD("DD")
|
---|
47 | .....W ?55," ",Y
|
---|
48 | .....W ?69,$S($$PTCOV^IBCNSU3(PSODFN,XX,"PHARMACY"):"YES",1:" NO")
|
---|
49 | .....W ?75,$S($$PTCOV^IBCNSU3(PSODFN,BLDT,"PHARMACY"):"YES",1:" NO")
|
---|
50 | .....S PSOTOT=PSOTOT+1
|
---|
51 | W !!,"Total number of released prescriptions modified: ",PSOTOT
|
---|
52 | W !,"Total number of Cancelled Copay prescriptions: ",PSOTOTC
|
---|
53 | ;
|
---|
54 | ;UNRELEASED CORRECTED RX'S
|
---|
55 | D TITLE2
|
---|
56 | S (PSOTOT,PSONAM)=""
|
---|
57 | F S PSONAM=$O(^XTMP(NAMSP,"IBQ UPD",PSONAM)) Q:PSONAM="" D
|
---|
58 | .S PSODFN=""
|
---|
59 | .F S PSODFN=$O(^XTMP(NAMSP,"IBQ UPD",PSONAM,PSODFN)) Q:PSODFN="" D
|
---|
60 | ..S RXP=""
|
---|
61 | ..F S RXP=$O(^XTMP(NAMSP,"IBQ UPD",PSONAM,PSODFN,RXP)) Q:RXP="" D
|
---|
62 | ...S PSOFILL=""
|
---|
63 | ...F S PSOFILL=$O(^XTMP(NAMSP,"IBQ UPD",PSONAM,PSODFN,RXP,PSOFILL)) Q:PSOFILL="" D
|
---|
64 | ....N XX,RXO,Y,PSONAME
|
---|
65 | ....S XX=$G(^XTMP(NAMSP,"IBQ UPD",PSONAM,PSODFN,RXP,PSOFILL)) D ;NOTE THIS IS THE FILL DATE
|
---|
66 | .....D FULL Q:$G(PSOOUT) S PSONAME=$P($G(^DPT(PSODFN,0)),"^")
|
---|
67 | .....W !,$E(PSONAME,1,14)
|
---|
68 | .....D PRTSSN
|
---|
69 | .....S RXO=$P($G(^PSRX(RXP,0)),"^")
|
---|
70 | .....W ?41," ",RXO," (",PSOFILL,")"
|
---|
71 | .....S Y=XX I Y>0 X ^DD("DD")
|
---|
72 | .....W ?55," ",Y
|
---|
73 | .....W ?69,$S($$PTCOV^IBCNSU3(PSODFN,XX,"PHARMACY"):"YES",1:" NO")
|
---|
74 | .....W ?75,$S($$PTCOV^IBCNSU3(PSODFN,BLDT,"PHARMACY"):"YES",1:" NO")
|
---|
75 | .....S PSOTOT=PSOTOT+1
|
---|
76 | W !!,"Total number of un-released prescriptions modified: ",PSOTOT
|
---|
77 | G END
|
---|
78 | ;
|
---|
79 | FULL ;
|
---|
80 | I ($Y+7)>IOSL&('$G(PSOOUT)) D TITLE
|
---|
81 | Q
|
---|
82 | ;
|
---|
83 | CHK ;VERIFY COPAY WAS CANCELLED
|
---|
84 | N IBN,PSOREF,PSOIB,XX S PSOREF=PSOFILL
|
---|
85 | I PSOREF=0 S XX=$G(^PSRX(RXP,"IB")),IBN=$P(XX,"^",2)
|
---|
86 | I PSOREF>0 S XX=$G(^PSRX(RXP,1,PSOREF,"IB")),IBN=$P(XX,"^",1)
|
---|
87 | S XX=$$STATUS^IBARX(IBN)
|
---|
88 | S:$G(XX)=2 CANCEL=1
|
---|
89 | Q
|
---|
90 | ;
|
---|
91 | TITLE ;
|
---|
92 | I $G(PSODV)="C",$G(PSOPGCT)'=1 W ! K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S PSOOUT=1 Q
|
---|
93 | ;
|
---|
94 | W @IOF D
|
---|
95 | . W !,"Patch PSO*7*226 -Corrected Released Prescriptions "
|
---|
96 | . W !!,"Note that prescriptions where copay was cancelled are denoted with"
|
---|
97 | . W !,"an asterisk (*) in front of the patient name. Otherwise, only the"
|
---|
98 | . W !,"the IBQ node was updated.",!
|
---|
99 | S Y=DT X ^DD("DD") W !,"Date printed: ",Y,?70,"Page: ",PSOPGCT,!
|
---|
100 | F MJT=1:1:79 W "="
|
---|
101 | W !,?69,"INS ON DTE"
|
---|
102 | W !,"PATIENT NAME (SSN) DIV",?42,"RX# (FILL)",?55,"RELEASE DATE",?69,"REL BILL"
|
---|
103 | W !,"--------------- ------- --------------",?42,"------------"
|
---|
104 | W ?55,"------------",?69,"---- -----"
|
---|
105 | S PSOPGCT=PSOPGCT+1
|
---|
106 | Q
|
---|
107 | TITLE2 ;
|
---|
108 | I $G(PSODV)="C",$G(PSOPGCT)'=1 W ! K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S PSOOUT=1 Q
|
---|
109 | ;
|
---|
110 | W @IOF D
|
---|
111 | . W !,"Patch PSO*7*226 -Corrected Unreleased Prescriptions "
|
---|
112 | S Y=DT X ^DD("DD") W !,"Date printed: ",Y,?70,"Page: ",PSOPGCT,!
|
---|
113 | F MJT=1:1:79 W "="
|
---|
114 | W !,?69,"INS ON DTE"
|
---|
115 | W !,"PATIENT NAME (SSN) DIV",?43,"RX# (FILL)",?55,"FILL DATE",?69,"REL BILL"
|
---|
116 | W !,"-------------- ------- ----------------",?42,"------------"
|
---|
117 | W ?55,"------------",?69,"---- -----"
|
---|
118 | S PSOPGCT=PSOPGCT+1
|
---|
119 | Q
|
---|
120 | END ;
|
---|
121 | I '$G(PSOOUT),$G(PSODV)="C" W !!,"** End of Report **" K DIR S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR
|
---|
122 | I $G(PSODV)="C" W !
|
---|
123 | E W @IOF
|
---|
124 | DONE ;
|
---|
125 | K MJT,PSOPGCT,PSOPGLN,Y,DIR,X,IOP,POP,IO("Q"),DIRUT,DUOUT,DTOUT
|
---|
126 | D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
|
---|
127 | Q
|
---|
128 | ;
|
---|
129 | PRTSSN ;
|
---|
130 | S SSN=$P(^DPT(PSODFN,0),"^",9),SSN=$E(SSN,$L(SSN)-3,$L(SSN))
|
---|
131 | S PSOPATID=$E(PSONAM,1)_SSN
|
---|
132 | S PSODIV=$P($G(^PSRX(RXP,2)),"^",9)
|
---|
133 | S:PSODIV'="" PSODIV=$P($G(^PS(59,PSODIV,0)),"^",1)
|
---|
134 | W ?17,"("_PSOPATID_")"_" "_$E(PSODIV,1,15)
|
---|
135 | Q
|
---|
136 | ;
|
---|
137 | ETIME(SECTIME) ;convert seconds to day:hr:min:sec
|
---|
138 | N DAY,HR,MIN,SEC,ETIM
|
---|
139 | S (DAY,HR,MIN,SEC)=""
|
---|
140 | I SECTIME>86400 S DAY=SECTIME\86400,SECTIME=SECTIME#86400
|
---|
141 | I SECTIME>3600 S HR=SECTIME\3600,SECTIME=SECTIME#3600
|
---|
142 | I SECTIME>60 S MIN=SECTIME\60,SECTIME=SECTIME#60
|
---|
143 | S SEC=SECTIME
|
---|
144 | S ETIM=""
|
---|
145 | S:$L(HR)=1 HR=0_HR S:$L(MIN)=1 MIN=0_MIN S:$L(SEC)=1 SEC=0_SEC
|
---|
146 | S:DAY ETIM=DAY_" Day " S:HR ETIM=ETIM_HR_":" S:MIN ETIM=ETIM_MIN
|
---|
147 | S ETIM=ETIM_":"_SEC
|
---|
148 | Q ETIM
|
---|
149 | ;
|
---|
150 | MAIL3(MSG) ;management mail message
|
---|
151 | S PSOINST=$P($G(^DIC(4,+$P($G(^XMB(1,1,"XUS")),"^",17),99)),"^")
|
---|
152 | D NOW^%DTC S Y=% D DD^%DT S PSOEND=Y
|
---|
153 | K PSOTEXT
|
---|
154 | S XMY(DUZ)=""
|
---|
155 | S XMY("ELLZEY.LINDA@FORUM.VA.GOV")=""
|
---|
156 | S:$$PROD^XUPROD(1) XMY("ELLZEY.LINDA@FORUM.VA.GOV")=""
|
---|
157 | S XMDUZ="PSO*7*226 "_JOBN
|
---|
158 | S XMSUB="STATION "_$G(PSOINST)
|
---|
159 | S XMSUB=XMSUB_$S($$PROD^XUPROD(1):" (Prod)",1:" (Test)")
|
---|
160 | S XMSUB=XMSUB_" CANCELLED COPAYS FOR ERRONEOUSLY BILLED PRESCRIPTION FILLS"
|
---|
161 | S PSOTEXT(1)=""
|
---|
162 | S PSOTEXT(2)="Started "_PSOSTART
|
---|
163 | S PSOTEXT(3)=""
|
---|
164 | S PSOTEXT(4)=" "_MSG
|
---|
165 | S PSOTEXT(5)=""
|
---|
166 | S PSOTEXT(6)="NO FURTHER ACTION REQUIRED."
|
---|
167 | S XMTEXT="PSOTEXT(" N DIFROM D ^XMD K XMDUZ,XMTEXT,XMSUB
|
---|
168 | Q
|
---|
169 | ;
|
---|