Built-in Medical Intelligence and Content

Built-in medical intelligence is a key pillar of the Health Bot platform. The service empowers healthcare organizations with out-of-the-box conversational medical skills which can be customized or extended to support your organization's clinical use cases.

Health Bot enables you to build an intelligent, white labelled, virtual health assistant that can perform sophisticated tasks such as triaging, checking symptoms or answering questions about medical conditions and symptoms.

Health Bot uses multiple credible medical content providers that author and validate clinical content such as triage protocols and information about conditions or medications.

The Health Bot management portal exposes configurations that allow you to select the content sources that you want to surface in your Health Bot instance and make available to end-users.

Triage and Symptom checking

Multiple built-in triage and symptom checking engines are packaged and included as part of the Health Bot solution so that you can easily incorporate them within your own Health Bot instance.

Each triage engine has its own configurations so that you can tailor the behavior to your needs and the experience can be extended within a custom Health Bot scenario.

For example, you could build a scenario that enables end-users to complete a triage flow and then schedule an appointment with a doctor, speak with a live nurse or find a nearby clinic.

Build-in Medical Intelligence and Content may vary between geographies. Azure Health Bot Service is not a medical device and therefore, in the EU or UK its triaging functionality does not provide any diagnostic functionality.

Selecting a triage provider

Before building a triage scenario in Health Bot you should set your preferred triage provider. The built-in triage and symptom checking protocols are provided by third parties and licensed by Microsoft.

The Medical content providers selected by Microsoft have been chosen based on their credibility and experience, the quality and accuracy of their content and the clinical validation processes they have in place.

All third-party triage technology is hosted by Microsoft in Azure and operated by the Health Bot service. Any data processed by the triage does not leave the data boundaries of the service is not shared with the third-parties that provide the technology.

Screenshot of the built-in symptom checkers and triage

Each provider offers different features and use different clinical methodologies to triage and assess symptoms. The Health Bot includes triage engines from multiple providers so that you can select the engine that meets your organizations clinical and functional requirements. The engines currently available are:


The triage and symptom checking engine that was previously provided by HealthNavigator is no longer available as part of the Health Bot service.

To set the default triage, navigate to Configuration >> Medical >> Triage and select your preferred provider.


Infermedica provides an advanced triage engine based on clinically validated probabilistic models. Infermedica is an expert system that offers advantages, such as high levels of accuracy in identifying possible causes and a multi-symptom triage entry point.

Infermedica maintains a mapping of 1000s of symptoms and conditions and can determine the likelihood of a condition given a set of symptoms and risk factors. Infermedica is a deterministic triage engine and uses machine learning in controlled feedback loops to improve the model based on real clinical outcomes.

Some of the key features of Infermedica:

  • Protocols based on advanced and sophisticated probabilistic modelling with a high level of clinical accuracy
  • Thorough and robust clinical validation process that leans on evidence-based medical practices.
  • Flexible triage engine that provides an optimal assessment path and shorter flows ideal for conversational experiences.
  • Multi-symptom: NLP and triage model that supports reporting of multiple symptoms
  • Multi-language: Infermedica is available in over 17 languages and supports localization based on regional risk factors
  • Highly Configurable options, such as interview modes tuned for triage or identifying possible causes

Capita Healthcare Decisions

Capita Healthcare Decisions Triage uses evidence-based decision support algorithms which accurately assess the severity of the patient’s symptoms in as few steps as possible to signpost to the next step of care.

The Capita triage uses a sophisticated rule-based decision tree that performs differential diagnosis eliminating urgent cases in as few questions as possible. These proven clinical algorithms support effective and consistent clinical assessment of a patient’s presenting symptoms and guides the user through questions and rationales to assess the severity of the situation. This leads to an accurate evidence-based outcome and referral to appropriate care for the patient. 

All content is created and updated by an in-house clinical team with a proven safety record in over 100 million patient encounters. It is reviewed by an external panel of medical experts and a patient panel formed of members of the public. Capita’s content is both ISO and IS accredited.

Key features of Capita’s Clinical Content:

Content algorithms are driven by differential diagnosis to reach the most appropriate next step, care instructions and what to do if symptoms get worse:

  • A library of nearly 200 algorithms are constructed through a robust editorial process – ensuring all decisions are underpinned by medical evidence.
  • Key word searching and synonyms (e.g. tummy, stomach, belly etc.) helps the user to identify the correct question path to follow.
  • Curated patient language - targeted at average understanding/reading age of the UK
  • Quickly adapts to new challenges, such as Covid 19 or the Zika virus.

Review process:

  • All algorithms are peer reviewed for clinical validity and accuracy.
  • All language used in question sets, answers and guidance is lay reviewed for clarity and context.

Capita’s Clinical Content offers over 30 different dispositions (representing next steps or levels of care for the patient):

  • Dispositions include both the type of service that is required (e.g. ED, MD, Dentist) and the timeframe to seek assistance (with 9 levels of priority from immediate to non-urgent), ensuring patients are guided to the most appropriate level of care first time.
  • Dispositions include mental health, dentists, diabetes, sexual health, poison control, amongst others.

See the full list of Capita triage dispositions

Care instructions:

  • All dispositions are presented with curated and context specific care instructions ensuring patient safety and assurance.
  • These provide comprehensive instruction and further information to manage the symptoms prior to further assistance being received (if necessary)
  • Where self-care is advised instruction includes guidance on medication (if recommended)

Worsening advice:

  • Additional notes are provided for the user to reference should symptoms worsen, including types of things to look out for, and who to contact ensuring ongoing clinical safety.

Capita’s clinical content is built by clinicians but written for patients, avoiding medical jargon and giving practical care advice which can be followed easily. Learn more about Capita’s triage

Default Configuration

The triage and symptom checkers in Health Bot can be used with zero configuration and work out of the box. To see the default end-user experience navigate to the management portal and open the webchat. Type a medical complaint such as "I have a fever" to trigger your selected default symptom checker.

Screenshot of the Infermedica triage in the management portal webchat

To set Health Bot back to the default experience you should reset the Language models view and the Triage configuration. The "Medical complaints" language model should be mapped to /builtin/triage and under Configuration > Medical > Triage and symptom checking you should set your preferred provider. You can also use the "Reset" button to return to defaults.

Screen shot of the default configuration for the medical complaints recognizer

Configured experience

You can configure the builtin triage experience. In the management portal navigate to Configuration > Medical > Triage to see the settings available for the selected default triage provider.

Screenshot of the Infermedica and Capita triage configuration

Health Bot Users with editing rights can review the configuration options for the triage. For example, you can change the default strings for the preassessment prompts or set the acceptable age range to ask about pregnancy.

There is a rich set of configurations for each of the triage providers. Hover over the tooltips to see a description of the configuration and make sure to save your changes.

Extended experience

The built-in triage can easily be extended to add steps before or after the triage assessment. For example, if you want to collect some patient information or show some triage instructions before triggering the triage you can add those steps using the visual scenario authoring tools. You can also build custom logic based on the triage outcome, for example, if the triage suggests that the patient should see a doctor you could add steps that help them schedule an appointment or find a nearby clinic.

To build an extended triage experience using Infermedica or Capita, start by creating a new custom scenario. You should use a "Begin step" to trigger the built-in triage flow and you can add your own custom steps before and after the triage. You can also build out different paths based on the different outcomes provided by the triage.

Screen shot of an extended triage scenario

The selected builtin triage expects a text argument and an optional configuration object. The text argument is the medical complaint that was collected from the user. This text will be parsed by the Healthbot NLP layers and the starting symptoms will be extracted.

Select "builtin/infermedica/triage" or "builtin/capita/triage" as the scenario trigger and pass the arguments using the correct format. If you want to pass the last message from the user as the argument, use the session.message.text to access that text.

Screenshot of invoking Infermedica as a subscenario

The configuration object is optional and allows you to override any settings you have set for the triage. For example, if you want to suppress the symptom summary (to format and display your own summary message) you can easily do so. View the full list of Infermedica triage configurations or the Capita triage configurations.

The builtin triage scenarios also return a result object that includes important information collected during the triage assessment.

The result object includes different information and different dispositions based on your selected provider. With the information in the result object, you can easily switch to different paths based on the triage outcomes.

Screen shot of switch based on triage outcomes

For example, if the triage suggested that the correct disposition is to see a doctor, you could help the end-user schedule an appointment or find a clinic.

To learn more about the available triage levels and types of information available in the triage results, view the full list of Infermedica triage dispositions or the Capita triage dispositions.

Depending on your selected triage provider, the triage outcome can include information such as:

  • User details
  • Symptoms
  • Risk factors
  • Questions and responses
  • Possible causes (and ICD10 codes)
  • Triage results (and Telemedicine recommendation)
  • Messages (such as suggested care)

To see an example of the triage results, view the Infermedica triage results or the Capita triage results.

Multilingual triage (Infermedica)

The Infermedica Triage Content is available in multiple languages:

  • English (en-US)
  • Chinese (Simplified) (zh-Hans)
  • French (fr-FR)
  • German (de-DE)
  • Italian (it-IT)
  • Spanish (es-ES)
  • Arabic (ar-SA)
  • Portuguese (pt-PT)
  • Portuguese – Brazilian (pt-BR)
  • Russian (ru-RU)
  • Dutch (nl-NL)
  • Estonian (et-EE)
  • Polish (pl-PL)
  • Slovak (sk-SK)
  • Turkish (tr-TR)
  • Ukrainian (uk-UA)

The Infermedica triage content (such as the questions and conditions) are translated and validated by professional human translators, however the NLP layer which understands an end-user intent is only available in English.

Behind the scenes the Health Bot leverages machine tranlation from Azure Congnitive Services in combination with the built-in triage NLP layers to understand non-English intents and entities.


To support multiple languages, this feature must be enabled in the Health Bot Configuration. Navigate to Configuration > Medical > Triage > Multi-lingual triage.

To test the multi-lingual triage you must set one of the supported locales in the webchat and then type a medical complaint (such as "I have a headache") in the respective language. Learn more about setting a locale at run time