PolicyEngine / PolicyEngine/microcosm

Migrate ACA health-input gates after PE-US take-up contract changes

Open
#76 2 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.