AI Cognitive Services Architecture useful during the COVID-19 pandemic
COVID-19 has presented an unprecedented challenge that requires business and consumers to be creative for them to be safe and continue to thrive. Healthcare providers, hospitals, and front-line workers had to identify new tools to be effective in their daily operations and continue to provide quality patient care for those affected by the virus. There has been an extremely high spike in the inquiries from patients and constituents everywhere looking for answers to commonly asked questions. The phone lines have been busy with wait times ranging from 20 minutes to 2 hours. Even organizations across other domains that are not providing health services working in the areas of finance, energy, telecommunications, education, and food continue to be overwhelmed by consumers trying to find answers in this time of uncertainty and panic. It is impractical to expect customer service representatives handling the high surge and volume of calls. This is where technology shines and comes to our aid. Some organizations, especially ones working on public health have been able to build smart bots to help answer questions on up-to data information on outbreak, patient cases, symptom detection, and the next course of action for care and treatment. Microsoft has release Healthcare Bots specifically designed to meet the demands of the current situation. In this article, we will take a look at the architecture for this bot solution.
Microsoft Healthcare Bot is a scalable Azure based SaaS solution that empowers hospitals and public health companies to build regulatory compliant AI smart bots. These bots help users and patients to get personalized access to their health-related information providing human like chat experience. Specifically, in order to combat the COVID-19 pandemic, Microsoft has made a set of these customized COVID-19 templates for Bots.
- COVID -19 Clinical Triage
- COVID -19 Frequently Asked Questions
- COVID -19 Worldwide metrics
- COVID -19 Risk Assessment
Microsoft has a reference architecture for the Healthcare Bot that we can use as a starting point. Based on what we are trying to build, we can plug in additional components or make any changes for the services in the baseline architecture.
A simplified version and a detailed version of the reference architectures are presented here.
The Bot initiation workflow shows the steps needed for the client to obtain a secure authorization token to talk to the Healthcare Bot Service. The Bot Service is served by one of the two instances of a QnA Maker service that stands behind a Traffic Manager. QnA Maker extracts possible pair of question and answers from the knowledge base (KB) with a search interface. The KB repository can be periodically updated by structured and unstructured data. The data could be in the form of word documents, pdf files, excel files, relational databases, or No SQL data stored in a Cosmos DB. In order to keep the two KB repositories in sync across the regions, an Azure function is used that can be triggered either by a timed job or with a HTTP trigger every time one of the repositories is updated.
The reference architecture above shows a web chat client. But we can use different forms of channels to build the chat box experience. The Bot can be used in Microsoft Teams, Twilio, Facebook, or similar instant messaging platforms. The below diagram shows multiple options to customize the channels to integrate this intelligence to reach out to the end consumers.
The business scenarios for using a Bot can be pretty different. But here are the 4 COVID-19 templates to get you started in building engaging experiences with the users of the application. There are other popular templates that can be used to build solutions for Clinical Appointments, Mental Healthcare, Claims Management, Provider Services etc.
In the case of COVID-19 templates, there are a lot of queries that need a “Question-Answer” form of interaction. For these scenarios, QnA Maker service is adequate to communicate with a back-end KB repository. If we desire more complex interactions where robust language understanding is desired, Microsoft Language Understanding Intelligent Services (LUIS) can be used. LUIS agents can be trained to understand “Entities” and “Intent” that is not possible with the QnA Maker service. An reference architecture for this robust scenario is presented below with a high level flow of the incoming request.
The user request reaching the bot is validated by Azure Active Directory and is passed on to the Intelligent Services API endpoint that can be backed by one of the many Cognitive Services supported by the Microsoft platform. In this example, the knowledge base used is data residing in Office 365. This is accessed using the Microsoft Graph API. The Graph API can also talk to enterprise applications like Dynamics 365 or other line of business applications. The response is orchestrated and sent by to the user. From the client’s stand point, it’s a single API end point served as a Service Gateway that orchestrates with multiple services for speech, image, text analysis based on the user request. Application insights collects telemetry data to determine usage and health of all the services used in the solution.
Be sure to check out https://techcommunity.microsoft.com/t5/azure-ai/deploying-your-covid-19-healthcare-bot-everything-you-need-to/ba-p/1279562 for more information on the Microsoft Healthcare Bot.