Skip to content

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

@daphnehanse11

Description

@daphnehanse11

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:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions