Doctor visits have become a challenge since the start of the pandemic. Having to wait for hours to get wrongly diagnosed (or not get a consultation at all) is, sadly, one of the main characteristics of medical consultations in developing countries. People are starting to worry about any disease, even if it's not related to COVID. It wastes time for both doctors and patients in real danger that have to wait a lot of time to get a medical consultation.
That's where we introduce MediSearch, an AI-assisted symptom and disease checker. With our various AI services, we allow the user to see if they have any dangerous diseases, to then guide them to a specific specialist that will help them further with their diagnosis. This reduces the unguided medical consultations that are very common and helps patients get more info about probable diseases they might suffer.
👨⚕️ What it does 👨⚕️
MediSearch lets you find out what you're feeling and guides you to the specialist that fits the most the predicted diseases based on a prompt that tells us how you're feeling. Since there are age and gender-specific diseases, we also take that into account when predicting diseases. That's it, no "pick your symptoms from a list" stuff. You get to describe to us exactly how you're feeling and our NLP services will detect any symptoms that you might have said and predict diseases based on them. Since you're not hard-picking symptoms from a list, you can also describe the gravity of the symptoms, from a slight headache to a migraine. The gravity of the symptoms will be taken into account when predicting any diseases you might have. After that, you get recommended a specialist for a better diagnosis and you also get to see any possible diseases you might have, including more info about them.
🚧 How we built it 🚧
We used React and Mantine to create a beautiful and accessible UI that shows the user any possible diseases based on a prompt about how they feel. However, there is also a custom API made with Python and FastAPI that uses machine learning to serve all of our NLP and AI services. This custom API was deployed to the cloud using Docker, and it merges services from other APIs such as Infermedica and the WikiMedia API to both find symptoms and diseases on a prompt, and get info about the illnesses that the user might have.
Challenges we ran into
Our main challenge when building MediSearch was creating the foundation. How were we going to detect symptoms on a prompt? Was there any data available to do so? Was this even done before? We had to research a lot about APIs to finally decide on how we were going to build MediSearch. We also ran into many deployment and accessibility issues, and since our main focus was to get our app as user-friendly as possible, this was one of our main focuses, since you can't simply make a health platform available to certain people.
✅ Accomplishments that we're proud of ✅
We're very proud of getting our app to work just as we wanted it to from the beginning without any hard-coding. Merging a lot of APIs in an easy-to-use fashion was one of our biggest challenges, but we, fortunately, got it to work. We're also very proud of our UI, which is user-friendly and looks pretty overall.
🙋♂️ What we learned 🙋♂️
We learned a lot about various subjects, such as:
- 3rd party API usage
- API testing
- Mantine frontend development, and
- Machine Learning orientated towards medical usage
💭 What's next for MediSearch💭
We're planning on adding a log that will save previously predicted diseases to track how they evolve and how their symptoms change. This will let the user see how their disease is cured eventually after the assistance of a specialist.