As a system, I must capture demographic information provided by a candidate
Document Status | final |
---|---|
Document Owner | @Robert Adach |
Business POC | @Felicia Dennison |
Related Document Links |
|
Azure Dev Ops Work Item # | |
Last updated on | Aug 20, 2021 |
Last updated by | @Robert Adach |
Description
In order for ASWB to be able to conduct in-depth psychometric analysis on exam usage, Candidates registering for the ASWB examination are required to provide certain demographic information.
Assumptions
The registration process is being completed by the Candidate (or someone authorized to act on behalf of the Candidate).
All instructional and warning text displayed will be the same as those in the legacy registration process.
All field labels displayed will be the same as those in the legacy registration process.
All logic determining field visibility will be the same as those in the legacy registration process
All logic determining field value validity will be the same as those in the legacy registration process.
Out of scope
The current process of “pushing” approvals to the online database for use during the registration process does not include any data from previous registrations regarding the Candidates Associate and PHD degrees. This will not be addressed during the development of this feature.
Requirements
The page is not shown until the successful completion of the actions listed in As a system, I must verify and validate a Candidates eligibility
The page will have a single area where all error messages will be displayed.
The page must show the following information at the top of the screen
Candidate Name
Jurisdiction
Exam Level
The system must retain all information from the matched approval when moving from page to page to eliminate repetitive queries to the database.
The system must use the field definitions listed in the Field Requirements section when displaying, validating and verifying the user input
All validations are to be performed once the “Next” button is pressed.
The Major; Year of Graduation and School code fields for the 4 degree types (Rows 18 - 29 on the Field Requirements table) should be presented in a table format. Refer to the Design Consideration section for the reference to the current design which is to be retained.
All data entered on the previous screens must be retained.
The data entered on the screen does not need to be retained if the Candidate navigates to a previous page AND all data verification/validation on the page have not been successfully.
All string fields must
have all non-standard ASCII characters removed
be trimmed of extra spaces and all non-standard ASCII characters should be removed
Field Requirements
Label Value | Field Name | Data Type | Prepopulated Values | Visible when | Invalid when | Error Message | Note… | |
---|---|---|---|---|---|---|---|---|
1 | Mailing Address | Address1 | String (40) |
| Always | Length is < 5 | Address is missing |
|
2 | (Apt, etc.) | Address2 | String (40) |
| Always |
|
|
|
3 | City | City | String (20) |
| Always | Length is < 2 | City is missing |
|
4 | State/Province | State | Drop Down | Full list of states/provinces | Always | No selection is made | State is missing |
|
5 | Zip/Postal Code | Zip | String (10) |
| Always | IsValidZipCode fails | Please check the zip/postal code |
|
6 | EmailAddress | String (100) |
| Always | IsValidEmail fails | Please check your email address |
| |
7 | Confirm email | ConfirmEmailAddress* |
|
| Always |
|
|
|
8 | Office phone | WorkPhone | String (32) |
| Always |
|
|
|
9 | Home phone | HomePhone | String (32) |
| Always |
|
|
|
10 | Cell phone | CellPhone | String (32) |
| Always |
|
|
|
11 | Date of Birth | BirthDate | datetime | From previous screen | Always |
|
|
|
12 | Gender | Gender | Gender LOV (Radio Group) |
| Always | no value selected | TBD |
|
13 | Custom gender | CustomGender | String (100) |
| Always | Gender value = 3 and (no value is entered OR length of value < 2) | TBD |
|
14 | Nationality | Nationality | Nationality LOV | From approval record | Always | no value selected | TBD |
|
15 | Race/Ethnicity | Ethnicity | Ethnicity LOV |
| Always | no value selected | TBD |
|
16 | What is your first/native language? | PrimaryLanguage | Language LOV | From approval record | Always |
|
|
|
17 | Primary Position | PrimaryPosition | Primary Position LOV | From approval record | Always | no value selected | Please select your primary position |
|
18 | Years in practice since highest social work degree | YearsInPractice | int | From approval record | Always | no value entered OR value < 0 OR value is not a number | Please enter the number of years in practice since receiving your highest social work degree. |
|
19 | Associate Degree Major | ASDegree | Major LOV (Radio Group) |
| Always |
|
|
|
20 | Associate Degree Year of Graduation | ASYear | int |
| Always |
|
| When comparing to Birthdate, or current date or future dates, we are comparing only the YEAR. Example. If today is 7/29/2021, the validation for one year in the future is against 2021. |
21 | Associate Degree School Code | ASSchool | int |
| Always | Value entered is not on the CSC School list | Invalid school code: <<ASSchool>>. Please choose a school from the list. |
|
22 | Bachelors Degree Major | BSDegree | Major LOV (Radio Group) | From approval record | Always |
|
|
|
23 | Bachelors Degree Year of Graduation | BSYear | int | From approval record | Always |
|
| When comparing to Birthdate, or current date or future dates, we are comparing only the YEAR. Example. If today is 7/29/2021, the validation for one year in the future is against 2021. |
24 | Bachelors Degree School Code | BSSchool | int | From approval record | Always | Value entered is not on the CSC School list | Invalid school code: <<BSSchool>>. Please choose a school from the list. |
|
25 | Masters Degree Major | MSDegree | Major LOV (Radio Group) | From approval records | Always |
|
|
|
26 | Masters Degree Year of Graduation | MSYear | int | From approval record | Always |
|
| When comparing to Birthdate, or current date or future dates, we are comparing only the YEAR. Example. If today is 7/29/2021, the validation for one year in the future is against 2021. |
27 | Masters Degree School Code | MSSchool | int | From approval record | Always | Value entered is not on the CSC School list | Invalid school code: <<MSSchool>>. Please choose a school from the list. |
|
28 | PhD Degree Major | PhdDegree | Major LOV (Radio Group) |
| Always |
|
|
|
29 | PhD Degree Year of Graduation | PhdYear | int |
| Always |
|
| When comparing to Birthdate, or current date or future dates, we are comparing only the YEAR. Example. If today is 7/29/2021, the validation for one year in the future is against 2021. |
30 | PhD Degree School Code | PhdSchool | int |
| Always | Value entered is not on the CSC School list | Invalid school code: <<PhDSchool>>. Please choose a school from the list. |
|
Additional Field verifications
The following are additional verifications which apply to multiple fields or have complex requirements. All items listed must be validated before the Candidate can proceed
Logic | Error Message | Notes |
---|---|---|
If the ASDegree value > 0 AND (the ASYear field is empty OR the ASSchool field is empty) OR If the ASDegree value = 0 AND (the ASYear field is not empty OR the ASSchool field is not empty) | Must fill out ALL fields for AS degree, or none |
|
If the BSDegree value > 0 AND (the BSYear field is empty OR the BSSchool field is empty) OR If the BSDegree value = 0 AND (the BSYear field is not empty OR the BSSchool field is not empty) | Must fill out ALL fields for BS degree, or none |
|
If the MSDegree value > 0 AND (the MSYear field is empty OR the MSSchool field is empty) OR If the MSDegree value = 0 AND (the MSYear field is not empty OR the MSSchool field is not empty) | Must fill out ALL fields for MS degree, or none |
|
If the PHDDegree value > 0 AND (the PHDYear field is empty OR the PHDSchool field is empty) OR If the PHDDegree value = 0 AND (the PHDYear field is not empty OR the PHDSchool field is not empty) | Must fill out ALL fields for PhD degree, or none |
|
If ExamLevelID > 1 AND NOT(BSDegree = 1 OR MSDegree =1 OR PHDDegree = 1) | A degree in social work is generally required. Please check your entries. If there is no degree, please contact ASWB Candidate Services via our Contact Form. | If the candidate is sitting for an exam other than the Associates level exam, they need to have a Social Work degree listed |
If ExamLevelID > 2 AND NOT(MSDegree =1 OR PHDDegree = 1) | A MS in social work is generally required for this exam level. Please check your entries. If there is no degree, please contact ASWB Candidate Services via our Contact Form. | If the Candidate is sitting for an exam level above Bachelors, there should be an MS or PhD degree in SW. |
List of Values
The following defines the list of values used by this feature.
List Name - The name given to a group a values
Display - The value to display on the screen
Index - The value which should be stored in the database
Display order - the order within the list the value should be stored
List Name | Display | Index | Display Order | |
---|---|---|---|---|
1 | Gender | Male | 1 | 1 |
2 | Gender | Female | 2 | 2 |
3 | Gender | Custom Gender | 3 | 3 |
4 | Gender | Prefer not to disclose | 0 | 4 |
5 | Nationality | US | 1 | By Index |
6 | Nationality | Other | 2 | By Index |
7 | Ethnicity | African American | 3 | By Display value |
8 | Ethnicity | Asian | 2 | By Display value |
9 | Ethnicity | Caucasian | 5 | By Display value |
10 | Ethnicity | Hispanic/Latino | 4 | By Display value |
11 | Ethnicity | MultiRacial | 6 | By Display value |
12 | Ethnicity | Native American | 1 | By Display value |
13 | Ethnicity | None Declared | 0 | By Display value |
14 | Ethnicity | Other | 8 | By Display value |
15 | Ethnicity | Puerto Rican | 7 | By Display value |
16 | Language | English | 1 | By Index |
17 | Language | Other | 3 | By Index |
18 | Primary Position | Administrator/Manager | 1 | By Display value |
19 | Primary Position | Consultant | 6 | By Display value |
20 | Primary Position | Direct Service Provider | 7 | By Display value |
21 | Primary Position | Does Not Apply | 10 | By Display value |
22 | Primary Position | Educator | 8 | By Display value |
23 | Primary Position | Evaluator/Researcher | 4 | By Display value |
24 | Primary Position | Other | 9 | By Display value |
25 | Primary Position | Policy Analyst/Lobbyist | 2 | By Display value |
26 | Primary Position | Program Planner | 3 | By Display value |
27 | Primary Position | Supervisor | 5 | By Display value |
28 | Major | Social Work | 1 | 1 |
29 | Major | Other | 3 | 2 |
30 | Major | No Degree | 0 | 3 |
Supporting Functions
The items within this section are functions and queries to be used by the system during the process of validating and verifying a Candidates approval
The variables defined in the SQL queries are as such
IDNo - the Deby Encoded IDNo field value
Jurisdiction - the 2-character state abbreviation of the jurisdiction selected by the Candidate on the initial Registration Page
ExamLevelID - the ID number associated to the exam level selected by the user
LastName - the last name provided by the Candidate
BirthDate - the complete birthdate entered by the Candidate
ValidZipCode
TBD
ValidEmail
TBD
ProcessPhoneNo
public static string ProcessPhoneNo(string PhoneNo)
{
Regex phoneRegex = new Regex("[^0-9.]");
string i;
string result = "";
if (String.IsNullOrEmpty(PhoneNo))
{
return result;
}
// strip all characters except 0-9.
// if result is at least 10 digits,
// then format as (123) 456-7890 x1234567890123456 (26digits,32char&spaces)
// (extension has room for another 10-digit PhoneNo + 6-digit extension)
//if blank, don't do anything
result = phoneRegex.Replace(PhoneNo, "");
if (String.IsNullOrEmpty(result) || result.Length < 10)
{
result = "This field should contain a phone number";
return result;
}
//strip leading 1 - is probably a mistake, as in 1-800-
//There no valid area codes starting with 1, and international code is 011.
if (result.Substring(0,1) == "1")
{
result = result.Substring(1, result.Length - 1);
if (result.Substring(0,1) == "1")
{
result = PhoneNo + " Check area code - should not start with 1";
return result;
}
}
// If leading value = 011 then international number
if (result.Substring(0,3) == "011")
{
result = result.Substring(0,3) + "-"+ result.Substring(3,2) + "-" + result.Substring(5, 2) + "-" + result.Substring(7, 4) + "-" + result.Substring(11, 20);
if (result.Length > 19)
{
result = result.Substring(0, 18) + "x" + result.Substring(19);
}
}
else if (result.Length < 10)
{
return PhoneNo + " Check phone number - is too short";
}
else if (result.Length > 9)
{
result = "(" + result.Substring(0,3) + ") " + result.Substring(3, 3)+ "-" + result.Substring(6, 20);
if (result.Length > 13)
{
result = result.Substring(0, 13) + "x" + result.Substring(14);
}
}
return result;
}
VerifySchool
The school code entered by the Candidate must appear on the list returned from this query
SELECT
n.SchoolID,
[School] = s.State + ' ' + n.SchoolName
FROM
tblRefSchoolName n
INNER JOIN tblRefSchool s ON n.SchoolID = s.SchoolID
WHERE
((n.SchoolID < 800000) OR (n.SchoolID in (888888, 999999)))
AND n.schoolid != 0
AND n.IsCurrent = 2
Design Considerations
Test Cases
Link to test case documentation | Result | |
---|---|---|
1 |
| NOT TESTED | FAILED | PASSED |
2 |
|
|
Related Items
IT Information
The all queries listed on this page should utilize the ASWBOnline Connection String