Repository navigation
Conversation
The Medicaid work requirement's veteran exemption (42 CFR 435.554(c)(4)), the Kansas disabled veteran exemption (K.S.A. 79-32,121b(b)(2)), Hawaii LIHEAP's disabled-member point and SNAP's elderly or disabled member (7 CFR 271.2) turn on a VA rating, but the model read the tax permanent and total disability flag, is_disabled, or only the permanent VA flag. Document both VA flags, and note the narrower inputs in North Carolina's medical retirement test and the CTA pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 9, 2026
The five cases that expect the exemption still set the tax permanent and total disability flag, which the Kansas formula no longer reads. Set is_fully_disabled_service_connected_veteran and is_permanently_disabled_veteran instead; expected values are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #10767
What and why
Four rules turn on a VA disability rating, but the model read a different input. Each now reads
is_fully_disabled_service_connected_veteran, the model's flag for a 100% service-connected VA disability.is_veteran & is_permanently_and_totally_disabledis_fully_disabled_service_connected_veteranis_permanently_and_totally_disabled * is_veteranis_fully_disabled_service_connected_veteran & is_permanently_disabled_veteranis_disabledstood inis_fully_disabled_service_connected_veterangov.usda.disabled_programs)is_permanently_disabled_veteranonlyis_fully_disabled_service_connected_veteranand keeps the permanent flagis_permanently_and_totally_disabledis the tax definition: "unable to engage in any substantial gainful activity" (IRC 22(e)(3)). A VA rating measures "the average impairments of earning capacity" (38 USC 1155), and "Total disability may or may not be permanent" (38 CFR 3.340(a)(1)). So the old Medicaid and Kansas tests missed a veteran rated 100% who still works. They also exempted a veteran whose disability the VA rates below 100% or doesn't connect to service. The old Medicaid test also missed a temporary 100% rating, which 435.554(c)(4) names.The two VA flags now say what they mean. Both are inputs with only a label, so this PR adds a comment and references to each:
is_fully_disabled_service_connected_veteran: the VA rates or pays a service-connected disability at the 100% rate, temporary or permanent, including individual unemployability. The flag was added for Missouri's property tax credit, whose statute says "one hundred percent service-connected, disabled veteran". Its other readers (Missouri, Virginia energy assistance, the CTA pass, Michigan) are unchanged.is_permanently_disabled_veteran: the VA has rated the disability permanent and total, for compensation or for a pension, which requires a permanent and total non-service-connected disability (38 USC 1521(a)). That covers SNAP's non-service-connected half and the Kansas permanence condition.Example results:
ks_2025_integration.yaml).Microsimulation: none of these flags is in the microdata, so aggregate results don't change. The changes affect household calculations, where users set the flags.
Not changed, with comments added where the formula is narrower than the law:
is_permanently_disabled_veteranfor "Medically retired under 10 U.S.C. Chapter 61". It misses the temporary disability retired list (10 USC 1202). The model has no chapter 61 input.wa_pte_categorical_eligible.is_veteran, since the VA flags imply veteran status, andis_veterandefaults toveterans_benefits > 0.is_disabledandis_ssi_disabled, notis_permanently_and_totally_disabled. A veteran with only the tax flag set is no longer exempt under (IV) (Case 43).Test plan
medicaid_work_requirement_eligible.yamlCases 42-43;ks_disabled_veteran_exemptions_eligible_person.yaml.yamlCase 1 inputs changed, Cases 5-6 new;ks_2025_integration.yamldisabled veteran case andks_disabled_veteran_exemption_2025.yamlfive exemption cases inputs changed, expected values unchanged;hi_liheap_points.yamlCase 17;is_usda_disabled.yamlCase 9.make format(ruff format on the changed files)changelog.d/Test suites were not run locally; CI validates. I checked the new and changed cases' values one process at a time.
axiom: TheAxiomFoundation/rulespec-us#2145 queued
🤖 Generated with Claude Code