Repository navigation
Conversation
Targeted low-income pregnant women stay CHIP eligible through the 60-day postpartum period (42 USC 1397ll(d)(2)(A)), or 12 months once the state extends Medicaid postpartum coverage (42 USC 1397gg(e)(1)(K); SHO 21-007 pages 4, 7 and 17). The standard pregnancy pathway and the lawfully residing pregnancy branch of the CHIP immigration test now use the Medicaid pregnant-or-postpartum test (is_pregnant_for_medicaid_nfc). FCEP keeps is_pregnant. Fixes PolicyEngine#10362 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Case 10 and Case 15 comments give Virginia's FAMIS MOMS extension as approved November 18, 2021 and implemented July 1, 2022, matching the Medicaid date in PolicyEngine#10241. - Case 8 comment dates Colorado's FCEP option from January 1, 2025, as in PolicyEngine#10365. - Case 9 comment states the Colorado Medicaid and CHIP pregnancy limits before the 5 percentage point MAGI disregard. - Case 12 also asserts medicaid_category [PREGNANT, NONE]. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Show-Me Healthy Babies pregnant women and unborn children pay no premium (MO-15-0009 page 2, state plan 8.2.4; RSMo 208.640.1), so mo_chip_premium now triggers on is_chip_eligible_child. Also write SHO 21-007 without a hash in this PR's comments. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PavelMakarchuk
left a comment
There was a problem hiding this comment.
Program Review
PR #10363, "Extend standard pregnancy CHIP through the postpartum period" (hua7450). Round 1, full review.
IDs: C = critical, SA = should address, G = suggestion.
Paths: SP = policyengine_us/variables/gov/hhs/chip/is_chip_eligible_standard_pregnant_person.py, IM = policyengine_us/variables/gov/hhs/chip/is_chip_immigration_status_eligible.py, MP = policyengine_us/variables/gov/states/mo/hhs/chip/mo_chip_premium.py, TS, TI and TM = the matching test files for SP, IM and MP under policyengine_us/tests/policy/baseline/gov/hhs/chip/ and .../gov/states/mo/hhs/chip/, P = policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/pregnant/postpartum_coverage.yaml. Line numbers refer to the reviewed head. Every PDF link uses the file page number.
Source Documents
- Reviewed head SHA: 0e7f410
- Mode: full
- Scope: merge base 0e659c8 (merged #10241) to the head. 7 files, 195 insertions and 8 deletions: 3 variables, 3 test files and a changelog fragment. No parameter changes.
- Statute: 42 USC 1397ll(d)(2)(A), 42 USC 1397gg(e)(1)(K) with its amendment notes, and 42 CFR 457.342 (also 457.310 and 457.340, which have no postpartum text).
- PDF: CMS SHO #21-007 (pages 2-7, 17 and 18; #page=7, #page=17).
- PDF: CHIP approvals CO-22-0039 (page 1), KY-22-0001, MO-23-0021, RI-22-0025 and WV-22-0017 (page 2 each).
- PDF: Virginia FAMIS MOMS 1115 amendment of 2021-11-18 (pages 1, 5), DMAS monitoring report, July 2021 to June 2022 (page 11), and the New Jersey 1115 approval of 2021-10-28 (pages 1, 9; Wayback capture, see G7).
- PDF: Missouri MO-15-0009 approval and state plan (page 2 read as an image, page 70).
- Web: RSMo 208.640 and MO HealthNet manual 1855.030.15.
- Repository:
is_pregnant_for_medicaid_nfc.py:10-16,P(CO, KY, MO, NJ, RI, VA, WV),parameters/gov/hhs/chip/pregnant/income_limit.yaml:24-26andparameters/gov/hhs/chip/fcep/income_limit.yaml. - Year: the new tests cover 2021 and 2025.
Branch Status
- The head is a merge of
mainat 0e659c8, which is merged #10241. The branch is 5 commits ahead and 14 behindmain, and it merges cleanly. No later commit onmaintouches CHIP, the Medicaid pregnancy category, the postpartum inputs or the Missouri CHIP files. - This PR is the follow-up to #10241: CHIP now reads the per-state dates that #10241 set in
P. It fixes issue #10362 (open). Issues #10463 (month-end rule) and #10469 (Virginia end date) are open and are named in the Limitations. - Overlaps: #10371 merges with no conflict, and #10365 conflicts only where both PRs append to
TS, as the body says. #10391 conflicts and is not in the body (G3).
What the PR gets right
- Legal design. 42 USC 1397gg(e)(1)(K) makes separate CHIP follow the state's Medicaid 12-month election by law, "not at the option of the State". Reading
is_pregnant_for_medicaid_nfcis therefore correct and avoids a duplicate CHIP parameter. For all 7 states with a modeled standard pregnancy pathway, the CHIP SPA or 1115 effective date equals the Medicaid date inP. - Citation.
SP:16uses (K), the current letter after Pub. L. 119-21 redesignated the ARPA text. SHO #21-007 and the CMS letters still use the old letter (J). - FCEP.
is_chip_fcep_eligible_personkeepsis_pregnant. SHO #21-007 pages 4 and 7 exclude unborn-child coverage from the extension. - Missouri premium.
MP:38matches RSMo 208.640.1 and the MO-15-0009 exemption (page 2 and section 8.2.4 on page 70). It also fixesmain, which charged the premium when a pregnant member was the only CHIP-eligible person. - Tests. Reverting any of the three changes fails a new case (Cases 9-12, Case 15 and the new Missouri case). For the standard pathway, Case 9 fails if 12 months applies everywhere, and Cases 10 and 12 fail if 60 days applies everywhere.
- Code. No hard-coded values, YEAR-to-YEAR reads, no cycle; formatting and changelog correct.
Critical (Must Fix)
None.
Should Address
SA1. The lawfully residing pregnancy branch has no 60-day case.
- Where:
IM:54-60; the only postpartum test is Case 15 (TI:303-330). - Evidence: Case 15 tests Virginia in 2025 (365 days). Two wrong versions of the branch pass every related test: "pregnant or under 60 days or under 12 months postpartum", and "pregnant or under 12 months postpartum". The related tests are the CHIP folder plus every test file that sets a postpartum input or reads this variable (Medicaid pregnancy and lawfully residing, CA CCHIP, MS HMW, WIC): 189 tests. SHO #21-007 Q11 (#page=17) gives 12 months to these enrollees only in a state that "has also elected" the extension. Both wrong versions drop that condition. They would also make the branch ignore a reform of
P. - Why this severity: a missing edge case for an already-tested variable. The formula is correct.
- Fix: append to
TI. It passes at the head and fails under both wrong versions and under a Colorado date moved to 2022-01-01. A Virginia version also works, but it does not catch the Colorado date.
# The 12-month extension reaches lawfully residing pregnant people only in a
# state that has also elected it (SHO 21-007 Q11). Colorado's 12-month
# extension took effect July 1, 2022 (CHIP SPA CO-22-0039); the annual model
# reads January 1, so 2022 still uses the 60-day period.
- name: Case 16, Colorado pregnancy option covers a recent permanent resident 60 days postpartum, not 12 months, in 2022.
period: 2022
input:
people:
person1:
age: 30
is_pregnant: false
under_60_days_postpartum: true
immigration_status: LEGAL_PERMANENT_RESIDENT
years_since_us_entry: 2
person2:
age: 30
is_pregnant: false
under_12_months_postpartum: true
immigration_status: LEGAL_PERMANENT_RESIDENT
years_since_us_entry: 2
households:
household1:
members: [person1]
state_code: CO
household2:
members: [person2]
state_code: CO
output:
is_chip_immigration_status_eligible: [true, false]Suggestions
G1. Pin the first year of the Colorado and Missouri extensions.
- Where: Cases 9-12 (
TS:192-304) use only 2021 and 2025. Dates:P:154-156(CO) andP:211-213(MO). - Evidence: If Colorado's 2022-07-01 date moves to 2022-01-01, or Missouri's 2023-07-07 date moves to 2024-07-07, all 189 related tests still pass, the Medicaid tests included. KY, RI and WV are in the same position. The January 1 read has no CHIP test.
- Why a suggestion: the dates belong to the merged #10241 parameter, and the Medicaid tests have the same gap. The CHIP read of the date is pinned: a later Virginia date fails Cases 10, 12 and 15. Both dates match the SPA text.
- Fix: these cases pass at the head. Case 13 fails on the Colorado date change. The Missouri 2024 case fails on the Missouri date change. It also fails if
MPgoes back tois_chip_eligible(premium 1,548 instead of 0), and it computes eligibility, while the new Missouri case sets it as an input. If you add SA1, Colorado is already pinned, and the Missouri 2024 case is enough. Append toTS:
# Colorado's 12-month extension took effect July 1, 2022 (CHIP SPA CO-22-0039).
# The annual model reads January 1, so the extension starts in 2023.
- name: Case 13, Colorado standard pregnancy CHIP does not yet cover 12 months postpartum in 2022.
period: 2022
input:
people:
person1:
age: 30
is_pregnant: false
under_12_months_postpartum: true
medicaid_income_level: 2.3
households:
household:
members: [person1]
state_code: CO
output:
is_chip_eligible_standard_pregnant_person: false
- name: Case 14, Colorado standard pregnancy CHIP covers 12 months postpartum in 2023.
period: 2023
input:
people:
person1:
age: 30
is_pregnant: false
under_12_months_postpartum: true
medicaid_income_level: 2.3
households:
household:
members: [person1]
state_code: CO
output:
is_chip_eligible_standard_pregnant_person: trueAppend to TM (the 2023 case can go in TS instead):
# Missouri's 12-month extension took effect July 7, 2023 (CHIP SPA MO-23-0021).
# The annual model reads January 1, so the extension starts in 2024.
- name: Missouri standard pregnancy CHIP does not yet cover 12 months postpartum in 2023.
period: 2023
input:
people:
person1:
age: 30
is_pregnant: false
under_12_months_postpartum: true
medicaid_income_level: 2.3
households:
household:
members: [person1]
state_code: MO
output:
is_chip_eligible_standard_pregnant_person: false
# Show-Me Healthy Babies members pay no premium (MO-15-0009), so a postpartum
# mother whose CHIP eligibility is computed through the pregnancy pathway does
# not trigger the MO HealthNet for Kids premium.
- name: Missouri postpartum mother in standard pregnancy CHIP pays no premium in 2024.
period: 2024
input:
people:
person1:
age: 30
is_pregnant: false
under_12_months_postpartum: true
medicaid_income_level: 2.3
tax_units:
tax_unit:
members: [person1]
tax_unit_medicaid_income_level: 2.3
households:
household:
members: [person1]
state_code: MO
output:
is_chip_eligible_standard_pregnant_person: true
chip_category: PREGNANT_STANDARD
mo_chip_premium: 0G2. Two test comments state #10365's values, not this branch's values.
- Where:
TS:187-188andTS:192-196. - Evidence: Line 188 now says Colorado has offered FCEP "since January 1, 2025". On this branch,
parameters/gov/hhs/chip/fcep/income_limit.yamlgives Colorado2023-10-30: 2.65, which the replaced text matched. Case 9 says the CHIP limit is 260% "plus the 5 percentage point MAGI disregard", that is 265%. On this branch the 2021 limit is 2.60 (parameters/gov/hhs/chip/pregnant/income_limit.yaml:24-26), andmedicaid_income_eligibleadds no disregard, so the model applies 260%. Both comments match #10365, as the body says. - Why a suggestion: comments only. Income of 230% passes under both values.
- Fix: merge #10365 first and say so in the body. Or use wording that holds on either branch: keep "(Colorado since October 30, 2023)" at line 188 until #10365 merges, and end the Case 9 comment with "Income of 230% FPL is above Colorado's Medicaid pregnancy limit and below its CHIP pregnancy limit."
G3. The body does not name #10391, which conflicts with this PR and changes the variable that CHIP now reads.
- Where:
SP:11andSP:58-64;TS; the "Dependencies and related work" section of the body. - Evidence: a three-way merge with #10391's head gives 1 conflict in
SP(thedocumentationline; the return block merges cleanly) and 7 conflict hunks inTS. #10391 also addsri_medicaid_postpartum_eligibletois_pregnant_for_medicaid_nfc. After both merge, Rhode Island's Medicaid continuation flows into both CHIP variables. No wrong outcome was found, because CHIP still requires~is_medicaid_eligible. #10391 itself was not reviewed. - Fix (body): "#10391 (open, stacked on #10365) edits the same
documentationline and appends cases to the same test file. It also addsri_medicaid_postpartum_eligibletois_pregnant_for_medicaid_nfc, which both CHIP variables read after this PR. The PR that merges second resolves the conflict and re-checks Rhode Island postpartum routing in CHIP."
G4. Two downstream labels still say "pregnant" only.
- Where:
policyengine_us/variables/gov/hhs/chip/is_chip_eligible_pregnant.py:7-8andpolicyengine_us/variables/gov/hhs/chip/chip_category.py:6. - Evidence: both now cover a person up to 12 months postpartum (Case 11 asserts
PREGNANT_STANDARDfor one). No code or test reads these strings. - Fix: keep the enum member name and position (
chip_category.py:9-10relies on stable indices).
label = "Pregnant or postpartum person eligible for CHIP"
documentation = "Determines if a pregnant or postpartum person is eligible for the Children's Health Insurance Program through either the standard pregnant pathway or FCEP" PREGNANT_STANDARD = "Pregnant or postpartum - Standard"G5. The name has_chip_member no longer matches its value.
- Where:
MP:38andMP:92. - Evidence: the variable now means "the tax unit has a CHIP child", which is the RSMo 208.640.1 trigger.
- Fix:
has_chip_child = add(tax_unit, year, ["is_chip_eligible_child"]) > 0at line 38, andreturn has_chip_child * monthly_premiumat line 92.
G6. Say in the body that the extension has no effect in microsimulation.
- Where: the Limitations section of the body.
- Evidence: the default dataset (
populace_us_2024.h5) hasis_pregnantbut no postpartum input, sounder_60_days_postpartumandunder_12_months_postpartumare always false there. Population runs therefore show no postpartum CHIP enrollment or cost in CO, KY, MO, NJ, RI, VA and WV. The PR changes no default, and Medicaid postpartum coverage has the same gap. The Missouri premium change does take effect: it lowerschip_premiumfor Missouri tax units whose only CHIP member is pregnant (a small effect). - Fix (body): "Microsimulation datasets carry no postpartum inputs, so the postpartum extension has no effect in population runs (the same as Medicaid postpartum coverage)."
G7. The New Jersey source link in the body is dead.
- Where: the NJ row of the "State dates" table.
- Evidence: the nj.gov URL returns "404 - Page Not Found". A Wayback capture of 2025-10-31 (483 pages) shows that page 9 is the title XXI expenditure authority, so the claim is correct.
- Fix: link an archived copy, or the medicaid.gov copy that
P:83already cites (.../1115/downloads/nj/nj-1115-request-ca.pdf, also 483 pages). Check page 9 on that copy before you change the anchor. No code reference changes.
Investigated and cleared
- CHIP dates. For CO, KY, MO, NJ, RI, VA and WV, the CHIP SPA or 1115 effective date equals the date in
P. - 60-day years. The model keeps the CHIP income test in 60-day years. That matches the law: without the 12-month election, CHIP has no continuous-eligibility rule for pregnant enrollees (SHO #21-007 page 18, Q14).
- Period and cycles. Both callers are YEAR and read the YEAR NFC with
period. No Medicaid variable reads a CHIP variable, so there is no cycle. - Shared immigration flag.
is_chip_immigration_status_eligiblealso feedsis_chip_eligible_child,ca_cchip_eligibleandms_hmw_other_coverage_ineligible. No current state lets a postpartum lawfully residing minor into the child pathway. A Rhode Island 17-year-old permanent resident 12 months postpartum passes through the pregnancy branch, which SHO Q11 supports. - Other CHIP premiums. The LA, FL, DE, KS, TX and MI premiums still read
is_chip_eligible, but none of those states has a standard pregnancy pathway, so the extension does not reach them. - Existing Missouri cases. They already set
is_chip_eligible_child, so their results do not change. axiom:line.TheAxiomFoundation/rulespec-us#1932 queuedpoints to an open issue titled for this PR. Process note only; not counted.
Out of scope / follow-up
- TX, MI and LA premiums. These states have FCEP limits above 0 and their premiums read
is_chip_eligible, so a pregnancy-only FCEP member can trigger a children's premium. This is the pattern this PR fixes for Missouri. It exists onmain, and the state premium law was not checked. Consider a follow-up issue. - Kentucky start.
parameters/gov/hhs/chip/pregnant/income_limit.yaml:49-52starts Kentucky's pregnancy limit in 2021, but the section 2112 pathway starts 2022-07-01. #10365 corrects it. Until then, this PR also extends that early coverage to postpartum persons. - Lawfully residing start. The NJ and VA 1115s start the extension for lawfully residing enrollees on 2022-04-01. Under the January 1 read, NJ gives that group 12 months in annual 2022. Merged #10241 does the same, and the population is very small. A limitation line is optional.
- Continuous eligibility. In law, a CHIP enrollee stays in CHIP for all 12 months even if income falls into the Medicaid range (SHO pages 5-6, Q15). The model moves that person to Medicaid; coverage is the same. The body's Limitations cover this.
Validation Summary
| Check | Result |
|---|---|
| CI | 33/33 pass at 0e7f4104c7 |
| Local tests | 3 changed files 45/45 (12, 15, 18); gov/hhs/chip 150 pass; related CHIP, Medicaid, CCHIP, HMW and WIC tests 189 pass |
| Partner contract tests | None edited. Read-only run of partners/analytics_coverage/edge_cases/federal/healthcare: 70/70 |
| References | 6 new code references, all corroborate (SHO pages 2, 4, 7, 17; MO-15-0009 pages 2 and 70). 9 body sources: 8 corroborate, NJ link dead (G7) |
| Regulatory | Design correct; 7 of 7 state dates match; Missouri premium matches state law and the state plan |
| Code patterns | No hard-coded values, YEAR-to-YEAR, add() aggregation, formatted, changelog correct |
| Mutation | 17 changes to the new logic, the shared NFC test and the date parameter: 14 caught, 3 not caught (SA1, G1). The proposed cases catch all 3 |
| Merge trials | #10371 clean; #10365 test file only (expected); #10391 variable and test file (G3) |
| Microsimulation | No postpartum inputs in the default dataset; the extension has no population effect (G6) |
| Branch | 5 ahead / 14 behind main; merges cleanly |
| Other reviews | None |
Review Severity: REQUEST_CHANGES
One should-address item is open: SA1, a missing 60-day test for the lawfully residing branch. Seven suggestions are open (G1 to G7).
Next Steps
To auto-fix issues: run the fix-pr workflow for this PR.
- Append Case 16 from SA1 to
TI. - Take the suggestions that you agree with. G1 is pre-run test YAML. G2 changes comments only. G3, G6 and G7 change the body only. G4 and G5 are label and name changes.
- Run
make format, then run the three changed test files andpolicyengine_us/tests/policy/baseline/gov/hhs/chip. - Agree a merge order with #10365 and #10391. The PR that merges second keeps both test blocks in
TSand renumbers its cases.
…cases - SA1: immigration Case 16, Colorado 2022, a recent permanent resident under 60 days postpartum qualifies and one 60 days to 12 months does not. - G1: standard pregnancy Case 13 (Missouri 2023 still 60 days) and a Missouri 2024 case where a postpartum mother in standard pregnancy CHIP pays no premium. - G2: Case 8 and Case 9 comments hold on this branch and on PolicyEngine#10365. - G4: is_chip_eligible_pregnant and the PREGNANT_STANDARD label now say pregnant or postpartum (member name and position unchanged). - G5: has_chip_member renamed has_chip_child in mo_chip_premium. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, Pavel. All items are applied at 3079297 (fix commit 3669616, then a merge of
The Axiom parity issue (TheAxiomFoundation/rulespec-us#1932) is updated to this head and the new cases. |
Fixes #10362
What and why
is_chip_eligible_standard_pregnant_personrequiredis_pregnant, so a person in the separate CHIP pathway for "targeted low-income pregnant women" lost CHIP at birth. Federal law keeps them eligible after birth:This PR changes three variables:
is_chip_eligible_standard_pregnant_personnow usesis_pregnant_for_medicaid_nfc, the Medicaid pregnant-or-postpartum test. That test reads the per-stategov.hhs.medicaid.eligibility.categories.pregnant.postpartum_coverageparameter, so CHIP follows each state's Medicaid postpartum period without a new CHIP parameter.The lawfully residing pregnancy branch of
is_chip_immigration_status_eligibleuses the same test. The Medicaid version,is_medicaid_lawfully_residing_option_eligible, already does.mo_chip_premiumnow charges Missouri's MO HealthNet for Kids premium only when a CHIP child (is_chip_eligible_child) is in the tax unit. Missouri's pregnancy CHIP has no premium: CMS's approval of MO-15-0009 (pages 2 and 70) says targeted low-income pregnant women and unborn children "are not subject to premiums or cost-sharing charges", state plan section 8.2.4 says Show-Me Healthy Babies "does not have any cost-sharing requirements", and RSMo 208.640.1 sets the premium for parents and guardians of uninsured children. Without this change, postpartum mothers would newly trigger the premium. It also fixesmain, which already charged it when a pregnant member was the only CHIP-eligible person.is_chip_fcep_eligible_personkeepsis_pregnant. The labels ofis_chip_eligible_standard_pregnant_person,is_chip_eligible_pregnantand thePREGNANT_STANDARDCHIP category now say "pregnant or postpartum"; the enum member names and positions are unchanged.Example (2025): a Virginia person between 60 days and 12 months postpartum, with income at 180% of the federal poverty line. That is above Virginia's 148% Medicaid pregnancy limit and below its 205% CHIP limit. On
main,is_chip_eligible_standard_pregnant_personisfalse; with this PR it istrue.State dates
Each state's CHIP 12-month start date matches the Medicaid date that #10241 sets, so reusing the Medicaid parameter gives the right CHIP dates. Page numbers are PDF file pages.
Missouri's unborn-child mothers (ME 96) get only limited postpartum care: Show-Me Healthy Babies ends the day after hospital discharge, plus one postpartum visit (MO HealthNet manual 1855.030.15). The model does not represent that care, and FCEP keeps
is_pregnant.Dependencies and related work
is_chip_eligible_standard_pregnant_person. This PR does not include that check; the two merge without conflict.is_chip_eligible_standard_pregnant_person.yaml, so whichever merges second keeps both blocks and renumbers its new cases.documentationline and appends cases to the same test file. It also addsri_medicaid_postpartum_eligibletois_pregnant_for_medicaid_nfc, which both CHIP variables read after this PR. The PR that merges second resolves the conflict and re-checks Rhode Island postpartum routing in CHIP.Limitations
These match the model's Medicaid postpartum treatment:
Test plan
YAML tests whose expected values come from the statute and the state Medicaid and CHIP income limits. In
is_chip_eligible_standard_pregnant_person.yaml:PREGNANT) below its pregnancy limit and CHIP above it.In
is_chip_immigration_status_eligible.yaml, Case 15 covers a lawfully residing permanent resident 12 months postpartum in Virginia (2025), and Case 16 one in Colorado in 2022, where only the 60-day period applies. Two new cases inmo_chip_premium.yamlcover a tax unit whose only CHIP-eligible member is in the pregnancy pathway (premium $0): one with eligibility as an input, and a 2024 postpartum mother whose standard pregnancy eligibility is computed. I did not run tests locally; CI runs them.Source-conflict register entry: not applicable.
ruff format --checkpasses on the changed Python files.Changelog fragment in
changelog.d/axiom: TheAxiomFoundation/rulespec-us#1932 queued
🤖 Generated with Claude Code