Skip to content

Use state dollar standards for the Medicaid aged, blind and disabled income limit in AK, ID, NH, VT and WI - #10378

Merged
hua7450 merged 9 commits into
PolicyEngine:mainfrom
hua7450:medicaid-abd-state-dollar-standards
Nov 2, 2026
Merged

hua7450 merged 9 commits into
PolicyEngine:mainfrom
hua7450:medicaid-abd-state-dollar-standards

Conversation

@hua7450

@hua7450 hua7450 commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Part of #9734: the dollar-standard states. #10361 handles the SSI-only states and #10373 handles West Virginia and North Dakota.

What and why

Five states test aged, blind and disabled people who don't receive SSI against a monthly dollar standard of their own. The model used a share of the poverty guideline for each of them. A share can't match a state's individual and couple amounts at once, so couples came out furthest off.

State Model before (2026, monthly) Standard (2026, monthly) What it is
AK 0.83 FPL: $1,380 / $1,871 $1,845 / $2,732 7 AAC 40.310 standard; since 2020 the cap of a state plan disregard above the APA standard
ID 0.78 FPL: $1,037 / $1,407 $1,027 / $1,491, income must be below AABD basic allowance: SSI + $33 / SSI couple rate
NH 0.75 FPL: $998 / $1,353 $1,008 / $1,492 Standard of need: SSI + minimum payment level − Medicaid standard disregard (+$14 / +$1)
VT 0.80 FPL: $1,064 / $1,443 $1,049.68 / $1,596.80 SSI + AABD supplement ($55.68 / $105.80)
WI 1.00 FPL: $1,330 / $1,803 $1,077.78 / $1,623.05 SSI + state supplement ($83.78 / $132.05)

New Hampshire's 209(b) SSI-recipient test (is_209b_ssi_recipient_income_eligible_for_medicaid) reads the same limit. SSI couples there with countable income between $1,353 and $1,492 now qualify without spenddown.

Changes

  • New income/limit/uses_state_standard (by state): true for AK, ID, NH, VT and WI from 2018-01-01.
  • Formula: one more branch in the select of medicaid_optional_senior_or_disabled_income_limit. Monthly amounts are multiplied by 12.
    • Alaska reads its own standard.
    • The other four states add a state amount to the SSI rate, so SSI cost-of-living increases flow through. The amounts come from parameters already on main:
      • New Hampshire: gov.states.nh.dhhs.ssp.minimum_payment_level less this pathway's own Medicaid standard disregard (senior_or_disabled.income.disregard, $13 / $20), the He-W 858.03(e) method;
      • Vermont: gov.states.vt.dcf.aabd.amount.*.INDEPENDENT;
      • Wisconsin: gov.states.wi.dhs.ssp.amount, now dated from 2018-01-01 ($83.78 / $132.05, unchanged since 1994 per Ops Memo 26-12; MEH Release 18-01). wi_ssp_regular reads the same parameter, and its values don't change;
      • Idaho: income/limit/state_standard/id.{individual,couple}, which hold amounts no state program parameter has (+$33 / +$0).
  • New gov.states.ak.dpa.ssp.income_eligibility_standard.{individual,couple}.
    • The 7 AAC 40.310 amounts for 2018-2026.
    • 2027: $1,911 / $2,830, which is $1,845 / $2,732 × 1.036 (the published 2027 COLA) rounded to the nearest dollar, as 40.310(c) describes.
    • After 2027, uprated by gov.ssa.uprating and rounded to the nearest dollar.
  • Vermont AABD supplement history. gov.states.vt.dcf.aabd.amount INDEPENDENT gains $52.04 / $98.88 from 2017-01-01 and $55.68 / $105.80 from 2024-01-01 (DCF Bulletins 17-26 and 21-16; DVHA 2024). See the side effects below.
  • requires_income_below_limit: ID is now true (IDAPA 16.03.05.500, below). is_optional_senior_or_disabled_income_eligible now names Idaho with Oregon.
  • income/limit/individual.yaml and couple.yaml: AK, ID, NH, VT and WI shares are removed, since the new standards replace them in every year.
  • test_medicaid_abd_ssi_rate_standard_properties.py:
    • adds a check that the uses_state_standard flags match the five states;
    • excludes them from the check that unflagged states keep their poverty-guideline share;
    • accepts ID as a below-only state.

Where the issue's description changed after reading the sources

  • Idaho is not tested at the SSI rate. § 777 covers SSI recipients and sets no limit for anyone else. § 301.01 says "To get AABD-Medicaid, the participant does not have to apply for SSI benefits." Eligibility follows the AABD allowance test in § 500-501.
    • The allowance is $545 raised by each dollar SSI increase since 2001, which is the SSI rate plus $33. The couple allowance equals the SSI couple rate in every published year (2017, 2018 and 2022-2026).
    • § 500 is strict: a person has need only if "their allowances ... are more than their income". ID is flagged below-only.
  • Alaska's Medicaid limit is above the APA standard. The APA standard is $1,356 / $2,019, which is SSI plus the APA supplement.
    • Since January 2020 the state plan disregards countable income between that standard and $1,845 / $2,732 (AK-26-0001). DPA publishes these caps as the "Expanded Refused Cash Income Limits".
    • Those caps are the 7 AAC 40.310 standards ($1,047 / $1,551 in 2004, raised each January by the Social Security COLA). 7 AAC 100.400(a)(17) applies them to aged and disabled Medicaid.
    • In 2018 and 2019 the same amounts were the APA need standard ($1,393 / $2,063 and $1,432 / $2,121). So Alaska has its own parameter rather than SSI plus the APA supplement.
  • Wisconsin's standard is SSI plus the supplement in every year from 2018. DHS 103.04(1)(c) makes the categorically needy standard "the maximum SSI payment including state supplement".
    • From August 2020 that is a fixed amount (Ops Memo 20-13).

    • Before then it was a base amount plus the person's shelter costs up to a cap. The base plus the cap equals SSI plus the supplement in each year:

      Year Individual Couple Source
      2018 $583.78 + $250.00 = $833.78 ($750 + $83.78) $882.05 + $375.00 = $1,257.05 ($1,125 + $132.05) MEH Release 18-01
      2019 $597.78 + $257.00 = $854.78 ($771 + $83.78) $903.38 + $385.67 = $1,289.05 ($1,157 + $132.05) MEH Release 19-02
      2020 $605.78 + $261.00 = $866.78 ($783 + $83.78) $915.38 + $391.67 = $1,307.05 ($1,175 + $132.05) Ops Memo 20-13
    • The model uses the cap for 2018 to July 2020, which is exact for anyone whose shelter costs reach it.

    • The state supplement rose to $92.16 / $145.26 on 2026-05-01 (Ops Memo 26-12). The variable is annual, so the model uses that amount from 2027.

Side effects of the Vermont history

  • vt_aabd (Vermont SSP) for 2017-2023 now uses the sourced independent-living supplement, $52.04 / $98.88, instead of the backfilled 2026 amount.
    • vt_aabd counts as unearned income for SNAP and HUD, so Vermont SSP recipients' SNAP and HUD amounts in those years move with it.
    • Periods before 2017 now backfill $52.04 / $98.88 instead of $55.68 / $105.80.
  • The other Vermont living arrangements (household of another, residential care, custodial care, Medicaid institution) still have only their 2026 amounts, which backfill to earlier years. vt_aabd_ep (the essential-person grant) combines the INDEPENDENT amounts with the HOUSEHOLD_OF_ANOTHER amount and the 2026 essential-person rates, so before 2026 it mixes sourced and backfilled values.
  • No existing Vermont SSP test uses a period before 2026.

Sources

Page numbers are PDF file pages. Every 2026 amount was re-read at the source on 2026-10-21, and again in a local review on 2026-10-26.

State Source Text
AK 7 AAC 40.310, 7 AAC 100.400 Income "may not exceed (1) $1,047 for an eligible individual living independently ... (2) $1,551 for an eligible couple", raised each January by the Social Security COLA percentage. 100.400(a)(17) applies it to aged and disabled Medicaid.
AK ADLTC Manual Addendum 1 (2020-2021, 2022-2024) and ADLTC 530 C Expanded Refused Cash Income Limits: 2026 "$1,845" for an individual and "$2,732" for a couple, one or both eligible. 530 C gives Medicaid "starting January 2020" to income above the APA standard "but equal to or below" these limits.
AK AK-26-0001, APA standards 2018-2021 (1 page) Disregard bands "$1,356 - $1,845" and "$2,019 - $2,732". The 2018 and 2019 need standards were $1,393 / $2,063 and $1,432 / $2,121.
ID IDAPA 16.03.05 (pages 28, 39) § 301.01, § 500 "allowances ... are more than their income", and § 501 basic allowance
ID State Plan TN 18-0002 (pages 5-6), DHW income limits 2018 "Medicaid Income Limit": $783 and $1,125, and "The couple's net income level is equal to the SSI couple's amount". January 2026: $1,047 and $1,511, including the $20 disregard.
NH He-W 802.04(b)(1), 854.16, 858.03, MAM 601 Table A, SR 26-01, SR 18-01 The standard of need is the SSI maximum plus the minimum payment level less the He-W 854.16 standard disregard (He-W 858.03(e)). Independent living: $1,008 / $1,492 (2026) and $764 / $1,126 (2018). SR 19-01 through SR 25-01 give the same SSI + $14 / + $1 every year.
VT HBEE § 8.05(b) (pages 10-11) Income "at or below the SSI/AABD payment level"
VT DVHA 2026 (pages 2, 7), DVHA 2024, DCF B17-26 (pages 4, 11) Independent living: "994.00 55.68 1,049.68" and "1,491.00 105.80 1,596.80". The supplement was $52.04 / $98.88 from 2017 through 2023.
WI DHS 103.04(1)(c), MEH 24.1, MEH 39.4 (Release 18-01, Release 19-02) "the maximum SSI payment including state supplement". Above it, income "is then compared to the medically needy limit of 100% FPL". MEH 39.4.1: $1,077.78 / $1,623.05 from January 2026; 2018 and 2019 base plus shelter cap as in the table above.
WI Ops Memo 20-13 (pages 1-2), Ops Memo 26-12 "$605.78 plus actual shelter costs up to $261.00" and "$915.38 plus actual shelter costs up to $391.67" before August 2020; "$866.78" and "$1,307.05" as "fixed amounts" from the August 2020 benefit month. The supplement rose to $92.16 / $145.26 on May 1, 2026.

None of the five state plans covers the poverty-level group of 42 U.S.C. 1396a(m), which is where a share of the poverty guideline would come from.

Merge order and dependencies

Merge this PR after #10374, which carries two medically needy updates this PR relies on. Without them, people who keep coverage today through the old poverty-guideline shares lose it:

Not changed here

Test plan

  • YAML tests with expected values from the sources above, in medicaid_optional_senior_or_disabled_income_limit.yaml:
    • an Alaska couple at $2,732 a month in 2026 is eligible;
    • a Vermont couple at $1,596.80 in 2026 is eligible;
    • a Wisconsin individual at $12,610 a year in 2025, just over the $12,609.36 standard (($967 + $83.78) × 12), is ineligible;
    • Wisconsin in 2020 uses the shelter cap, ($783 + $83.78) × 12 = $10,401.36;
    • an Idaho individual at exactly the $1,027 allowance in 2026 is ineligible;
    • Vermont in 2023 is ($914 + $52.04) × 12 = $11,592.48;
    • one 2026 case covering the other branches: New Hampshire single ($994 + $27 − $13) × 12 = $12,096, Alaska single $1,845 × 12 = $22,140, Idaho couple $1,491 × 12 = $17,892 each and Wisconsin couple ($1,491 + $132.05) × 12 = $19,476.60 each;
    • a Vermont couple in 2023 is ($1,371 + $98.88) × 12 = $17,638.56;
    • Vermont in 2024 is ($943 + $55.68) × 12 = $11,984.16 for one and ($1,415 + $105.80) × 12 = $18,249.60 for a couple;
    • Alaska in 2019 uses the APA need standard, $1,432 × 12 = $17,184 and $2,121 × 12 = $25,452.
  • vt_aabd.yaml Case 17: an independent individual in January 2023 gets the $52.04 supplement.
  • is_209b_ssi_recipient_income_eligible_for_medicaid.yaml: a New Hampshire SSI couple with $1,420 a month of countable income is under the $1,492 standard and qualifies without spenddown.
  • test_medicaid_abd_ssi_rate_standard_properties.py checks the uses_state_standard flags for 2018-2026.
  • Tests were not run locally; CI validates.
  • Source-conflict register: not applicable.
    • Alaska's regulation and DPA's APA tables differ on the APA cash standard, but they give the same Medicaid limit.
    • New Hampshire's cash grant rule (He-W 670.03(a)) says "less than" and its Medicaid manual (MAM 601) says "cannot exceed". The model follows the Medicaid manual, which already matches requires_income_below_limit.
    • No statute is involved in either.
  • make format.
  • Changelog fragment in changelog.d/.

No partner test has an aged, blind or disabled person in these states. The microsimulation impact was not run.

axiom: TheAxiomFoundation/rulespec-us#1934 queued

🤖 Generated with Claude Code

…limit

Alaska, Idaho, New Hampshire, Vermont and Wisconsin test aged, blind and
disabled people who do not receive SSI against a monthly dollar standard of
their own, not a share of the poverty guideline. Add uses_state_standard and
state_standard parameters (with adds_ssi_rate for the four states whose
standard is the SSI rate plus a state amount), one select branch in
medicaid_optional_senior_or_disabled_income_limit, and Idaho's
below-the-standard income test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hua7450 and others added 2 commits October 26, 2026 16:59
Read New Hampshire, Vermont and Wisconsin amounts from their state
supplement parameters on main (adding Vermont's 2017-2023 history), move
Alaska to its own 7 AAC 40.310 parameter uprated by the Social Security
COLA, keep only Idaho in state_standard, move the Wisconsin boundary test
to 2025 and add 2021 and Vermont 2023 cases, check the state-standard flags
in the unit test, and name Idaho as a below-only state.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hua7450 and others added 2 commits October 26, 2026 20:22
Use Wisconsin's SSI rate plus state supplement from 2018, which equals the
base plus the shelter cap that applied until July 2020 (MEH 39.4.1 Releases
18-01 and 19-02; Ops Memo 20-13), and drop its poverty-guideline shares.
Take New Hampshire's standard disregard from the Medicaid parameter
(He-W 854.16, as He-W 858.03(e)(2) names), point Idaho's state_standard at
the AABD basic allowance (issue 10462), drop Vermont's repeated 2026 entries,
and add a 2026 case for the NH and AK individual and ID and WI couple paths.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hua7450 and others added 2 commits October 27, 2026 15:58
Brings in main's CI fix.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
state_standard broke down by state but held only Idaho, which the
single-member breakdown guard rejects. Move the amounts to
state_standard/id and select Idaho alongside New Hampshire, Vermont and
Wisconsin. Results are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@PavelMakarchuk PavelMakarchuk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Program Review

PR #10378, "Use state dollar standards for the Medicaid aged, blind and disabled income limit in AK, ID, NH, VT and WI" (hua7450). Round 1, full review.

IDs: C = critical, SA = should address, G = suggestion.

Paths: V = policyengine_us/variables/gov/hhs/medicaid/eligibility/categories/medicaid_optional_senior_or_disabled_income_limit.py, L/ = policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/, AKS/ = policyengine_us/parameters/gov/states/ak/dpa/ssp/income_eligibility_standard/, WIS/ = policyengine_us/parameters/gov/states/wi/dhs/ssp/amount/, VTA/ = policyengine_us/parameters/gov/states/vt/dcf/aabd/amount/, T = policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/medicaid_optional_senior_or_disabled_income_limit.yaml. Line numbers refer to the reviewed head. Every PDF link uses the file page number.

Source Documents

Changed since the analysis

hua7450 pushed 62b72f6a93 ("Make Idaho's Medicaid ABD amount above the SSI rate a scalar parameter") after the analysis.

  • C1 (CI failure) — RESOLVED. At 928c372043, shard 3 failed test_enum_breakdown_parameters_do_not_have_single_member_tables: the new L/state_standard/{individual,couple}.yaml had breakdown: [state_code] with only ID (CONTRIBUTING.md:78). The commit makes them scalar files L/state_standard/id/{individual,couple}.yaml (33, 0), adds a state == "ID" branch with default=0 (V:73-83), and names Idaho in the descriptions and labels. This is the verified fix; only the path differs (L/state_standard/id/, not L/id/), and it also meets the rule.
  • Checks at 62b72f6a93. test_parameter_files.py 8/8 (1 failed before). Property test 90/90. T and the 209(b) file 35/35. YAML-key and URL checks 82/82. Medicaid folder 720. CI: 26 pass, 7 pending, 0 fail; shard 3 passes.
  • Other items. None depended on the changed files. SA1-SA3, G1, G2, G4-G7 and G9 refer to unchanged files, so their line numbers hold and the fixes marked "ran" (at 928c372043) still apply. G3 now applies to the moved Idaho files. G8 still applies: the default stays silent.

Branch Status

  • The branch is 7 commits ahead and 6 behind main (8ea43422e6). It is MERGEABLE. The 6 commits change the pregnancy income limit (#10365) and Idaho's CTC, and no file or reader of this PR.
  • Merge order: #10374, then #10373, then this PR.
    1. #10374 adds Wisconsin medically needy at 100% FPL from 2019-09-01 and Vermont's 2026 PIL of $1,375. Without it, this PR removes coverage in the model for a band of people (G1).
    2. #10373 (WV and ND at the SSI rate, approved). It conflicts in L/individual.yaml and L/couple.yaml, one hunk each: #10373 removes WV, and this PR removes the adjacent WI. After #10373 merges, merge main into this branch and delete both the WV and the WI entries in that hunk, so that neither stays. A kept WI would leave the old 0.83 / 1.00 share as dead data. This PR has no WV edit of its own. The resolved tree passed the guard and property tests (98) and the Medicaid folder (708). #10373's other shared files merge cleanly.
    3. #10361 and #10386 (which contains #10361). A text dry run at their current heads (b5e2f0256c, 88851f01eb) gives three conflicts. (a) Line 1 of L/individual.yaml and L/couple.yaml: combine both sentences. (b) The reference tuple at V:14-21: keep all five new URLs. (c) The line above the select: take #10361's sets_ssi_rate / covers_group / uses_ssi_rate lines and comment, then this PR's block. (a) and (b) are new since the body was written. (c) passed at #10361's earlier head (98 and 711). covers_non_ssi_recipients is true for the five states, so the new branch is not shadowed.
    4. #10364 merges cleanly (98 and 758). #10370 and #10374 share no file with this PR.

What the PR gets right

  • All 2018-2026 monthly limits for the five states equal the source tables. None of the five uses a share of the poverty guideline for this group.
  • Chaining Alaska's $1,047 / $1,551 from 2004 by each Social Security COLA, rounded to the nearest dollar, reproduces all nine published values. So the 2018-2019 need standard and the 2020+ Expanded Refused Cash limit are one 7 AAC 40.310 series, as the body says.
  • Idaho is below-only under IDAPA 16.03.05.500 ("are more than their income"); AK, NH, VT and WI stay at-or-below. Both match the sources.
  • NH, VT and WI reuse state parameters, so SSI and supplement changes flow through. The removed shares have no other reader. The formula is vectorized, with no hard-coded amounts.
  • The tests use real boundaries (an AK couple at the standard, an ID individual at the allowance, a WI individual $0.64 a year over) and kill 13 of 20 mutations.
  • The body is accurate on values, sources, known limits, vt_aabd side effects and merge order. No partner test is edited. The changelog fragment is correct.

Critical (Must Fix)

None open. C1 is resolved at 62b72f6a93 (see "Changed since the analysis").

Should Address

SA1. Alaska's 2027 standard is $1 too high under 7 AAC 40.310(c).

  • Where: AKS/individual.yaml:14-26 and AKS/couple.yaml:14-26. The values end at 2026; later years use gov.ssa.uprating, rounded to the nearest dollar.
  • Evidence: 40.310(c) raises the standards "by a percentage equal to the annual percentage increase in Social Security benefits." The 2027 COLA is 3.6 percent, so $1,845 × 1.036 → $1,911 and $2,732 × 1.036 → $2,830. The model applies the CPI-W ratio 1.036187 and gives $1,912 / $2,831, so a 2027 individual at $1,912 and a couple at $2,831 are income-eligible but $1 over under the rule. Nearest-dollar rounding matches 9 of 9 published years.
  • Why SA: the method contradicts a clear rule and the COLA is published, so the body's note does not cover it. Not critical: it is a projection, and the band is $1 wide.
  • Fix (ran; keep the uprating for 2028 and later):
# AKS/individual.yaml, after 2026-01-01: 1_845
  # 7 AAC 40.310(c): $1,845 x 1.036 (2027 COLA), rounded to the nearest dollar.
  2027-01-01: 1_911
# AKS/couple.yaml, after 2026-01-01: 2_732
  # 7 AAC 40.310(c): $2,732 x 1.036 (2027 COLA), rounded to the nearest dollar.
  2027-01-01: 2_830
# both files, add to reference
    - title: SSA, 2027 Cost-of-Living Adjustment (COLA) Fact Sheet (3.6 percent COLA for 2027)
      href: https://www.ssa.gov/news/en/cola/factsheets/2027.html

With the fix, $1,912 and $2,831 are ineligible in 2027, and $1,911 and $2,830 stay eligible.

SA2. Wisconsin's 2018-2025 limits rest on a back-filled 2026 supplement.

  • Where: WIS/individual.yaml:3 and WIS/couple.yaml:3 (first value 2026-01-01). L/uses_state_standard.yaml:133-134 turns Wisconsin on from 2018-01-01, and V:66,80 reads the supplement.
  • Evidence: the parameter has no value before 2026, so 2018-2025 reuse the 2026 entry. The values are right: Ops Memo 26-12 page 2 says the supplements "had previously been unchanged since 1994", and MEH Release 18-01 gives $833.78 / $1,257.05 for 2018. But the file neither dates nor sources those years.
  • Why SA: a switch that turns on before the parameter it reads has a value is a pattern violation. The value is right, so it is not a value mismatch.
  • Fix (ran; wi_ssp_regular also reads this parameter, and its results and the WI SSP tests do not change):
# WIS/individual.yaml (couple.yaml: 132.05 and 145.26)
values:
  # Unchanged since 1994 (Operations Memo 26-12).
  2018-01-01: 83.78
  2026-05-01: 92.16
# both files, add to reference
    - title: Wisconsin Medicaid Eligibility Handbook 39.4.1, Release 18-01 (2018 SSI payment level with the state supplement, $833.78 and $1,257.05)
      href: https://www.emhandbooks.wisconsin.gov/meh-ebd/history/18-01/18-01_39.4.htm

SA3. The tests do not pin Vermont's couple history, Vermont's 2024 change or Alaska before 2020.

  • Where: VTA/couple.yaml:19-21, VTA/individual.yaml:21, AKS/individual.yaml:6-7, AKS/couple.yaml:6-7. Append to T after T:620.
  • Evidence: four changes survive all 67 cases in the three test files that read this limit: VT 2017 couple $98.88 → $98.89, either VT 2024-01-01 date moved to 2025, and AK 2019 couple $2,121 → $2,122. Alaska is tested only in 2026, although its 2018-2019 values come from the APA need standard.
  • Why SA: missing edge cases for an already-tested variable.
  • Fix (ran: all pass at the head, and each fails on the change it pins; values from DVHA 2024 page 7 and the APA standards PDF):
- name: Vermont couple uses the $98.88 AABD couple supplement before 2024
  period: 2023
  input:
    people:
      person1:
        age: 70
      person2:
        age: 70
    tax_units:
      tax_unit:
        members: [person1, person2]
        tax_unit_is_joint: true
    marital_units:
      marital_unit:
        members: [person1, person2]
    households:
      household:
        members: [person1, person2]
        state_code: VT
  output:
    # (1,371 + 98.88) x 12
    medicaid_optional_senior_or_disabled_income_limit: [17_638.56, 17_638.56]

- name: Vermont uses the $55.68 and $105.80 AABD supplements from 2024
  period: 2024
  input:
    people:
      person1:
        age: 70
      person2:
        age: 70
      person3:
        age: 70
    tax_units:
      tax_unit1:
        members: [person1]
      tax_unit2:
        members: [person2, person3]
        tax_unit_is_joint: true
    marital_units:
      marital_unit1:
        members: [person1]
      marital_unit2:
        members: [person2, person3]
    households:
      household1:
        members: [person1]
        state_code: VT
      household2:
        members: [person2, person3]
        state_code: VT
  output:
    # (943 + 55.68) x 12; (1,415 + 105.80) x 12
    medicaid_optional_senior_or_disabled_income_limit:
      [11_984.16, 18_249.6, 18_249.6]

The Alaska case is the second case with period: 2019, state_code: AK in both households, the name "Alaska uses the Adult Public Assistance need standard in 2019", and this output:

  output:
    # 1,432 x 12; 2,121 x 12
    medicaid_optional_senior_or_disabled_income_limit: [17_184, 25_452, 25_452]

Suggestions

G1. Merge only after #10374.

  • Where: merge order. This PR removes the WI (1.00) and VT (0.80) shares from L/individual.yaml and L/couple.yaml.
  • Evidence: in a 2026 probe, a WI individual with $1,200 a month of countable income, a WI couple with $1,700 and a VT individual with $1,055 get medicaid_category NONE at the head, SENIOR_OR_DISABLED at the merge base, and MEDICALLY_NEEDY with #10374 merged in. Alone, this PR removes Medicaid in the model for WI individuals at $1,077.79-$1,330 and VT individuals at $1,049.69-$1,064 a month.
  • Why a suggestion: the law is encoded correctly, and the body already says to merge after #10374. Nothing enforces the order.
  • Fix: hold the merge until #10374 is on main, or rebase onto it.

G2. Wisconsin's May 2026 supplement increase does not reach 2026.

  • Where: V:66,80; the comment at L/uses_state_standard.yaml:130-132.
  • Evidence: Ops Memo 26-12 page 2 raises the supplement to $92.16 / $145.26 from May 1, 2026. The annual variable reads January 1, so 2026 is $8.38 / $13.21 a month low for May-December.
  • Why a suggestion: the body documents it, and with #10374 these people are medically needy with no deductible.
  • Fix (comment only), after line 132:
# NOTE: The supplement rose to $92.16 and $145.26 on May 1, 2026 (Operations
# Memo 26-12). This annual limit reads January 1, so 2026 uses the January
# amounts and the increase applies from 2027.

G3. Idaho couple amount: the title's arithmetic does not give +$0, and the DHW title adds a fact the page does not state.

  • Where: L/state_standard/id/couple.yaml:2,18 and L/state_standard/id/individual.yaml:18.
  • Evidence: with the 2000 SSI couple rate of $769, the title's arithmetic ($768 plus each SSI couple increase) gives the SSI couple rate minus $1. The encoded +$0 follows TN 18-0002 and DHW, which IDAPA 16.03.05.501.02 allows: "The increase may be rounded up." The DHW page does not mention a $20 disregard.
  • Fix (comment and title only):
# couple.yaml, line 2
# Idaho: the AABD basic allowance, equal to the SSI couple rate. IDAPA
# 16.03.05.501.02 says "The increase may be rounded up", and TN 18-0002 sets
# the couple level equal to the SSI couple's amount.
# both files, DHW title
    - title: Idaho Department of Health and Welfare, Medicaid Program Income Limits, AABD Cash and AABD Medicaid (January 2026, $1,047 and $1,511 gross; $1,027 and $1,491 after the IDAPA 16.03.05.540 $20 disregard)

Also use a Wayback capture for the DHW href, because the live page rolls forward.

G4. Cite a source for Vermont's 2019-2022 supplement.

  • Where: VTA/individual.yaml:9-15 and VTA/couple.yaml:9-15.
  • Evidence: the references cover 2017-2018 and 2023-2024. DCF bulletins B18-14 to B21-16 (page 2) show $52.04 / $98.88, so the values are right.
  • Fix (ran):
    - title: Vermont DCF Bulletin 21-16, P-2740A SSI/AABD Payment Maximums (effective January 1, 2021 and 2022)
      href: https://outside.vermont.gov/dept/DCF/Shared%20Documents/ESD/Rules-Adopted/B21-16.pdf#page=2

G5. Add #page=1 to the Alaska APA standards PDF link.

  • Where: AKS/individual.yaml:31 and AKS/couple.yaml:31.
  • Evidence: the PDF has one page and the values corroborate, but the repo rule puts the file page on every PDF href.
  • Fix: href: https://web.archive.org/web/20210102211125/http://dpaweb.hss.state.ak.us/POLICY/PDF/APA-Standards.pdf#page=1

G6. Cite the Idaho, Vermont and Wisconsin rules in the variable, and the at-or-below rules where the flags are set.

  • Where: V:14-21; L/requires_income_below_limit.yaml:8-32, whose false values for AK, NH, VT and WI (lines 34-35, 94-95, 126-127, 130-131) this PR now relies on.
  • Evidence: the variable cites 7 AAC 40.310 and He-W 800, but not IDAPA 16.03.05.501, HBEE § 8.05(b) or DHS 103.04(1)(c), which the formula also encodes. The at-or-below wording for AK, VT and WI is not cited in the flag file.
  • Fix (references only; run code_health/test_reference_urls.py after):
        "https://adminrules.idaho.gov/rules/current/16/160305.pdf#page=39",
        "https://humanservices.vermont.gov/sites/ahsnew/files/documents/HBEE-Part-2-Eligibility-Standards.pdf#page=10",
        "https://docs.legis.wisconsin.gov/code/admin_code/dhs/101/103/04/1/c",
    - title: 7 AAC 40.230 - Income eligibility (income "may not exceed the amounts specified in 7 AAC 40.310")
      href: https://www.law.cornell.edu/regulations/alaska/7-AAC-40.230
    - title: "Vermont HBEE Rules § 8.05(b) (income \"at or below the SSI/AABD payment level\") #page 10-11"
      href: https://humanservices.vermont.gov/sites/ahsnew/files/documents/HBEE-Part-2-Eligibility-Standards.pdf#page=10
    - title: Wisconsin Medicaid Eligibility Handbook 24.1 - Categorically needy income test (income that "does not exceed" the standard)
      href: https://www.emhandbooks.wisconsin.gov/meh-ebd/policy_files/24/24.1.htm

For NH, cite MAM 601 Table A, which the body uses for the Medicaid boundary.

G7. Say in the Alaska description that Medicaid uses this amount.

  • Where: AKS/individual.yaml:1,19 and AKS/couple.yaml:1,19.
  • Evidence: the description and label call it the APA "income eligibility standard". From 2020 the APA need standard equals the payment standard ($1,356 in 2026), and the 40.310 series continues only as the Medicaid Expanded Refused Cash limit (Addendum 1; 530 C). Only the values comment says so; a later reader could use it for the APA cash test.
  • Fix (use "a couple" and "(couple)" in couple.yaml):
description: Alaska sets this amount as the 7 AAC 40.310 income eligibility standard for an individual, which Medicaid uses as the income limit for aged and disabled people who are eligible for but do not receive cash assistance.
  label: Alaska 7 AAC 40.310 income eligibility standard (individual)

G8. Say that every flagged state needs a branch.

  • Where: V:74-83. The Missouri branch uses StateCode.MO (V:41); the new branches compare strings.
  • Evidence: a state flagged later in uses_state_standard without a branch gets the SSI rate plus default=0, with no error. test_state_standard_states_match_their_rules pins the five states, which limits the risk.
  • Fix (comment only), above monthly_amount = select(:
        # Each state flagged in uses_state_standard needs a branch here (or the
        # Alaska branch below); otherwise it gets the SSI rate alone.

G9. Add one vt_aabd case before 2026.

  • Where: VTA/individual.yaml:19-21; policyengine_us/tests/policy/baseline/gov/states/vt/dcf/aabd/vt_aabd.yaml.
  • Evidence: the PR moves vt_aabd for 2017-2023 from the back-filled $55.68 / $105.80 to $52.04 / $98.88, and vt_aabd feeds SNAP and HUD income. All 54 Vermont AABD cases use 2026 or 2026-01.
  • Fix (not run; Case 1 of that file with an earlier period):
- name: Independent individual in 2023 gets the $52.04 supplement.
  period: 2023-01
  absolute_error_margin: 0.01
  input:
    state_code: VT
    age: 65
  output:
    vt_aabd: 52.04

Investigated and cleared

  • T:419 cites "(7 AAC 40.230)" for "may not exceed". Correct: 40.230 uses those words and points to 40.310.
  • New Hampshire. $994 + $27 − $13 = $1,008 and $1,491 + $21 − $20 = $1,492, as in MAM 601 Table A. #10364 keeps the $13 / $20 disregard.
  • CI at 928c372043. The failure was C1, not the known Montana test.

Out of scope / follow-up

  • Idaho's AABD cash allowance is still $545 / $768 (#10462).
  • Documented simplifications: AK couples with one eligible spouse in 2018-2019; the WI shelter cap before August 2020; an ID spouse with an ineligible spouse; the WI "couple, one spouse eligible" supplement ($130.43).
  • Other Vermont living arrangements back-fill their 2026 amounts (2021 another's household: $39.30 in B21-16, $42.05 in the model). Before 2018, the five states back-fill the 2018 values.
  • gov.ssa.ssi.amount uprates without whole-dollar rounding from 2028 (pre-existing). New York has its own PR. The microsimulation was not run.

Validation Summary

Check Result
CI 928c372043: 2 fail (shard 3 and its aggregator; C1). 62b72f6a93: 26 pass, 7 pending, 0 fail
Local tests at 62b72f6a93 guard 8/8; property 90/90; T + 209(b) 35/35; YAML-key and URL checks 82/82; Medicaid folder 720
Fix runs C1 fix: 180 + 32 pytest, Medicaid 703. All C1, SA and G4 fixes: 212 pytest; Medicaid, VT AABD and WI SSP 855, 0 fail
Partner contract tests None edited. Read-only healthcare edge cases 70/70
References and law All added references corroborate (gaps G3-G7). All 2018-2026 values match. AK 2027 method (SA1)
Code and mutation No hard-coded values. WI toggle gap (SA2). 20 mutants: 13 killed, SA3 kills 4, 3 survive (one mid-series AK value, two post-2026 projection changes)
Merge trials #10373: one conflict, resolved tree passes. #10361/#10386: three text conflicts. #10364 clean
Branch 7 ahead / 6 behind main; MERGEABLE
PR body Accurate. axiom: line present (process note, not counted)
Other reviews None

Review Severity: REQUEST_CHANGES

Three should-address items are open (SA1-SA3). C1 is resolved, and nine suggestions are open.

Next Steps

To auto-fix issues: run the fix-pr workflow for this PR.

  1. Apply SA1 (AK 2027 values), SA2 (WI supplement from 2018) and SA3 (three test cases).
  2. Take the suggestions that you agree with.
  3. Run make format, then T, the property test and the Medicaid folder.
  4. Merge after #10374. After #10373 merges, merge main and delete both the WV and WI entries in the conflicting hunk of L/individual.yaml and L/couple.yaml.
  5. If #10361 or #10386 merges first, resolve the three conflicts as described in Branch Status.

hua7450 added a commit that referenced this pull request Oct 29, 2026
…irginia and North Dakota (#10373)

* Use the SSI rate as West Virginia's Medicaid aged/disabled income limit

West Virginia's SSI-Related/Non-Cash Assistance group (IMM § 23.11.4)
covers aged, blind, and disabled people whose countable income is within
the SSI Maximum Payment level (Chapter 4 Appendix A: $994 / $1,491 in
2026), not 75% of the poverty guideline. Income equal to the level
qualifies, following § 4.14.3 Step 5 and SSI's "not more than" test.

Part of #9734

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Use the SSI rate as North Dakota's Medicaid aged/disabled income limit

N.D.A.C. 75-02-02.1-40(1)(a)(2) sets the income level for categorically
needy aged, blind, or disabled recipients at the level "which establishes
supplemental security income eligibility" (same text in the February 2017
edition), so the limit is the SSI individual or couple rate, not 75% of
the poverty guideline. North Dakota is a 209(b) state, and the 209(b)
SSI-recipient income test reads the same limit. Recipient liability is net
income remaining after the level (75-02-02.1-41.1), so income equal to the
level qualifies.

Part of #9734

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Move the North Dakota SSI couple case to the 209(b) recipient tests

The case now runs through is_209b_ssi_recipient_for_medicaid with SSI
receipt, and no longer appends to the file that #10378 also extends.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Record West Virginia's "under" wording as a source-conflict candidate

IMM § 23.11.4 says countable income must be "under" the SSI Maximum
Payment level, while SSI's income test (42 U.S.C. 1382(a)), which the
optional group of 1902(a)(10)(A)(ii)(I) adopts, and the manual's own
§ 4.14.3 Step 5 admit income equal to it. The code follows the statute;
the candidate is unreviewed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
hua7450 and others added 2 commits October 29, 2026 13:40
Keep both sides: PolicyEngine#10361's covers_non_ssi_recipients handling and reference,
PolicyEngine#10373's ND and WV SSI-rate flags, and this PR's state standards. Delete both
the WV and the WI poverty-guideline shares in limit/individual.yaml and
couple.yaml, and combine their descriptions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
SA1: add Alaska's 2027 7 AAC 40.310 amounts from the published 3.6% COLA.
SA2: date Wisconsin's state supplement from 2018 (unchanged since 1994).
SA3: test Vermont's couple history, its 2024 change and Alaska in 2019.
G2-G9: May 2026 Wisconsin note, Idaho couple comment and archived DHW link,
Vermont B21-16 source, APA standards page anchor, at-or-below and rule
references, Alaska description, branch-per-state comment, and a 2023 vt_aabd
case. Also fix the unit-test docstring's count of parameter checks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hua7450

hua7450 commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator Author

Thanks for the round-2 review. All items are applied at 1da08ea098, which also merges main at b210b45a6c (#10361 and #10373 are now integrated). Tests were not run locally; CI will validate.

Paths: AKS/ = policyengine_us/parameters/gov/states/ak/dpa/ssp/income_eligibility_standard/, WIS/ = policyengine_us/parameters/gov/states/wi/dhs/ssp/amount/, VTA/ = policyengine_us/parameters/gov/states/vt/dcf/aabd/amount/, L/ = policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/, V = policyengine_us/variables/gov/hhs/medicaid/eligibility/categories/medicaid_optional_senior_or_disabled_income_limit.py, T = policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/medicaid_optional_senior_or_disabled_income_limit.yaml.

Should address

  • SA1 (Alaska 2027): done. AKS/individual.yaml:16 adds 2027-01-01: 1_911, and AKS/couple.yaml:16 adds 2_830, each with the 40.310(c) comment. The SSA 2027 COLA fact sheet is a new reference (AKS/individual.yaml:43; same in couple.yaml). Uprating still applies from 2028.
  • SA2 (Wisconsin supplement from 2018): done. WIS/individual.yaml:4 (2018-01-01: 83.78) and WIS/couple.yaml:4 (132.05), with the "Unchanged since 1994" comment. MEH Release 18-01 is a new reference (WIS/individual.yaml:15; same in couple.yaml).
  • SA3 (tests): done. Your three cases are verbatim at T:622 (Vermont couple, 2023), T:645 (Vermont, 2024) and T:678 (Alaska, 2019).

Suggestions

  • G1 (merge after Update Medicaid medically needy limits and switch on AR, IA, IL, NJ and ND #10374): kept. The body leads its merge section with it. Update Medicaid medically needy limits and switch on AR, IA, IL, NJ and ND #10374 also carries the Vermont PIL.
  • G2: done. L/uses_state_standard.yaml:133-135, the May 2026 note.
  • G3: done. The Idaho couple comment is at L/state_standard/id/couple.yaml:2-4. The DHW title now gives gross and after-disregard amounts, and the href is the archived capture https://web.archive.org/web/20261023233805/..., which I checked shows the January 2026 table (id/couple.yaml:21, id/individual.yaml:19).
  • G4: done. B21-16 is added at VTA/individual.yaml:14-15 and VTA/couple.yaml:14-15.
  • G5: done. AKS/individual.yaml:33 and AKS/couple.yaml:33 now end in #page=1.
  • G6: done.
    • V:23-26 adds IDAPA 16.03.05.501, HBEE § 8.05(b) (with a # PDF pages 10-11 comment, per the repo's reference rule) and DHS 103.04(1)(c).
    • L/requires_income_below_limit.yaml:39-46 adds 7 AAC 40.230, MAM 601, HBEE § 8.05(b) and MEH 24.1. For New Hampshire I cited MAM 601 Income Limits rather than Table A alone, because the "cannot exceed" wording is on the MAM 601 page; the title mentions Table A.
  • G7: done. The description and label are at AKS/individual.yaml:1,21 and AKS/couple.yaml:1,21.
  • G8: done. The comment is at V:89-90.
  • G9: done. It is added as Case 17 at policyengine_us/tests/policy/baseline/gov/states/vt/dcf/aabd/vt_aabd.yaml:198, renamed to fit that file's numbered style; the content is yours.

Merge with main

@PavelMakarchuk PavelMakarchuk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Program Review

PR #10378, "Use state dollar standards for the Medicaid aged, blind and disabled income limit in AK, ID, NH, VT and WI" (hua7450). Round 2, incremental review of 62b72f6a93..1da08ea098.

IDs: C = critical, SA = should address, G = suggestion. New items continue the numbering after the highest prior ID in each class.

Paths are as in my round 1 report: V = policyengine_us/variables/gov/hhs/medicaid/eligibility/categories/medicaid_optional_senior_or_disabled_income_limit.py, L/ = policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/senior_or_disabled/income/limit/, AKS/ = policyengine_us/parameters/gov/states/ak/dpa/ssp/income_eligibility_standard/, WIS/ = policyengine_us/parameters/gov/states/wi/dhs/ssp/amount/, VTA/ = policyengine_us/parameters/gov/states/vt/dcf/aabd/amount/, T = policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/categories/medicaid_optional_senior_or_disabled_income_limit.yaml. Line numbers refer to the reviewed head.

Source Documents

  • Reviewed head SHA: 1da08ea
  • Mode: incremental (round 2)
  • Scope: two commits since my review (Oct 27, 6:16pm EDT).
    • d0ad4625eb merges main at b210b45a6c, which brings #10361 (SSI-only states) and #10373 (WV and ND at the SSI rate). I checked the conflict resolution with git show --cc: the WV and WI shares are both deleted in L/individual.yaml and L/couple.yaml, the two descriptions are combined, and V keeps #10361's sets_ssi_rate / covers_group / uses_ssi_rate lines before this PR's block. The select is unchanged.
    • 1da08ea098 applies my round 1 items: 14 files, 148 insertions, 14 deletions (AKS/, WIS/, VTA/, the Idaho files, L/uses_state_standard.yaml, L/requires_income_below_limit.yaml, V, T, vt_aabd.yaml and one docstring line in the property test).
  • Sources I checked this round:
    • SSA 2027 COLA fact sheet: "will receive a 3.6 percent COLA for 2027"; SSI $1,029 / $1,544.
    • NH MAM 601: "The assistance group's net countable income cannot exceed the appropriate income limits." Table A: $1,008 / $1,492.
    • WI MEH Release 18-01, 39.4: $83.78, $132.05, $833.78 and $1,257.05. MEH 24.1: income "that does not exceed the categorically needy income limit".
    • 7 AAC 40.230: income "may not exceed the amounts specified in 7 AAC 40.310".
    • PDF VT DCF B21-16, page 2 (text layer): Independent Living $52.04 / $98.88, "Effective 1/1/22" and "Effective 1/1/21 – 12/31/21".
    • PDF IDAPA 16.03.05, page 42: § 540 "The standard disregard is twenty dollars ($20)".
    • Idaho DHW income limits (live): AABD "Effective January 2026 ... $1,047 $1,511*", "Page last updated: 4-20-2026".
  • Not opened: Wayback captures. The network here intercepts web.archive.org with a "NetAlerts" certificate, and I did not bypass TLS. The two Wayback hrefs that changed are only a #page=1 fragment (G5) and the new Idaho capture (G3). The evidence for both is in the table below.

Branch Status

  • The branch is 9 commits ahead and 29 behind main (360f63a443, Oct 29, 3:28pm EDT). It is MERGEABLE. None of the 75 files that main changed since the merge is a file of this PR, and none is a Medicaid or SSA file.
  • CI at head: 33 pass, 0 fail, 0 pending (run 40923693180, finished 3:13pm EDT). I re-checked with gh pr checks at 3:45pm EDT: 33 pass.
  • Merge order: #10361 and #10373 are merged and integrated, so steps 2 and 3 of my round 1 Branch Status are done. #10374 is still open (G1). git merge-tree (no refs written) merges this head cleanly with #10374 (33d10a5f09), #10386 (2131da0de7) and #10364 (7f8a8a1bcf).
  • The body says that #10364 and #10374 "currently conflict with main itself". GitHub now reports both as MERGEABLE, so that sentence is out of date. This is not a finding.
  • Partner contract tests: none edited. The "Household API Partners" job passes.

Round 1 items

ID Status Evidence
C1 RESOLVED Already resolved at 62b72f6a93. It still holds: the Idaho amounts stay scalar at L/state_standard/id/, test_parameter_files.py passes locally, and all 33 CI jobs pass.
SA1 RESOLVED AKS/individual.yaml:15-16 gives 2027-01-01: 1_911 and AKS/couple.yaml:15-16 gives 2_830, each with the 40.310(c) comment. The SSA reference is at line 42-43. The fact sheet says 3.6 percent: $1,845 × 1.036 = $1,911.42 → $1,911, and $2,732 × 1.036 = $2,830.35 → $2,830. The model gives $1,911 / $2,830 for 2027. For 2028 it gives $1,959 / $2,901, because the uprating now starts from the 2027 values.
SA2 RESOLVED WIS/individual.yaml:3-4 (2018-01-01: 83.78) and WIS/couple.yaml:3-4 (132.05), with the "Unchanged since 1994" comment. MEH Release 18-01 is at line 14-15 and shows the four amounts. The model gives $83.78 / $132.05 for 2018-2026 and $92.16 / $145.26 from 2027. wi_ssp_regular reads the same parameter, and the WI SSP folder passes (95).
SA3 RESOLVED The three cases are at T:622, T:645 and T:678, verbatim. The arithmetic holds: (1,371 + 98.88) × 12 = 17,638.56; (943 + 55.68) × 12 = 11,984.16; (1,415 + 105.80) × 12 = 18,249.60; 1,432 × 12 = 17,184; 2,121 × 12 = 25,452. Each change that I named in round 1 now fails exactly one case: VT 2017 couple $98.88 → $98.89, the VT individual or couple 2024-01-01 date moved to 2025, and AK 2019 couple $2,121 → $2,122.
G1 STILL OPEN (accepted) This is a merge-order action, not a code change, and the body leads its merge section with it. #10374 is open and MERGEABLE. At this head, a 2026 WI individual with $1,200 a month and a VT individual with $1,055 get medicaid_category NONE. On the tree merged with #10374, both get MEDICALLY_NEEDY, and people below the standard stay SENIOR_OR_DISABLED.
G2 RESOLVED L/uses_state_standard.yaml:133-135 has the May 2026 note.
G3 RESOLVED The couple comment is at L/state_standard/id/couple.yaml:2-4. The DHW title is at id/couple.yaml:20 and id/individual.yaml:18. IDAPA 16.03.05.540 is the $20 standard disregard, and $1,047 − $20 = $1,027 and $1,511 − $20 = $1,491. I could not open the new Wayback href (id/couple.yaml:21, id/individual.yaml:19) because of the network block. The live page shows the same January 2026 table and was last updated on April 20, 2026, before the October 23 capture. So I accept the author's check.
G4 RESOLVED B21-16 is at VTA/individual.yaml:14-15 and VTA/couple.yaml:14-15. Page 2 shows $52.04 / $98.88 for 2021 and 2022.
G5 RESOLVED AKS/individual.yaml:33 and AKS/couple.yaml:33 end in #page=1.
G6 RESOLVED V:23-26 adds IDAPA 16.03.05 (page 39), HBEE § 8.05(b) (page 10, with a # PDF pages 10-11 comment) and DHS 103.04(1)(c). L/requires_income_below_limit.yaml:39-46 adds 7 AAC 40.230, MAM 601, HBEE § 8.05(b) and MEH 24.1, and each quote matches its source. I agree with citing the MAM 601 page instead of Table A: the "cannot exceed" wording is on MAM 601, and the title names Table A. The URL and YAML-key checks pass.
G7 RESOLVED The description and label are at AKS/individual.yaml:1,21 and AKS/couple.yaml:1,21.
G8 RESOLVED The comment is at V:89-90.
G9 RESOLVED It is Case 17 at policyengine_us/tests/policy/baseline/gov/states/vt/dcf/aabd/vt_aabd.yaml:198-205, and the name follows that file's numbered style. Case 17 fails when the 2017 supplement becomes $52.14, and also when the $55.68 entry moves to 2023. A one-cent change stays inside the file's 0.01 margin, but the 2023 Vermont case in T catches it.

New findings

Critical

None.

Should address

None.

Suggestions

G10. Add a test for Alaska's 2027 standard.

  • Where: AKS/individual.yaml:16 and AKS/couple.yaml:16. Append the case to T after T:708.
  • Evidence: SA1 added the 2027 values, but no test reads them. When I changed $1,911 to $1,912, all 45 cases in T and vt_aabd.yaml still passed. My SA1 fix in round 1 did not include a test, so this gap comes from my own suggestion.
  • Why a suggestion: the values are correct and have a source. This is a non-blocking test improvement.
  • Fix (ran: it passes at the head, and it fails when 2027 is $1,912 or when the 2027 couple entry is removed):
- name: Alaska uses the 7 AAC 40.310 standard raised by the 3.6 percent 2027 COLA
  period: 2027
  input:
    people:
      person1:
        age: 70
      person2:
        age: 70
      person3:
        age: 70
    tax_units:
      tax_unit1:
        members: [person1]
      tax_unit2:
        members: [person2, person3]
        tax_unit_is_joint: true
    marital_units:
      marital_unit1:
        members: [person1]
      marital_unit2:
        members: [person2, person3]
    households:
      household1:
        members: [person1]
        state_code: AK
      household2:
        members: [person2, person3]
        state_code: AK
  output:
    # 1,845 x 1.036 = 1,911.42 -> 1,911; 1,911 x 12
    # 2,732 x 1.036 = 2,830.35 -> 2,830; 2,830 x 12
    medicaid_optional_senior_or_disabled_income_limit: [22_932, 33_960, 33_960]

Tests run

  • policyengine-core test on T, is_209b_ssi_recipient_income_eligible_for_medicaid.yaml and vt_aabd.yaml: 55 passed.
  • pytest on test_medicaid_abd_ssi_rate_standard_properties.py and test_parameter_files.py: 125 passed.
  • pytest on code_health/test_reference_urls.py, test_parameter_yaml_keys.py, test_no_concatenated_reference_urls.py, test_uprating_placement.py and test_known_dead_reference_urls.py: 155 passed.
  • policyengine-core test on gov/states/wi/dhs/ssp: 95 passed.
  • Mutations on a scratch copy: the four SA3 changes and the G9 changes each fail one case. AK 2027 $1,911 → $1,912 passes every existing case (G10). The G10 case fails on that change and when the 2027 couple entry is removed.
  • Probes:
    • Parameter values for 2017-2029 match the sources.
    • covers_non_ssi_recipients is true for all five states, so the new branch is not shadowed.
    • The 14 states flagged in every year have no entry in the share files, and no unflagged state is missing.
    • The G1 bands at the head and on the tree merged with #10374 give the results in the table.

Verdict

APPROVE: SA1-SA3 and the eight code suggestions are resolved, and the merge with #10361 and #10373 is correct. CI is green (33 pass). Two suggestions remain: G1 (merge after #10374) and G10 (a 2027 Alaska test). Neither one blocks.

@hua7450
hua7450 merged commit c04845f into PolicyEngine:main Nov 2, 2026
33 checks passed
hua7450 added a commit to hua7450/policyengine-us that referenced this pull request Nov 2, 2026
…0240 and PolicyEngine#10378) into ca-medi-cal-asset-limit-2027

Resolves the conflicts from PolicyEngine#10374's squash: keeps main's medically needy files, adds this PR's SB 164 references and 2027-07-01 rows to the asset limits, and appends this PR's medically needy cases as Cases 31-36. medicaid_medically_needy_income_limit.yaml is main's, so it leaves this PR's diff.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants