One of our team members' mom works as a nurse for the local public health unit. Half of her job consists of actually vaccinating people for COVID-19, but she has to spend the other half of the time calling confirmed COVID patients to check on their symptoms and track any possible breaches in quarantine.
This is a really tedious process for both parties, since the nurse has to continue calling until the patient picks up, and they have to repeatedly go through a lengthy list of questions. The pandemic has really strained the healthcare system as it is, and this process only takes more nurses away from the vaccination effort. We wanted to find a way to automate the process over text, limiting the need for actual nurses.
What it does
VirusValet handles the sending and receiving of SMS messages between each patient's phone and the server itself. The site is accessed through a web dashboard that allows nurses to see a list of all their patients, add or remove patients, and see which patients they need to contact directly for a more extensive check in (such as if they are experiencing severe symptoms or there has been an isolation breach).
The dashboard keeps a record of the text conversation between the automated messages and the end user, and allows the nurse to send their own messages at any time during the conversation. Each patient has a graphic indicator and a severity ranking, which indicates who needs attention most. We also built an ML model that asses a patient's individual symptoms and determines their risk for serious complications, which helps inform their severity ranking.
How we built it
The main web server was built in Python using the Django framework, and all the pages made in HTML with Jinja2 templating. The database is [going to use a database service that hasn't been set up yet COUGH COUGH]. We used the Twilio messaging API to handle sending and receiving SMS messages between the server and individual patients' phones. The ML model was made with Python and TensorFlow and trained using Google Cloud.
Challenges we ran into
During testing, we needed a publicly visible address for the Twilio API to send responses to, rather that just localhost which we would normally test on. We discovered ngrok, a service that allowed us to make a tunnel between a localhost and and a public url with a single command.
Accomplishments that we're proud of
What we learned
What's next for VirusValet
- Creating, and distributing patients between, individual nurse accounts
- Automatically update the automated messaging system with the most recent public health guidelines
- Transfer the site to a dedicated web hosting service