Global SMS functions
These functions are used across applications.
OTIS Validate Total Income
Function name: otis-get-callback-times This appears to be the wrong function
Parameters:
Key |
Description |
|---|---|
adults |
Required. Integer. |
children |
Required. Integer. |
Income types |
Key should be named income_[income type]. Value should be integer |
standard |
Basic, ami, or fpl. Defaults to fpl if not provided. |
max |
Percentage max income to calculate. Number. Defaults to 300 if not provided |
Requires: Income Limits asset
Returns An object with values for
Key |
Description |
|---|---|
income |
Integer; total income |
incomeFlag |
0 if not over-income; 1 if over-income. |
maxIncome |
Calculated maximum income |
Note
Unemployment benefits are computed at the passed value times 4.3 to convert weekly to monthly for calculating income.
Status: Complete
OTIS Validate Payments
Function name: otis-validate-payments
Purpose: Takes a string of input from the user and returns an array of numbers that represent which types of payments we need to collect income information for.
Parameters: event.payments (the user’s input to the do you have any of these payments question)
Requires: Nothing
Returns: An array of payment types to ask for income information from the user.
Status: Complete.
OTIS Validate Benefit Types
Function name: otis-validate-payments
Purpose: Takes a string of input from the user and returns an array of numbers that represent which types of benefits we need to collect income information for.
Parameters: event.payments (the user’s input to the do you have any of these benefits question)
Requires: Nothing
Returns: An array of benefit types to ask for income information from the user. These are numerical values of 1-5 that are used to route the user through income questions.
OTIS Validate Benefit Types
Function name: otis-validate-payments
Purpose: Takes a string of input from the user and returns an array of numbers that represent which types of benefits we need to collect income information for.
Parameters: event.payments (the user’s input to the do you have any of these benefits question)
Requires: Nothing
Returns: An array of benefit types to ask for income information from the user.
Status: Complete.
OTIS Validate Money Input
Function name: otis-validate-money-input
Purpose: Takes a string of input from the user and returns the string if it is a number or 0 if it is not. This can then be used to route users to retry their input or move on to the next step.
Parameters: event.amount (the user’s input in response to a money question)
Requires: Nothing
Returns: A number. -1 is returned if it is not a valid amount.
Status: Should be updated to accommodate for dollar formatting ($,. within the data).
Load marital statuses
Function name: otis-load-marital-statuses
Purpose: Returns list of marital statuses for user to select from.
Parameters: event.langcode (may be null)
Requires: None
Returns: A string of marital statuses for display based on the language code provided.
Load languages
Function name: otis-load-languages
Purpose: Returns list of languages for user to select from.
Parameters: event.langcode (may be null)
Requires: None
Returns: A string of languages for display based on the language code provided.
Load genders
Function name: otis-load-genders
Purpose: Returns list of genders for user to select from.
Parameters: event.langcode (may be null)
Requires: None
Returns: A string of genders for display based on the language code provided.
Load ethnicities
Function name: otis-load-ethnicity
Purpose: Returns list of ethnicity options for user to select from.
Parameters: event.langcode (may be null)
Requires: None
Returns: A string of ethnicities for display based on the language code provided.
Load races
Function name: otis-load-races
Purpose: Returns list of races for user to select from.
Parameters: event.langcode (may be null)
Requires: None
Returns: A string of races for display based on the language code provided.
OTIS Validate Race
Function name: otis-validate-race
Purpose: Takes a string of input from the user and returns whether it is a valid selection or not. This can then be used to route users to retry their input or move on to the next step.
Parameters: event.race (the user’s input)
Requires: Nothing; values are stored in the function as an array
Returns: A string, either the name of the race the user selected OR 0 if it is invalid.
OTIS Validate Ethnicity
Function name: otis-validate-ethnicity
Purpose: Takes a string of input from the user and returns whether it is a valid selection or not. This can then be used to route users to retry their input or move on to the next step.
Parameters: event.ethnicity (the user’s input)
Requires: Nothing; values are stored in the function as an array
Returns: A string, either the name of the race the user selected OR -1 if it is invalid.
OTIS Validate Gender
Function name: otis-validate-gender
Purpose: Takes a string of input from the user and returns whether it is a valid selection or not. This can then be used to route users to retry their input or move on to the next step. The returned strings align with Legal Server’s supported genders.
Parameters: event.gender (the user’s input)
Requires: Nothing; values are stored in the function as an array
Returns: A string, either the name of the gender the user selected OR -1 if it is invalid.
OTIS Validate Marital Status
Function name: otis-validate-marital-status
Purpose: Takes a string of input from the user and returns whether it is a valid selection or not. This can then be used to route users to retry their input or move on to the next step. The returned strings align with Legal Server’s supported marital statuses.
Parameters: event.maritalStatus (the user’s input)
Requires: Nothing; values are stored in the function as an array
Returns: A string, either the name of the marital status the user selected OR -1 if it is invalid.
OTIS Validate Preferred Language
Function name: otis-validate-preferred-language
Purpose: Takes a string of input from the user and returns whether it is a valid selection or not. This can then be used to route users to retry their input or move on to the next step. The returned strings align with Legal Server’s supported languages.
Parameters: event.language (the user’s input)
Requires: Nothing; values are stored in the function as an array
Returns: A string, either the name of the language the user selected OR -1 if it is invalid.
OTIS Validate Year
Function name: otis-validate-year
Purpose: Takes a string of input from the user and returns whether it is a valid year. This can then be used to route users to retry their input or move on to the next step.
If the user enters a 2 digit year, it is assumed to be 19xx if the string is greater than 10.
Parameters: event.year (the user’s input)
Requires: none
Returns: A number (either the 4 digit year or a 0 representing invalid data)
Note
Would be nice to not allow future years to be included.
OTIS Validate Day of Month
Function name: otis-validate-day-of-month
Purpose: Takes a string of input from the user and returns whether it is a valid number between 1 and 31 for months with 31 days 1 and 30 for days with 30 days, and between 1 - 29 days for February. This can then be used to route users to retry their input or move on to the next step.
Parameters: event.day (the user’s input), event.month (the user’s previous input for the month)
Requires: none
Returns: A number (either the day or a 0 representing invalid data)
OTIS Validate Month
Function name: otis-validate-month
Purpose: Takes a string of input from the user and returns whether it is a valid month. This validates both numbers (1 - 12) and text input such as November, november, nov, or Nov. This can then be used to route users to retry their input or move on to the next step.
Parameters: event.month (the user’s input)
Requires: none
Returns: A number (either the day or a 0 representing invalid data)
OTIS Calculate Age
Function name: otis-calculate-age
Purpose: Calculates an age based on a date of birth.
Parameters: event.day, event.month, and event.year (provided by the user)
Requires: none
Returns: A number
OTIS Poverty Estimate
Function name: otis-poverty-estimate
Purpose: Gets the estimated over-income threshold for users based on household size.
Parameters: event.children and event.adult. Both should be numbers.
Requires: API call to get poverty income.
Returns: An object containing:
income, which represents the total income
household_size, which represents the number of adults and children in the household
Note
This is the function to determine whether a user passes the initial basic income screening similar to what appears on IllinoisLegalAid.org/get-legal-help.
OTIS validate total income
Function name: otis-validate-total-income
Purpose: Gets the estimated over-income threshold for users based on household size.
Parameters:
event.children and event.adult. Both should be numbers.
event.standard which is the income standard to use. This defaults to the federal poverty level.
event.max which is the maximum income percentage to use. This defaults to 300.
Wage frequency, which is the wage frequency
Requires: API call to get poverty income.
Returns: An object containing:
income, which is the total monthly income
incomeFlag, which is 0 or 1. 1 represents overincome
maxIncome, which is the calculated maximum income based on the selected standard and allowable percentage.
Note
This is the function to determine whether a user passes the income screening for a specific organization.