Inspiration
COVID has cast light upon the unfortunate 'house of cards' dynamic within modern society. We have seen an extreme increase in hospitalizations due to COVID, and not everyone who needs help can get it. Sometimes, we tend to hope for fortune rather than prepare for misfortune, and there are dire circumstances for these actions. In times like these, it's not convenient to keep patients hospitalized forever, as there are many waiting in line.
So how can we help the healthcare system monitor the conditions of patients even when they have left the direct care of a doctor? Well, we thought about how Shazam could help us classify a song we were using, and wondered if it would be possible to apply the same logic to COVID or other respiratory diseases by analyzing breathing patterns/sound. Certain symptoms/conditions could persist that can communicate risk to doctors, and could be analyzed to qualify an outpatient as higher priority for readmission. If we can save even one life from this system, it has already proven its worth.
What it does
We wanted to make it easier for medical organizations to prepare and face the challenges provided by pandemics such as COVID. Outpatient AI is a web application that allows patients to check-up and get analysis on their vitals / breathing patterns, which organizations can then view and assess.
Within the patient dashboard, there are options to register oneself under a particular medical organization, and make recordings of their breathing. Recordings are also compared against a public dataset of respiratory sounds to classify breathing as normal/abnormal.
How I built it
Authentication with Google Firebase Auth Express and NodeJS for the Web application Firebase for storing data Python for the audio fingerprinting / machine learning model Kaggle providing the database https://www.kaggle.com/vbookshelf/respiratory-sound-database
Challenges I ran into
(Caleb) I built the website in NodeJS. It's my first time working with this runtime environment for JS. I used express to handle routing for the website, as well as using it to serve static content. I also used EJS as a template engine for the front end to inject dynamic data into my markups from http requests (ejs was selected over other popular frameworks like pug as I did not want to have to refactor all my html code at the late point I made certain realizations). The challenges were disguised as blessings, in that it was all the more satisfying when things worked as expected. In the future, I would like to iterate on the amount of vitals/features from patients that can be tracked and evaluated by our project, so that the process of patient care can become even more streamlined.