Healthcare is always an essential part of every person’s life. Starting last year (2020), it became probably the main thing for many people (if not for everyone) due to the pandemic. As developers, we would want to help healthcare workers and patients as much as possible. How can we do it? I’m sure there’s more than one way, but today I want to talk about creating a healthcare bot. A bot can save lots of time for both patients and medical staff. For example, patients can figure out what doctor they need to see based on the symptoms and schedule an appointment right from the bot; also, medical personnel doesn’t have to ask same information again when they get it from a bot.
You might have heard there’re many different ways to create a bot. Only Microsoft offers several tools, like:
- Bot Framework SDK
- Azure Web App Bot
- Health Bot
- Bot Composer
- Power Virtual Agent
Besides, there’s a full plethora of supporting tools, like Cognitive Services, custom ML (example: ML.NET), Bot Composer, Bot Framework Emulator, etc. I’m sure you can find something you like from that list.
I want to focus on the Health Bot. It’s a great option when you’re building a bot for healthcare specifically: in addition to all the benefits of Web App Bot, it also has pre-built healthcare-related templates and components, and it’s HIPAA compliant. I first read about it and tried that service a couple of years ago, but my attention was brought back to it just several days ago because of this big announcement: https://azure.microsoft.com/en-us/blog/introducing-azure-health-bot-an-evolution-of-microsoft-healthcare-bot-with-new-functionality/. In short, Microsoft Health Bot became Azure Health Bot. Let’s see what exactly changed and why it’s worth checking out.
Now it’s easier to create a health bot right from Azure, search for “Health Bot” and create a new resource. When the resource is created, you’ll see a link directing you to the health bot portal (inside the resource, go to the “Overview” section, and you’ll see the link under “Management portal”). The resource itself has all basic Azure resource options, like “Activity log” and “Properties”, so there’s not much to talk about there. I want to provide an overview of the management portal, though. First impression: it looks pretty sleek and similar to other popular Microsoft portals, like Azure AI and Bot Composer (it’s not an online portal, but still). The change is so recent that the documentation is a little behind, but the tool itself is quite intuitive.
The first screen you see in the portal is “Scenario Management”, there you’ll be able to import scenarios from templates or create entirely custom scenarios. When several scenarios have been created, they can be interconnected to form a more complex bot. Here’re some templates available for you to import(Scenarios -> Template catalog):
Moving forward, we can see built-in language models and also a possibility to add new custom ones. New language models can be created using cognitive services: LUIS (Language Understanding Intelligent Service), QnA maker, or RegEx.
There’re also several options for add-ons and customization. I think calling an external skill is pretty cool. I know connecting skills, created with different tools, is getting more popular. For example, if you have several teams in your company working on different types of bots, they can all be connected if needed. Another interesting and useful customization is a data connection. When there’s an external API that has to be used for pulling data, it is beneficial to use the data connection option. It’s easy to create a new connection and secure it using authentication settings.
Analytics is available right in the portal as well as in the Azure resource. I’ll never stop talking about the importance of logs and monitoring: it’s essential in ML as much as in mobile, web, or any other solution.
I feel like it’s easier to create and customize a healthcare bot through the portal now than it was before the update. It might take some time to figure out the portal structure and how different parts can be connected and used, but once to play with it for a little, create your first bot, you’ll become more comfortable with the tools. The lack of documentation takes its toll on this technology. Still, there’s always a way to get more information and advice from the community on StackOverflow and Microsoft Community websites. You can also reach out to the Azure support and directly to developers and program managers through social media and email.
I remember the struggle when I created a health bot using a third party tool and connecting it to LUIS (which is just the best to use with other Microsoft tools and 3rd party tools) and the hospital network data API. It wasn’t easy, but the same project would be easier to accomplish with the Azure Healthcare bot. One of the possible downsides of using this tool is the cost. I wish I could calculate the price for an average-sized project, but it might be challenging. I recommend checking information about available pricing tiers and calculating average spending using this document: https://docs.microsoft.com/en-us/healthbot/resources/pricing-details.
As I mentioned in the beginning, there’re many options for creating a healthcare bot, and you need to understand and weigh in all pros and cons for every approach related to a bot you’re about to create. Azure Healthcare bot looks impressive, and it can be the perfect tool for your project, but keep in mind its possible cons like documentation (which can be updated very soon) and price.