Inspiration

To create a personalized doctor for every person. It has the whole knowledge and maintains the health of each person.

What it does

Your Virtual Doctor (YVD) has health history of all of its users (It asks for it during the account creation). When a particular user is sick and wants to understand his health condition, Based on his previous health history and his current symptoms YVD predicts other possible symptoms to predict the illness. YVD asks for confirmation from the user after each question. The user needs to answer if he has those symptoms by selecting simple YES or NO options provided for each question. YVD keeps on asking questions until it has 3 positive symptoms or till the user approves of 3 questions to be an yes. Once the symptoms are confirmed YVD predicts the possible disease and would suggest a hospital nearby the user.

How we built it

To build this we have used the dataset at kaggle link. It contains symptoms disease matrix. After acquiring the data we developed a Bayesian Model to predict the next symptom based on the previous symptoms and history. Based on the results from the previous step the illness is predicted using Naive Bayes Classifier. We then created a web application using Flask to store the patient information and to query about the symptoms we used SQLite. YVD also gives information about the predicted disease by parsing wikipedia. We have used Python-wikipedia-package to parse wikipedia. We have also used Google Maps APIs to suggest the user about the nearest hospitals and the distance to the hospitals from the users location.

Challenges we ran into

First challenge is building the Flask app and connecting it to a database, it took a lot of time. The second is choosing what and how many questions to ask. The third is selection of the algorithms and finally addressing ambiguity in retrieval of wikipedia results by getting a semantically similar disease information from wikipedia.

Accomplishments that we're proud of

A working model of YVD is what we are proud of and we have also learnt Flask in a short time.

What we learned

Working together in a team, thinking of an idea, choosing the architectural framework and implementing it in a 36 hour deadline taught us effective time management and work sharing.

What's next for Your Virtual Doctor

We are predicting the illness and suggesting a doctor but we are not trying to make sure if out prediction is correct or wrong at the moment. We also do not ask for any feedback about the suggested doctor and the hospital. So, we are thinking about including both of the above mentioned items to our project to make it learn from its mistakes and also to make Your Virtual Doctor more reliable like a real Doctor.

Share this project:

Updates