Public Health Research

DATA COLLECTION SOFTWARE

Public Health Research

DATA COLLECTION SOFTWARE

Overview

Public health researchers from Purdue University shared with me some issues they were having on their latest project. They were cataloging types of ordinances on dog breed specific legislation in the United States and were having difficulties standardizing and collecting accurate data for their data repository. In order to help revise their workflow and make it more efficient I designed a software program that is simple to use, makes data records accessible, prevents inconsistencies, tracks errors, and accommodates for future project growth by providing data visualization views to aid with analysis.

Overview

Public health researchers from Purdue University shared with me some issues they were having on their latest project. They were cataloging types of ordinances on dog breed specific legislation in the United States and were having difficulties standardizing and collecting accurate data for their data repository. In order to help revise their workflow and make it more efficient I designed a software program that is simple to use, makes data records accessible, prevents inconsistencies, tracks errors, and accommodates for future project growth by providing data visualization views to aid with analysis.

Project Goals

Project Goals

ERROR TRACKING

Create administrative tools to track and identify the reason for any possible errors or anomalies in data.

ELIMINATE USER ERROR

Greatly reduce user error and inconsistencies in data collection by standardizing data values and restricting input of certain values to administrators only.

DATA ANALYSIS

Create tools for principal investigator to sort, review and categorize data.

NORMALIZE DATA

Constrain data input to allow only one value per input field in order to keep the database properly normalized so it can perform accurate searching and sorting of records.

PROCESS EFFICIENCY

Speed up methods of data collection, while ensuring data accuracy.

UP-TO-DATE DATASETS

Ensure that collected data reflects the information in current municipal ordinances.

Before & After

Initially the team was collecting and storing their data records in an Excel spreadsheet. Each collector had their own spreadsheet that they would use to gather data. After collecting data they would then add their records to a master spreadsheet. Collectors would merge the documents by copying the records from their collection document and pasting them into the master sheet. The copy and paste method was also used for sorting the data. This meant the master spreadsheet contained 11 sheets of the exact same information. The only difference between each sheet was how the records were sorted. This time-consuming sorting process needed to be done each time new records were added to the sheet, which creates the possibility for duplicated and inaccurate data, as well as major workflow inefficiencies.

To streamline the process, I designed a program that not only would address workflow inefficiencies and data inaccuracies, but also utilized data visualization to accommodate future data analysis.

BEFORE

AFTER

BEFORE
AFTER

Process

Reviewing the Workflow and Process

To examine the team's data gathering process, I reviewed the Excel file they used to store their records. I could see there were issues with sorting, searching, and keeping accurate information. For instance if you wanted to search for which legislation affects the dog breed Perro De Presa Canario, you would have to know that the records contain five different references to them because of various misspellings and terms used for the breed. This can happen due to user error when inputting the data or can happen at the municipal level due to differences stated in the local ordinances, since there is no standard way to identify dog breeds in legislation.

Another problem was not being able to do complex sorting of the records because there were several fields that would contain more than one data value. For instance the field “breeds affected” might contain nine different breeds, where a proper data model would contain only one. In order to keep the data normalized at one value per field, it would be more effective to store the records in a database rather than a spreadsheet.

Identifying
User Needs

After speaking with the users and seeing the master sheet they use to collect data, I was able to get a better idea of their needs and how the process should be tailored in order to satisfy them.

I then created some user stories to help narrow down the general task areas that the users perform. I also used the document as a guide to help me develop the feature requirements.

Defining
User Profiles

From looking at the user stories and general task areas identified, I could see that they could be further grouped into user roles. Three distinct profiles emerged from the results: the Researcher, the Data Administrator, and the Data Collector.

Identifying General Requirements

The user stories were also beneficial in figuring out the basic requirements. After I identified the general actions a user would need to perform, I then used them to define the views needed for the application.

Designing the Site Flow

Next, I created a site map to work out how pages would connect with one another and general wireframes to show where basic content would go on each page.

Data Organization

After this, I created a data model for the site to understand the connections between the data and to work out the information architecture.

Process

Reviewing the Workflow and Process

To examine the team's data gathering process, I reviewed the Excel file they used to store their records. I could see there were issues with sorting, searching, and keeping accurate information. For instance if you wanted to search for which legislation affects the dog breed Perro De Presa Canario, you would have to know that the records contain five different references to them because of various misspellings and terms used for the breed. This can happen due to user error when inputting the data or can happen at the municipal level due to differences stated in the local ordinances, since there is no standard way to identify dog breeds in legislation.

Another problem was not being able to do complex sorting of the records because there were several fields that would contain more than one data value. For instance the field “breeds affected” might contain nine different breeds, where a proper data model would contain only one. In order to keep the data normalized at one value per field, it would be more effective to store the records in a database rather than a spreadsheet.

Identifying
User Needs

After speaking with the users and seeing the master sheet they use to collect data, I was able to get a better idea of their needs and how the process should be tailored in order to satisfy them.

I then created some user stories to help narrow down the general task areas that the users perform. I also used the document as a guide to help me develop the feature requirements.

Defining
User Profiles

From looking at the user stories and general task areas identified, I could see that they could be further grouped into user roles. Three distinct profiles emerged from the results: the Researcher, the Data Administrator, and the Data Collector.

Identifying General Requirements

The user stories were also beneficial in figuring out the basic requirements. After I identified the general actions a user would need to perform, I then used them to define the views needed for the application.

Designing the Site Flow

Next, I created a site map to work out how pages would connect with one another and general wireframes to show where basic content would go on each page.

Data Organization

After this, I created a data model for the site to understand the connections between the data and to work out the information architecture.

Final Result

Putting It All Together

Aspects of the project have been implemented and we are now exploring getting a grant to fund full construction and implementation of the project, including a Citizen Science Initiative to help involve the community in gathering data and making sure it stays up-to-date.

Record Information

User Actions

  • View/Input/Modify information for a specific record
  • Indicate that record needs to be reviewed
  • Add/Delete records
  • View/Search/Sort sidebar list of records
  • Select a record from the sidebar list to see that record in the “Record Information” view

Records List

User Actions

  • Expand the sidebar list of records to view them in “Record List”
  • Input/Modify data values for records
  • Add/Delete records
  • Search/Sort record list
  • Select a record and tab to “Timeline”, “Location” or “Records” to see it in the corresponding view
  • Double-click a record to see it in the “Record Information” view

Timeline View

User Actions

  • View records organized visually as a timeline by when the legislation was enacted or repealed
  • Customize the date range for the “Timeline”
  • Swipe the timeline back and forth to see more records
  • Scale the timeline to adjust the duration of time seen in the viewer
  • View dynamically updated graphs for BSL Types, Breeds, and BSL Status that reflect the records in the sidebar
  • Collapse/Expand dynamic graphs bar
  • Select a record from the sidebar list to see that record in the “Timeline” view
  • Double-click a Timeline record card to see the record in the “Record Information” view

Location View

User Actions

  • View records organized visually as a map by location of the legislation
  • View dynamically updated graphs for BSL Types, Breeds, and BSL Status that reflect the records in the sidebar
  • Select a record from the sidebar list to highlight that record’s location in “Location” view
  • Double-click a state to see the record in the “Location County” view
  • Collapse/Expand the “State List” in the location viewer
  • Collapse/Expand dynamic graphs bar

Admin View

User Actions

  • View/Search/Sort “User Activity”
  • View/Search/Sort “Record Activity”
  • Collapse/Expand “User Activity” view and/or “Record Activity” view
  • Select a “Record Activity” record and tab to “Timeline”, “Location” or “Records” to see the record in the corresponding view
  • Double-click a “Record Activity” record to see it in the “Record Information” view

Putting It All Together

Aspects of the project have been implemented and we are now exploring getting a grant to fund full construction and implementation of the project, including a Citizen Science Initiative to help involve the community in gathering data and making sure it stays up-to-date.

Record Information

User Actions

  • View/Input/Modify information for a specific record
  • Indicate that record needs to be reviewed
  • Add/Delete records
  • View/Search/Sort sidebar list of records
  • Select a record from the sidebar list to see that record in the “Record Information” view

Records List

User Actions

  • Expand the sidebar list of records to view them in “Record List”
  • Input/Modify data values for records
  • Add/Delete records
  • Search/Sort record list
  • Select a record and tab to “Timeline”, “Location” or “Records” to see it in the corresponding view
  • Double-click a record to see it in the “Record Information” view

Timeline View

User Actions

  • View records organized visually as a timeline by when the legislation was enacted or repealed
  • Customize the date range for the “Timeline”
  • Swipe the timeline back and forth to see more records
  • Scale the timeline to adjust the duration of time seen in the viewer
  • View dynamically updated graphs for BSL Types, Breeds, and BSL Status that reflect the records in the sidebar
  • Collapse/Expand dynamic graphs bar
  • Select a record from the sidebar list to see that record in the “Timeline” view
  • Double-click a Timeline record card to see the record in the “Record Information” view

Location View

User Actions

  • View records organized visually as a map by location of the legislation
  • View dynamically updated graphs for BSL Types, Breeds, and BSL Status that reflect the records in the sidebar
  • Select a record from the sidebar list to highlight that record’s location in “Location” view
  • Double-click a state to see the record in the “Location County” view
  • Collapse/Expand the “State List” in the location viewer
  • Collapse/Expand dynamic graphs bar

Admin View

User Actions

  • View/Search/Sort “User Activity”
  • View/Search/Sort “Record Activity”
  • Collapse/Expand “User Activity” view and/or “Record Activity” view
  • Select a “Record Activity” record and tab to “Timeline”, “Location” or “Records” to see the record in the corresponding view
  • Double-click a “Record Activity” record to see it in the “Record Information” view

OTHER WORK