Medical students don't get enough practice with patients to prepare them for modern medical practice. I know this from my own experience as a medical student, who struggled to talk to enough patients with enough a variety of medical problems. Because of this, I even failed my final practical exam, and was forced to pay ~$1,000 out-of-pocket to go on a finals re-sit preparation course - where actors were hired to pretend to be patients.
Fast forward a few years, and I am now on the faculty of a medical school and see this problem still persisting. Moreover, through my volunteering work, I have seen that in low-resource settings, although a lot of patients may be present, there are very limited opportunities for medical trainees to get supervision and feedback on their diagnostic approach.
As a team, we wanted to see if we could use AI and tech to solve this problem.
What it does
Humaine is an online conversational AI platform that provides virtual patients for the deliberate practice of medical students. Students login online or via a smartphone app to access virtual patients with varying medical conditions, and practice with these patients at will.
This offers students deliberate, individual practice that is completely safe, as the patients are virtual. It offers access to rare and difficult cases, while providing instant feedback, with defined and measurable outcomes. All of this leads to much improved learning and a greater diagnostic cognitive skill-set.
How we built it
We built a prototype conversational agent using Google Dialogflow and IBM Watson. We used flask for the back-end and react native for the front end. We incorporated sentiment analysis into the framework to feedback on the student's patient manner. We also used the Google Cloud Platform for the speech-to-text and the text-to-speech APIs.
Challenges we ran into
Our first prototype on Dialogflow was restricted by a serial decision tree, which did not allow us to have a free-flowing conversation. One of our team members was more familiar with IBM Watson and was confident that we could overcome this problem using that platform, and this is why we switched.
Due to time constraints, we limited the scope of the demonstration on only questions relating to pain - but given more time, we could incorporate a full medical history.
Accomplishments that we're proud of
Our team has a very diverse background and set of skills. One of our team members is a high school student who learnt about API integration while doing this project, and managed to execute it well. One of our members had no technical skills but was able to work efficiently with the whole team. One of our team members had little knowledge of Python and APIs, but through the execution of the project, he became proficient at these. And finally, one of our team members traveled all the way from India!
What we learned
We were able to get past our initial technical challenges and make a dynamic conversational agent. At the beginning, we had deep misgiving regarding whether this project was even technically achievable. However, we surprised even ourselves in our execution! We learnt much about APIs, algorithmic thinking, systems thinking, and NLP logic and design. To expand on the NLP, we were also able to train and implement a model to perform sentiment analysis on audio files. This model is part of a set of NLP tools that we created in order to improve the content and tone of the doctor's assessment. We learnt about hosting a website - even though we failed to execute this at the last minute :(
What's next for Humaine
We are convinced that this idea has potential to revolutionize medical education, and to offer high-quality feedback to medical trainees in low-resource settings. We feel that this idea even has potential as a commercially successful startup.