Skip to content

Refactor PhlSeniorCitizenTaxFreeze to use new checks#390

Merged
prestoncabe merged 1 commit into
mainfrom
297-complete-library-checks-for-the-phlseniorcitizentaxfreeze-benefit
Mar 21, 2026
Merged

Refactor PhlSeniorCitizenTaxFreeze to use new checks#390
prestoncabe merged 1 commit into
mainfrom
297-complete-library-checks-for-the-phlseniorcitizentaxfreeze-benefit

Conversation

@prestoncabe

@prestoncabe prestoncabe commented Mar 21, 2026

Copy link
Copy Markdown
Collaborator

This wires up the following checks to the SCTF library benefit:

  • OwnerOccupant
  • LivesInPhiladelphiaPa

The remaining eligibility check for this is a complex age requirement. It is implemented in the SCTF library benefit DMN. I intend to implement it as a custom check as part of #339 .

The complex age requirement raised some interesting questions about how to implement similar checks in the future. We will likely eventually need to have better solutions for:

  • How might we share data facts between library and custom checks?
    • We discussed possibly using the same "situation" input across library and custom checks.
    • We also discussed finding a way to use the same data shape for all three of: custom checks/form editor/library checks
    • Another related feature that will help: supporting library benefits in the web app. This is another route to allowing users to bypass complex/bespoke benefit logic.
  • How might we access library checks from within custom checks?
    • There are a few different approaches from backend and UX standpoint we could take with this
    • This is probably blocked until we figure out the data sharing question

I'm punting/letting go of the above questions for now because of two recent realizations:

  • In the set of 5 property tax relief benefits, there are no age-related requirements except for SCTF. So, we don't need to solve the data-sharing question right now.
  • There is a simple enough workaround to sharing data between custom and library checks that I wasn't considering before: mapping data in the form editor using the Expression Component (e.g. setting custom.clientDateOfBirth to people.client.dateOfBirth). Ideal? No. But simple enough that I think it buys us time to finish the Prototype v2 milestone, get this in front of users, and prioritize a long-term solution based on their feedback.

@prestoncabe prestoncabe linked an issue Mar 21, 2026 that may be closed by this pull request
This wires up the following checks to the SCTF library benefit:
- OwnerOccupant
- LivesInPhiladelphiaPa

The remaining eligibility check for this is a complex age requirement.  It is implemented in the SCTF library benefit DMN. I intend to implement it as a custom check as part of #339 .

The complex age requirement raised some interesting questions about how to implement similar checks in the future. We will likely eventually need to have better solutions for:
- How might we share data facts between library and custom checks?
  - We discussed possibly using the same "situation" input across library and custom checks.
  - We also discussed finding a way to use the same data shape for all three of: custom checks/form editor/library checks
  - Another related feature that will help: supporting library benefits in the web app. This is another route to allowing users to bypass complex/bespoke benefit logic.
- How might we access library checks from within custom checks?
  - There are a few different approaches from backend and UX standpoint we could take with this
  - This is probably blocked until we figure out the data sharing question

I'm punting/letting go of the above questions for now because of two recent realizations:
- In the set of 5 property tax relief benefits, there are no age-related requirements except for SCTF. So, we don't need to solve the data-sharing question right now.
- There is a simple enough workaround to sharing data between custom and library checks that I wasn't considering before: mapping data in the form editor using the Expression Component (e.g. setting `custom.clientDateOfBirth` to `people.client.dateOfBirth`). Ideal? No. But simple enough that I think it buys us time to finish the Prototype v2 milestone, get this in front of users, and prioritize a long-term solution based on their feedback.
@prestoncabe
prestoncabe force-pushed the 297-complete-library-checks-for-the-phlseniorcitizentaxfreeze-benefit branch from d372446 to 5864b4b Compare March 21, 2026 15:02
@prestoncabe

Copy link
Copy Markdown
Collaborator Author

@Justin-MacIntosh @Michael-Dratch See my notes above for my latest thinking on the question of data sharing between custom checks and library checks.

@prestoncabe
prestoncabe merged commit c97ec1c into main Mar 21, 2026
3 checks passed
@prestoncabe
prestoncabe deleted the 297-complete-library-checks-for-the-phlseniorcitizentaxfreeze-benefit branch March 21, 2026 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Complete Library Checks for the PhlSeniorCitizenTaxFreeze benefit

1 participant