| 1 | PSOCIDC4 ;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 | MAIL ;user mail message
 | 
|---|
| 5 |  N TOTAMT,TOTUAMT,TOTCAMT,PSOCXPDA,PSOCHRG
 | 
|---|
| 6 |  D NOW^%DTC S Y=% D DD^%DT S PSOEND=Y
 | 
|---|
| 7 |  S PSOEND2=$$FMTE^XLFDT(%,"1PS")
 | 
|---|
| 8 |  I $G(DUZ) S XMY(DUZ)=""
 | 
|---|
| 9 |  S XMDUZ="PSO*7*226 "_JOBN
 | 
|---|
| 10 |  S XMSUB="Outpatient Pharmacy PSO*7*226 "_JOBN
 | 
|---|
| 11 |  S XMY("ELLZEY.LINDA@FORUM.VA.GOV")=""
 | 
|---|
| 12 |  F PSOCXPDA=0:0 S PSOCXPDA=$O(^XUSEC("PSO COPAY",PSOCXPDA)) Q:'PSOCXPDA  S XMY(PSOCXPDA)=""
 | 
|---|
| 13 |  I $O(XMY(""))="" Q  ; no recipients for mail message
 | 
|---|
| 14 |  S PSOTEXT(1)="The Rx "_JOBN_" job for the Outpatient Pharmacy patch (PSO*7*226)"
 | 
|---|
| 15 |  S PSOTEXT(2)="started "_PSOSTART_" and completed "_PSOEND_"."
 | 
|---|
| 16 |  S PSOTEXT(3)=" "
 | 
|---|
| 17 |  I PSOCCNT=0 S PSOTEXT(4)="No erroneously billed copay fills were found."
 | 
|---|
| 18 |  I PSOCNT=0 S PSOTEXT(5)="No released prescriptions were found that needed IBQ node corrections."
 | 
|---|
| 19 |  I PSOUCNT=0 S PSOTEXT(6)="No un-released prescription were found that needed IBQ node corrections."
 | 
|---|
| 20 |  I PSOCNT>0!(PSOUCNT>0)!(PSOCCNT>0) D
 | 
|---|
| 21 |  . S (TOTUAMT,TOTAMT,TOTCAMT)=0
 | 
|---|
| 22 |  . F XX="YR2004","YR2005","YR2006" D
 | 
|---|
| 23 |  .. S PSOCHRG=7 S:XX="YR2006" PSOCHRG=8
 | 
|---|
| 24 |  .. F YY=1:1:3 S PSOAMT(XX,YY)=PSOCNT(XX,YY)*YY*PSOCHRG,TOTAMT=TOTAMT+PSOAMT(XX,YY)
 | 
|---|
| 25 |  .. F YY=1:1:3 S PSOUAMT(XX,YY)=PSOUCNT(XX,YY)*YY*PSOCHRG,TOTUAMT=TOTUAMT+PSOUAMT(XX,YY)
 | 
|---|
| 26 |  .. F YY=1:1:3 S PSOCAMT(XX,YY)=PSOCCNT(XX,YY)*YY*PSOCHRG,TOTCAMT=TOTCAMT+PSOCAMT(XX,YY)
 | 
|---|
| 27 |  . S PSOTEXT(4)="Erroneously billed prescriptions and copay related fields have been corrected."
 | 
|---|
| 28 |  . S PSOTEXT(5)="There were "_$FN(PSOCNT,",")_" released fills successfully updated for "_$FN(PSOVETS,",")_" veterans."
 | 
|---|
| 29 |  . S PSOTEXT(6)=" "
 | 
|---|
| 30 |  . S PSOTEXT(7)="Released fills corrected by year:"
 | 
|---|
| 31 |  . S PSOTEXT(8)="2004  30-DAY EQUIVALENT FILLS: "_$J(PSOCNT("YR2004",1),6)
 | 
|---|
| 32 |  . S PSOTEXT(8)=PSOTEXT(8)_"     $"_$J($FN(PSOAMT("YR2004",1),","),9)
 | 
|---|
| 33 |  . S PSOTEXT(9)="2004  60-DAY EQUIVALENT FILLS: "_$J(PSOCNT("YR2004",2),6)
 | 
|---|
| 34 |  . S PSOTEXT(9)=PSOTEXT(9)_"     $"_$J($FN(PSOAMT("YR2004",2),","),9)
 | 
|---|
| 35 |  . S PSOTEXT(10)="2004  90-DAY EQUIVALENT FILLS: "_$J(PSOCNT("YR2004",3),6)
 | 
|---|
| 36 |  . S PSOTEXT(10)=PSOTEXT(10)_"     $"_$J($FN(PSOAMT("YR2004",3),","),9)
 | 
|---|
| 37 |  . S PSOTEXT(11)=""
 | 
|---|
| 38 |  . S PSOTEXT(12)="2005  30-DAY EQUIVALENT FILLS: "_$J(PSOCNT("YR2005",1),6)
 | 
|---|
| 39 |  . S PSOTEXT(12)=PSOTEXT(12)_"     $"_$J($FN(PSOAMT("YR2005",1),","),9)
 | 
|---|
| 40 |  . S PSOTEXT(13)="2005  60-DAY EQUIVALENT FILLS: "_$J(PSOCNT("YR2005",2),6)
 | 
|---|
| 41 |  . S PSOTEXT(13)=PSOTEXT(13)_"     $"_$J($FN(PSOAMT("YR2005",2),","),9)
 | 
|---|
| 42 |  . S PSOTEXT(14)="2005  90-DAY EQUIVALENT FILLS: "_$J(PSOCNT("YR2005",3),6)
 | 
|---|
| 43 |  . S PSOTEXT(14)=PSOTEXT(14)_"     $"_$J($FN(PSOAMT("YR2005",3),","),9)
 | 
|---|
| 44 |  . S PSOTEXT(15)=""
 | 
|---|
| 45 |  . S PSOTEXT(16)="2006  30-DAY EQUIVALENT FILLS: "_$J(PSOCNT("YR2006",1),6)
 | 
|---|
| 46 |  . S PSOTEXT(16)=PSOTEXT(16)_"     $"_$J($FN(PSOAMT("YR2006",1),","),9)
 | 
|---|
| 47 |  . S PSOTEXT(17)="2006  60-DAY EQUIVALENT FILLS: "_$J(PSOCNT("YR2006",2),6)
 | 
|---|
| 48 |  . S PSOTEXT(17)=PSOTEXT(17)_"     $"_$J($FN(PSOAMT("YR2006",2),","),9)
 | 
|---|
| 49 |  . S PSOTEXT(18)="2006  90-DAY EQUIVALENT FILLS: "_$J(PSOCNT("YR2006",3),6)
 | 
|---|
| 50 |  . S PSOTEXT(18)=PSOTEXT(18)_"     $"_$J($FN(PSOAMT("YR2006",3),","),9)
 | 
|---|
| 51 |  . S PSOTEXT(19)="                                          =========="
 | 
|---|
| 52 |  . S PSOTEXT(20)="                                    TOTAL $"_$J($FN(TOTAMT,","),9)
 | 
|---|
| 53 |  . S PSOTEXT(21)=" "
 | 
|---|
| 54 |  . S PSOTEXT(22)="Out of the above total, there were "_$FN(PSOCCNT,",")_" cancelled copays for "_$FN(PSOCVETS,",")_" veterans."
 | 
|---|
| 55 |  . S PSOTEXT(23)=" "
 | 
|---|
| 56 |  . S PSOTEXT(24)="COPAY cancelled fills by year:"
 | 
|---|
| 57 |  . S PSOTEXT(25)="2004  30-DAY EQUIVALENT FILLS: "_$J(PSOCCNT("YR2004",1),6)
 | 
|---|
| 58 |  . S PSOTEXT(25)=PSOTEXT(25)_"     $"_$J($FN(PSOCAMT("YR2004",1),","),9)
 | 
|---|
| 59 |  . S PSOTEXT(26)="2004  60-DAY EQUIVALENT FILLS: "_$J(PSOCCNT("YR2004",2),6)
 | 
|---|
| 60 |  . S PSOTEXT(26)=PSOTEXT(26)_"     $"_$J($FN(PSOCAMT("YR2004",2),","),9)
 | 
|---|
| 61 |  . S PSOTEXT(27)="2004  90-DAY EQUIVALENT FILLS: "_$J(PSOCCNT("YR2004",3),6)
 | 
|---|
| 62 |  . S PSOTEXT(27)=PSOTEXT(27)_"     $"_$J($FN(PSOCAMT("YR2004",3),","),9)
 | 
|---|
| 63 |  . S PSOTEXT(28)=""
 | 
|---|
| 64 |  . S PSOTEXT(29)="2005  30-DAY EQUIVALENT FILLS: "_$J(PSOCCNT("YR2005",1),6)
 | 
|---|
| 65 |  . S PSOTEXT(29)=PSOTEXT(29)_"     $"_$J($FN(PSOCAMT("YR2005",1),","),9)
 | 
|---|
| 66 |  . S PSOTEXT(30)="2005  60-DAY EQUIVALENT FILLS: "_$J(PSOCCNT("YR2005",2),6)
 | 
|---|
| 67 |  . S PSOTEXT(30)=PSOTEXT(30)_"     $"_$J($FN(PSOCAMT("YR2005",2),","),9)
 | 
|---|
| 68 |  . S PSOTEXT(31)="2005  90-DAY EQUIVALENT FILLS: "_$J(PSOCCNT("YR2005",3),6)
 | 
|---|
| 69 |  . S PSOTEXT(31)=PSOTEXT(31)_"     $"_$J($FN(PSOCAMT("YR2005",3),","),9)
 | 
|---|
| 70 |  . S PSOTEXT(32)=" "
 | 
|---|
| 71 |  . S PSOTEXT(33)="2006  30-DAY EQUIVALENT FILLS: "_$J(PSOCCNT("YR2006",1),6)
 | 
|---|
| 72 |  . S PSOTEXT(33)=PSOTEXT(33)_"     $"_$J($FN(PSOCAMT("YR2006",1),","),9)
 | 
|---|
| 73 |  . S PSOTEXT(34)="2006  60-DAY EQUIVALENT FILLS: "_$J(PSOCCNT("YR2006",2),6)
 | 
|---|
| 74 |  . S PSOTEXT(34)=PSOTEXT(34)_"     $"_$J($FN(PSOCAMT("YR2006",2),","),9)
 | 
|---|
| 75 |  . S PSOTEXT(35)="2006  90-DAY EQUIVALENT FILLS: "_$J(PSOCCNT("YR2006",3),6)
 | 
|---|
| 76 |  . S PSOTEXT(35)=PSOTEXT(35)_"     $"_$J($FN(PSOCAMT("YR2006",3),","),9)
 | 
|---|
| 77 |  . S PSOTEXT(36)="                                          =========="
 | 
|---|
| 78 |  . S PSOTEXT(37)="                                    TOTAL $"_$J($FN(TOTCAMT,","),9)
 | 
|---|
| 79 |  . S PSOTEXT(38)=" "
 | 
|---|
| 80 |  . S PSOTEXT(39)="There were "_$FN(PSOUCNT,",")_" unreleased fills successfully updated for "_$FN(PSOUVETS,",")_" veterans."
 | 
|---|
| 81 |  . S PSOTEXT(40)=" "
 | 
|---|
| 82 |  . S PSOTEXT(41)="Unreleased fills corrected by year:"
 | 
|---|
| 83 |  . S PSOTEXT(42)="2004  30-DAY EQUIVALENT FILLS: "_$J(PSOUCNT("YR2004",1),6)
 | 
|---|
| 84 |  . S PSOTEXT(42)=PSOTEXT(42)_"     $"_$J($FN(PSOUAMT("YR2004",1),","),9)
 | 
|---|
| 85 |  . S PSOTEXT(43)="2004  60-DAY EQUIVALENT FILLS: "_$J(PSOUCNT("YR2004",2),6)
 | 
|---|
| 86 |  . S PSOTEXT(43)=PSOTEXT(43)_"     $"_$J($FN(PSOUAMT("YR2004",2),","),9)
 | 
|---|
| 87 |  . S PSOTEXT(44)="2004  90-DAY EQUIVALENT FILLS: "_$J(PSOUCNT("YR2004",3),6)
 | 
|---|
| 88 |  . S PSOTEXT(44)=PSOTEXT(44)_"     $"_$J($FN(PSOUAMT("YR2004",3),","),9)
 | 
|---|
| 89 |  . S PSOTEXT(45)=""
 | 
|---|
| 90 |  . S PSOTEXT(46)="2005  30-DAY EQUIVALENT FILLS: "_$J(PSOUCNT("YR2005",1),6)
 | 
|---|
| 91 |  . S PSOTEXT(46)=PSOTEXT(46)_"     $"_$J($FN(PSOUAMT("YR2005",1),","),9)
 | 
|---|
| 92 |  . S PSOTEXT(47)="2005  60-DAY EQUIVALENT FILLS: "_$J(PSOUCNT("YR2005",2),6)
 | 
|---|
| 93 |  . S PSOTEXT(47)=PSOTEXT(47)_"     $"_$J($FN(PSOUAMT("YR2005",2),","),9)
 | 
|---|
| 94 |  . S PSOTEXT(48)="2005  90-DAY EQUIVALENT FILLS: "_$J(PSOUCNT("YR2005",3),6)
 | 
|---|
| 95 |  . S PSOTEXT(48)=PSOTEXT(48)_"     $"_$J($FN(PSOUAMT("YR2005",3),","),9)
 | 
|---|
| 96 |  . S PSOTEXT(49)=" "
 | 
|---|
| 97 |  . S PSOTEXT(50)="2006  30-DAY EQUIVALENT FILLS: "_$J(PSOUCNT("YR2006",1),6)
 | 
|---|
| 98 |  . S PSOTEXT(50)=PSOTEXT(50)_"     $"_$J($FN(PSOUAMT("YR2006",1),","),9)
 | 
|---|
| 99 |  . S PSOTEXT(51)="2006  60-DAY EQUIVALENT FILLS: "_$J(PSOUCNT("YR2006",2),6)
 | 
|---|
| 100 |  . S PSOTEXT(51)=PSOTEXT(51)_"     $"_$J($FN(PSOUAMT("YR2006",2),","),9)
 | 
|---|
| 101 |  . S PSOTEXT(52)="2006  90-DAY EQUIVALENT FILLS: "_$J(PSOUCNT("YR2006",3),6)
 | 
|---|
| 102 |  . S PSOTEXT(52)=PSOTEXT(52)_"     $"_$J($FN(PSOUAMT("YR2006",3),","),9)
 | 
|---|
| 103 |  . S PSOTEXT(53)="                                          =========="
 | 
|---|
| 104 |  . S PSOTEXT(54)="                                    TOTAL $"_$J($FN(TOTUAMT,","),9)
 | 
|---|
| 105 |  . S PSOTEXT(55)=" "
 | 
|---|
| 106 |  . S PSOTEXT(56)="To get a report of patients/prescriptions that were affected as"
 | 
|---|
| 107 |  . S PSOTEXT(57)="part of this process, contact your IRM to enter D RPT^PSOCIDC3 at"
 | 
|---|
| 108 |  . S PSOTEXT(58)="the programmer's prompt."
 | 
|---|
| 109 |  ;
 | 
|---|
| 110 |  S XMTEXT="PSOTEXT(" N DIFROM D ^XMD K XMDUZ,XMTEXT,XMSUB
 | 
|---|
| 111 |  Q
 | 
|---|
| 112 |  ;
 | 
|---|
| 113 | MAIL2 ;management mail message
 | 
|---|
| 114 |  N J,I,LIN
 | 
|---|
| 115 |  S LIN="",$P(LIN," ",85)=""
 | 
|---|
| 116 |  D NOW^%DTC S PSOTIME=$$FMDIFF^XLFDT(%,$G(PSOS1),2)
 | 
|---|
| 117 |  S PSOINST=$P($G(^DIC(4,+$P($G(^XMB(1,1,"XUS")),"^",17),99)),"^")
 | 
|---|
| 118 |  S PSOSTNM=$P($G(^DIC(4,PSOINST,0)),"^")
 | 
|---|
| 119 |  K PSOTEXT
 | 
|---|
| 120 |  K PSOUTC,PSOTC,PSOCTC,PSOUCNTS,PSOCCNTS,PSOCNTS
 | 
|---|
| 121 |  I $G(DUZ) S XMY(DUZ)=""
 | 
|---|
| 122 |  S (PSOUTC,PSOTC,PSOCTC)=0,(PSOUCNTS,PSOCNTS,PSOCCNTS)=""
 | 
|---|
| 123 |  F J="YR2004","YR2005","YR2006" F I=1:1:3 D
 | 
|---|
| 124 |  .S PSOTC=PSOTC+$G(PSOCNT(J,I))
 | 
|---|
| 125 |  .S PSOCNTS=PSOCNTS_","_$G(PSOCNT(J,I))
 | 
|---|
| 126 |  F J="YR2004","YR2005","YR2006" F I=1:1:3 D
 | 
|---|
| 127 |  .S PSOUTC=PSOUTC+$G(PSOUCNT(J,I))
 | 
|---|
| 128 |  .S PSOUCNTS=PSOUCNTS_","_$G(PSOUCNT(J,I))
 | 
|---|
| 129 |  F J="YR2004","YR2005","YR2006" F I=1:1:3 D
 | 
|---|
| 130 |  .S PSOCTC=PSOCTC+$G(PSOCCNT(J,I))
 | 
|---|
| 131 |  .S PSOCCNTS=PSOCCNTS_","_$G(PSOCCNT(J,I))
 | 
|---|
| 132 |  S XMY("ELLZEY.LINDA@FORUM.VA.GOV")=""
 | 
|---|
| 133 |  S:$$PROD^XUPROD(1) XMY("ELLZEY.LINDA@FORUM.VA.GOV")=""
 | 
|---|
| 134 |  S:$$PROD^XUPROD(1) XMY("G.BILLING AWARENESS@FORUM.VA.GOV")=""
 | 
|---|
| 135 |  S:$$PROD^XUPROD(1) XMY("G.PATCHES@FORUM.VA.GOV")=""
 | 
|---|
| 136 |  S XMDUZ="PSO*7*226 "_JOBN
 | 
|---|
| 137 |  S XMSUB="STATION "_$G(PSOINST)
 | 
|---|
| 138 |  S XMSUB=XMSUB_$S($$PROD^XUPROD(1):" (Prod)",1:" (Test)")
 | 
|---|
| 139 |  S XMSUB=XMSUB_" Summary of updates FOR PRESCRIPTION FILLS"
 | 
|---|
| 140 |  S PSOTEXT(1)="               Start time: "_PSOSTRT2
 | 
|---|
| 141 |  S PSOTEXT(2)="           Completed time: "_PSOEND2
 | 
|---|
| 142 |  S PSOTEXT(3)="             Elapsed Time: "_$$ETIME^PSOCIDC3(PSOTIME)
 | 
|---|
| 143 |  S PSOTEXT(4)=""
 | 
|---|
| 144 |  S PSOTEXT(5)="               Total RX's processed: "_$J($FN(PSOTRX,","),8)
 | 
|---|
| 145 |  S PSOTEXT(6)="            Total Refills processed: "_$J($FN(PSOTRF,","),8)
 | 
|---|
| 146 |  S PSOTEXT(7)="     Total released fills corrected: "_$J($FN(PSOTC,","),8)
 | 
|---|
| 147 |  S PSOTEXT(8)="            Total cancelled refills: "_$J($FN(PSOCTC,","),8)
 | 
|---|
| 148 |  S PSOTEXT(9)="   Total unreleased fills corrected: "_$J($FN(PSOUTC,","),8)
 | 
|---|
| 149 |  S PSOTEXT(10)="               Total number of vets: "_$J($FN(PSOVETS,","),8)
 | 
|---|
| 150 |  S PSOTEXT(11)=""
 | 
|---|
| 151 |  S PSOTEXT(12)=""
 | 
|---|
| 152 |  S PSOTEXT(13)="Excel comma delimited data below, Two heading, three data line"
 | 
|---|
| 153 |  S PSOTEXT(14)=""
 | 
|---|
| 154 |  S PSOTEXT(15)=$E(("Type of,Station,Station,,2004,,,2005,,,2006"_LIN),1,85)
 | 
|---|
| 155 |  S PSOTEXT(16)=$E(("Rx,Name,#,30 days,60 days,90 days,30 days,60 days,90 days,30 days,60 days,90 days"_LIN),1,85)
 | 
|---|
| 156 |  S PSOTEXT(17)=$E(("Released"_","_PSOSTNM_","_PSOINST_PSOCNTS_LIN),1,85)
 | 
|---|
| 157 |  S PSOTEXT(18)=$E(("Cancelled Copays"_","_PSOSTNM_","_PSOINST_PSOCCNTS_LIN),1,85)
 | 
|---|
| 158 |  S PSOTEXT(19)=$E(("Un-released"_","_PSOSTNM_","_PSOINST_PSOUCNTS_LIN),1,85)
 | 
|---|
| 159 |  S PSOTEXT(20)=""
 | 
|---|
| 160 |  S XMTEXT="PSOTEXT(" N DIFROM D ^XMD K XMDUZ,XMTEXT,XMSUB
 | 
|---|
| 161 |  Q
 | 
|---|
| 162 |  ;
 | 
|---|