As bots are getting more and more attention, the healthcare industry is also looking into this technology.
When patients have complaints they start using the internet to find a possible solution or answer for their problem, most of the times, these answers are exaggerated and out of proportion, which leads into panicking and stressed calls to the doctors or hospitals. With a certified Healthbot, we want to address this issue, and also help the healthcare providers with medical based pre-screening, which leads in more time with the patient, instead of asking these question in the consultation

Via this blog I want to share how we created a possible solution for this problem, I will split up the whole story into different blog post, starting from a high level and going technically deeper to the end.

In this first post I want to show an overview of how the bot operates:

We created a web client, which contains a bot client. This bot can also be accesed through other channels like Skype, Email, Teams, Cortana, Alexa, …

The bot is built on top of the Microsoft Health Bot that is intelligent, extendable and compliant. Next to other features, it can be used to triage patients based on their complaints.
The different Microsoft Health Bot features will be explained in further blogpost. The bot which also uses LUIS for advanced language understanding, communicates to a custom created backend API that contains information about the healthcare providers, available slots and appointment information.
This information can be viewed and adjusted via a custom dashboard.

The dashboard is written in Angular, has an Asp.net core 2.0 backend and a Cosmos DB as database layer. The whole solution is hosted on Azure

An architectural overview of the solution:

 

Now how does it work:

  • The patient navigates to the website, and tells the bot what the complaint is:

 

 

 

 

 

 

 

 

  • The first questions the bot asks are general, like age and gender:
  • other questions, like level of pain is needed for the algorithm:
  • Then the bot will start asking more specific questions:
            
  • If the bot has enough information, it will show you the summary with the possible causes (this behavior can be disabled from the admin portal)
  • Because the bot uses structured data like ICD10, we can retrieve the correct healthcare providers for the causes.
    If the patient agrees with the proposal of the bot, he or she can request an appointment.
    The bot then gets the available slots for this physician:
  • If the patient has chosen a slot, some extra information is needed for the appointment

When all the information is gathered, it is send to our backend and shown in the dashboard.
The healthcare provider now has access to relevant medical screening information, which leads to more time with the patient, due to the valuable screening information:

 

Sorry if this post is too long, it is my first but definitely not my last.
Hope you like it!
Bert