Volunteer Check | Tech Docs
Contents
Application Details
Developer: Joe Gautreau | Programmer / Web Application Developer | jgautreau@judsonisd.org | (210) 945-5558
Development Platform: ColdFusion MX 7, SQL Server, Model-Glue Framework, CSS Layout
Development Server: Testweb
Development Database: ERCSQL
Production Server: Web1
Production Database: ERCSQL2K5
Launch Date: August 14, 2007
Application Overview
Volunteer Check was developed to allow Human Resources a way to give campuses a vehicle by which to enter parents, students and community members who want to volunteer at their campuses. This application allows one to enter the personal information of the volunteer, a webservice is used to do the background check through Safe Schools, the result is returned and the volunteer's information is stored locally in our databases. If the volunteer passes the background check they are immediately cleared to volunteer throughout the district, if not they are thrown into a "pending" status where HR will review their background check and approve or deny them based on the criminal history check. This application takes the place of hours upon hours of paperwork that was previously done by HR, gives us better tracking of volunteers, and allows the volunteer to know instantly whether they are cleared to volunteer or not, instead of waiting days or weeks for an answer back.
To sum it all up, the Volunteer Check application allows simple management of district volunteers both on the campus level and district office level, saving everyone involved time, money and headache.
Roles
There are two different types of roles for this application.
User - This individual can input volunteers for approval, and view the status of previously submitted volunteers district-wide.
Administrator - This individual can do everything the User role allows, as well as the ability to view volunteers who have a HIT with their criminal background check, and this role allows the individual to approve or deny the volunteer based on the background check.
Database Schema
Below you will find the Student Directory Info database schema along with a short description for each table.

Volunteer: This table is populated with the volunteer info submitted by campus and HR personnel. It holds the volunteer info along with their status.
HitData: Relates to the Volunteer table on volunteerID. This table holds formatted hit data on all volunteers whose background check comes back with a HIT.
Status: This table is a lookup table for the different status levels in the app. This table relates to the Volunteer table on statusID.
Ethnicity: This table is a lookup table for the different ethnicity types in the app. This table relates to the Volunteer table on ethnicity.
State: This table is a lookup table for the different state names in the app. This table relates to the Volunteer table on stateAbbrev.
Flow
Insert A Volunteer Flow Document - Click to download the PDF.
Lookup Volunteers Flow Document - Click to download the PDF.
Manage Volunteer Hits Flow Document - Click to download the PDF.
CFC's & Functions
Volunteer.cfc
init:
- Purpose: When called this function returns an instance of the entire object / cfc with all methods available.
- Arguments: None
- Return Type: CFC
ValidateVolunteerForm:
- Purpose: This function validates the submitted volunteer information from the user and validates it. First it checks for length on the firstname and lastname, it then checks the DOB for length and format and age because Safe Schools webservice won't allow anyone older than 100 years old. It then checks the DLNumber and SSN for length and to make sure they are not in the system already, a check of the DLState, address, city, and is run to make sure one was submitted. The zip, phone and altPhone is then checked for length and to validate they are numeric. Any errors are recorded in the valStruct and the result is passed back when complete.
- Arguments: volFirstName (string), volLastName (string), volDOB (date), volGender (string), volEthnicity (numeric), volSSN (numeric), volDLNumber (string), volDLState (string), folAddress (string), volCity (string), volState (string), volZip (numeric), volPhone (numeric), volAltPhone (numeric)
- Return Type: Struct (structure)
InsertVolunteer:
- Purpose: This function takes all volunteer data which has previously been validated, and runs a background check, evaluates the return and sets the volunteer status based on the result, next it formats the returned background check IF IT IS A HIT, a query is then run to insert all of the volunteer information as well as enter any HIT information if applicable. If there was a hit the funcation then sends an email to HR informing them that there is a HIT in the system they need to approve or deny. A true/false on if the process ran correctly is then returned.
- Arguments: volFirstName (string), volLastName (string), volDOB (date), volGender (string), volEthnicity (numeric), volSSN (numeric), volDLNumber (string), volDLState (string), folAddress (string), volCity (string), volState (string), volZip (numeric), volPhone (numeric), volAltPhone (numeric), locationID (numeric), empID (numeric), empName (string)
- Return Type: Boolean
getVolunteers:
- Purpose: This function allows one to search the district for volunteers based on lastname, the lastname is not required either. Returned is the volunteer name, date of birth, gender, drivers license number, drivers license state, and current volunteer status.
- Arguments: lastname (string)
- Return Type: Query
updateVolunteer:
- Purpose: This function updates the status of a volunteer to either approved or denied. This function is for Admin use only, and is based off of the getHIts initial data.
- Arguments: volunteerID (numeric), approveDeny (numeric)
- Return Type: Boolean
getHits:
- Purpose: This function grabs all volunteers who are in a "pending" status because they have gotten a HIT back from their volunteer check and they need to be reviewed by HR. Once a volunteer is approved or denied they will not show up in this query result set.
- Arguments: None
- Return Type: Query
getHit:
- Purpose: This function grabs specific background check information for a volunteer who didn't pass their background check. This is information from the HitData table which was stored when the hit came back upon submission of them as a volunteer.
- Arguments: volunteerID (numeric)
- Return Type: Query
Content.cfc
init:
- Purpose: When called this function returns an instance of the entire object / cfc with all methods available.
- Arguments: None
- Return Type: CFC
getEthnicity:
- Purpose: This function grabs back a query result set of all the records in the Ethnicity table for use in drop down lists.
- Arguments: None
- Return Type: Query
getStates:
- Purpose: This function grabs back a query result set of all the records in the State table for use in drop down lists.
- Arguments: None
- Return Type: Query
Notes
A webservice behind the scenes runs everytime a user is submitted for approval. This webservice takes an XML post and returns an XML result which can be found in the Model. This webservice is provided by Safe Schools and requires authentication to run a volunteer. Authentication is sent with the XML packet.


