Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved ACA premium tax credit for California #3261

Merged
merged 94 commits into from
Nov 29, 2023

Conversation

martinholmer
Copy link
Collaborator

@martinholmer martinholmer commented Nov 12, 2023

This pull request is the first step described in issue #3194.

🤖 Generated by Copilot at 02ba890

Summary

✨🗃️🧪

This pull request implements the logic and parameters for calculating the ACA premium tax credit for California residents, based on their income, age, and geographic rating area. It also adds unit and integration tests to verify the accuracy and consistency of the results. It introduces new parameter files for the ACA eligibility and phase-out rules, as well as new variable files for the ACA MAGI, the second-lowest-cost silver plan premium, and the ACA premium tax credit amount. It updates the changelog file to reflect the new feature and the minor version bump.

aca_ptc_ca
New feature for tax credit
Autumn of reform

Walkthrough

  • Add a new feature to improve the ACA premium tax credit for California residents (link)
  • Define new parameters for the ACA eligibility and premium tax credit calculation, such as the income threshold, phase-out rate, maximum age, and geographic rating areas (link, link, link, link, link, link, link)
  • Calculate the ACA-related modified AGI for a tax unit using the medicaid_income variable and the prior-year FPL (link, link)
  • Determine the eligibility for the ACA premium tax credit based on the coverage and income status of each person in a tax unit (link)
  • Determine the eligibility for Medicare based on the age of each person in a tax unit (link)
  • Assign an index to each child in a tax unit based on their age for the purpose of capping the number of children who pay an age-based premium (link)
  • Trim the age of children and adults for the purpose of calculating the second-lowest-cost silver plan premium (link)
  • Determine the second-lowest-cost silver plan premium for a person in California based on their age and county or ZIP3 area using the gra.yaml parameter file (link)
  • Calculate the ACA premium tax credit amount for California residents based on their income and second-lowest-cost silver plan premium (link)
  • Determine the applicable figure for the ACA premium tax credit based on the ACA MAGI percent of FPL using the ptc_phase_out_rate.yaml parameter file (link)
  • Add unit tests for the new variables and parameters, and compare the results with the KFF ACA calculator for Los Angeles residents (link, link, link, link, link, link, link, link)

Copy link

codecov bot commented Nov 12, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (8106cd1) 99.04% compared to head (82f2361) 99.05%.

Additional details and impacted files
@@           Coverage Diff            @@
##           master    #3261    +/-   ##
========================================
  Coverage   99.04%   99.05%            
========================================
  Files        1854     1871    +17     
  Lines       27299    27509   +210     
  Branches      159      160     +1     
========================================
+ Hits        27038    27248   +210     
  Misses        224      224            
  Partials       37       37            

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@martinholmer martinholmer marked this pull request as draft November 24, 2023 12:37
@martinholmer martinholmer marked this pull request as ready for review November 24, 2023 15:21
@martinholmer martinholmer marked this pull request as draft November 25, 2023 13:42
@martinholmer martinholmer marked this pull request as ready for review November 25, 2023 16:53
return category != category.possible_values.NONE
categorically_eligible = category != category.possible_values.NONE
istatus = person("immigration_status", period)
undocumented = istatus == istatus.possible_values.UNDOCUMENTED
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For posterity, we're merging this for now but #3324

@MaxGhenis MaxGhenis merged commit d0968f4 into PolicyEngine:master Nov 29, 2023
6 checks passed
@martinholmer martinholmer deleted the aca-ca branch November 30, 2023 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants