COVID Screener

Overview

The COVID Screener web app went from idea to production in three weeks. The web app essentially facilitated daily checkins to reduce the spread of COVID.

preview

Customer Experience

The covid screener was built to help the human capital team process all the screener surveys sent out each morning. Every working day they asked employees to fill out ten yes or no questions to assess if they had possible covid exposure. Employees that did have possible covid exposure would be contacted to see if any other employees were exposed, and given time-off.

Before the web app, the surveys were in survey monkey. A human capital team member downloaded the results twice a daily then sorted through the Excel sheet to figure out the employees to contact. There was no validation of the employee id entered into the survey each day, so there was around 15 percent of the surveys that had to be thrown out. Additionally, because the surveys were downloaded and parsed in bulk by the time the human capital team member determined who to contact it would sometime be hours after they had started working. The burden to sort through the surveys was large it would be put off and those who did not complete the surveys would not be followed up on.

Survey Page

screener

Completed Survey without follow up.

completed survey

Completed Survey with follow up.

completed survey with follow up

The Human Capital login page

hr login

Human Capital survey followup page

survey view

After the web app, all the problems described above were eliminated. Employee's ids were validated and displayed when entering. Upon completion the employee received immediate feedback to either continue working or not to and a human capital team member would reach out. The Human Capital team members were emailed a secure anonymous link when an employee that needed to be contacted. The link was to a page to display the employees survey results, contact information, and a place to keep notes. Additionally, the web app connected to the Human Capital Management (HCM) system [BambooHR] to see who was working that day. It sent reminders to all employees who were working and had not completed the screeners by the due date.

Follow-up Email

follow up email

First Reminder email

first reminder

Second Reminder Email

second reminder

The gains were not only on the Human Capital's side also the employee filling out the survey experienced times savings. The survey would remember them, tab complete responses, and display hints or direction at known sticking points reducing the time to complete from 1 minute 30 seconds to 20 seconds.

What was my part?

My manager and I heard about the issues the Human Capital team was having. On our own volition we investigated and documented the current process to hone in on the areas for improvement. The problem space and scope was relatively limited, so I created an MVP based on the investigation. I estimated the web app to take two weeks, when in actuality it took three weeks.

I wrote the entire web app in Python using Flask as the web framework. Hosted it on an on-premise server with IIS as the webserver and Microsoft SQL Server as the database. Because the information stored was sensitive, I wrote a database ORM integration layer to encrypt the data at rest. I did not anticipate the encryption requirement. While developing the encryption layer I ran into a few hard to debug issues which pushed the project back a week.

Takeaways

Completing the site quickly was a stretch. Encrypting sensitive health data at rest in the database, using cookie based sessions to remember the employee’s number, sending emails in background separate processes, and using Analytics to time updates when no one is using the site were all challenges I learned from.