For the recent (SNAP) and upcoming (Medicaid) work requirements, we need to find a good way to support this concept in our platform.
It feels like the concept of a "benefit" is tenuous here - I'm thinking of Openfisca and how everything is a variable and variables exist in a hierarchy of many other variables.
In that OF conceptual framework, "Meets SNAP Work Requirement" would be a variable that we would either test on its own, or have it be included under the umbrella of the overall "Eligible for SNAP" umbrella.
What this would mean in our project is dissolving the difference under the hood between a "benefit" and an "eligibility check". Both would be variables and you would select a variable to behave as a benefit for the purposes of a screener. Then it's immediate "children" variables would become the eligibility checks.
I'm not convinced (yet) that we need to do the above - i think there is advantage (to analysts building screeners or library logic) in things being as simple (constrained) and straightforward as they are right now.
My belief in keeping constraints extends to the discussion about whether to open up the logical possibilities for eligibility checks beyond the current paradigm (supporting more complexity than "these N number of eligibility checks need to be all true for the benefit to be eligible).
The logical complexity will need to happen somewhere, of course, but I'd like the complexity to be in a single predictable place, if that is possible, by default... with eventual ability to open "escape hatches" to do whatever you want...
That said, there is little guidance in the app to help an analyst architect these different pieces to fit the paradigm... And we still have to prove that real (and complex) screeners can actually be built this way.
So, for this issue I'd like to do two things:
- Think through (and/or actually build) a couple of ways to do the SNAP/MA work requirements screeners. What are the pros and cons of each approach?
- Experiment with a few ways to guide analysts in how to think of the "benefit", the associated checks, and how the logic could be architected.
- ideas:
- AI-assisted "benefit creation wizard", resulting in a skeleton/draft of the benefit and checks needed.
- Traditional tutorial that walks through the different UI elements and how to map benefit logic into our paradigm via a simple example.
- AI-assisted "eligibility check creation" that asks for a description of the check (a prompt) and then offers a draft implementation in the app.
Sara's original notes:
Under the current set up, all benefit checks must be true for a benefit to be eligible. For this exemption screener, only one TRUE is needed. I summed all the results into a list, then used expressions to evaluate the results. That's why there is only one 'meets work requirements or exemption' check, which is using either the maQuestionList or snapQuestionList to determine eligibility. This is related to previous discussions we've had about a need for a way to add OR and AND conditions. This is basically one long list of ORs.

For the recent (SNAP) and upcoming (Medicaid) work requirements, we need to find a good way to support this concept in our platform.
It feels like the concept of a "benefit" is tenuous here - I'm thinking of Openfisca and how everything is a variable and variables exist in a hierarchy of many other variables.
In that OF conceptual framework, "Meets SNAP Work Requirement" would be a variable that we would either test on its own, or have it be included under the umbrella of the overall "Eligible for SNAP" umbrella.
What this would mean in our project is dissolving the difference under the hood between a "benefit" and an "eligibility check". Both would be variables and you would select a variable to behave as a benefit for the purposes of a screener. Then it's immediate "children" variables would become the eligibility checks.
I'm not convinced (yet) that we need to do the above - i think there is advantage (to analysts building screeners or library logic) in things being as simple (constrained) and straightforward as they are right now.
My belief in keeping constraints extends to the discussion about whether to open up the logical possibilities for eligibility checks beyond the current paradigm (supporting more complexity than "these N number of eligibility checks need to be all true for the benefit to be eligible).
The logical complexity will need to happen somewhere, of course, but I'd like the complexity to be in a single predictable place, if that is possible, by default... with eventual ability to open "escape hatches" to do whatever you want...
That said, there is little guidance in the app to help an analyst architect these different pieces to fit the paradigm... And we still have to prove that real (and complex) screeners can actually be built this way.
So, for this issue I'd like to do two things:
Sara's original notes: