Database and Web Database and Web Search Application Search Application for Disabled Adults for Disabled Adults
and Childrenand ChildrenClient: Iowa Department of Human ServicesClient: Iowa Department of Human Services
Dec06-05Dec06-05Kyle CurranKyle Curran
Seth GillespieSeth GillespieCarlos OrtizCarlos OrtizRyan WiegelRyan Wiegel
AcknowledgementsAcknowledgements
• Marion KresseMarion Kresse• Iowa Department of Human ServicesIowa Department of Human Services• Professor Manimaran GovindarasuProfessor Manimaran Govindarasu
Problem DescriptionProblem Description•Lack of a centralized source of information on various services offered by aid agencies within Iowa
•Many people do not know that programs exist to offer them aid
•Too many programs for one person to keep track
•Iowa COMPASS database can overwhelm users
•Existing search site is not user friendly
General ApproachGeneral Approach
• Web application with backend Web application with backend databasesdatabases
• Management software to Management software to add/remove/edit programsadd/remove/edit programs
• Search RadiusSearch Radius
• Map of resultsMap of results
DefinitionsDefinitions
• ASP –ASP – Active Server Pages Active Server Pages• BOBBY - BOBBY - A specification for web sites that are A specification for web sites that are
easily accessible by people with disabilitieseasily accessible by people with disabilities• HIPAA – HIPAA – Health Insurance Portability and Health Insurance Portability and
Accountability Act*Accountability Act*• PHP - PHP - A scripting language used for creating A scripting language used for creating
web applicationsweb applications• SQL - SQL - Scripted Query LanguageScripted Query Language• GIS - GIS - Geographical Information SystemGeographical Information System
* * Definitions found on Wikipedia.orgDefinitions found on Wikipedia.org
Intended UsersIntended Users
• Employees of DHS and Iowa CompassEmployees of DHS and Iowa Compass
• Employees of other public assistance servicesEmployees of other public assistance services
• People with disabilities in search of servicesPeople with disabilities in search of services
• Families or friends of people with disabilitiesFamilies or friends of people with disabilities
• Administrators of the Iowa COMPASS Administrators of the Iowa COMPASS websitewebsite
Intended UsesIntended Uses
• To find services for which a person may To find services for which a person may be eligiblebe eligible
• To locate general services and support To locate general services and support programsprograms
• To locate services based on location and To locate services based on location and distancedistance
• Add/Remove/Edit programs in the Add/Remove/Edit programs in the databasedatabase
FunctionalityFunctionality
• Anonymous Search CapabilityAnonymous Search Capability• Extensibility/MaintainabilityExtensibility/Maintainability• Internal SecurityInternal Security• Application RedirectionApplication Redirection• Diverse User AllowanceDiverse User Allowance• Program DistanceProgram Distance• Program Location MappingProgram Location Mapping
Detailed DesignDetailed Design
Design ConstraintsDesign Constraints
• Localized UseLocalized Use• Locally Stored InformationLocally Stored Information• UsersUsers• Questions ProvidedQuestions Provided• TimeTime• BudgetBudget• Handicap AccessibleHandicap Accessible
Design Constraints Design Constraints (cont.)(cont.)
• Initially implement 20 programsInitially implement 20 programs
• Phase ImplementationPhase Implementation– Phase I: Questionnaire forms and Phase I: Questionnaire forms and
Administration applicationAdministration application– Phase II: Google Map API Phase II: Google Map API
ImplementationImplementation
Technology SelectionsTechnology Selections
• Development TechnologyDevelopment Technology– PHPPHP– ASP.NETASP.NET– Selection: ASP.NETSelection: ASP.NET
• IDE SoftwareIDE Software– Microsoft Visual Studio .NET 2005Microsoft Visual Studio .NET 2005– EclipseEclipse– Selection: Visual Studio .NET 2005Selection: Visual Studio .NET 2005
Technology Selections Technology Selections (cont.)(cont.)
• GIS SoftwareGIS Software– Google Maps APIGoogle Maps API– MapzoomMapzoom– Selection: Google Maps APISelection: Google Maps API
• Programming LanguageProgramming Language– Visual C++Visual C++– C#C#– Selection: C#Selection: C#
TestingTesting
• Unit TestingUnit Testing– Black-Box TestingBlack-Box Testing– Regression TestingRegression Testing
• Integration TestingIntegration Testing– Creation of Stubs and DriversCreation of Stubs and Drivers
• System TestingSystem Testing– Alpha TestingAlpha Testing– Beta TestingBeta Testing– Site TestingSite Testing
Phase IPhase I
Screen Flow DiagramsScreen Flow Diagrams
Homepage
Personal Information Form
Questionnaire Page(s)
Results Page
Administration Homepage
Edit ProgramRemove Program Add Program
Page flow for administration consolePage flow of end user general use
Top Level Data Top Level Data InteractionInteraction
End User Administrator
Web Forms
Answers and Completes
Displays Results
Administration Console
Interacts with
Displays Results
End User Web FormsEnd User Web Forms
• Personal Information PagePersonal Information Page– IncomeIncome– AgeAge– Size of householdSize of household
• Dynamic QuestionnaireDynamic Questionnaire– Based on personal informationBased on personal information– Formed from the databaseFormed from the database
Personal Information Personal Information PagePage
Personal Information Page
Program XML Files
C# Background
Code
Sends User Input
Reads/Queries XML
Files
Questionnaire PageQuestionnaire PageQuestionnaire Page
Program XML Files
C# Background
Code
Sends User Input
Reads/Queries XML
Files
Results PageResults Page
XML DatabaseXML Database• Question FileQuestion File
– Question IDQuestion ID– Question TextQuestion Text– CounterCounter
• Program FileProgram File– Program IDProgram ID– Program NameProgram Name– Question ID’sQuestion ID’s– Personal information tablesPersonal information tables– SolutionsSolutions
Iowa COMPASS DatabaseIowa COMPASS Database
• Program TableProgram Table– Program IDProgram ID– Agency IDAgency ID– Program NameProgram Name– Program AddressProgram Address– Program WebsiteProgram Website– Program ContactProgram Contact
• Agency TableAgency Table– Agency IDAgency ID– Agency NameAgency Name– Agency AddressAgency Address– Agency ContactAgency Contact
§ Program ID§ Program Name
XML Program List File
§ Program ID§ Program Name§ Agency ID§ Program Address§ Program Website§ ProgramContact
Program Master Table
§ AgencyID§ AgencyName§ AgencyAddress§ AgencyWebsite§ AgencyContact
Agency Master Table
§ -QuestionID§ -Question Text§ -Counter
XML Question FileXML Program File
§ Program ID§ Program Name§ Question List
-Question ID§ - Personal Information Tables
-Table ID-Min Age-Max Age-Income Table
§ Solutions-Personal Information Table ID-‘Yes’ List
▫Question ID-‘No’ List
▫Question ID
Administration Administration ApplicationApplication
Administration FunctionsAdministration Functions
• Add ProgramAdd Program– Enter valid program id and nameEnter valid program id and name– Create new personal information tablesCreate new personal information tables– Select from a list of questionsSelect from a list of questions– Create new questionsCreate new questions– Build solutionsBuild solutions
Add Program
Program XML Files
C# Background
Code
Sends User Input
Validates Program ID
Iowa COMPASS Database
Create new XML file for the new program
Personal Information Page
Program XML File
C# Background
Code
Sends User Input
Creates Table in XML File
Add Questions Page
Program XML File
C# Background
Code
Sends User Input
Gets current questions & write new questions
Questions XML File
Adds questions to
program
Solution Builder Page
Program XML File
C# Background
Code
Sends User Input
Adds solution to program
Administration Functions Administration Functions (cont)(cont)
• Remove ProgramRemove Program– Select from a list of existing programsSelect from a list of existing programs– Delete program XML fileDelete program XML file– Decrement question countersDecrement question counters– Remove questions (if needed)Remove questions (if needed)
Remove Program Page
Program XML File
C# Background
Code
Sends User Input
Decrements counter and
removes question if counter = 0
Questions XML File
Gets program data and
deletes file
Administration Functions Administration Functions (cont)(cont)
• Edit ProgramEdit Program– Select from a list of existing programsSelect from a list of existing programs– Add/remove/edit personal information Add/remove/edit personal information
tablestables– Add/remove questionsAdd/remove questions– Add/remove/edit solutionsAdd/remove/edit solutions
Edit Program Page
Program XML File
C# Background
Code
Sends User Input
Get all program ID’s and names
Edit Personal Information Tables Page
Program XML File
C# Background
Code
Sends User Input
Get current tables, create new tables,
modify existing tables
Edit Program Questions Page
Program XML File
C# Background
Code
Sends User Input
Get questions, delete
questions, update
counters, & add new questions
Questions XML File
Get all question ID’s for program
Edit Solutions Page
Program XML File
C# Background
Code
Sends User Input
Get current solutions &
add, modify, delete
solutions
Phase II
Phase II End User Page Phase II End User Page FlowFlow
Homepage
Personal Information Form
General Area Map of Services
Questionnaire Page(s)
Results Page
Additional FeaturesAdditional Features
• Ability to Search within RadiusAbility to Search within Radius– Link from homepageLink from homepage
• Map of Returned ResultsMap of Returned Results– Addition to results pageAddition to results page
• Distance CalculationDistance Calculation– Pythagorean TheoremPythagorean Theorem– SQL table of zip codes/latitude and longitudeSQL table of zip codes/latitude and longitude
• Google Map APIGoogle Map API
Work AccomplishedWork Accomplished
• Initial GUI for End Initial GUI for End User/AdministratorUser/Administrator
• XML Database FilesXML Database Files– Program FileProgram File– Question FileQuestion File– Program List FileProgram List File
• Page Linkage and Data PassingPage Linkage and Data Passing
• XML Parsing StartedXML Parsing Started
Future WorkFuture Work
• Modify XML Files via Administrator Modify XML Files via Administrator InterfaceInterface
• End User QueriesEnd User Queries
• Finish XML ParsingFinish XML Parsing
• Interface with Iowa COMPASS DatabaseInterface with Iowa COMPASS Database
• TestingTesting
• DocumentationDocumentation
QuestionsQuestions