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
Expand Up @@ -31,10 +31,10 @@ Try these scenarios in Preview:
- Spouse age: applicant under 65, spouse Yes with birth date over 65 years ago.
- Existing enrollment: select one program to fail only its enrollment check.

The current library returns unknown for an empty enrollment list, even when
None of these is explicitly selected. The form explains this behavior rather
than changing library rules. Selecting an existing program makes that program
fail and allows the other enrollment checks to pass.
Selecting None of these sends an empty enrollment list, which the library
treats as not enrolled in any program, so each enrollment check passes. Leaving
the question blank keeps enrollment unknown. Selecting an existing program
makes that program fail and allows the other enrollment checks to pass.

Run `mvn test -Dtest=ExampleScreenerImportServiceTest,ExampleScreenerSeedTest`
in builder-api to check account import, resource integrity, and custom DMN
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"components":[{"text":"# Philadelphia benefits example\n\n- Explore three library tax benefits and fictional Philly Cash.\n- Use the Preview page to try answers and see the effects in the Results section.\n- Go to the Publish page to get a unique URL for this screener and see what it will look like to end users.","id":"Field_example_0","type":"text","layout":{"row":"Row_example_0"},"_path":["components",0],"_parent":"Form_philadelphia_example"},{"label":"Do you live in Philadelphia, Pennsylvania?","values":[{"label":"Value","value":"value"}],"id":"Field_example_1","type":"yes_no","layout":{"row":"Row_example_1"},"key":"simpleChecks.livesInPhiladelphiaPa","description":"Shared by all four benefits: one answer can feed several checks.","_path":["components",1],"_parent":"Form_philadelphia_example"},{"label":"Would you like extra cash?","values":[{"label":"Value","value":"value"}],"id":"Field_example_2","type":"yes_no","layout":{"row":"Row_example_2"},"key":"custom.wantsExtraCash","description":"Only used by fictional Philly Cash. A No answer fails that benefit; leaving this blank means unknown. Custom check questions use the custom. prefix; the DMN input is named wantsExtraCash.","_path":["components",2],"_parent":"Form_philadelphia_example"},{"label":"What is your household’s total yearly income?","id":"Field_example_14","type":"number","layout":{"row":"Row_example_14"},"key":"custom.householdIncome","appearance":{"prefixAdorner":"$"},"decimalDigits":0,"validate":{"min":0},"description":"Only used by fictional Philly Cash, whose limit is $40,000. A custom check compares this answer with an incomeLimit parameter set on the benefit, so another benefit could reuse the check with a different limit.","_path":["components",3],"_parent":"Form_philadelphia_example"},{"text":"## Your home\n\nThese questions feed the three library tax benefits. Watch which questions become unnecessary as you answer in Preview.","id":"Field_example_3","type":"text","layout":{"row":"Row_example_3"},"_path":["components",4],"_parent":"Form_philadelphia_example"},{"label":"Do you own and live in your home?","values":[{"label":"Value","value":"value"}],"id":"Field_example_4","type":"yes_no","layout":{"row":"Row_example_4"},"key":"simpleChecks.ownerOccupant","description":"Shared by Homestead, OOPA, and SCTF.","_path":["components",5],"_parent":"Form_philadelphia_example"},{"label":"Do you owe delinquent property taxes?","values":[{"label":"Value","value":"value"}],"id":"Field_example_5","type":"yes_no","layout":{"row":"Row_example_5"},"key":"simpleChecks.taxDelinquent","description":"Used by OOPA.","_path":["components",6],"_parent":"Form_philadelphia_example"},{"label":"Does your property have a ten-year tax abatement?","values":[{"label":"Value","value":"value"}],"id":"Field_example_6","type":"yes_no","layout":{"row":"Row_example_6"},"key":"simpleChecks.tenYearTaxAbatement","description":"Homestead uses a negative check: No passes, Yes fails.","_path":["components",7],"_parent":"Form_philadelphia_example"},{"label":"Which of these programs are you already enrolled in?","values":[{"label":"Homestead Exemption","value":"PhlHomesteadExemption"},{"label":"Owner-Occupied Payment Agreement (OOPA)","value":"PhlOwnerOccupiedPaymentAgreement"},{"label":"Senior Citizen Tax Freeze (SCTF)","value":"PhlSeniorCitizenTaxFreeze"}],"id":"Field_example_7","type":"checklist_none","layout":{"row":"Row_example_7"},"key":"people.client.enrollments","description":"Choose None of these explicitly if you are not enrolled. The current library treats an empty enrollment list as unknown, so the tax benefits may still show Need more information. Select a program to see its enrollment check fail and the other programs’ checks pass.","_path":["components",8],"_parent":"Form_philadelphia_example"},{"text":"## Age and family\n\nSCTF can use your age, your spouse’s age, or whether a late spouse was at least 65. The library compares birth dates with the current date.","id":"Field_example_8","type":"text","layout":{"row":"Row_example_8"},"_path":["components",9],"_parent":"Form_philadelphia_example"},{"subtype":"date","id":"Field_example_9","type":"datetime","layout":{"row":"Row_example_9"},"dateLabel":"Date of birth","label":"Your date of birth","key":"people.client.dateOfBirth","description":"Try a date more than 65 years ago, then try a younger age.","_path":["components",10],"_parent":"Form_philadelphia_example"},{"label":"Do you currently have a spouse?","values":[{"label":"Value","value":"value"}],"id":"Field_example_10","type":"yes_no","layout":{"row":"Row_example_10"},"key":"people.spouse.exists","description":"No explicitly records no spouse. Yes links the spouse’s birth date to you for the library age check.","_path":["components",11],"_parent":"Form_philadelphia_example"},{"subtype":"date","id":"Field_example_11","type":"datetime","layout":{"row":"Row_example_11"},"dateLabel":"Spouse date of birth","conditional":{"hide":"= people.spouse.exists != true"},"label":"Your spouse’s date of birth","key":"people.spouse.dateOfBirth","description":"Used only when you have a spouse.","_path":["components",12],"_parent":"Form_philadelphia_example"},{"label":"Was your late spouse at least 65?","values":[{"label":"Value","value":"value"}],"id":"Field_example_12","type":"yes_no","layout":{"row":"Row_example_12"},"key":"simpleChecks.lateSpouseWasAtLeast65","description":"Answer No if this does not apply. Leaving it blank can keep the age result unknown when neither birth date establishes eligibility.","_path":["components",13],"_parent":"Form_philadelphia_example"},{"text":"## Try a few scenarios\n\n**Explore all four:** Philadelphia resident, wants cash, yearly income of $30,000, owns and occupies home, owes delinquent taxes, no abatement, None of these enrollments, birth date over 65 years ago.\n\n**Only Philly Cash passes:** Philadelphia resident, wants cash, yearly income of $30,000, does not own and occupy a home.\n\n**Over the income limit:** change the yearly income to $50,000 to see Philly Cash fail only its income check.\n\n**Unknown cash result:** Philadelphia resident with the extra-cash or income question unanswered.\n\nPhilly Cash passes in the first scenario. With None of these, the current library enrollment check returns unknown for the tax benefits.\n\nChange an enrollment to see a parameterized check fail for just that program. Then inspect the expanded results and compare the shared residence checks.","id":"Field_example_13","type":"text","layout":{"row":"Row_example_13"},"_path":["components",14],"_parent":"Form_philadelphia_example"}],"id":"Form_philadelphia_example","type":"default","schemaVersion":18,"exporter":{"name":"form-js","version":"1.15.2"},"_path":[]}
{"components":[{"text":"# Philadelphia benefits example\n\n- Explore three library tax benefits and fictional Philly Cash.\n- Use the Preview page to try answers and see the effects in the Results section.\n- Go to the Publish page to get a unique URL for this screener and see what it will look like to end users.","id":"Field_example_0","type":"text","layout":{"row":"Row_example_0"},"_path":["components",0],"_parent":"Form_philadelphia_example"},{"label":"Do you live in Philadelphia, Pennsylvania?","values":[{"label":"Value","value":"value"}],"id":"Field_example_1","type":"yes_no","layout":{"row":"Row_example_1"},"key":"simpleChecks.livesInPhiladelphiaPa","description":"Shared by all four benefits: one answer can feed several checks.","_path":["components",1],"_parent":"Form_philadelphia_example"},{"label":"Would you like extra cash?","values":[{"label":"Value","value":"value"}],"id":"Field_example_2","type":"yes_no","layout":{"row":"Row_example_2"},"key":"custom.wantsExtraCash","description":"Only used by fictional Philly Cash. A No answer fails that benefit; leaving this blank means unknown. Custom check questions use the custom. prefix; the DMN input is named wantsExtraCash.","_path":["components",2],"_parent":"Form_philadelphia_example"},{"label":"What is your household’s total yearly income?","id":"Field_example_14","type":"number","layout":{"row":"Row_example_14"},"key":"custom.householdIncome","appearance":{"prefixAdorner":"$"},"decimalDigits":0,"validate":{"min":0},"description":"Only used by fictional Philly Cash, whose limit is $40,000. A custom check compares this answer with an incomeLimit parameter set on the benefit, so another benefit could reuse the check with a different limit.","_path":["components",3],"_parent":"Form_philadelphia_example"},{"text":"## Your home\n\nThese questions feed the three library tax benefits. Watch which questions become unnecessary as you answer in Preview.","id":"Field_example_3","type":"text","layout":{"row":"Row_example_3"},"_path":["components",4],"_parent":"Form_philadelphia_example"},{"label":"Do you own and live in your home?","values":[{"label":"Value","value":"value"}],"id":"Field_example_4","type":"yes_no","layout":{"row":"Row_example_4"},"key":"simpleChecks.ownerOccupant","description":"Shared by Homestead, OOPA, and SCTF.","_path":["components",5],"_parent":"Form_philadelphia_example"},{"label":"Do you owe delinquent property taxes?","values":[{"label":"Value","value":"value"}],"id":"Field_example_5","type":"yes_no","layout":{"row":"Row_example_5"},"key":"simpleChecks.taxDelinquent","description":"Used by OOPA.","_path":["components",6],"_parent":"Form_philadelphia_example"},{"label":"Does your property have a ten-year tax abatement?","values":[{"label":"Value","value":"value"}],"id":"Field_example_6","type":"yes_no","layout":{"row":"Row_example_6"},"key":"simpleChecks.tenYearTaxAbatement","description":"Homestead uses a negative check: No passes, Yes fails.","_path":["components",7],"_parent":"Form_philadelphia_example"},{"label":"Which of these programs are you already enrolled in?","values":[{"label":"Homestead Exemption","value":"PhlHomesteadExemption"},{"label":"Owner-Occupied Payment Agreement (OOPA)","value":"PhlOwnerOccupiedPaymentAgreement"},{"label":"Senior Citizen Tax Freeze (SCTF)","value":"PhlSeniorCitizenTaxFreeze"}],"id":"Field_example_7","type":"checklist_none","layout":{"row":"Row_example_7"},"key":"people.client.enrollments","description":"Choose None of these explicitly if you are not enrolled; leaving this blank means enrollment is unknown. Select a program to see its enrollment check fail and the other programs’ checks pass.","_path":["components",8],"_parent":"Form_philadelphia_example"},{"text":"## Age and family\n\nSCTF can use your age, your spouse’s age, or whether a late spouse was at least 65. The library compares birth dates with the current date.","id":"Field_example_8","type":"text","layout":{"row":"Row_example_8"},"_path":["components",9],"_parent":"Form_philadelphia_example"},{"subtype":"date","id":"Field_example_9","type":"datetime","layout":{"row":"Row_example_9"},"dateLabel":"Date of birth","label":"Your date of birth","key":"people.client.dateOfBirth","description":"Try a date more than 65 years ago, then try a younger age.","_path":["components",10],"_parent":"Form_philadelphia_example"},{"label":"Do you currently have a spouse?","values":[{"label":"Value","value":"value"}],"id":"Field_example_10","type":"yes_no","layout":{"row":"Row_example_10"},"key":"people.spouse.exists","description":"No explicitly records no spouse. Yes links the spouse’s birth date to you for the library age check.","_path":["components",11],"_parent":"Form_philadelphia_example"},{"subtype":"date","id":"Field_example_11","type":"datetime","layout":{"row":"Row_example_11"},"dateLabel":"Spouse date of birth","conditional":{"hide":"= people.spouse.exists != true"},"label":"Your spouse’s date of birth","key":"people.spouse.dateOfBirth","description":"Used only when you have a spouse.","_path":["components",12],"_parent":"Form_philadelphia_example"},{"label":"Was your late spouse at least 65?","values":[{"label":"Value","value":"value"}],"id":"Field_example_12","type":"yes_no","layout":{"row":"Row_example_12"},"key":"simpleChecks.lateSpouseWasAtLeast65","description":"Answer No if this does not apply. Leaving it blank can keep the age result unknown when neither birth date establishes eligibility.","_path":["components",13],"_parent":"Form_philadelphia_example"},{"text":"## Try a few scenarios\n\n**Explore all four:** Philadelphia resident, wants cash, yearly income of $30,000, owns and occupies home, owes delinquent taxes, no abatement, None of these enrollments, birth date over 65 years ago.\n\n**Only Philly Cash passes:** Philadelphia resident, wants cash, yearly income of $30,000, does not own and occupy a home.\n\n**Over the income limit:** change the yearly income to $50,000 to see Philly Cash fail only its income check.\n\n**Unknown cash result:** Philadelphia resident with the extra-cash or income question unanswered.\n\nPhilly Cash passes in the first scenario. With None of these, each tax benefit’s enrollment check passes.\n\nChange an enrollment to see a parameterized check fail for just that program. Then inspect the expanded results and compare the shared residence checks.","id":"Field_example_13","type":"text","layout":{"row":"Row_example_13"},"_path":["components",14],"_parent":"Form_philadelphia_example"}],"id":"Form_philadelphia_example","type":"default","schemaVersion":18,"exporter":{"name":"form-js","version":"1.15.2"},"_path":[]}
Loading
Loading