The Microsoft Healthcare Bot service empowers healthcare organizations to build and deploy an AI-powered, compliant, conversational healthcare experience at scale. The service combines built-in medical intelligence with natural language capabilities, extensibility tools and compliance constructs, allowing healthcare organizations such as Providers, Payers, Pharma, HMOs, Telehealth to give people access to trusted and relevant healthcare services and information.
Phew that is a lot of information in a single paragraph, via this post I would like to go deeper on the different functionalities and show what capabilities the bot has. As I believe this framework is the ideal starting point for you (Health) Bot project.
To start your Health Bot project, you can create the service via the Azure portal. Luckily there is a free SKU available, so let’s start with that.
Just fill in the required properties, such as Name, Subscription, Resource group, Location and Plans.
When the services has been created, you should see a similar screen
To start using the Health Bot Service, you will need to click on Configure Account , this will redirect you to the Admin portal, where you can start configurating your bot.
The initial screen invites you to create new scenario’s. The Health Bot has great functionality to create, debug, test and manage scenarios.
Let’s try creating a new scenario, by clicking on Open scenarion template catalog
The Health Bot Service has different templates available that can kickstart your bot project. The templates contains pre defined scenario’s, where you can start from.
For this demo, let’s create the File a claim template.
When selecting this option, you will need to enter a scenario name.
After importing the scenario, you will be redirected to the Scenario Editor. The Scenario Editor is a very strong feature of the Health Bot, It has alot of visual capabilities to create, test and run chatbot scenario’s in the browser.
I will try to give high level overview of the Scenario Editor in 6 points.
don’t forget, as usual, we have amazing docs, more info can be found here
- The upper bar contains functionality to Save your scenario, but also to Run the scenario in the browser, this can be done with arguments and a snapshot of the scenario can also be created
- The Author has a broad range of scenario elements that can be used to create your scenario.
- Every scenario element is visualized and connected with eachother. When you click on an element, you can view and edit the behaviour of that element.
- When you Run the scenario in the portal, you can test the scenario and interact with the bot via the Chat window
- The Info window can be seen as a small debugger when running the scenario, it has als a Watch and Immediate window.
- The Designer contains relevant information when running the scenario.
When clicking on different elements you will see the details, with the possibility to change the properties such as display text, variable name, coded choices, backend communication, ...
These properties are different per type or dialog element.
When combining these building blocks, any functional user can create their own dialog scenarios without having to code. When interaction of backend systems is needed, some minor programming knowledge is needed.
The Health Bot Service has several built in language models, to support out of the box scenario’s, such as medical complaints, privacy issues, …
The built in language models are backed by LUIS, the NLP service from Microsoft. It is also possible to create your own language models with LUIS, Regex or even QnA maker!
To create your new NLP Language model, you can link a LUIS model to the bot by providing the needed keys and secrets. Otherwise you can create a simpel regex model
Another very important language feature, is the possibility to translate your scenario’s. These translations can be exported and imported for translation purposes.
The Health Bot Service can be easily configured, these options are divided in 3 logical parts, Medical – Compliance – Conversation.
I will not go through all the different configuration options, as this could easily be a blog post on its own. But to give you an idea of the extensibility, I added 2 screenshots that shows how you can enable Human Handoff or Interupting Scenarios
With the Human Handoff option, you have the possibility to redirect the bot conversation to a live agent. This could be triggered by a sentiment analysis. When redirecting the conversation, the person will have an overview of what has been said to the bot, to understand the context and respond in the best way possible.
The Healthbot Service also contains different interupting scenarios, these can be enabled for certain conversation subjects and are an easy way to step in, if needed.
The Health Bot Service can interact with your backend systems. With the Data connections configuration, the bot can easily fetch or store data via REST APIs. These connections can be easily secured with the help of standard authentication protocols such as oAuth..
The Health Bot Service can also communicate with FHIR compliant API’s. When you add a new data connection, you will have the possibility to add a FHIR supported API. With this option your bot can fetch or store FHIR entities.
The Health Bot Service also has Secrets and Keys, to support your bot, or create secrets to connect with your backend system.
When you create bot scenario’s, you will notice that sometimes your bot does not understand what the intent of the user is. To constantly make your bot smarter and richer, you can rely on the Unrecognized utterances view. This view contains all the questions that could not be answered by the bot. By monitoring and anticipating on these unrecognized utterances, you can create or extend your scenarios with the information you get by this view.
The Healthbot Service also has an extensive report section, that gives you different insights on the usage of the bot. This varies from the unique users, messages, .. to unrecognized utterances.
The Healthbot Service has an User Mangement Portal, where you can manage the users that can access the portal.
And because we are working with potential patient data, the service provides an extensive audit trail of who is using the service
And lastly, you can upload your own images or use your own variables in the Health Bot Service. You can then extend your messages with images to make it more interactive.
I hope that you now have a better understanding on how the Health Bot Service could be a perfect starting point for your bot journey. If you want to give this a spin, I suggest to create a free version of the Health Bot Service via the Azure Portal .
As always, happy coding and don’t hestitate to contact me :).