GoRules Version 2 is here - redesigned, now with managed cloud.GoRules Version 2 is here!
Watch the launch videoWatchGovernment Assistance
Streamlined decision system that determines program eligibility based on income thresholds, household size, age factors, and special circumstances.
Solution
This eligibility determination system evaluates applicants for government assistance programs using multiple qualification factors. It first analyzes household financial status by comparing annual income against tiered thresholds that vary based on household size, ensuring appropriate support levels for different family configurations. The system then factors in age requirements, differentiating between adult assistance programs and specialized youth support options for eligible teenagers.
When standard eligibility criteria aren't met, the system automatically evaluates special circumstances including disability status, veteran status, and caregiver responsibilities to identify alternative program options. For qualifying applicants, the system determines the appropriate assistance level (full or partial) and enhances benefits packages when special circumstances apply. This creates a personalized program recommendation that maximizes support while ensuring compliance with government assistance guidelines.
How it works
The decision graph evaluates eligibility through a two-stage process:
Income Eligibility Assessment: Analyzes annual income against household-size-adjusted thresholds with three distinct tiers:
- Small households (1-2 members): Full assistance up to $15,000, partial from $15,001-$25,000
- Medium households (3-4 members): Full assistance up to $30,000, partial from $30,001-$50,000
- Large households (5+ members): Full assistance up to $45,000, partial from $45,001-$65,000
Special Circumstances Evaluation: Identifies qualifying conditions:
- For applicants who don't qualify based on income, checks for disability, veteran status, or caregiver roles to grant specialty program access
- For income-eligible applicants with special circumstances, enhances their program benefits with additional support services
- Assigns specific program types based on combined eligibility factors, creating personalized assistance packages
The system returns a final determination with assigned program type and eligibility status.
Where teams use it
- Social services intake processing
- Government welfare program enrollment
- Community assistance centers
- Public health benefits screening
- Housing assistance qualification
- Food security program enrollment
- Workforce development services
- Disability support services
Inside the decision model
Government Assistance ships as a JDM decision graph with 3 nodes, 2 decision tables and 16 rules. Download it, load it into GoRules, and run it as-is on Zen Engine.
Request
inputEverything the graph needs arrives under a single applicant object: annualIncome, householdSize, and age drive the income tiers, while the nested specialCircumstances flags (hasDisability, isVeteran, isCaregiver) feed the second-stage evaluation.
Sample requestJSON
{
"applicant": {
"annualIncome": 28000,
"householdSize": 3,
"age": 35,
"specialCircumstances": {
"hasDisability": true,
"isVeteran": false,
"isCaregiver": false
}
}
}Income Eligibility
tableBase eligibility is decided by matching applicant.annualIncome, applicant.householdSize, and applicant.age against tiered rows under a first hit policy, so the most generous matching row wins. Full-assistance rows run first (income <= 15000 for households of <= 2, <= 30000 for > 2 and <= 4, <= 45000 for > 4), then partial-assistance rows cover the next band up to 25000, 50000, and 65000 respectively. A separate row grants youth-assistance when age is < 18 and >= 16 with income <= 25000, and the empty catch-all row at the bottom marks everyone else baseEligibility false with programType 'ineligible'.
Scaling income limits with household size is standard means-testing practice, since poverty guidelines and benefit thresholds rise with each additional household member. Splitting each tier into a full band and a partial band is how programs avoid a benefit cliff, tapering support instead of cutting it off at a single line, and the dedicated youth row is a sensible policy choice for reaching 16-17 year olds who apply outside a parental household.
| Annual Incomeapplicant.annualIncome | Household Sizeapplicant.householdSize | Ageapplicant.age | Base Eligibilityeligibility.baseEligible | Program Typeeligibility.programType |
|---|---|---|---|---|
| <= 15000 | <= 2 | >= 18 | true | 'full-assistance' |
| <= 30000 | > 2 and <= 4 | >= 18 | true | 'full-assistance' |
| <= 45000 | > 4 | >= 18 | true | 'full-assistance' |
| > 15000 and <= 25000 | <= 2 | >= 18 | true | 'partial-assistance' |
| > 30000 and <= 50000 | > 2 and <= 4 | >= 18 | true | 'partial-assistance' |
| > 45000 and <= 65000 | > 4 | >= 18 | true | 'partial-assistance' |
+2 more rows in the downloadable template
Special Circumstances
tableAfter the income stage, this table takes eligibility.baseEligible together with the three specialCircumstances flags and produces the final determination, again with a first hit policy. Applicants who failed the income test but have hasDisability, isVeteran, or isCaregiver set to true are still admitted into 'disability-support', 'veterans-assistance', or 'caregiver-support'. Income-eligible applicants with a disability or veteran flag get their program upgraded via the expression eligibility.programType + '-enhanced', caregivers get programType + '-caregiver', and the two fallback rows keep the plain programType or return 'ineligible' when nothing applies.
This mirrors categorical eligibility in public benefits, where certain statuses open a route into assistance independent of income testing, disability and veteran status being the classic examples. Enhancing rather than replacing the program for income-eligible applicants with special circumstances is a reasonable design choice: the base entitlement stays intact and the extra support services are layered on top.
| Base Eligibilityeligibility.baseEligible | Has Disabilityapplicant.specialCircumstances.hasDisability | Is Veteranapplicant.specialCircumstances.isVeteran | Is Caregiverapplicant.specialCircumstances.isCaregiver | Final Eligibilityeligibility.eligible | Program Assignmenteligibility.assignedProgram |
|---|---|---|---|---|---|
| false | true | - | - | true | 'disability-support' |
| false | - | true | - | true | 'veterans-assistance' |
| false | - | - | true | true | 'caregiver-support' |
| true | true | - | - | true | eligibility.programType + '-enhanced' |
| true | - | true | - | true | eligibility.programType + '-enhanced' |
| true | - | - | true | true | eligibility.programType + '-caregiver' |
+2 more rows in the downloadable template
Other Public Sector templates
View all templatesTax Exemption
Automated system that assesses organizations for 501(c)(3) tax-exempt status based on structure, activities, and financial metrics.
Public SectorMunicipal Permit Evaluation System
Automated system that evaluates building and event permits based on zoning regulations, safety requirements, and environmental impact factors.
Public SectorImmigration Eligibility Evaluator
Rules-based system automating visa application processing by evaluating documentation completeness, background checks and qualification scoring.
Make this template
your own.
Load Government Assistance into GoRules, adjust the rules to your policy, and ship it behind your own API.