-
-
Opening interface to the website, with the option to provide user inputs.
-
Example Input-1.
-
Output of Example Input-1, info of probable disease, suggested medications, precautionary measures & nearby top rated speciality hospitals.
-
Example Input-2 with the autocomplete symptoms feature.
-
Output of Example Input-2.
Inspiration
In our current pandemic situation, we often find ourselves not freely able to consult doctors and go to hospitals for checkups due to various reasons such as fear of CoVid-19 among others, and hence have to opt for other mediums for diagnosis or self-diagnosis. Moreover, one of our team members currently faces a predicament where he does not have access to adequate medical institutions and hospitals, being from a smaller city that has 1 private hospital, and 2 poorly maintained government hospitals. As a result, getting factual and accurate diagnoses is a struggle for him. In order to supply this demand for self-diagnosis tools, we decided to come up with a machine learning-based diagnosis tool which takes 3 symptoms that a user is currently facing and informs them of the most probable disease/condition they are facing.
What it does
It is a machine learning-based platform that informs users of the possible diseases they may be facing based on their current symptoms suggests precautionary measures, commonly used medicines, and provides them with the locations of the nearest medical facilities that specialize in the treatment of the said diseases.
How we built it
- The first step that went into building this website, was the machine learning backend part. Analyzed, cleaned, and performed feature selection to end up with the best dataset to train and use in our code. K Nearest Neighbours ( KNN ) performed exceptionally well with 93.5% accuracy as compared to 81% of Random Forest Regressor which is why we went ahead with it. Pickled the ML model to be used in the Flask framework.
Random Forest Accuracy
K-Nearest Neighbours Accuracy

The second step was registering a Google Cloud Credit account to register and using the Google Maps API to embed it on the website.
The third step involved creating the static web pages using HTML, CSS.
The fourth step involved creating model.py and api.py which sent the output based on the user inputs.
The fifth step was integrating the external python files to work with app.py by routing it to input.html and posting the output to output.html.
Challenges we ran into
The main challenge faced was to reverse the Label Encoding to map the corresponding disease as Label Encoding was necessary to perform the KNN model. We figured that Label Encoding couldn't be pickled and reversed, unlike the KNN model.
The next challenge faced was to integrate and embed the Google Maps API into the results page, as this was our first time getting our hands dirty with APIs.
The final and most daunting task was to convert React components to HTML, CSS code as we couldn't debug our React app to run the Python ML models in the backend, so we brainstormed and planned to take up Flask to include the newly created HTML and CSS and make the entire thing work like a charm.
4. Due to the database constraints, the website works only when inputs are given according to the autocomplete feature.
Accomplishments that we're proud of
For just a single weekend, we are proud of what we've built. Some of our accomplishments:
- Getting our actual website to closely resemble our XD prototype.
- We are proud that we cater to a real-world problem that is faced by vast populations.
- Properly connecting the backend model to the frontend. (This is the first time it’s ever worked for us, so it’s a huge accomplishment.)
- We were very close to pulling the plug on using API for this submission, but we pulled through and managed to learn and integrate it.
What we learned
While creating this web application, we learned how APIs are implemented and integrated into various services. Moreover, we learned how to link programs written in various languages such as Python, JavaScript, and jQuery to make a streamlined application. We also learned how to make the front end of our website more appealing to the end-user by testing and trying out various designs using Adobe XD
What's next for #19 TWOEZ
For our future work, we hope to be able to create an online doctor consultation medium such as a chatbot or video call services, etc to further help those without adequate access to medical facilities get the attention they need and the correct advice from experienced doctors.




Log in or sign up for Devpost to join the conversation.