Summary
Create a UK-specific situation builder function similar to create_situation() for US.
Implementation
Create givecalc/uk/situation.py with:
create_uk_situation() function that builds a PolicyEngine-UK compatible situation dictionary
- Support for key UK inputs:
employment_income (wages/salary)
self_employment_income
gift_aid (main charitable donation mechanism)
charitable_investment_gifts (donations of stocks/property)
is_married (affects tax calculations)
region (England, Scotland, Wales, NI - affects income tax rates)
num_children (affects child benefit)
- Create donation axes (sweep gift_aid from 0 to income)
- Use UK entity structure: Person → BenUnit → Household
UK Entity Mapping
{
"people": {"person": {...}},
"benunits": {"benunit": {"members": ["person"]}},
"households": {"household": {"members": ["person"]}}
}
Acceptance Criteria
Part of #59
Summary
Create a UK-specific situation builder function similar to
create_situation()for US.Implementation
Create
givecalc/uk/situation.pywith:create_uk_situation()function that builds a PolicyEngine-UK compatible situation dictionaryemployment_income(wages/salary)self_employment_incomegift_aid(main charitable donation mechanism)charitable_investment_gifts(donations of stocks/property)is_married(affects tax calculations)region(England, Scotland, Wales, NI - affects income tax rates)num_children(affects child benefit)UK Entity Mapping
{ "people": {"person": {...}}, "benunits": {"benunit": {"members": ["person"]}}, "households": {"household": {"members": ["person"]}} }Acceptance Criteria
create_uk_situation()creates valid PolicyEngine-UK situationsPart of #59