Building clinically-validated conversational agents to address novel coronavirus

March 31, 2020 Nehal Mehta

With COVID-19 impacting healthcare systems around the world, patients are looking to their healthcare providers for information related to the novel coronavirus, guidance on when to be tested for the virus, and instructions on what to do if they have a confirmed positive result. As a result, health systems across the United States have quickly become overburdened with calls and questions related to the novel coronavirus. The challenge for hospitals and health systems is getting accurate, trusted information to individuals in the community and directing them to the appropriate education and/or care, all at scale. For example, patients that have not had any known exposure or symptoms might be directed towards general prevention information to learn how to reduce exposure risk, while a patient with known exposure to COVID-19 with respiratory symptoms is recommended to be further screened by a clinician.

To help address this spike in call volume placed on hospitals and nurse hotlines, many healthcare organizations throughout the United States have started to build tools or technologies, such as triage chatbots, to help scale the education and engagement with the general population who may have symptoms. These bots are designed to collect information from patients and help route them to the most appropriate level of care based on their answers.

This blog provides an overview on how healthcare organizations can embed their clinical protocols into and deploy an AWS-powered chatbot to triage individuals calling in about COVID-19. At the foundation of the COVID-19 conversational chatbot are trusted and validated clinical triage protocols that healthcare organizations have adopted to assess their patients for the novel coronavirus. These protocols often include frameworks on assessing likelihood for an individual to have a condition and paths to escalate for further attention. The clinical triage protocols are wrapped with core components of the chatbot utilizing Amazon Lex, a service for building conversational interfaces into any application using voice and text, to understand user requests and provide the information. You can deploy the chatbot together alongside Amazon Connect, an easy to use omnichannel cloud contact center that provides users with seamless, consistent experiences across voice and chat, or you can integrate it within your own web or mobile environment

By the end of the blog, healthcare organizations will have an understanding of the steps to utilize their approved clinical protocols and deploy them in a chatbot solution to triage questions from their patients. By following these steps, organizations will be positioned to scale their interactions with patients and address needs by providing callers with the organization’s step-by-step triage protocol to assess their risk of COVID-19 infection. In turn, patients will feel supported and have readily available access to recommended next steps. Patients will be provided with information to reduce exposure risk or be scheduled for a screening appointment through telemedicine.

By utilizing an AWS-powered chatbot, healthcare organizations can educate, engage, and empower their communities to take ownership of their health.  Chatbots also benefit patients by allowing them to triage themselves in the comfort and safety of their own home via a short call with their healthcare provider. In a future blog, we’ll provide a walkthrough of how we can deploy this alongside a chat interface integrated into an online website.

Clinical Triage Protocols

Establishing COVID-19 clinical triage protocols are an important step to support healthcare community initiatives. Many healthcare organizations already have, or are developing, COVID-19 triage protocols, aligned with CDC-guidelines. These clinical protocols become the basis for the triage or flow for your patient’s engagement paths. For additional tips on converting those into a conversational design, feel free to read this blog.

Deploying a chatbot using your COVID-19 protocols

Getting started with your chatbot service

  1. Download the files COVIDResponseBotTemplate.csv and
    • Using your existing clinical protocols for COVID-19 triage, the COVIDResponseBotTemplate provides you the flexibility to customize this based on your organization’s protocols.
  2. Use the following button to launch an AWS CloudFormation stack in us-east-1, and choose Next.


  1. Specify the following parameters, and choose Next.
    • Stack Name: The name of AWS CloudFormation Stack.
    • DynamoDBTableName: The name of DynamoDB will be created for content.
  2. On the Options page, choose Next.
  3. Select all acknowledgment boxes, and choose Create Stack. Wait while the AWS CloudFormation stack is created.
  4. After the Stack is created completely. On the Resources page, save the Physical ID of LexBotCodeHookFunction.
  1. Go to TemplateBucket by choosing Physical ID of TemplateBucket. Upload COVIDResponseBotTemplate.csv file downloaded in Step 1 to S3 bucket. If you are not familiar with the Amazon S3 console, please follow this tutorial: How Do I Upload Files and Folders to an S3 Bucket?
  2. Go to Amazon Lex console, Choose Bots. For Actions, choose Import. Please note that if you do not have existing Bots in your account you will be presented with Get Started page. Click on Get Started button and then on Cancel button at the bottom of next screen.

  1. For Import Bot, choose the archive downloaded in Step 1. If you are not familiar with the Lex Bot import, please follow this tutorial: Importing in Amazon Lex Format.
  2. Click on CovidTriageBot to open the Edit tab. For each of the 6 intents, the LexBotCodeHook Lambda created in Step 6 (default name CovidBotWithCodeHook) must be selected in the Lambda function dropdown within both the dialog and fulfillment sections. For Version or alias of code hook, choose Latest. For the details about code hooks, read Lambda Functions As Code Hooks. For each intent:
    1. In Lambda initialization and validation (dialog code hook), select Initialization and validation code hook and select the lambda.
    2. In Fulfillment (fulfillment code hook), select AWS Lambda function and select the lambda.
  1. Choose Build to start the Lex bot building process.
  2. After build was successful, you can test the chat bot by choosing Test Chatbot bar on the right side.

  3. Choose Publish, provide an alias for your bot. Use the alias to specify this version of the bot in the Connect contact flow, for example, Dev.

Creating an Amazon Connect instance with an COVID-19 Triage contact flow

  1. Create an Amazon Connect instance in the US East (N. Virginia) Region. After you create your instance, claim a phone number for it. For more information, see Getting Started with Amazon Connect.
  2. Add the Amazon Lex bot to created Amazon Connect instance.
    • To use a bot in your contact flow, add the bot to your Amazon Connect instance. You can only add bots created under the same AWS account and in the same Region as your instance.
    • Open the Amazon Connect console.
    • Select the Instance Alias of the instance to which to add the bot.
    • Choose Contact flows.
    • Under Amazon Lex, Select the CovidTriageBot bot and choose + Add Lex Bot. If you published the bot after you opened the settings for your instance, reload the page to get it to show up.


  1. In Amazon Connect Console, login to your Connect Instant. In left side bar, choose Routing, Contact flows. Then choose Create Contact Flow.
  2. Download our sample COVID-19 Triage Contact Flow file json and Choose Import flow(beta) to import the sample.

The following screenshot shows the contact flow in Amazon Connect

  1. In the Get customer input block, select Text-to-speech or chat text and choose Enter text to add the initial welcome message and first question. Then select Amazon Lex, update the Lex bot with name For Alias, use the alias you created before, for example, Dev. Choose Save and then choose Publish.
  2. Assign the contact flow to a phone number.
    • Open the Amazon Connect Dashboard.
    • Choose Routing, View phone numbers.
    • Select the phone number to which to assign the contact flow.
    • Add a description.
    • In the Contact flow/IVR menu, choose the contact flow that you just created.
    • Choose Save.

Now you can try the bot and contact flow by calling the phone number.

Enhancement Suggestions

Here are some enhancement ideas that you can consider to augment the current feature set:

  1. Add a logging mechanism to capture the question-flow and responses for a given chat session. This data can be stored on Amazon S3 and then later be used for historical as well as predictive analysis.
  2. If you already have a patient facing mobile / web application which authenticates the user, you can integrate this bot with the mobile / web application and start collecting personalized responses. This can help in augmenting the patient’s existing electronic medical record and providing a comprehensive picture.
  3. When the patient is connected to a live agent, Amazon Connect enables you to store call recordings of interactions in Amazon S3. You can then use Amazon Transcribe and Amazon Comprehend to analyze customer sentiment, as highlighted in this blog here.


During this unprecedented crisis, using tools and technologies like conversational AI paired with trusted, updated clinical content to scale out triaging services, allows healthcare organizations to provide care at critical points, whether it is a telehealth session or hospital visit, to individuals across the US.

Stay well.

Previous Article
Sanofi Webinar: Performing end-to-end real-world evidence generation with traceability and transparency on AWS
Sanofi Webinar: Performing end-to-end real-world evidence generation with traceability and transparency on AWS

Hear about Sanofi’s journey and experience in building an industrialized big data & analytics platform in t...

Next Article
Video: Propeller Health Leverages AWS to Help Patients Manage Respiratory Disease
Video: Propeller Health Leverages AWS to Help Patients Manage Respiratory Disease

Propeller Health uses sensor data and machine learning on AWS to help respiratory patients over time become...