Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Default living_arrangements_allow_for_food_preparation to true, so California pays the SSI/SSP restaurant meals allowance only when the input says the living arrangement prevents meal preparation at home (WIC 12200(e)), not to every aged or disabled recipient.
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,12 @@ def record_live_value(route, simulation, variable, year):
{
"age__2024": [70],
"social_security_retirement__2024": [12_000],
# Texas in both snapshot years, as in situation(). state_code has
# a formula, so a 2024 input alone leaves 2026 on the default
# state (CA), where this household's SSI/SSP state supplement
# brings unrelated California law into household_net_income.
"state_code__2024": ["TX"],
"state_code__2026": ["TX"],
}
)
simulation = CoreSimulation(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,13 +117,13 @@
ca_state_supplement_blind_amount: 0
ca_state_supplement_aged_blind_disabled_amount: 0
ca_state_supplement: 0
# Disabled individual standard 1,233.94 + no-cooking food allowance
# 128.87 (living arrangements default to no food preparation) =
# 1,362.81 per month with no offset. Earnings of 83.33 per month fall
# within the $20 + $65 exclusions, so countable income is 0 (until PR
# 10240, SSI also zeroes this income for people who fail its noncitizen
# test). 1,362.81 x 12 = 16,353.72.
ca_capi: 16_353.72
# Disabled individual standard 1,233.94 per month with no offset. Living
# arrangements allow food preparation by default, so no no-cooking food
# allowance applies. Earnings of 83.33 per month fall within the
# $20 + $65 exclusions, so countable income is 0 (until PR 10240, SSI
# also zeroes this income for people who fail its noncitizen test).
# 1,233.94 x 12 = 14,807.28.
ca_capi: 14_807.28

- name: Case 6, mixed couple, only the noncitizen spouse receives CAPI.
period: 2026
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,133 @@
state_code: CA
output:
ca_state_supplement_food_allowance_eligible: false

- name: Food preparation not reported, so the living arrangement allows it by default
period: 2024
input:
ca_state_supplement_aged_disabled_count: 1
state_code: CA
output:
living_arrangements_allow_for_food_preparation: true
ca_state_supplement_food_allowance_eligible: false

# Restaurant meals allowance (WIC 12200(e); SSA POMS SI SF01415.140). The
# allowance is paid only when the living arrangement prevents meal preparation
# at home, so a household without living_arrangements_allow_for_food_preparation
# set gets the regular independent-living standard. January 2025 amounts, per
# SSA POMS SI 01415.057 (California codes A and C): federal SSI $967
# (individual) and $1,450 (couple); independent living $1,206.94 and $2,057.83;
# without cooking facilities $1,335.81 and $2,315.57.
- name: 2025 aged individual, food preparation not reported, gets the independent-living standard
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 70
is_tax_unit_head: true
immigration_status: CITIZEN
spm_units:
spm_unit:
members: [person1]
households:
household:
members: [person1]
state_code: CA
output:
ssi: 967
ca_state_supplement_food_allowance_eligible: false
ca_state_supplement_food_allowance: 0
ca_state_supplement_payment_standard: 1_206.94
ca_state_supplement: 239.94 # 1,206.94 - 967

- name: 2025 aged individual whose living arrangement prevents food preparation gets the restaurant meals allowance
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 70
is_tax_unit_head: true
immigration_status: CITIZEN
spm_units:
spm_unit:
members: [person1]
households:
household:
members: [person1]
state_code: CA
living_arrangements_allow_for_food_preparation: false
output:
ssi: 967
ca_state_supplement_food_allowance_eligible: true
ca_state_supplement_food_allowance: 128.87 # 1,335.81 - 1,206.94
ca_state_supplement_payment_standard: 1_335.81 # 1,206.94 + 128.87
ca_state_supplement: 368.81 # 1,335.81 - 967

- name: 2025 aged couple, food preparation not reported, gets the independent-living standard
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 83
is_tax_unit_head: true
immigration_status: CITIZEN
person2:
age: 78
is_tax_unit_spouse: true
immigration_status: CITIZEN
tax_units:
tax_unit:
members: [person1, person2]
marital_units:
marital_unit:
members: [person1, person2]
spm_units:
spm_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: CA
output:
ssi: [725, 725] # 1,450 / 2
ca_state_supplement_food_allowance_eligible: false
ca_state_supplement_food_allowance: 0
ca_state_supplement_payment_standard: 2_057.83
ca_state_supplement: 607.83 # 2,057.83 - 1,450

- name: 2025 aged couple whose living arrangement prevents food preparation gets the restaurant meals allowance
period: 2025-01
absolute_error_margin: 0.01
input:
people:
person1:
age: 83
is_tax_unit_head: true
immigration_status: CITIZEN
person2:
age: 78
is_tax_unit_spouse: true
immigration_status: CITIZEN
tax_units:
tax_unit:
members: [person1, person2]
marital_units:
marital_unit:
members: [person1, person2]
spm_units:
spm_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: CA
living_arrangements_allow_for_food_preparation: false
output:
ssi: [725, 725] # 1,450 / 2
ca_state_supplement_food_allowance_eligible: true
ca_state_supplement_food_allowance: 257.74 # 2,315.57 - 2,057.83
ca_state_supplement_payment_standard: 2_315.57 # 2,057.83 + 257.74
ca_state_supplement: 865.57 # 2,315.57 - 1,450
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,20 @@
input:
age: 65
state_code: CA
social_security_retirement: 14_000
# $17,000 / 12 = $1,416.67 a month; less the $20 disregard, $1,396.67 is
# above the $994 federal SSI rate and both California aged standards
# ($1,233.94, or $1,362.81 with the WIC 12200(e) restaurant meals
# allowance). No SSI or SSP is paid, so SNAP does not depend on
# living_arrangements_allow_for_food_preparation. At $14,000 the household
# got an SSP and, without the allowance, SNAP of $26 in September and $38
# from October, above the minimum.
# September: 1,416.67 - 209 = 1,207.67; shelter 663 - 603.83 = 59.17;
# net 1,148.50, rounded to 1,149; 30% = 344.70, rounded up to 345 > $298,
# so the $24 minimum applies.
# October: 1,416.67 - 217 = 1,199.67; shelter 663 - 599.83 = 63.17;
# net 1,136.50, rounded to 1,137; 30% = 341.10, rounded up to 342 > $306,
# so the $25 minimum applies.
social_security_retirement: 17_000
takes_up_snap_if_eligible: true
output:
snap_max_allotment:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,18 @@
state_name: CA
output:
ssi: 994
ca_state_supplement: 368.81 # 1,233.94 + 128.87 - 994
# Independent-living standard $1,233.94 - $994 federal SSI. The household
# does not report that its living arrangement prevents meal preparation, so
# it gets no restaurant meals allowance (WIC 12200(e)).
ca_state_supplement: 239.94
# Without the supplement the household's SNAP unearned income would be the
# $994 federal SSI benefit alone, and SNAP would be $143.
snap_unearned_income: 1_362.81
snap: 24
snap_unearned_income: 1_233.94 # 994 + 239.94
# 1,233.94 - 209 standard deduction = 1,024.94; excess shelter deduction
# 663 utility allowance - 50% x 1,024.94 = 150.53; net income
# 1,024.94 - 150.53 = 874.41, rounded to 874; 30% x 874 = 262.20, rounded
# up to 263; 298 maximum allotment - 263 = 35.
snap: 35

- name: Massachusetts state supplement counts as SNAP unearned income.
period: 2026-01
Expand Down Expand Up @@ -62,8 +69,9 @@
members: [person1, person2]
state_name: CA
output:
ca_state_supplement: 368.81 # 1,233.94 + 128.87 - 994
snap_unearned_income: 1_362.81
# $1,233.94 - $994, with no restaurant meals allowance (WIC 12200(e)).
ca_state_supplement: 239.94
snap_unearned_income: 1_233.94 # 994 + 239.94

# Indiana pays its Residential Care Assistance Program supplement to the
# facility as a per diem. 273.9(b)(2)(i) counts assistance "even if provided in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,15 @@
spm_unit_benefits: 4

- name: Benefits include California's SSI state supplement.
# Single aged Californian, no income, 2026. Monthly payment standard is
# 1,233.94 (aged or disabled, single) + 128.87 (food allowance) = 1,362.81.
# Monthly SSI is the 994 federal benefit rate for an individual, and
# countable income is zero, so the monthly supplement is
# 1,362.81 - 994 - 0 = 368.81. Annualised: ssi = 994 * 12 = 11,928 and
# ca_state_supplement = 368.81 * 12 = 4,425.72, summing to 16,353.72,
# which is the annual payment standard.
# Single aged Californian, no income, 2026. The household does not report
# its living arrangement, so it can prepare meals at home and gets no
# restaurant meals allowance (WIC 12200(e) pays it only when the living
# arrangement prevents meal preparation). Monthly payment standard is
# 1,233.94 (aged or disabled, single). Monthly SSI is the 994 federal
# benefit rate for an individual, and countable income is zero, so the
# monthly supplement is 1,233.94 - 994 - 0 = 239.94. Annualised:
# ssi = 994 * 12 = 11,928 and ca_state_supplement = 239.94 * 12 = 2,879.28,
# summing to 14,807.28, which is the annual payment standard.
period: 2026
absolute_error_margin: 0.01
input:
Expand All @@ -122,8 +124,8 @@
state_code: CA
output:
ssi: 11_928
ca_state_supplement: 4_425.72
spm_unit_benefits: 16_353.72
ca_state_supplement: 2_879.28
spm_unit_benefits: 14_807.28

- name: Benefits include modeled state unemployment insurance net of the SNAP it reduces.
# Low-income Pennsylvania adult with no reported UC and no earnings. Modeled
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# CA SSI State Supplementary Payment (SSP) partner edge cases.
# 2026 payment standards (2026-01-01 params): aged/disabled single $1,233.94,
# married (both aged/disabled) $2,098.83; food allowance single $128.87,
# married $257.74 (applies when living arrangements do not allow food
# preparation, the model default). 2026 SSI FBR: $994 single, $1,491 couple.
# married $257.74 (applies only when living arrangements do not allow food
# preparation; the model default allows it, so these cases get no food
# allowance). 2026 SSI FBR: $994 single, $1,491 couple.
# SSP = payment standard - SSI - SSI countable income.
- name: ca_state_supplement_aged_single_no_income_max (ca)
period: 2026
Expand Down Expand Up @@ -41,9 +42,9 @@
output:
spm_units:
spm_unit:
# Standard: 1,233.94 + 128.87 food = 1,362.81; SSI = 994 FBR (no income).
# SSP: (1,362.81 - 994) x 12 = 368.81 x 12 = 4,425.72.
ca_state_supplement: 4_425.72
# Standard: 1,233.94 (no food allowance); SSI = 994 FBR (no income).
# SSP: (1,233.94 - 994) x 12 = 239.94 x 12 = 2,879.28.
ca_state_supplement: 2_879.28
- name: ca_state_supplement_aged_couple_no_income (ca)
period: 2026
absolute_error_margin: 0.1
Expand Down Expand Up @@ -91,9 +92,9 @@
output:
spm_units:
spm_unit:
# Both aged: married standard 2,098.83 + married food 257.74 = 2,356.57;
# SSI couple FBR 1,491. SSP: (2,356.57 - 1,491) x 12 = 865.57 x 12 = 10,386.84.
ca_state_supplement: 10_386.84
# Both aged: married standard 2,098.83 (no food allowance);
# SSI couple FBR 1,491. SSP: (2,098.83 - 1,491) x 12 = 607.83 x 12 = 7,293.96.
ca_state_supplement: 7_293.96
- name: ca_state_supplement_aged_single_earnings_partial (ca)
period: 2026
absolute_error_margin: 0.1
Expand Down Expand Up @@ -133,8 +134,8 @@
spm_unit:
# $2,200/mo earned: SSI countable = (2,200 - 20 - 65) / 2 = 1,057.50
# > 994 FBR -> federal SSI = 0, but SSP standard is higher:
# SSP: (1,362.81 - 0 - 1,057.50) x 12 = 305.31 x 12 = 3,663.72.
ca_state_supplement: 3_663.72
# SSP: (1,233.94 - 0 - 1,057.50) x 12 = 176.44 x 12 = 2,117.28.
ca_state_supplement: 2_117.28
- name: ca_state_supplement_resources_above_limit_ineligible (ca)
period: 2026
absolute_error_margin: 0.1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ def ca_capi_ssi_ssp_standard(person, period, parameters):
aged_or_disabled = (age >= p.aged_or_disabled.age_threshold) | person(
"is_ssi_disabled", period.this_year
)
# NOTE: living_arrangements_allow_for_food_preparation has no default
# value and the microdata do not set it, so every aged or disabled
# person gets the no-cooking allowance (+$128.87 a month in 2026, +$257.74
# for a couple) unless it is set (issue 10296).
# NOTE: living_arrangements_allow_for_food_preparation defaults to true
# and the microdata do not set it, so the no-cooking allowance (+$128.87
# a month in 2026, +$257.74 for a couple) applies only when the input is
# set to false (issue 10296).
no_cooking = ~person.household(
"living_arrangements_allow_for_food_preparation", period.this_year
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,17 @@ class living_arrangements_allow_for_food_preparation(Variable):
value_type = bool
entity = Household
label = "Living arrangements allow for food preparation"
documentation = (
"Whether the household's living arrangement lets its members prepare "
"meals at home, with adequate cooking and food storage facilities. "
"Defaults to true, the common case; set it to false for a household "
"without such facilities, such as a room without a kitchen. California "
"pays the SSI/SSP restaurant meals allowance only to an aged or disabled "
"recipient whose living arrangement prevents meal preparation at home."
)
definition_period = YEAR
default_value = True
reference = [
"https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=WIC&sectionNum=12200",
"https://secure.ssa.gov/poms.nsf/lnx/0501415140SF",
]
Loading