Here's the whole story

Doctor walks into the exam room, does a few tests, says a few things, and before you know they are out of the room and on to the next patient. It's like they are moving at warp and you were supposed to absorb everything they said while getting your thoughts together just as fast to ask all your questions. In an ideal world, physicians would have all the time in the world to walk us through the different aspects of our health plan but too often they are not even listening to their patients. Nyota Health Connect helps you communicate better with your physician so that you can maximize the little amount of time for your appointment. Nyota Health Connect is available in English and Spanish on both Facebook Messenger and SMS. MongoDB Charts and AI is used to help make product level decisions so that the user experience can be improved overtime.

I also released an open source project for anyone to build a Facebook Messenger Bot using just MongoDB Stitch, no third-party integration tools or node modules required.

Inspiration

As I have gotten older, my yearly physical is no longer straightforward. More tests need to be performed, my physician scolds me more for my bad decisions (I do have a bit of a sugar addiction), and I have more questions than ever on how to live a healthier lifestyle. But the appointments have barely increased in length. So, I took some inspiration from a Stanford study on increasing parental involvement in early childhood education except with the goal to increase health literacy among adults. I then added some image analysis to identify the foods I want to eat but then suggest something that is a little better for me but still satisfies that craving. Finally, rather than scramble at my yearly physical for what questions I should be asking my physician, I want some sample questions on demand that will make me have an intelligent conversation with my physician.

What it does

Nyota Health Connect sends regular messages about health topics you might find useful like stress, diabetes, nutrition, etc. to help increase your health literacy. She also allows you to send her a picture to get back insights on how to satisfy your food cravings (less 2pm cookies and more apples to satisfy that afternoon slump) using some help with the data found from the CDC. Finally, Nyota has an intent that allows you to get ideas for questions to ask your doctor so you can maximize your time in the room before that bell rings and your appointment is over.

The goal is not to remove clinicians or even augment them but to make better use of the short time a person will have at their appointment. By using Nyota Health Connect everyday, people will increase their health literacy, make smarter health decisions more often, and will be able to converse on a more meaningful level with their physician during their appointments.

Nyota Health Connect also has an analytics solution that can help stakeholders make product level decisions by seeing how the user's behave from a high level. This could be a missed connection (pun very much intended) when a user types something the NLP does not understand, analyzing the user's sentiment across a conversation not just in a single message, or just finding image labels that do not exist yet in the nutrition DB and should be added later.

How I built it

MongoDB handles about 90% of the bot with Stitch handling the computation, Atlas storing data for analytics and user profiles, and of course Charts to help me find different insights into the data of my bot to help drive design decisions. The other 10% is run on GCP to handle the AI with Dialogflow for natural language processing, Google Vision for image analysis, and Google Natural Language to gather insights into missed conversations so I might augment what intents Nyota can handle.

Users can access Nyota Health Connect on Facebook Messenger and SMS. Messages with public health information are all thoroughly researched and have citations available; we don't need to spread fake news.

Challenges I ran into

This was my first-time using MongoDB so there was a bit of a learning curve. Originally proactive messaging was going to be an issue since it would mean I would need a third-party scheduler to hit a public webhook on MongoDB Stitch but then about a month ago, scheduled triggers was added which made my life way easier with regards to security. Also, I could not figure out how to read incoming attachments with the built-in Twilio service on Stitch so I built my own using the incoming webhook so Nyota Health Connect could help give advice on how to satisfy food cravings on both Facebook Messenger and SMS.

Accomplishments that I'm proud of

I have always wanted to build an analytics solution for bots and I always wanted to learn MongoDB so this hackathon was perfect to combine these two desires. However, the biggest accomplishment I am proud of is Nyota Health Connect herself since she solves a problem I have been having and do see a big market opportunity to serve. I don't just mean giving away the core product away for free to users to have more informed conversations with their physicians but the added features I hope to add in the future to make it easier for users to manage their care and their loved one's care.

What I learned

This was my first-time using MongoDB so I tried to go as deep as possible with all the different tools at my disposal and to learn as much as possible. This was also my first-time using Google Vision for image analysis and Google Natural Language for text analysis.

What's next for Nyota Health Connect

Right now, Nyota Health Connect focuses on handling your own health and making the best use of your medical appointments. Soon I want to help adults be a participant in others care such as an aging parent or a child. What questions should we ask in appointments on their behalf? Also, Nyota Health Connect is only serving one half of the problem. Even if we know what questions to ask our physicians, physicians could answer our questions with jargon we do not understand.

I also want to explore spinning out the bot analytics platform to other users to use as a SaaS product.

Built With

  • dialogflow
  • google-natural-language
  • google-vision
  • mongodb
  • mongodb-charts
  • mongodb-stitch
Share this project:

Updates