Repository navigation
Description
The model adds SSI's in-kind support and maintenance (ISM), at SSA's presumed maximum value, to the countable income of Maryland Public Assistance to Adults (PAA) recipients. In its PAA income regulations and the manual's income and benefit sections, Maryland's Department of Human Services (DHS) never mentions in-kind support or a presumed value. If DHS counts only cash income, the model underpays PAA by the ISM, whether or not the recipient gets SSI.
What happens
For example, take a 70-year-old citizen in a Level D CARE home in January 2025. The model sets their allowable need at the $1,376 Level D rate plus the $102 personal needs allowance, or $1,478. When someone outside their household pays part of their shelter, the model counts $342.33 a month of ISM. It uses SSA's presumed maximum value, one-third of the $967 federal benefit rate plus $20 (20 CFR 416.1140(a)(1)).
| Monthly Social Security | Model PAA | PAA if DHS counts only cash income |
|---|---|---|
| $1,000 (no SSI) | $155.67 | $498.00 |
| $300 (with SSI) | $511.00 | $853.33 |
With $1,000 of Social Security, the person gets no SSI. The model counts $1,000 + $342.33 − $20 = $1,322.33 and pays $1,478 − $1,322.33 = $155.67. If DHS counts only cash income, it counts $1,000 − $20 = $980 and pays $498, the amount the model pays when nobody supports the person's shelter.
With $300 of Social Security, the model cuts the person's SSI from $687 to $344.67 for the ISM, and its imputed SSI for PAA falls by the same amount. The model also adds the $342.33 to PAA countable income, so its PAA stays at $511. If DHS counts only cash income, it counts the $344.67 of SSI the person receives plus $300 of Social Security, less $20, and pays $1,478 − $624.67 = $853.33.
The model counts ISM for PAA only in household calculations that set a PAA living arrangement and one of SSI's ISM inputs: ssi_receives_outside_shelter_support, ssi_receives_shelter_from_others_in_household or, for income months before October 2024, ssi_receives_food_from_others. The model defaults the PAA living arrangement to none and those inputs to false, so default results do not change.
What Maryland counts
DHS defines PAA income as "all income from any source" (COMAR 07.03.07.07(A)). In §B, DHS lists 15 kinds of countable income, from wages and Social Security to money payments from any source that benefit the person, and leaves the list open-ended. DHS includes in that list "the contribution for a parent from a son or daughter" and a parent's contribution for an adult child with a disability. It names no shelter or food that someone else provides and gives no way to value either.
For a person with no earnings, DHS disregards $20 of unearned income (COMAR 07.03.07.08(A)(2)). It pays the amount by which allowable needs exceed net countable income for the month (COMAR 07.03.07.09(A)).
In its PAA Manual, DHS lists SSI and Social Security among countable benefits, excludes charitable contributions and, after the first month, counts gross income less disregards (section 500, 500.8 to 500.10). In section 900, DHS applies the $20 disregard to unearned income from any source. DHS gives no in-kind support rule in either section.
We read these rules to count a recipient's cash income, including the SSI that SSA pays. On that reading, when SSA cuts SSI for ISM, DHS counts the smaller payment and raises PAA by the cut. DHS could also read its rules the other way. It could read §B(11) to reach a son's or daughter's payment toward a parent's shelter. In §C, it excludes "the value of home produce" and of Food Supplement Program benefits, as if its definition reached value in kind. Either way, DHS sets no presumed value for in-kind support.
Code
md_paa_countable_income adds ISM to unearned income (L40-L44):
40 unearned = (
41 _ssi_couple_income(person, period, "ssi_unearned_income")
42 + person("ssi_unearned_income_deemed_from_ineligible_parent", period)
43 + person("ssi_in_kind_support_and_maintenance", period)
44 )md_paa_imputed_federal_ssi subtracts that income from the SSI rate (L23-L25). Its branch for people who report SSI although they fail the model's citizen and qualified-noncitizen test does the same (L58-L60). md_paa subtracts both amounts from the allowable need (L27-L33). For a person who still gets SSI, the two ISM terms cancel; for a person without SSI, only the countable-income term remains.
The model computes ISM in ssi_in_kind_support_and_maintenance (L24-L29). It applies the presumed maximum value when a person in their own household gets shelter support, or got food from others in an income month before October 2024 (ssi_pmv_applies, L20-L51).
Reproduction
Run at commit 045d1ae, this script:
from policyengine_us import Simulation
MONTHS = [f"2025-{m:02d}" for m in range(1, 13)]
OUTPUTS = [
"ssi_in_kind_support_and_maintenance",
"ssi",
"md_paa_countable_income",
"md_paa_imputed_federal_ssi",
"md_paa",
]
for social_security in (1_000, 300):
for shelter_support in (False, True):
person = {
"age": {"2025": 70},
"immigration_status": {"2025": "CITIZEN"},
"social_security_retirement": {"2025": 12 * social_security},
"ssi_countable_resources": {"2025": 1_000},
"md_paa_living_arrangement": {m: "CARE_HOME_LEVEL_D" for m in MONTHS},
"ssi_receives_outside_shelter_support": {
m: shelter_support for m in MONTHS
},
}
situation = {
"people": {"person": person},
"households": {"household": {"members": ["person"], "state_code": {"2025": "MD"}}},
}
sim = Simulation(situation=situation)
print(f"Social Security {social_security}/month, shelter support {shelter_support}")
for name in OUTPUTS:
print(f" {name}: {sim.calculate(name, '2025-01')[0]:.2f}")prints:
Social Security 1000/month, shelter support False
ssi_in_kind_support_and_maintenance: 0.00
ssi: 0.00
md_paa_countable_income: 980.00
md_paa_imputed_federal_ssi: 0.00
md_paa: 498.00
Social Security 1000/month, shelter support True
ssi_in_kind_support_and_maintenance: 342.33
ssi: 0.00
md_paa_countable_income: 1322.33
md_paa_imputed_federal_ssi: 0.00
md_paa: 155.67
Social Security 300/month, shelter support False
ssi_in_kind_support_and_maintenance: 0.00
ssi: 687.00
md_paa_countable_income: 280.00
md_paa_imputed_federal_ssi: 687.00
md_paa: 511.00
Social Security 300/month, shelter support True
ssi_in_kind_support_and_maintenance: 342.33
ssi: 344.67
md_paa_countable_income: 622.33
md_paa_imputed_federal_ssi: 344.67
md_paa: 511.00
Possible fix
If DHS counts only cash income, leave ssi_in_kind_support_and_maintenance out of md_paa_countable_income. Then have both branches of md_paa_imputed_federal_ssi subtract income that includes SSI's countable ISM, as SSA does. In the two cases above, PAA would then come to $498 and $853.33. Under the other reading, the model would need a new input, since it does not track parent contributions, as a comment in md_paa says (L24-L26).
Related
We track SSI's deemed spouse income in the same formula in #10544. In #10809, an open draft pull request, md_paa_countable_income becomes monthly and keeps its ISM term.
Activity