With the advent of chat applications, the beginning of a new era was marked which will have people all connected through such applications.
Such applications reduced the communication gap considerably between the masses. Hence, the seeding of our idea to build Medbot.
People love the idea to communicate using chat applications and thus MedBot can help bridge the gap between common people and their knowledge about their own medical conditions. Fun part is that anyone can do this using a chat user interface. People will have an interactive chat with Medbot which will be targeted towards medical conditions of a person.
What it does
Medbot can help you diagnose your own condition and hence suggest possible conditions one might be suffering. A person can chat with Medbot and tell it about its symptoms and MedBot would inquire information from the person so as to provide him or her, possible conditions one might be suffering from.
How we built it
We have used the infermedica API for the core data provision. NodeJS has been used for making the backend for the MedBot with the use of natural library for NLP operations. Front end has been built in core CSS and HTML using JS with Jquery for AJAX requests.
The Openshift platform has been used for running the NodeJS server and expose a REST API to interact with front end. Although the server provides a web app, the REST API exposed could be used with any other App if required. MongoDB has been used to hold data for the ongoing chats.
Challenges we ran into
1) Extracting information about symptoms from user query
2) Maintaining session for chat NodeJS being stateless
Accomplishments that we're proud of
As this was our first hackathon, building something like this definitely provided a boost in the confidence and knowledge gained can be used as an experience in other such hackathons.
What we learned
1) Using Openshift to host REST server
3) Great adventure with the asynchronous nature of NodeJS.
4) Some basics in the direction of building great user interface design.
What's next for MedBot
1) Improvement over NLP to understand users better.
2) Interface improvements to make it even more comfortable to interact with.