First Look: Microsoft Healthcare Bot
On February 7th, 2019, Microsoft announced the availability of a new SaaS chatbot offering designed for use in the healthcare industry. They designed it to be a very fast-to-market conversational AI with built-in healthcare language models, terminology, and be compliant with security standards in the industry (HIPAA, ISO 27001, ISO 27018, CSA Gold, GDPR).
Mid-March I began my exploration into this offering and started building my first “Scenario.” Once you have created a bot, you are delivered to a new portal and are quickly presented with a showing of pre-baked templates for you to modify and make your own. At the time there were three available and four listed as coming soon.
I decided to start with the Provider Lookup scenario. Once I created the scenario, I was then taken to a well-designed CMS tool for building it. The tool displays the conversation as a flowchart that can be navigated and tested. The various nodes have different appearances based on their behavior, whether it be a prompt, action, route, decision, etc. Double clicking on the nodes opens a modal for that specific node allowing you to configure its behavior. In the image below you can see the flowchart, the chat window, the console, and the immediate window. These tools all make it very simple to modify your scenario. As the conversation runs you can also track your state with the highlighted nodes as the green border follows your actions and the blue outlined node is where I started.
I’m not sure if it was by design or just by luck, but this specific scenario did a really great job of illustrating how to call a third-party service, display cards or choices to the user, and how to behave given the choices made by the user. Given those pointers, I was able to stand up a service for our company which would find providers based on specialty, location, and gender, and then replace the mock one in the template and finally make small adjustments to the flow which made it my own.
At this point I felt really good about it and wanted to publish the bot so I could demo it to my HR team. Also worth noting was that up to this point I basically never left that CMS page. So now I made my way back to the menus and went about trying to deploy this bot. During the exploration, I found another chat that could be used to test my bot. I opened it and said “hello,” to which I was expecting the dialog I had worked so hard on to ask me about helping me find a health provider and I was sorely mistaken as the bot simply replied “Hi! How can I help?” Now I was confused, and so I asked it to help me find a provider to which it answered that it didn’t know what I meant. I realized I needed to re-evaluate all of the functionality and see where I had gone wrong.
As it turned out, since I was pointed at scenarios right away, I had lost scope of what this offering was, it is a complete healthcare conversational AI with many features. I had made a single new feature and just didn’t know how to reach it. After a little digging, I found the language models menu and this is where I really realized the power this bot had out of the box. By default all of the options were on and available when chatting with the bot, some showed being hit with use of regular expressions and some built-in, which likely means a LUIS driven domain.
Given this discovery, I immediately reopened the testing panel and prodded the bot about having a fever, and it followed up with a series of questions and then gave me recommendations based on my input. So now I began to understand this platform more fully. Microsoft has provided this jumping off point, you can take advantage of the features or not, and then you can add as many additional scenarios as you want. I added my scenario using a regex trigger, there was the option to have a LUIS model, but I passed given the nature of this exploration, then I went back to the chat and now I could ask for help finding a provider and my scenario played out. At this stage, I completed the modifications I would make to my demo but continued to explore and be surprised by this feature-rich offering.
Here are the major features that I discovered:
- Custom scenarios with the CMS
- Model Binding through LUIS, Regex, or QnA Maker(preview)
- Localization – this is amazing as the framework compiles a single list of all responses and has many of them already converted to many languages
- Configuration of
- Medical Scenarios such as
- Asking about pregnancy
- How to handle gender
- Whether or not to display triage information, suggested care, and possible causes
- Compliance such as
- Handling user privacy – personal data, conversation history, data management, and data retention
- Handling security and conversation timeout
- Handling terms and consent
- Conversation items such as
- Default messages for various scenarios
- Adding feedback options
- Configuring interrupting options
- Configuring cognitive services like spell check
- Configuring Human Hand-off scenarios
- Medical Scenarios such as
- Integration Items
- Data connections
- Predefined reports on usage, utterances, triage info, and custom scenario
- Feedback reports
- Unrecognized utterance tracking
- Managing Users
- Audit Trails and portal user management
- Asset catalog
- Files and global variables for bot consumption
This is a really powerful and easy to use platform if you are working in the healthcare sector. I would definitely lean on this if I wanted to get a robust bot to market quickly. I am excited to see this platform evolve as it comes out of public preview and whether or not Microsoft rolls out this SaaS model for other domains.