| 1 | EASECPC1 ;ALB/LBD,CKN - LTC CoPayment Report continuation ; 6-FEB-2002 | 
|---|
| 2 | ;;1.0;ENROLLMENT APPLICATION SYSTEM;**7,24,40**;Mar 15, 2001 | 
|---|
| 3 | ; | 
|---|
| 4 | ; This routine is a continuation of EASECPC. | 
|---|
| 5 | ; | 
|---|
| 6 | ; Input:  DFN - Patient file IEN | 
|---|
| 7 | ;         DGMTI - LTC Copay Test IEN (file #408.31) | 
|---|
| 8 | ;         DGMTDT - LTC Copay Test Date | 
|---|
| 9 | ;         MAXRT - Maximum daily copay rates for LTC (OP^IP) | 
|---|
| 10 | ;         EASRPT - Report type:  1=Institutional (IP) | 
|---|
| 11 | ;                                2=Non-Institutional (OP) | 
|---|
| 12 | ;         EASRDT - Report start date | 
|---|
| 13 | ;         EASADM - LTC admission date (only if EASRPT=1) | 
|---|
| 14 | ; | 
|---|
| 15 | START ; Generate Report | 
|---|
| 16 | N ARRY,IPRPT,DGSP,SRIC,LSEP,DECINF,AGRPAY,ERR | 
|---|
| 17 | I $G(ZTSK) S ZTREQ="@" | 
|---|
| 18 | D INIT(EASRDT,.ARRY) | 
|---|
| 19 | D BLDTBL(.ARRY) Q:$G(ERR) | 
|---|
| 20 | D PRINT | 
|---|
| 21 | Q | 
|---|
| 22 | PRINT ; Print the Report | 
|---|
| 23 | N CRT,PAGE,RPTDT,LINE,HDR,CALC1,CALC2,SIDX,EIDX,MNTH,NAME,SSN,DOB,LOS | 
|---|
| 24 | D PRTVAR | 
|---|
| 25 | U IO | 
|---|
| 26 | D HEADER | 
|---|
| 27 | W !,$S(DGSP:"MARRIED",LSEP:"LEGALLY SEPARATED",1:"SINGLE") | 
|---|
| 28 | W:SRIC ?15,"SPOUSE RESIDING IN THE COMMUNITY" | 
|---|
| 29 | I DECINF,AGRPAY W !,"*** DECLINED TO PROVIDE INCOME INFORMATION -- AGREED TO PAY COPAYMENTS ***" | 
|---|
| 30 | I AGRPAY=0 W !,"*** VETERAN IS INELIGIBLE FOR LTC SERVICES -- REFUSED TO SIGN 10-10EC ***" | 
|---|
| 31 | W !,"LTC COPAY TEST DATE: ",$$FMTE^XLFDT(DGMTDT) | 
|---|
| 32 | W:$G(EASADM) ?47,"LTC ADMISSION DATE: ",$$FMTE^XLFDT(EASADM) | 
|---|
| 33 | W !!!,"LTC COPAYMENT CALCULATION"_$S(IPRPT:"S:",1:":") | 
|---|
| 34 | W ! W:IPRPT "FOR DAYS 1-180  " W CALC1 | 
|---|
| 35 | I IPRPT W !,"FOR DAYS 181+   " W CALC2 | 
|---|
| 36 | ; | 
|---|
| 37 | S SIDX=1,EIDX=6 | 
|---|
| 38 | W !!,"              " | 
|---|
| 39 | F MNTH=1:1:6 W $J($P(ARRY(MNTH),"^"),11) | 
|---|
| 40 | I IPRPT D PRINTROW("TOT ASSETS    ",SIDX,EIDX,9) | 
|---|
| 41 | D PRINTROW("TOT INCOME    ",SIDX,EIDX,3) | 
|---|
| 42 | I 'IPRPT!($G(LOS)<181)!(DGSP&(SRIC)) D PRINTROW("TOT EXPENSES  ",SIDX,EIDX,4) | 
|---|
| 43 | D PRINTROW("TOT ALLOWANCE ",SIDX,EIDX,5) | 
|---|
| 44 | W ! D PRINTROW("CALC COPAY    ",SIDX,EIDX,6) | 
|---|
| 45 | D PRINTROW("MAX COPAY     ",SIDX,EIDX,7) | 
|---|
| 46 | W !,LINE | 
|---|
| 47 | D PRINTROW("VET COPAY     ",SIDX,EIDX,8) | 
|---|
| 48 | W !,LINE | 
|---|
| 49 | ; | 
|---|
| 50 | S SIDX=7,EIDX=12 | 
|---|
| 51 | W !!,"              " | 
|---|
| 52 | F MNTH=7:1:12 W $J($P(ARRY(MNTH),"^"),11) | 
|---|
| 53 | I IPRPT D PRINTROW("TOT ASSETS    ",SIDX,EIDX,9) | 
|---|
| 54 | D PRINTROW("TOT INCOME    ",SIDX,EIDX,3) | 
|---|
| 55 | I 'IPRPT!(DGSP&(SRIC)) D PRINTROW("TOT EXPENSES  ",SIDX,EIDX,4) | 
|---|
| 56 | D PRINTROW("TOT ALLOWANCE ",SIDX,EIDX,5) | 
|---|
| 57 | W ! D PRINTROW("CALC COPAY    ",SIDX,EIDX,6) | 
|---|
| 58 | D PRINTROW("MAX COPAY     ",SIDX,EIDX,7) | 
|---|
| 59 | W !,LINE | 
|---|
| 60 | D PRINTROW("VET COPAY     ",SIDX,EIDX,8) | 
|---|
| 61 | W !,LINE | 
|---|
| 62 | ; | 
|---|
| 63 | I CRT Q:$$PAUSE(0) | 
|---|
| 64 | D:CRT HEADER | 
|---|
| 65 | D NOTETXT | 
|---|
| 66 | I CRT Q:$$PAUSE(0) | 
|---|
| 67 | I IPRPT D HEADER,SPNDDWN I CRT Q:$$PAUSE(0) | 
|---|
| 68 | Q | 
|---|
| 69 | PRINTROW(TEXT,SIDX,EIDX,NODE) ; Print the Rows | 
|---|
| 70 | N MNTH | 
|---|
| 71 | W !,TEXT | 
|---|
| 72 | F MNTH=SIDX:1:EIDX W $J($S($P(ARRY(MNTH),"^",NODE)[".":$P($P(ARRY(MNTH),"^",NODE),"."),1:$P(ARRY(MNTH),"^",NODE)),11) | 
|---|
| 73 | Q | 
|---|
| 74 | PRTVAR ; Set up variables needed to print report | 
|---|
| 75 | N PAT0 | 
|---|
| 76 | S CRT=$S($E(IOST,1,2)="C-":1,1:0) | 
|---|
| 77 | S PAGE=0,RPTDT=$$FMTE^XLFDT(DT) | 
|---|
| 78 | S LINE="",$P(LINE,"-",81)="" | 
|---|
| 79 | S HDR=$$CJ^XLFSTR("LONG TERM CARE ESTIMATED COPAYMENTS FOR "_$S('IPRPT:"NON-",1:"")_"INSTITUTIONAL SERVICES",80) | 
|---|
| 80 | S PAT0=$G(^DPT(DFN,0)),NAME=$P(PAT0,"^"),DOB=$P(PAT0,"^",3) | 
|---|
| 81 | S SSN=$P(PAT0,"^",9),SSN=$E(SSN,1,3)_"-"_$E(SSN,4,5)_"-"_$E(SSN,6,9) | 
|---|
| 82 | S CALC1="TOTAL INCOME - TOTAL EXPENSES - TOTAL ALLOWANCE" | 
|---|
| 83 | I DGSP,SRIC S CALC2="(TOTAL ASSETS + TOTAL INCOME) - TOTAL EXPENSES - TOTAL ALLOWANCE" | 
|---|
| 84 | E  S CALC2="(TOTAL ASSETS + TOTAL INCOME) - TOTAL ALLOWANCE" | 
|---|
| 85 | S:$G(EASADM) LOS=$$FMDIFF^XLFDT(EASRDT,EASADM) | 
|---|
| 86 | Q | 
|---|
| 87 | HEADER ; Print the header | 
|---|
| 88 | S PAGE=PAGE+1 | 
|---|
| 89 | W @IOF | 
|---|
| 90 | W RPTDT,?71,"Page: ",$J(PAGE,3) | 
|---|
| 91 | W !!,HDR | 
|---|
| 92 | W !!,NAME,?35,SSN,?62,"DOB: ",$$FMTE^XLFDT(DOB) | 
|---|
| 93 | Q | 
|---|
| 94 | PAUSE(RESP) ; Prompt user for next page or quit | 
|---|
| 95 | N DIR,DIRUT,DUOUT,DTOUT,U,X,Y | 
|---|
| 96 | S DIR(0)="E" | 
|---|
| 97 | D ^DIR | 
|---|
| 98 | I 'Y S RESP=1 | 
|---|
| 99 | Q RESP | 
|---|
| 100 | ; | 
|---|
| 101 | INIT(DATE,ARRY) ; Initialize the Month/Year Table | 
|---|
| 102 | N IDX,MNYR | 
|---|
| 103 | S MNYR=$E(DATE,1,5)_"00" | 
|---|
| 104 | F IDX=1:1:12 D | 
|---|
| 105 | .S ARRY(IDX)=$$UP^XLFSTR($$FMTE^XLFDT(MNYR)) | 
|---|
| 106 | .S ARRY(IDX)=$P(ARRY(IDX)," ")_"'"_$E($P(ARRY(IDX)," ",2),3,4) | 
|---|
| 107 | .S $P(ARRY(IDX),"^",2)=MNYR | 
|---|
| 108 | .S MNYR=MNYR+100 | 
|---|
| 109 | .S:$E(MNYR,4,5)=13 MNYR=$E(MNYR,1,3)+1_"0100" | 
|---|
| 110 | Q | 
|---|
| 111 | BLDTBL(ARRY) ; Get the veteran's financial data, do the copay calculations, | 
|---|
| 112 | ; build the data table | 
|---|
| 113 | ; | 
|---|
| 114 | N DGDC,DGDEP,DGERR,DGFL,DGIN0,DGIN1,DGIN2,DGINI,DGIRI,DGDET,DGINT,DGNWT | 
|---|
| 115 | N DGPRI,DGNC,DGND,DGNWTF,DGVINI,DGVIR0,DGVIRI,DGVPRI,DGINTF,CPYFLG,IDX | 
|---|
| 116 | N OVR180,TAST,TINC,TEXP,ALLOW,CALCCPY,DAYS,MAXCPY,VETMAX,IPDR,OPDR,LOS | 
|---|
| 117 | ; | 
|---|
| 118 | S ERR=0 | 
|---|
| 119 | S DGPRI=$O(^DGPR(408.12,"C",DFN_";DPT(",0)) I 'DGPRI S ERR=1 Q | 
|---|
| 120 | D GETIENS^EASECU2(DFN,DGPRI,DGMTDT) I '$G(DGIRI),'$G(DGINI) S ERR=1 Q | 
|---|
| 121 | S DGVIRI=DGIRI,DGVINI=DGINI | 
|---|
| 122 | D DEP^EASECSU3,INC^EASECSU3 | 
|---|
| 123 | S IPRPT=$S(EASRPT=1:1,1:0) | 
|---|
| 124 | S CPYFLG=0 | 
|---|
| 125 | S DECINF=$P($G(^DGMT(408.31,DGMTI,0)),"^",14) | 
|---|
| 126 | S AGRPAY=$P($G(^DGMT(408.31,DGMTI,0)),"^",11) | 
|---|
| 127 | I DECINF=1!(AGRPAY=0) S CPYFLG=1 | 
|---|
| 128 | S SRIC=$P(DGVIR0,U,16),LSEP=$P(DGVIR0,U,17) | 
|---|
| 129 | S OPDR=$P(MAXRT,U),IPDR=$P(MAXRT,U,2) | 
|---|
| 130 | I IPRPT S LOS=$$FMDIFF^XLFDT(EASRDT,EASADM)+1 | 
|---|
| 131 | ; | 
|---|
| 132 | S OVR180=$S($G(LOS)>180:1,1:0) | 
|---|
| 133 | S TINC=DGINT/12,TEXP=DGDET/12 | 
|---|
| 134 | I OVR180,('DGSP!('SRIC)) S TEXP=0 | 
|---|
| 135 | S TAST=DGNWT I OVR180 S TAST=$$ASSET | 
|---|
| 136 | ; | 
|---|
| 137 | ; Build data table | 
|---|
| 138 | F IDX=1:1:12 D | 
|---|
| 139 | .S DAYS=$$DOM($P(ARRY(IDX),"^",2)) | 
|---|
| 140 | .D CALCALL | 
|---|
| 141 | .S $P(ARRY(IDX),"^",3)=TINC | 
|---|
| 142 | .S $P(ARRY(IDX),"^",4)=TEXP | 
|---|
| 143 | .S $P(ARRY(IDX),"^",5)=ALLOW | 
|---|
| 144 | .S $P(ARRY(IDX),"^",6)=CALCCPY | 
|---|
| 145 | .S $P(ARRY(IDX),"^",7)=MAXCPY | 
|---|
| 146 | .S $P(ARRY(IDX),"^",8)=VETMAX | 
|---|
| 147 | .S $P(ARRY(IDX),"^",9)=$S(OVR180:TAST,1:"-") | 
|---|
| 148 | .S:OVR180 TAST=$$ASTSPD | 
|---|
| 149 | .I $G(LOS) D | 
|---|
| 150 | ..S LOS=LOS+DAYS | 
|---|
| 151 | ..S:'OVR180 OVR180=$S(LOS>180:1,1:0) | 
|---|
| 152 | ..I OVR180,('DGSP!'(SRIC)) S:TEXP TEXP=0 | 
|---|
| 153 | Q | 
|---|
| 154 | ; | 
|---|
| 155 | CALCALL ; Calculate the allowance and all the copayment amounts | 
|---|
| 156 | S ALLOW=20*DAYS*(1+SRIC) S:CPYFLG ALLOW=0 | 
|---|
| 157 | S CALCCPY=$$CALCCPY | 
|---|
| 158 | S MAXCPY=$$CALCMAX(DAYS) | 
|---|
| 159 | S VETMAX=$$VETMAX(CALCCPY,MAXCPY) | 
|---|
| 160 | Q | 
|---|
| 161 | ASSET() ; Initialize asset amount by applying spend-down | 
|---|
| 162 | N NUM,MNYR,J,DONE,DAYS,ALLOW,CALCCPY,MAXCPY,VETMAX | 
|---|
| 163 | S DONE=0 | 
|---|
| 164 | ; Calculate number of months to spend down the assets | 
|---|
| 165 | S NUM=(LOS-180)\30 | 
|---|
| 166 | ; Get month to start spend down | 
|---|
| 167 | S MNYR=$$FMADD^XLFDT(EASADM,180) | 
|---|
| 168 | I NUM>0 F J=1:1:NUM D  Q:DONE | 
|---|
| 169 | .S DAYS=$$DOM(MNYR) | 
|---|
| 170 | .D CALCALL | 
|---|
| 171 | .S TAST=$$ASTSPD I TAST=0 S DONE=1 Q | 
|---|
| 172 | .S MNYR=MNYR+100 S:$E(MNYR,4,5)=13 MNYR=$E(MNYR,1,3)+1_"0100" | 
|---|
| 173 | Q TAST | 
|---|
| 174 | ASTSPD() ;Asset Spend down for 180+ days | 
|---|
| 175 | Q:CPYFLG TAST | 
|---|
| 176 | I (TINC-TEXP-ALLOW)'>VETMAX D | 
|---|
| 177 | . I DGSP,SRIC S TAST=TAST-(VETMAX-(TINC-TEXP-ALLOW)) | 
|---|
| 178 | . E  S TAST=TAST-(VETMAX-(TINC-ALLOW)) | 
|---|
| 179 | . S:TAST<0 TAST=0 | 
|---|
| 180 | Q TAST | 
|---|
| 181 | ; | 
|---|
| 182 | CALCCPY() ; Calculate the Co-Pay Amount | 
|---|
| 183 | ; | 
|---|
| 184 | Q:CPYFLG 0 | 
|---|
| 185 | Q:OVR180 TAST+TINC-ALLOW-TEXP | 
|---|
| 186 | Q TINC-ALLOW-TEXP | 
|---|
| 187 | DOM(MNYR) ; Days in Month | 
|---|
| 188 | ; Returns: number of days in a month | 
|---|
| 189 | N DAYS,MN,YR | 
|---|
| 190 | S MN=+$E(MNYR,4,5) | 
|---|
| 191 | I "^4^6^9^11^"[("^"_MN_"^") S DAYS=30 Q DAYS | 
|---|
| 192 | I MN=2 D  Q DAYS | 
|---|
| 193 | .S DAYS=28 | 
|---|
| 194 | .S YR=$E(MNYR,1,3)+1700 | 
|---|
| 195 | .S:YR#4=0 DAYS=29 | 
|---|
| 196 | S DAYS=31 | 
|---|
| 197 | Q DAYS | 
|---|
| 198 | CALCMAX(DAYS) ; Calculate the Maximum Co-Pay Amount | 
|---|
| 199 | ; | 
|---|
| 200 | Q $S(IPRPT:IPDR,1:OPDR)*DAYS | 
|---|
| 201 | VETMAX(CALCCPY,MAXCPY) ; Calculate the Veteran Maximum Co-Pay Amount | 
|---|
| 202 | ; | 
|---|
| 203 | Q:CPYFLG MAXCPY | 
|---|
| 204 | Q:CALCCPY<0 0 | 
|---|
| 205 | Q:CALCCPY<MAXCPY CALCCPY | 
|---|
| 206 | Q MAXCPY | 
|---|
| 207 | ; | 
|---|
| 208 | NOTETXT ; Write the Note message | 
|---|
| 209 | W !!,"IMPORTANT NOTICE: The copayment amounts shown in this report are" | 
|---|
| 210 | W " estimates",!,"based on calculations of the copayment amount for " | 
|---|
| 211 | W "an entire month. The",!,"copayment amounts will be adjusted to " | 
|---|
| 212 | W "reflect the actual start date of LTC",!,"services and the " | 
|---|
| 213 | W "copayment exemption for the first 21 days of service. The VET",! | 
|---|
| 214 | W "COPAY amount is based on the assumption that the veteran " | 
|---|
| 215 | W "will be responsible",!,"to pay the lesser of EITHER the calculated" | 
|---|
| 216 | W " copayment (CALC COPAY) OR the",!,"maximum copayment (MAX COPAY).  " | 
|---|
| 217 | W "In the event that the calculated copayment",!,"(CALC COPAY) is a " | 
|---|
| 218 | W "negative figure, the veteran copayment (VET COPAY)",! | 
|---|
| 219 | W "will be adjusted to zero (0). If the veteran declined to provide" | 
|---|
| 220 | W " income",!,"information, the veteran will be obligated to pay the" | 
|---|
| 221 | W " maximum copayment." | 
|---|
| 222 | Q | 
|---|
| 223 | ; | 
|---|
| 224 | SPNDDWN ; Text of message to explain the asset spend down | 
|---|
| 225 | W !!,"EXPLANATION OF ASSET SPEND DOWN CALCULATION:" | 
|---|
| 226 | W !,"============================================" | 
|---|
| 227 | W !,"The veteran's assets are included in the calculation of copayments" | 
|---|
| 228 | W !,"after 180 days of institutional LTC services.  The assets then may" | 
|---|
| 229 | W !,"be reduced each month according to the following formula:" | 
|---|
| 230 | W ! | 
|---|
| 231 | W !,"Single Veteran:" | 
|---|
| 232 | W ! | 
|---|
| 233 | W !,"  TOTAL ASSETS-(VET COPAY-(INCOME-ALLOWANCE))" | 
|---|
| 234 | W ! | 
|---|
| 235 | W !,"Married Veteran (spouse residing in the community):" | 
|---|
| 236 | W ! | 
|---|
| 237 | W !,"  TOTAL ASSETS-(VET COPAY-(INCOME-EXPENSES-ALLOWANCE))" | 
|---|
| 238 | W ! | 
|---|
| 239 | W !,"In other words, the assets will be reduced by the amount of the" | 
|---|
| 240 | W !,"veteran's copayment that is not covered by the veteran's income " | 
|---|
| 241 | W !,"after all expenses and allowances are subtracted.  If the amount" | 
|---|
| 242 | W !,"of the veteran's income after all expenses and allowances are" | 
|---|
| 243 | W !,"subtracted is greater than the veteran's copayment then the assets" | 
|---|
| 244 | W !,"will not be reduced." | 
|---|
| 245 | W ! | 
|---|
| 246 | Q | 
|---|