Many people aren't sure when they should go to the doctor or not, and this seemed like a good way to help deal with that issue.

What it does

It presents a form to the user; they can choose multiple items from a large list of symptoms. It then takes those symptoms and compares it with a table of disease-symptom relations from our database. It then analyzes the severity of the symptoms given and the severity of the diseases that match those symptoms and indicates to the user whether they should just go about their day, stay home and rest, consider visiting a doctor at some point/the nearest possible convenience (depending on the severity of course), or if they require immediate medical attention and need to call an ambulance.

How we built it

After we came up with the idea, we determined that we had to find a good dataset; it took a while, but we finally found something solid, which was provided by Columbia University. link We then parsed the fields for the disease names and the symptom names, creating insert statements for mySQL database tables: one for the individual diseases, one for the individual symptoms, and one for the disease-symptom pairings. Then we created a mySQL database with Amazon Web Services' RDS, created the appropriate tables and ran the insert statements we had generated previously. We had been planning on using machine learning to come up with the suggestions, but we ran out of time after issues with getting the data tables put together. We ultimately used a more traditional method after manually adding "severity" values for each disease and symptom in the database. We used JavaScript and HTML on the front end and Java on the back end to process the inputs from the user and the data from the database.

Challenges we ran into

A solid dataset to use is hard to come by; we had to search online for hours just to find something relevant. Breaking down that dataset into the form we wanted and moving it into a database took even longer. Initial setup time eliminated the possibility of machine learning being implemented as we had planned.

Accomplishments that we're proud of

Though we did not use the method we wanted to, we accomplished the goal we set out to do.

What we learned

Good datasets are hard to come by, and things will always go wrong in development.

What's next for ShouldICallAnAmbulance

While we currently have no concrete plans on implementing these features, the doors are open for us to add things like Google Voice integration, automatic calls to partnered doctor's offices, and more.

Share this project: