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:
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:
Acceptance criteria:
Related: