...
...
...
In the Regent Document Assignment Tool, users can select documents to be assigned to a group of students in bulk, based on the results of a selected, predefined Query.
Overview
The Smart Form Manager Tool is available in the Regent Tools menu for users with the ‘Smart Form Manager Tool’ permission enabled.
The Document Assignment Tool is comprised of a top section with selection options for Institution Name and Query Name and a bottom section for the selection of Documents to be assigned.
NOTE: This tool is designed to be used at the Institution level. Only one Campus per Institution should be configured.
Getting Started
Schools will need to:
Be on or upgrade to the Regent Award 6.5.0.0 Release or a subsequent Release
Update Enterprise Permission
Create Smart Form
Update Document Tracking Setup
Smart Form Manager Tool
A tree-view menu displays on the left-hand side of the Smart Form Manager tab on the Smart Form Manager screen.
The following options are available in the tree-view menu:
+ Create Smart Form
Used to begin the creation of a new smart form.
+ Import Smart Form
Used to import/load a Smart Form from one environment to another.
→ Active Smart Forms
Used to access an existing 'Active Smart Form. A Smart Form is considered ‘Active’ if today’s date falls within the effective Start Date and End Date defined on the Smart Form Information tab.
→ Inactive Smart Forms
Used to access an existing ‘Inactive’ Smart Form. A Smart Form is considered ‘Inactive’ if today’s date does not fall within the effective Start and End Date defined on the Smart Form Information tab.
...
Creation or Editing of a Smart Form
Sections
Section names display on the Smart Form menu in the Student Portal. Sections display in numerical order from lowest to highest based on the number entered in the Section Sort Order field.
...
title | Section Fields |
---|
...
Section Field Name
...
Section Description
...
Section Field Type
...
Section Field Options
...
Template Engine
...
If static is selected, the field content is displayed in the same manner provided. If velocity is selected, a velocity templating engine is used that will allow for dynamic logic and display.
...
Dropdown
...
Static
Velocity
...
Section Name
...
The text entered in this field is displayed in the Smart Form menu as the Menu Section Name.
...
Textbox
...
Code
...
The text entered here will be used as a short name to identify the Section in the Smart Form Manager.
...
Textbox
...
Sort Order
...
The number entered here will be used to sort Sections in the Smart Form from the lowest Sort Order to the highest Sort Order.
...
Numberic box
...
Visible
...
If selected, the Section will be visible by default. If unselected, the Section will not be visible by default. Dependency logic can be used to display or hide the Section from its initial default state.
...
Checkbox
...
Section Additional Information and Advanced Settings
...
Section Id
...
Created At
...
Modified At
...
Section Title
...
The text entered in this field is displayed at the top of the Smart Form page.
...
Textbox
...
Section Information
...
The text entered in this field is displayed at the top of the Smart Form page beneath the Section Title, if configured
...
Text Area
...
Parent Information
...
The selection(s) in this section can be used as an identifier or in validation and dependency logic in the Smart Form.
...
Checkbox
Groups
Groups are used within each Section to categorize questions. Each group is comprised of one or more questions. All questions contained within a group are organized beneath the Group name defined and displayed within each Section. Groups display in numerical order from lowest to highest based on the number entered in the Group Sort Order field.
...
title | Group Fields |
---|
...
Group Field Name
...
Group Field Description
...
Group Field Type
...
Group Field Options
...
Template Engine
...
If static is selected, the field content is displayed in the same manner provided. If velocity is selected, a velocity templating engine is used that will allow for dynamic logic and display.
...
Dropdown
...
Static
Velocity
...
Group Name
...
The text entered in this field is displayed as a Group Title for a set of one or more questions in the Smart Form.
...
Textbox
...
Group Instructions
...
The text entered here is displayed as instructional messaging for the questions within the group.
...
Code
...
The text entered here will be used as a short name to identify the Group in the Smart Form Manager.
...
Textbox
...
Sort Order
...
The number entered here will be used to sort Groups within the Section from the lowest Sort Order to the highest Sort Order.
...
Numberic box
...
Visible
...
If selected, the Group will be visible by default. If unselected, the Group will not be visible by default. Dependency logic can be used to display or hide the Group from its initial default state.
...
Checkbox
...
Selected
Not Selected
...
Page Index
...
Groups can be displayed on different pages within each Section. The number entered here will be used to determine which page the Group is displayed on.
...
Numeric
...
Group Additional Information and Advanced Settings
...
Group Id
...
Created At
...
Modified At
Questions
Questions are displayed within each Group to categorize questions. Each group is comprised of one or more questions. All questions contained within a group are organized beneath the Group name defined and displayed within each Section. Questions display in numerical order from lowest to highest based within the Group on the number entered in the Question Sort Order field.
...
title | Question Fields |
---|
...
Question Field Name
...
Question Field Description
...
Question Field Type
...
Question Field Options
...
Field Type
...
Data Type
...
Template Engine
...
If static is selected, the field content is displayed in the same manner provided. If velocity is selected, a velocity templating engine is used that will allow for dynamic logic and display.
...
Dropdown
...
Static
Velocity
...
Question
...
The text entered in this field is displayed as a Group Title for a set of one or more questions in the Smart Form.
...
Textbox
...
Help Text
...
The text entered here is displayed as instructional messaging for the questions within the group.
...
Code
...
The text entered here will be used as a short name to identify the Group in the Smart Form Manager.
...
Textbox
...
Sort Order
...
The number entered here will be used to sort Groups within the Section from the lowest Sort Order to the highest Sort Order.
...
Numericx
Pre-populate Question Response from
...
Default Question Response
...
Maximum Number of Characters Allowed in Response
...
Required
...
Visible
...
If selected, the Group will be visible by default. If unselected, the Group will not be visible by default. Dependency logic can be used to display or hide the Group from its initial default state.
...
Checkbox
...
Selected
Not Selected
...
Read Only
...
Group Additional Information and Advanced Settings
...
Question Id
...
Created At
...
Modified At
...
Reset Response if Hidden
...
Reset Response if Restarted
...
Auto Capitalize
...
Options Expression
...
Secure
Dependency Logic and Validations
Dependency Logic
Smart Forms can be designed to use conditional logic to tailor each question to an individual applicant and minimize the number of questions an applicant is required to answer by using Dependency logic. Dependencies use dynamic logic for Sections, Groups, and Questions to make Visible or hide based off of responses to Questions within the Smart Form. Dependencies also control if a Question is Required when made Visible or not. For example, a Dependency can be created to Hide a Question, make a Question Visible and Required, or make a Question Visible and Not Required.
A Section, Group, or Question can have one or more Dependencies. Each Dependency is comprised of one or more rules.
Dependency can be of an "AND" or "OR" types. The "AND" type dependency indicates that the dependency will be triggered only when all its rules are triggered. The "OR" type dependency indicates that the dependency will be triggered when at least one of its rules is triggered.
If no dependencies are applied, then the section/group/question goes back to its default visibility/required state as defined in the questionnaire.
A Single Dependency record can be attached to a multiple objects (sections, groups or questions).
The Dependency information is stored in the SnapDependency table, and it contains the description and the type information of a dependency.
Section dependency information is stored in a SnapSectionDependency table, and it links the SnapDependency and SnapSection tables.
Group dependency information is stored in a SnapGroupDependency table, and it links the SnapDependency and SnapGroup tables.
Question dependency information is stored in a SnapQuestionDependency table, and it links the SnapDependency and SnapQuestion tables.
💡
Tip: It's recommended that you set a Section/Groups/Questions visibility to a base visibility, and then only create rules which change the visibility. This way you do not have conflicting dependencies or dependency rules (one rule which makes it hidden, and another rule which makes it visible). If both rules evaluate to true, then it can be more complicated to determine which rules visibility applies. For instance, perhaps you set a Section's visibility to hidden, and then only create dependencies/dependency rules that make it visible. See the "Competing Dependencies Example" in Examples section below.
https://velocity.apache.org/engine/1.7/user-guide.html
Dependency Rules
Dependency rules are the rules that describe the Dependency behavior. Every created rule controls the visibility or required (for questions only) states of an object and is attached to a Dependency.
The individual rules have the flags for visible and required. When different rules in the same dependency have different values for those flags, the first rule that is evaluated will trigger, and all subsequent rules in the dependency will be ignored.
The dependency rules are evaluated in the order they were added to the database.
Every rule has the following information:
Comparison operator (=, >, <, >=, <=, !, <>, !=)
The symbols "<>" and "!=" are interchangeable operators that mean "not equal".
The Exclaimation point means logical not.
Dependent question option id
Expression
Required Flag
Visible Flag
Rules can be a two types: question based or expression based
Question based rules are the rules that makes target object dependant of the value of another question in the application.
Expression based rules are the rules that are evaluated using an expression provided by the user. This expression is based on the javascript language. A single rule expression can be build on one or more dependent questions using various logical and mathematical operations. Question values are referenced by using the following notation {questionCode}
There are some properties that can be accessed for use in expression evaluations that are not questionCodes. The following properties are attributes of the application itself and can be used in the same manner as questionCode values (ie: {property}):
UserName
YearDescription
YearCode
This returns a special int which is essentially (max year of FAY)-2010. So for 2018-2019 FAY, the year code would be 9.
InstitutionExternalId
LocationName
CampusName
LocationExternalId
CampusExternalId
SiteName
SiteExternalId
ProgramName
ProgramExternalId
ProgramType
Logical evaluations can be strung together using logical AND (&&) and logical OR (||). These kind of conditions allow multiple comparisons to determine the ultimate result of the expression. The words "AND" and "OR" are interchangeable with "&&" and "||", respectively.
SnapUtility.EqualOfAny('hi', 'is', 'hi', 'here') && SnapUtility.IsCurrentDateBefore('01/01/2013') - returns false because both conditions must be true for the expression to be true.
SnapUtility.IsCurrentDateBefore('01/01/2013') || SnapUtility.EqualOfAny('hi', 'is', 'hi', 'here') - returns true because at least one of the conditions is true.
Several Helper functions are provided:
UpperCase - returns string - Converts the argument to UPPER CASE. eg: SnapUtility.UpperCase("upper case") returns "UPPER CASE".
Trim - returns string - Removes leading and trailing whitespace. eg: SnapUtility.Trim(" Hello ") returns "Hello".
TrimUpper - returns string - Performs both UpperCase and Trim commands.
EqualOfAny - returns boolean - Performs TrimUpper and checks if the first argument is in the list of remaining arguments (this function is case insensitive). eg: SnapUtility.EqualOfAny("Hi", "Does", "hi", "exist") returns true.
IsNumber - returns number - Checks to see if the first argument is a number. If it is not, the second argument is returned. eg: SnapUtility.IsNumber("Dog", -1) returns -1.
CheckNumber
CompareDate - returns number - Checks to see how two dates compare. If the first date is after the second date, the function will return a positive number. If the second date is after the first one, the function will return a negative number. If the dates are the same, the function will return 0. If the arguments cannot be resolved to dates, the function returns NaN. eg: SnapUtility.CompareDate('07/19/2013', '08/01/2013') returns -1.
IsCurrentDateBetween - returns boolean - Checks to see if the current date falls in a range (non-inclusive). eg: SnapUtility.IsCurrentDateBetween('01/01/2013', '01/01/3000') returns true.
IsCurrentDateAfter - returns boolean - Checks if the current date falls after a specified date. eg: SnapUtility.IsCurrentDateAfter('01/01/2013') returns true.
IsCurrentDateBefore - returns boolean - Checks if the current date falls before a specified date. eg: SnapUtility.IsCurrentDateBefore('01/01/2013') returns false.
AddDaysToDate - returns Date - Adds a specified number of days to the specified date. eg: SnapUtility.AddDaysToDate('01/01/2013', 9) returns '01/10/2013'.
If a dependant question is hidden (visibleFlag = 0) then the dependency rule is not evaluated and always returns false.
For the expression based rules, by placing “@” symbol before the question code in expression points the application to evaluate this question even if it is hidden. (@{studentsMaritalStatus})
If one of the dependant questions (in case of an expression based rule) is hidden then the whole expression will not be evaluated.
Because visibility / required flags are set on the Rule level it is possible to have one rule which sets something to hidden and another rule which sets something to visible in the same dependency.
For AND dependencies, the visibility / required flag of the last rule will be used
For OR dependencies, the visibility / reguired flag of the first triggered rule (rule with conditions met) will be used.
If there are multiple Dependencies, each with its own set of Dependency Rules then the following evaluation process will take place:
All dependencies and its dependency rules are read from the database in the order they were added.
Application starts to evaluate dependency rules
Application checks the current rule’s dependant question’s status. If a dependant question is hidden then the rule is ignored.
In case of an expression based rule, application checks every question’s status that is met in the expression. If one of the questions is hidden and does not have status ignoring symbol then the whole expression is ignored.
Dependency Examples
...
Validations
https://velocity.apache.org/engine/1.7/user-guide.html
In Regent’s Smart Form Manager tool, clients with a Regent Fund or Regent Review license can create new smart forms, edit client-created smart forms, and import smart forms from different instances (e.g. QA to Production). Smart forms can be designed using conditional logic to tailor each question to the individual completing the form. Document workflows can leverage the use of smart forms in managing the notification, submission, and review of an application.
Clients are not required to create, edit, or manage their own custom smart forms. Clients may continue to engage Regent for support in creating, editing, or updating any custom smart forms.
Note |
---|
PLEASE NOTE the following important warnings and guidance regarding Smart Form Manager:
Procedures for Updating Forms Using Smart Form Manager
|
Table of Contents
Table of Contents | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Overview
Once enabled on the backend by Regent, the Smart Form Manager is available in the Regent Tools menu for users with the Global Permission enabled for the assigned role to view and edit smart forms within the Smart Form Manager tool. This tool is designed to be used at the Enterprise level, but an Institution- or Campus-specific Smart Form can be created and associated to a document via Document Setup for one or more Institution or Campus.
To use the Smart Form Manager, a client must:
Submit a Customer Zone Support ticket requesting Smart Form Manager and Admin Panel Tools be enabled on the backend by Regent
Be on Regent Release 6.5.0.0 or a subsequent Release.
Update Global Permissions → Tools Permissions → Smart Form Manager for applicable user role(s).
Ensure all Active (able to be used) and Inactive (not in use) smart forms are visible.
Accessing Smart Form Manager
To access the Smart Form Manager, go to Tools in the left navigation menu and click Smart Form Manager. The following options are available in the Smart Form Manager tab tree-view:
+ Create Smart Form – Begin the creation of a new smart form
+ Import Smart Form – Import/upload a smart form from one instance to another, e.g. QA to Production
→ Active Smart Forms – Access an existing ‘Active' smart form. A smart form is considered ‘Active’ if today’s date falls within the effective Start Date and End Date defined on the Smart Form Information tab.
→ Inactive Smart Forms – Access an existing ‘Inactive’ smart form. A smart form is considered ‘Inactive’ if today’s date does not fall within the effective Start and End Date defined on the Smart Form Information tab.
...
Creating (or Editing) a Smart Form
To create a new smart form from scratch, select the “Create Smart Form” option in the Smart Form Manager.
...
To copy an existing smart form as the starting point for a new smart form, select the existing smart form from the nested list under Active Smart Forms or Inactive Smart Forms and click the Copy tab. Complete the fields on the Copy tab to copy the selected smart form to the same QA instance. The newly created smart form will appear in the same destination (Active or Inactive Smart Forms) as the copied smart form. All data from the copied smart form will be applied to the new smart form, excluding dependencies or validators. Note: The user must update the Code field to a unique value.
...
To export an existing smart form as the starting point for a new smart form, select the existing smart form from the nested list under Active Smart Forms or Inactive Smart Forms and click the Export tab. The existing smart form will be exported as an eXtensible Markup Language (XML) file to the user’s computer, which can subsequently be imported into another environment via the Import Smart Form in the treeview menu.
...
General Smart Form Setup
In the UI, the user will be presented with key data fields to be completed. Fields names indicated in red textare required. After the data on this screen is saved, other setup tabs for the smart form are presented and the form is available in either the Active Smart Forms or Inactive Smart Forms menu, depending on the Start Date and End Date values that were entered. Four tabs are used to setup the general information for the smart form:
Information tab
Document Persistence tab
Student Persistence tab
Parent/Spouse Persistence tab
Smart Form > Information tab
The Information tab provides basic smart form setup information. Once entered data on this screen is saved, other setup tabs for the smart form are presented and the form is available in either the Active Smart Forms or Inactive Smart Forms menu, depending on the effective dates.
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Smart Form > Document Persistence tab
Note |
---|
Clients must use caution when adding document persistence for documents that are configured to ‘Block Packaging’ or ‘Block Disbursements’. If persistence is inaccurate, funds may not be packaged and/or disbursed as expected. |
Persistence is the automated creation or assignment of defined data within Regent. Document Persistence allows users to create rules using regular expressions to add or update a document requirement in Regent (see https://www.geeksforgeeks.org/javascript-regexpregular-expression/). Persisted document requirements are added and updated upon the completion of the smart form, including signature(s). The document requirement is only added or updated if the expression results are true. For example, if a student selects the response, ‘I was married at the time of FAFSA completion but am no longer married’ to a smart form question, Document Persistence can be created to add a Divorce Decree document requirement with a status of ‘Needed’ to collect the additional documentation required based on the student response.
Document Setup must be considered when adding Document Persistence. For example, if a document is configured to ‘Enforce Scope Uniqueness’, a new document will not be added if the document already exists; however, the status of an existing document can be updated via Document Persistence. Alternatively, if documents are configured to be added automatically via another process (e.g. ISIR Import), the Document Persistence can be used to update the Document Status on an existing document(s). For example, Document A is a document requirement assigned by ISIR Import with an initial status of “Needed”. The student completes and signs Smart Form Z, which has Document Persistence defined to update the status of Document A from “Needed” to “Waived”.
...
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Smart Form > Student Persistence tab
Student Persistence updates the Student Details tab > Student Portal Authorization fields in Regent based on the smart form question response(s). Student Persistence is added and updated upon the completion of the smart form, including all required signature(s).
Expand | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||
|
Smart Form > Parent/Spouse Persistence tab
Parent/Spouse Persistence updates the Student Details tab > Parent/Spouse Reference Information fieldsin Regent based on the smart form question response(s). Parent/Spouse Persistence is added and updated upon the completion of the smart form, including all required signature(s).
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Sections/Groups/Questions
A smart form is comprised of Sections, which are comprised of Groups, which are comprised of Questions.
...
Sections
In the Student Experience portal, each smart form Section will be listed in the menu for the smart form. Sections are presented in order based on the number entered in the Section > Sort Order field.
Two tabs are used to setup Sections in the Smart Form Manager:
Information
Dependencies
...
Section > Information Tab
The Information tab provides basic setup information for the smart form Section, including Section Name and Sort Order.
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Section > Dependencies tab
Dependencies determine when a section will be presented within the smart form based on defined rules. Dependencies can be applied at the Section, Group, and Question level. See Dependencies section below for more information.
Groups
Groups are used within each section to categorize questions. Each group is comprised of one or more questions. All questions contained within a group are organized beneath the Group name defined and displayed within each section. Groups display in the smart form in order based on the number entered in the Group Sort Order field.
Two tabs are used to set up Groups in the Smart Form Manager:
Information
Dependencies
...
Group > Information tab
The Information tab provides basic setup information for the smart form Group, including Group Name and Sort Order.
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Group > Dependencies tab
Dependencies determine when a group will be presented within the form based on set rules. Dependencies can be applied at Section, Group, and Question level. See Dependencies section below for more information.
Questions
Questions are displayed within each group. Each group is comprised of one or more questions. All questions contained within a group are organized beneath the group name defined and displayed within each section. Questions display in the smart form in order based on the number entered in the Question Sort Order field.
Four tabs are used to set up Questions in the Smart Form Manager:
Information
Dependencies
Validators
Options
...
Question > Information tab
The Information tab provides basic setup information for the smart form question, including Question Name and Sort Order.
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||
|
Question > Dependencies tab
Dependencies determine when a question will be presented within the form based on set rules. Dependencies can be applied at Section, Group, and Question level. See Dependencies section below for more information.
Question > Validators tab
A validator can be created to prevent students from entering an invalid response for the question in the smart form, and display messaging to the user to indicate a valid response.
...
Expand | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||
|
Question > Options tab
Options can be created to define the available answers to a question.
...
Expand | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||
|
Document Requirement Persistence
Document Requirements Persistence (DRP) allows school users to create rules using regular expressions (see https://www.geeksforgeeks.org/javascript-regexpregular-expression/) to add or update a student document requirement in Regent. Document Requirements are added and updated upon the completion, including signature(s), of the Smart Form. The document requirement is only added or updated if the expression results are true.
For example: For a Filing Status Confirmation Worksheet, if a student indicates, ‘No, I already filed a tax return’ within the Smart Form, DRP can be created to add the student Tax Return document requirement with a status of ‘Needed’.
Document Setup must be considered when adding DRP. If a document is configured to Enforce Scope Uniqueness, a new document is not added if it already exists but the status of an existing document can be updated. If documents are configured to be added upon ISIR import, DRP can be used to update the document status on an existing document(s).
When configuring a DRP, the ‘Name’ must match the name of the document configured in Document Setup. Use caution when Document Names have special characters such as an apostrophe or dash that it is using the identical Document Name and has not been updated by the editor. If no match is found to an existing Document Name configured when executing the DRP expression, an error message is displayed, ‘Document name of <Document Name> is not found'.
...
Condition (expression) -> an optional javascript expression, similar to dependency / complex validator expressions which can be set. If it's set, the doc req will only attempt to persist if the expression results in true. Will handle {questionCode} formatting. No special logic for whether questions are hidden, visible, etc.
Shortkeys:
{fay} - Automatically inserts the Federal Award Year of the Smart Form (e.g. 2024-2025).
Will handle {questionCode} formatting.
...
title | Document Requirement Persistence Fields |
---|
...
DRP Field Name
...
DRP Field Description
...
DRP Field Type
...
Question Field Options
...
Required
...
Document Name
...
This is the name of the document in REM that is associated with this DRP configuration.
...
Textbox
...
Yes
...
File Name
...
The name to use fwith the student's document requirement record in REM.or the file name associated
...
Textbox
...
Yes
...
Scope
...
This is the document scope associated with the REM document. Available values are Student, Student and Reason, Federal Award Year, and Federal Award Year and Reason.
...
Dropdown
...
Yes
...
Template Name
...
Used in combination with attachment type and will generate a document using the specified template when persisting the student's document requirement in REM.
...
Textbox
...
Default Status
...
This is the status that the student's document requirement shall be set to upon completion of the smart form associated with this DRP configuration when the smart form is not configured for electronic signatures.
...
Dropdown
...
Static
Velocity
...
Yes
...
Activity Log Entry Status
...
This is the name of the activity log in REM where a message will be created when the DRP action is completed.
...
Dropdown
...
Esigned Status
...
This is the status that the student's document requirement shall be set to upon completion of the smart form associated with this DRP configuration when the smart form is configured for electronic signatures.
...
Textbox
...
Yes
...
Attachment Type
...
Used in combination with template name and will generate a document using the specified template when persisting the student's document requirement in REM. Available values are None: PDF Template; and FAFSA.
...
Dropdown
...
Condition Expression
...
Any valid, Boolean expression. Answers to questions in the corresponding smart form can be accessed by wrapping the question code in curly braces. Logical operators, such as, AND (&&), and OR (||) may be used in combination with built-in expressions, such as, SnapUtility.EqualOfAny, and SnapUtility.ReasonEqualToAny. The SnapUtility.ReasonEqualToAny is a special function that can not be used in combination with other expressions and will perform the requested action on existing, student documents where the document reason matches any of the values provided to the function. If an expression did not evaluate to true or false, that means the expression is not valid and contains syntax errors. If the expression is invalid, persistence actions for this document requirement will be ignored.
...
Textbox
...
Create on No Match
...
If checked, the DRP document will be created in REM even if the smart form document can not be found for the specified create statuses. The document will be created based on the "Attachment Type" field selection.
...
Textbox
...
REM Linked Document
...
Used in combination with REM Linked Document flag, and If both are checked, documents persisted in REM will be transferred to the SNAP database.
...
Document Reason
...
Update Statuses
...
The DRP student document requirement in REM, will have its status set to the default or esigned status if the smart form document status is in the list of updated statuses.
...
Available Statuses
...
The list of available document requirement statuses.
...
Create Statuses
...
When the current student document status matches a status in the list of create statuses, a new document is created.
Examples
Example 1
Student starts a Verification Worksheet smart form application.
Student indicates No, I have already filed a tax return SNAP smart form questionnaire.
Student completes and signs their Verification Worksheet.
A 2015 Student Filing Extension Granted by the IRS document requirement is created for the student.
Student starts a Verification Worksheet - Change smart form application.
Student indicates No, I have already filed a tax return.
Student completes and signs their Verification Worksheet.
A 2015 Student Filing Extension Granted by the IRS document requirement does not get created for the student.
Example 2
Given:
Verification Worksheet for FAY
W-2 document, scope uniqueness is turned off in REM
Student selects "Will Not File"
Student indicates that they received a W-2 from Employer 1 and provides information for Employer 1
Student indicates that they received a W-2 from Employer 2 and provides information for Employer 2
When:
Student completes and signs the Verification Worksheet - Change smart form for same FAY
Student selects "Will Note File"
Student indicates that they received a W-2 from Employer 1 and provides information for Employer 1 (Employer A)
Student indicates that they received a W-2 from Employer 2 and provides information for Employer 2 (Employer B)
Student indicates that they received a W-2 from Employer 3 and provides information for Employer 3 (Employer C)
Then:
A new, needed, W-2 document is created in REM, with the reason set to the name of Employer 3 (Employer C)
Example 3
Given:
Verification Worksheet for FAY
W-2 document, scope uniqueness is turned off in REM
Student selects "Will Not File"
Student indicates that they received a W-2 from Employer 1 and provides information for Employer 1 (Employer A)
Student indicates that they received a W-2 from Employer 2 and provides information for Employer 2 (Employer B)
When:
Student completes and signs the Verification Worksheet - Change smart form for same FAY
Student selects "Will Note File"
Student updates the information for Employer 1 to Employer B
Student updates the information for Employer 2 to Employer C
Student deletes the information for Employer 3
Then:
The W-2 for Employer A is waived
The W-2 for Employer B remains unchanged
The W-2 for Employer C is created with a needed status
Example 4
Given:
Verification Worksheet for FAY
W-2 document, scope uniqueness is turned off in REM
Student selects "Will Not File"
Student indicates that they received a W-2 from Employer 1 and provides information for Employer 1 (Employer A)
Student indicates that they received a W-2 from Employer 2 and provides information for Employer 2 (Employer B)
When:
User changes W-2 for Employer A to satisfied in REM
Student completes and signs the Verification Worksheet - Change smart form for same FAY
Student selects "Will Note File"
Student updates the information for Employer 1 to Employer B
Student updates the information for Employer 2 to Employer C
Student deletes the information for Employer 3
REM
Then:
The W-2 for Employer A is unchanged
The W-2 for Employer B remains unchanged
The W-2 for Employer C is created with a needed status
Technical Details
Condition (expression) -> an optional javascript expression, similar to dependency / complex validator expressions which can be set. If it's set, the doc req will only attempt to persist if the expression results in true. Will handle {questionCode} formatting. No special logic for whether questions are hidden, visible, etc.
Match configuration - Capability to create, update, or do nothing if a matched document for the student already exists based on the existing doc requirement status. User can select multiple statuses for update vs create. Status selection will be mutually exclusive (a doc status can only exist in one of the following items):
Update On Match Statuses: (selected document statuses)
Create On Match Statuses: (selected document statuses)
Otherwise ignore
Can configure to create the document if there is no match
Scope: STUDENT or FEDERALAWARDYEAR
Status: NEEDED,SATISFIED,UNSATISFIED,RECEIVED,INCOMPLETE,WAIVED
Status doc will be saved as if the questionnaire is not an esign questionnaire, or it is an esign questionnaire but user did not esign (they paper signed instead)
ESignedStatus: NEEDED,SATISFIED,UNSATISFIED,RECEIVED,INCOMPLETE,WAIVED
Document will be created or updated with this status if it's an ESIGN questionnaire and the user did choose to E-sign
FEDERALAWARDYEAR will be set to Federal Award Year of questionnaire
Supported entry types: AddressRelated, AwardRelated, AuditRelated, COARelated, CODRelated, DisbursementRelated, DocumentRelated, EnrollmentRelated, ISIRRelated, NeedRelated, PLUSRelated, PJRelated, QARelated, ResourceRelated, R2T4Related, SAPRelated, SBLLoad, ServiceRelated, VerificationRelated, CommunicationRelated, Other, ESTRelated, WorkStudyRelated
Attachment Type: None, PdfTemplate, FAFSA
None - no attachment stored in REM
PdfTemplate - Indicates a PDF attachment will be created based on the value of Attachment Template
FAFSA - The standard Dept. Of Ed. FAFSA (that matches fed award year of questionnaire) will be pre-populated from the SNAP questionnaire.
10. Attachment File Name: string of file name as stored in REM
11. Attachment Template - string field which will take a named velocity template. Note - this velocity template MUST exist in the theme the questionnaire is processed with, otherwise an "Template 'templatename' does not exist." error will be thrown at time of application processing.
Notes about fields which are not configurable
Letter correspondence date -> ignored by snap
Email correspondence date -> ignored by snap
Activity Source Type - STUDENTACTION always used
Message - will use the message as set up in REM document setup
Reason - will use the reason as set up in REM document setup
Received Date - Will rely on REM services automatically setting to current datetime if existing received date is null (or we are creating doc) and status is RECEIVED or SATISFIED
Reviewed Date - Will rely on REM services automatically setting to current datetime if existing reviewed date is null (or we are creating doc) and status is SATISFIED
This configuration will be included in when a questionnaire is copied, exported, or imported.
EFAFSA:
Will persist as the current EnableEFAFSAPersistence configuration setting dictates (which can be scoped for the whole snap instance, or scoped to questionnaire which takes precedence)
Student demographic fields: These will be handled in another JIRA issue to facilitate testing
Management screens in SNAP admin pages (Persistence link/button on questionnaire detail page).
Related Tickets
Student Portal: Create new function for Document Requirement Persistence (DRP) Reason Expression
|
Dependencies
Smart forms can be designed to use conditional logic to tailor each Question to an individual applicant and minimize the number of Questions an applicant is required to answer by using Dependency logic. Dependencies use dynamic logic for Sections, Groups, and Questions to make visible or hide based on responses to Questions within the smart form. Dependencies also control whether a Question is required when made visible or not. For example, a Dependency can be created to hide a Question, make a Question visible and required, or make a Question visible and optional (not required).
A Section, Group, or Question can have one or more Dependency groups. Each Dependency group is comprised of one or more Dependency rules. Each Dependency group uses a selected Operator Type of ‘AND’ or ‘OR' when evaluating if the Dependency rule(s) are 'true’.
If there are multiple Dependencies with Dependency Rules the dependency logic first evaluates each Dependency Group and the associated Dependency Rules in chronological order based on the 'Created At' date. Then the dependency logic evaluates each dependency rule if the related Dependent Question is displayed to determine if it is ‘true’ or 'false'. Dependency rules are ignored if the related Dependent Question is hidden.
Dependency Groups can have multiple Dependency Rules with a different visibility or required field set for each. The individual rules have configurable options for visible and required. When different rules in the same Dependency Group have different visible and required options, the first rule that is evaluated will be honored, and all subsequent rules in the Dependency Group will be ignored. In the event of multiple Dependency Rules, a Dependency Group Type of ‘AND’ evaluates if all Dependency Rules are ‘true’ and makes the visible and required determination off of the last Dependency Rule evaluated to make the Dependency Group ‘true’. A Dependency Group Type of ‘OR’ evaluates if at least one Dependency Rule is ‘true’ and makes the visible and required determination off of the first Dependency Rule where the conditions are ‘true’.
Question-based Dependency
...
Expression-based Dependency
...
Expand | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
|
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Expressions
Expressions use JavaScript language (see https://www.geeksforgeeks.org/javascript-regexpregular-expression/) to perform logical and mathematical operations to determine if the expression is valid. If an expression does not result in a ‘true’ or false', syntax errors are present and the expression is considered invalid. Document Persistence is ignored when an Invalid expression exists.
Document Persistence and Validators use Boolean expressions to create a ‘true’ or ‘false’ statement. A Boolean expression is defined using logical operator such as, AND (&&) and OR (||), which can be used in combination with built-in expressions (see Shortkeys and Helper Functions in this section for additional information), to result in a ‘true’ or ‘false’. Question responses are wrapped in braces (curly brackets) within the expression; the question code is in curly braces.
The SnapUtility.ReasonEqualToAny is a special function that cannot be used in combination with other expressions and will perform the requested action on existing student documents where the document reason matches any of the values provided to the function.
For the expression-based rules, if one of the dependent questions is hidden. then the whole expression will not be evaluated. However, including“@” before the question code in the expression will allow the smart form to evaluate the question even if it is hidden. Example: (@{studentsMaritalStatus})
Expand | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
|
Expand | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
|
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|