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
1 change: 1 addition & 0 deletions docs/user-docs/docs/custom-checks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Custom Checks
63 changes: 45 additions & 18 deletions docs/user-docs/docs/user-guide.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Building an Eligibility Screener
# User Guide

This section explains how to create, configure, test, and publish an eligibility screener using the Benefit Decision Toolkit (BDT).

Expand Down Expand Up @@ -48,45 +48,72 @@ These tabs represent the main stages of screener development.

The **Manage Benefits** tab is where you define the eligibility logic used by your screener.

A single screener can evaluate eligibility for one or multiple benefits. The evaluation logic for each benefit is configured separately. This design a single BDT screener to screens users for multiple related programs, while keeping management of each benefit seperate.
In the BDT platform, a **Benefit** is a configured set of eligibility rules that evaluates whether a user qualifies for a specific program.

> TODO: Add image of Manage Benefits tab
When a user submits information through the screener form:

### 3.1 Benefits Overview
1. The screener collects the user’s inputs.
2. BDT passes those inputs to each configured Benefit.
3. Each Benefit evaluates its eligibility rules.
4. The Benefit returns an eligibility result.
5. The result is displayed to the user on the front-end form.

When you open the **Manage Benefits** tab, you will see a list of benefits associated with the screener.
A single screener can evaluate eligibility for one or multiple benefits. Each benefit’s logic is configured independently within the **Manage Benefits** tab.

This allows a single screener to assess users for multiple related programs while keeping the eligibility rules for each benefit separate and manageable.

### 3.1 Manage Benefits Overview

The **Manage Benefits** tab displays all benefits configured for your screener.

From this page, you can:

- Create a new benefit
- Edit an existing benefit
- Remove a benefit
- **Create** a new benefit
- **Edit** an existing benefit
- **Delete** a benefit

Selecting a benefit opens the **Configure Benefit** page.
Selecting a benefit opens the **Configure Benefit** page, where you define or modify its eligibility rules.

> TODO: Add image of Configure Benefit page

---

## 4. Configuring a Benefit

The **Configure Benefit** page is where you define the rules that determine eligibility.
The **Configure Benefit** page is where you define the rules that determine whether a user qualifies for a specific benefit.

Eligibility logic in BDT is built using **Eligibility Checks**.
Each benefit contains one or more **Eligibility Checks**.

> A user is considered **eligible for the benefit only if all eligibility checks evaluate to `True`.**

---

### What Is an Eligibility Check?

An **Eligibility Check** is a reusable rule component that:

- Accepts one or more user inputs
- Accepts one or more user inputs (from your form)
- Evaluates a defined condition
- Returns a boolean result (True or False)
- Returns a boolean result (`True` or `False`)

You configure each check by selecting a check type and setting its parameters.

#### Example

Suppose a benefit requires that applicants:

- Be at least 65 years old
- Live in the state of California

You could configure:

For example, a rule might require applicants to be at least 65 years old. You could add a _Person Minimum Age_ check and configure the minimum age parameter to `65`.
- A **Person Minimum Age** check with a minimum age of `65`
- A **State of Residence** check set to `California`

By combining multiple checks, you define the full set of eligibility rules for a benefit.
If **both** checks return `True`, the user is eligible.
If **either** check returns `False`, the user is not eligible.

Currently, a benefit evaluates as **eligible** only if _all_ of its eligibility checks return `True`.
By combining multiple eligibility checks, you define the complete eligibility criteria for a benefit.

---

Expand All @@ -103,11 +130,11 @@ To use a check:

1. Select the check from the list
2. Click **Add**
3. Configure its parameters
3. Add values for each of its required configuration parameters

Once added, the check appears in the benefit’s list of configured checks.

> TODO: Add image of check list
> TODO: Add image of check parameter configuration

For information about creating reusable custom checks, see **Creating Custom Checks**.
For information about creating reusable custom checks, see [Custom Checks](custom-checks.md).
5 changes: 5 additions & 0 deletions docs/user-docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,8 @@ site_name: Benefits Decision Toolkit

theme:
name: material

nav:
- Instroduction: index.md
- User Guide: user-guide.md
- Custom Checks: custom-checks.md
Loading