PolicyEngine / PolicyEngine/policyengine-us

Model ACA ESI offer and affordability with richer employer coverage inputs

Open
#8,671 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
162
Forks
212
Avg merge
3d 3h
Merged PRs (30d)
97

Description

## Type

Mixed rules and data.

## Context

PE-US currently treats ACA employer-sponsored health insurance interaction as a boolean union:

`is_aca_eshi_eligible = has_esi | offered_aca_disqualifying_esi`

`has_esi` is current ESI coverage, while `offered_aca_disqualifying_esi` is a bare input leaf. Populace is starting to provide richer health-side inputs, including MEPS-derived `employer_sponsored_insurance_premiums`, but PE-US does not yet have a rule path that uses employer premium contributions or affordability/minimum-value concepts to determine whether an ESI offer disqualifies ACA PTC eligibility.

## Why this matters

ACA PTC eligibility turns on whether affordable, minimum-value employer coverage is available, not simply whether someone currently reports ESI. As Populace improves health inputs, PE-US should distinguish:

- current ESI coverage;
- ESI offer availability;
- employee premium contribution for self-only/family coverage;
- affordability under ACA rules;
- minimum-value status or an explicit default/assumption.

This affects both household-level eligibility and aggregate PTC budget estimates.

## Suggested direction

- Add explicit inputs or formulas for ACA-disqualifying ESI offer affordability.
- Use available ESI premium/contribution inputs where possible, with clear defaults when not observed.
- Keep `has_esi` as reported/current coverage rather than using it as a direct proxy for a disqualifying offer unless intentionally documented.
- Add diagnostics for how many people are disqualified by current ESI, by offered affordable ESI, and by defaulted assumptions.

## Acceptance criteria

- ACA PTC eligibility can distinguish current ESI coverage from an affordable/minimum-value ESI offer.
- Tests cover cases where a person has ESI but no disqualifying offer, has a disqualifying offer without current ESI, and has unaffordable offered coverage.
- Populace-provided employer premium inputs have a documented PE-US consumption path or are explicitly marked as data-only.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.