Eligible for Accommodation Supplement

Social Security Boolean MONTH Person Formula Included used 0 times

Value type Boolean . Default value false Entity person

How is this calculated?

To calculate this variable, the following input is used

Formulas

This is the formula used to calculate the value of social_security__eligible_for_accommodation_supplement

0001-01-01

This formula is used for scenarios from the date 0001-01-01 onwards. More info on formulas

``````def formula(persons, period, parameters):
# Based on MSD's web page
# https://www.workandincome.govt.nz/products/a-z-benefits/accommodation-supplement.html
age_threshold = parameters(
period).entitlements.social_security.accommodation_supplement.age_threshold
# NOTE: using the age at the start of the month
# Age changes on a DAY, but this calculation only has a granularity of MONTH
age_requirement = persons('age', period.start) >= age_threshold

"""
http://www.legislation.govt.nz/act/public/1964/0136/latest/DLM363772.html
Notwithstanding anything to the contrary in this Act or Part 6 of the Veteransâ€™
Support Act 2014 or the New Zealand Superannuation and Retirement Income Act 2001,
the chief executive may, in the chief executiveâ€™s discretion, refuse to grant any
benefit or may terminate or reduce any benefit already granted or may grant a
benefit at a reduced rate in any case where the chief executive is satisfied
(a) that the applicant, or the spouse or partner of the applicant or any person
in respect of whom the benefit or any part of the benefit is or would be payable,
is not ordinarily resident in New Zealand; """
in_nz = persons(
'social_security__is_ordinarily_resident_in_new_zealand', period)
resident_or_citizen = persons('is_resident', period) + persons(
'is_permanent_resident', period) + persons('is_nz_citizen', period)
social_security__has_accomodation_costs = persons(
'social_security__has_accomodation_costs', period)
not_social_housing = (
persons('eligible_for_social_housing', period) == 0)

income = persons(
'accommodation_supplement__below_income_threshold', period)
cash = persons(
'accommodation_supplement__below_cash_threshold', period)

return age_requirement * resident_or_citizen * in_nz * social_security__has_accomodation_costs * not_social_housing * income * cash``````