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
1 change: 1 addition & 0 deletions changelog.d/riv-gr-property-boundary-500.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Make Riverside County General Relief eligible at exactly $500 of total combined countable property, since the DPSS fact sheet says the total cannot exceed $500.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: Riverside County limits General Relief to filers with property value below this amount.
description: Riverside County limits General Relief to units whose total combined countable property does not exceed this amount.

values:
2020-01-01: 500
Expand All @@ -10,3 +10,5 @@ metadata:
reference:
# The program manual is not publicly available
- title: General Assistance Eligibility p.22
- title: Riverside County DPSS General Assistance fact sheet (archived 2021-07-13)
href: https://web.archive.org/web/20210713051521/http://dpss.co.riverside.ca.us/files/pdf/dpss-general-assistance.pdf#page=1
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
1. Property differential: countable property equals an independent numpy sum
of the members' bank, stock and bond assets, vehicle value above the
$4,650 exemption and the members' personal property. Property eligibility
is that sum below $500.
is that sum at or below $500.
2. Property monotone: raising one member's assets never lowers countable
property.
3. Withholding bounds and differential: 0 <= additional_medicare_tax_withheld
Expand Down Expand Up @@ -236,7 +236,7 @@ def _check(batch):
np.testing.assert_allclose(countable, property_value, atol=TOLERANCE)
np.testing.assert_array_equal(
base["ca_riv_general_relief_property_eligible"].astype(bool),
property_value < PROPERTY_LIMIT,
property_value <= PROPERTY_LIMIT,
)

# 3. Withholding bounds and differential.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,5 +89,6 @@
members: [person1, person2]
output:
# Cash 300 + 100, countable vehicles 25, member property 50 + 25.
# Assert the stock amount without choosing eligibility at exactly $500.
# The total doesn't exceed the $500 limit, so the unit is property-eligible.
ca_riv_general_relief_countable_property_value: 500
ca_riv_general_relief_property_eligible: true
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@
output:
ca_riv_general_relief_property_eligible: true

- name: Case 2, ineligible.
- name: Case 2, exactly the $500 limit is eligible.
period: 2024
input:
ca_riv_general_relief_countable_property_value: 500
in_riv: true
output:
ca_riv_general_relief_property_eligible: false
# Total combined property cannot exceed $500; $500 does not exceed it.
ca_riv_general_relief_property_eligible: true

- name: Case 3, cash held by one member of a two-person unit counts once.
period: 2024
Expand Down Expand Up @@ -76,3 +77,143 @@
output:
# Countable property is 4,850 - 4,650 = $200, below the $500 limit.
ca_riv_general_relief_property_eligible: true

- name: Case 6, a single adult with $499.99 of cash.
period: 2024
input:
people:
person1:
age: 30
bank_account_assets: 499.99
households:
household:
members: [person1]
in_riv: true
spm_units:
spm_unit:
members: [person1]
output:
# $499.99 is under the $500 limit.
ca_riv_general_relief_countable_property_value: 499.99
ca_riv_general_relief_property_eligible: true

- name: Case 7, a single adult with exactly $500 of cash.
period: 2024
input:
people:
person1:
age: 30
bank_account_assets: 500
households:
household:
members: [person1]
in_riv: true
spm_units:
spm_unit:
members: [person1]
output:
# $500 does not exceed the $500 limit.
ca_riv_general_relief_countable_property_value: 500
ca_riv_general_relief_property_eligible: true

- name: Case 8, a single adult with $500.01 of cash.
period: 2024
input:
people:
person1:
age: 30
bank_account_assets: 500.01
households:
household:
members: [person1]
in_riv: true
spm_units:
spm_unit:
members: [person1]
output:
# $500.01 exceeds the $500 limit.
ca_riv_general_relief_countable_property_value: 500.01
ca_riv_general_relief_property_eligible: false

- name: Case 9, a two-adult unit with $499.99 of cash.
period: 2024
input:
people:
person1:
age: 30
bank_account_assets: 499.99
person2:
age: 65
households:
household:
members: [person1, person2]
in_riv: true
spm_units:
spm_unit:
members: [person1, person2]
output:
# $499.99 is under the $500 limit.
ca_riv_general_relief_countable_property_value: 499.99
ca_riv_general_relief_property_eligible: true

- name: Case 10, a two-adult unit with exactly $500 of cash.
period: 2024
input:
people:
person1:
age: 30
bank_account_assets: 500
person2:
age: 65
households:
household:
members: [person1, person2]
in_riv: true
spm_units:
spm_unit:
members: [person1, person2]
output:
# $500 does not exceed the $500 limit.
ca_riv_general_relief_countable_property_value: 500
ca_riv_general_relief_property_eligible: true

- name: Case 11, a two-adult unit with $500.01 of cash.
period: 2024
input:
people:
person1:
age: 30
bank_account_assets: 500.01
person2:
age: 65
households:
household:
members: [person1, person2]
in_riv: true
spm_units:
spm_unit:
members: [person1, person2]
output:
# $500.01 exceeds the $500 limit.
ca_riv_general_relief_countable_property_value: 500.01
ca_riv_general_relief_property_eligible: false

- name: Case 12, cash spread over three accounts totalling exactly $500.00.
period: 2024
input:
people:
person1:
age: 30
bank_account_assets: 265.92
stock_assets: 133.82
bond_assets: 100.26
households:
household:
members: [person1]
in_riv: true
spm_units:
spm_unit:
members: [person1]
output:
# 265.92 + 133.82 + 100.26 = 500.00, which does not exceed the $500 limit.
ca_riv_general_relief_property_eligible: true
Original file line number Diff line number Diff line change
Expand Up @@ -278,3 +278,196 @@
# 326 needs standard for one person + 2.5 special needs - 277.60
ca_riv_general_relief_eligible: true
ca_riv_general_relief: 50.90

- name: Case 11, single adult with no property.
period: 2024-01
input:
people:
person1:
age: 64
employment_income: 0
ssi: 0
bank_account_assets: 0
is_incapable_of_self_care: true
households:
household:
members: [person1]
in_riv: true
spm_units:
spm_unit:
members: [person1]
ca_tanf: 0
housing_cost: 300 * 12
output:
# Single adult: min(300, 223 housing) + 92 food + 11 personal needs
# = 326 a month, plus the $30 annual transportation amount / 12 = 2.50,
# less $0 countable income: 328.50.
ca_riv_general_relief_property_eligible: true
ca_riv_general_relief_eligible: true
ca_riv_general_relief: 328.5

- name: Case 12, single adult with $499.99 of cash.
period: 2024-01
input:
people:
person1:
age: 64
employment_income: 0
ssi: 0
bank_account_assets: 499.99
is_incapable_of_self_care: true
households:
household:
members: [person1]
in_riv: true
spm_units:
spm_unit:
members: [person1]
ca_tanf: 0
housing_cost: 300 * 12
output:
# $499.99 is under the $500 limit; the grant equals Case 11's.
ca_riv_general_relief_property_eligible: true
ca_riv_general_relief_eligible: true
ca_riv_general_relief: 328.5

- name: Case 13, single adult with exactly $500 of cash.
period: 2024-01
input:
people:
person1:
age: 64
employment_income: 0
ssi: 0
bank_account_assets: 500
is_incapable_of_self_care: true
households:
household:
members: [person1]
in_riv: true
spm_units:
spm_unit:
members: [person1]
ca_tanf: 0
housing_cost: 300 * 12
output:
# $500 does not exceed the $500 limit, so the unit is eligible and the
# grant equals Case 11's no-property grant.
ca_riv_general_relief_property_eligible: true
ca_riv_general_relief_eligible: true
ca_riv_general_relief: 328.5

- name: Case 14, single adult with $500.01 of cash.
period: 2024-01
input:
people:
person1:
age: 64
employment_income: 0
ssi: 0
bank_account_assets: 500.01
is_incapable_of_self_care: true
households:
household:
members: [person1]
in_riv: true
spm_units:
spm_unit:
members: [person1]
ca_tanf: 0
housing_cost: 300 * 12
output:
# $500.01 exceeds the $500 limit.
ca_riv_general_relief_property_eligible: false
ca_riv_general_relief_eligible: false
ca_riv_general_relief: 0

- name: Case 15, two adults with $499.99 of cash.
period: 2024-01
input:
people:
person1:
age: 30
employment_income: 0
ssi: 0
bank_account_assets: 499.99
person2:
age: 65
employment_income: 0
ssi: 0
is_incapable_of_self_care: true
households:
household:
members: [person1, person2]
in_riv: true
spm_units:
spm_unit:
members: [person1, person2]
ca_tanf: 0
housing_cost: 300 * 12
output:
# $499.99 is under the $500 limit; the grant equals Case 1's.
ca_riv_general_relief_property_eligible: true
ca_riv_general_relief_eligible: true
ca_riv_general_relief: 438.5

- name: Case 16, two adults with exactly $500 of cash.
period: 2024-01
input:
people:
person1:
age: 30
employment_income: 0
ssi: 0
bank_account_assets: 500
person2:
age: 65
employment_income: 0
ssi: 0
is_incapable_of_self_care: true
households:
household:
members: [person1, person2]
in_riv: true
spm_units:
spm_unit:
members: [person1, person2]
ca_tanf: 0
housing_cost: 300 * 12
output:
# $500 does not exceed the $500 limit, so the unit is eligible and the
# grant equals Case 1's no-property grant.
# Two adults: min(300, 257 housing) + 160 food + 19 personal needs
# = 436 a month, plus 30 / 12 = 2.50, less $0 income: 438.50 (Case 1).
ca_riv_general_relief_property_eligible: true
ca_riv_general_relief_eligible: true
ca_riv_general_relief: 438.5

- name: Case 17, two adults with $500.01 of cash.
period: 2024-01
input:
people:
person1:
age: 30
employment_income: 0
ssi: 0
bank_account_assets: 500.01
person2:
age: 65
employment_income: 0
ssi: 0
is_incapable_of_self_care: true
households:
household:
members: [person1, person2]
in_riv: true
spm_units:
spm_unit:
members: [person1, person2]
ca_tanf: 0
housing_cost: 300 * 12
output:
# $500.01 exceeds the $500 limit.
ca_riv_general_relief_property_eligible: false
ca_riv_general_relief_eligible: false
ca_riv_general_relief: 0
Loading
Loading