PolicyEngine / PolicyEngine/microcosm
Migrate ACA health-input gates after PE-US take-up contract changes
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 4
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 94
Description
Context:
PolicyEngine-US PR #8352 proposes separating observed Marketplace coverage from simulated ACA take-up by introducing simulated_aca_take_up_if_eligible and deriving takes_up_aca_if_eligible from reported Marketplace coverage or simulated take-up. Populace PR #71 currently guards the present model surface: takes_up_aca_if_eligible and selected_marketplace_plan_benchmark_ratio.
Goal:
Once the PE-US ACA take-up contract lands, update Populace's source-stage declaration, release gates, and diagnostics to check/generate the correct inputs.
Suggested implementation:
- Change the aca_marketplace_inputs source-stage output from takes_up_aca_if_eligible to simulated_aca_take_up_if_eligible when that variable exists in the released PE-US surface.
- Keep reported Marketplace coverage as a CPS-carried person-level input, not a simulated take-up output.
- Update the health-input nonconstant gate to check simulated_aca_take_up_if_eligible, selected_marketplace_plan_benchmark_ratio, and reported Marketplace coverage support.
- Ensure Populace does not persist formula-owned takes_up_aca_if_eligible once PE-US owns it as a formula.
- Add compatibility notes/tests for the transition period if Populace must support both PE-US contracts temporarily.
Acceptance criteria:
- Populace writes/checks the model-side input variable that PE-US expects after #8352.
- Formula-owned ACA outputs are not persisted as raw dataset inputs.
- Health-input gates still catch constant take-up and all-1.0 plan ratios.
- Tests document the migration from observed-plus-simulated take-up to the new contract.
Related:
- Umbrella: #70
- Populace source-stage declaration: #73
- Populace health-input guard: #71
- PolicyEngine-US contract PR: PolicyEngine/policyengine-us#8352
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the aca_marketplace_inputs source-stage declaration in #73 and the health-input guard in #71, then inspect the PolicyEngine-US contract change in #8352. Trace the transition between reported Marketplace coverage, simulated take-up, and formula-owned outputs. Done means the gates and diagnostics match the released contract and tests document the migration and catch constant take-up or all-1.0 plan ratios.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100