| 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 | ; | 
|---|