PolicyEngine / PolicyEngine/microcosm

Add Medicaid and CHIP eligibility-to-enrollment diagnostics

Open
#170 0 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

The current published Populace US 2024 dataset shows Medicaid and CHIP enrollment equal to eligibility in aggregate:

  • is_medicaid_eligible: 72.30M; medicaid_enrolled: 72.30M.
  • is_chip_eligible: 4.98M; chip_enrolled: 4.98M.
  • Medicaid + CHIP enrolled: 77.28M vs CMS combined target 79.15M (-2.4%).

This means Medicaid/CHIP take-up is effectively 100% among modeled eligibles. That may reflect the current PE-US variable semantics, but Populace release diagnostics should make the eligibility-to-enrollment assumption visible rather than implicit.

This complements #139/#165, which add direct CHIP targets, but it is a separate input-signal/diagnostics question.

Goal

Add Medicaid and CHIP eligibility-to-enrollment diagnostics, then decide whether Populace should materialize enrollment/take-up inputs or leave the behavior formula-owned.

Suggested implementation

  • Add release diagnostics for Medicaid and CHIP:
    • eligible count,
    • enrolled count,
    • enrollment / eligibility ratio,
    • Medicaid + CHIP combined count,
    • same breakdown by state where source support exists.
  • Add a gate or warning when modeled enrollment is mechanically identical to eligibility for every state/program.
  • Document whether medicaid_enrolled and chip_enrolled are Populace inputs, PE-US formula outputs, or a mixed source/formula boundary.

Acceptance criteria

  • Diagnostics make 100% eligibility-to-enrollment take-up visible nationally and by state.
  • Tests cover nondegenerate and degenerate take-up cases.
  • If the variables are formula-owned by PE-US, Populace records that boundary and links a model-side issue.
  • If Populace owns source inputs, a follow-up issue/PR scopes Medicaid/CHIP take-up materialization separately from direct target mapping.

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 by tracing how release diagnostics currently expose Medicaid and CHIP variables, then inspect the PE-US boundary for is_medicaid_eligible, medicaid_enrolled, is_chip_eligible, and chip_enrolled. Add tests for both degenerate and nondegenerate take-up, and confirm the national and state diagnostics make the ratios visible. Record whether enrollment is Populace-owned or formula-owned and link the model-side issue if needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.