Add ACA cost-sharing reduction actuarial values#8212
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8212 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 2 7 +5
Lines 35 101 +66
=========================================
+ Hits 35 101 +66
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
daphnehanse11
left a comment
There was a problem hiding this comment.
Reviewed_in_a_clean_temp_worktree_and_left_one_inline_finding.
| def formula(tax_unit, period, parameters): | ||
| category = tax_unit("selected_marketplace_plan_category", period) | ||
| p = parameters(period).gov.aca.metal_actuarial_value | ||
| return where(category == MarketplacePlanCategory.BRONZE, p.bronze, p.silver) |
There was a problem hiding this comment.
[P2] Gate selected plan AV on Marketplace enrollment
Because selected_marketplace_plan_category defaults to SILVER, this formula returns 0.7 for every tax unit, even when nobody is enrolled in Marketplace coverage and selected_marketplace_plan_premium_proxy is 0. marketplace_effective_actuarial_value then also reports 0.7 via max_(selected_plan_av, csr_av). A blank simulation currently calculates both selected_marketplace_plan_actuarial_value and marketplace_effective_actuarial_value as [0.7]. Please gate the metal AV on actual selected Marketplace coverage, for example the same take-up/premium condition or a positive selected plan premium, so non-enrollees stay at 0.
Summary
selected_marketplace_plan_categoryvariable defaulting to Silver.lcbpwhen the selected Marketplace plan category is Bronze, while preserving existing Silver/SLCSP default behavior.marketplace_net_premium.Out of scope
Tests
uv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/aca/csr policyengine_us/tests/policy/baseline/gov/aca/ptc/selected_marketplace_plan_premium_proxy.yaml policyengine_us/tests/policy/baseline/gov/aca/ptc/used_aca_ptc.yaml policyengine_us/tests/policy/baseline/gov/aca/ptc/marketplace_net_premium.yaml -c policyengine_usuv run pytest policyengine_us/tests/test_parameter_files.pyuv run --extra dev ruff format --check .uv run --extra dev ruff check .Closes #8188.
Closes #8211.