We identified a need for a single source of information on common mental health conditions. Something that could provide some basic references to books, inspirational stories, support groups or local providers without having to hunt and search through multiple layers of dozens of websites.
What it does
We provide anonymous information to users concerning three of the most diagnosed mental health conditions today:
- Bipolar Disorder
For each condition we provide books, inspirational stories, and links to both support groups and licensed providers.
How we built it
We created an AWS Lex bot with a corresponding lambda function using Node.js. We then added Facebook and Slack account lookup for access to the user's first name.
After we had a basic bot working we connected it to Facebook, Slack and Twilio. For Facebook and Slack we then used the userId provided in the conversation request to lookup the user's first name. This allows for a more personal user experience. As we move forward we can expand this access to collect email address for additional communication options.
Finally, we tested, a lot. Each testing cycle would allow us to identify additional phrases or conversation bits that we wanted to recognize. We would add these phrases to our Lex definition build and test again.
Challenges we ran into
The only technical challenge came when we wanted to recognize two different single slot answers for Name and Condition. These were needed to provide a more seamless interface when asking 'what should I call you?' or 'do you want help with ...'. When the slots were defined as part of each specific intent we found that one intent would be favored over all others, despite the fact that the various slots values were in no way similar. We finally created a special intent for just these two cases. It allows us to accept either one and then decide how to proceed from the application.
We wanted to provide an electronic medicine cabinet with collection, reminders and side effect tracking. After legal review it was determined that without a HIPAA certified environment and process we should put this aside for the time being. Similar concerns were raised around storing user information with any condition related info. We've moved these items to a future release for implementation once we can become HIPAA certified.
Accomplishments that we're proud of
As this was our first time writing a bot we were surprised at how easily we were able to get it running and integrated with the three supported systems as quickly as we did.
What we learned
The single slot issue was the biggest hurdle. However, having a clear User Experience and knowing how to best deal with unknown responses is critical to a successful bot.
What's next for Mental Health Info
We have a number of items to keep us occupied for the foreseeable future:
- Support for additional conditions
- Updated lists of books, stories and other resources
- More specific results for support groups and providers
- Information on medication that may be available for each condition
(Note: the following require a HIPAA certified environment)
- Medication tracking - name, manufacturer, dosage, start/end date
- Medication reminders
- Side-effects tracking - what happened, when, for how long