This post has been republished via RSS; it originally appeared at: New blog articles in Microsoft Tech Community.
While the healthcare sector is rapidly being transformed by collecting immense amounts of information about patients, the huge volume of data being collected is impossible for human beings to analyze. This is where Artificial Intelligence (AI ) can be used! AI provides ways to automatically find patterns and reason about data, which enables healthcare professionals to provide improved personalized care, also known as precision medicine.
An example of how healthcare providers can take advantage of machine learning is being able to predict hospital re-admission within a short period of time for chronically ill patients (E.g., patients with diabetes). Identifying those patients most at risk of being re-admitted means that the patients can have greater support after they have been discharged. By lowering the rate of re-admission, it not only improves the lives of those most at risk, it also helps save precious healthcare dollars, which can be used for wellness and prevention programs.
This blog post, which is the first of a series, serves as the introduction of what can be used as a guide on how to infuse machine learning into an application by leveraging Azure Machine Learning services. Future blog posts in this series will illustrate the other aspects of the solution – ML model building, DevOps/MLOps, and other useful tools.
Please note: This blog post series (and the PatientHub application) aims to provide guidance and best practices on how to incorporate ML into your applications with Azure ML services and not to be used in production environments as-is.
PatientHub introduction
PatientHub is an end-to-end (E2E) healthcare app that leverages ML prediction models (E.g., Diabetes Mellitus (DM) patient 30-day re-admission, breast cancer risk, etc.) to provide key insights for both physicians and patients. Besides patients and doctors, it also targets the Data Science/IT folks by providing one-click experiences for registering and deploying a new or existing model to Azure, as well as best practices on maintaining these models though Azure MLOps. Note that, in certain organizations, the role for deploying the model may be split between the data scientist and IT/data engineer . PatientHub is:
- Built with Azure AI technologies
- Hides the complexities of registering, deploying and maintaining ML models
- Targets three personas: Doctor, Patient, and Data Scientist/IT
- Modeled after a real-world solution from a top healthcare ISV
Personas and their primary use cases
PatientHub targets the following three personas - Patient, Doctor, and Data Scientist/IT – by enhancing their interactions and outcomes with healthcare data.
Patient
- Gets access to personalized risk assessments
- Understands the risk assessment (in plain English)
- Gets automated assistance on regular tasks (E.g Appointments via Bots etc.)
Doctor
- Quickly applies ML models to get patient insights
- Performs “What-If analysis”
- Inspects the model by viewing the overall model explanation
Data Scientist/IT
- Trains a ML model using AML/AutoML, or brings his/her own model
- Publishes the model through a single button-click experience and gets:
- a real-time scoring endpoint
- a batch model scoring/explanation endpoint
High Level Architecture
Below is the PatientHub high level architecture along with the key components per persona. Note the flow of data, models, and outcomes between them. The details of model training/testing, registration, real-time scoring / batch scoring, and DevOps will be covered in future blog posts.
For the Diabetes Mellitus (DM) Patient 30-day re-admission model (shown in the screenshots below) creation we used an open source dataset (containing more than 70K patient records) that we then transformed and cleaned using pandas. After the data was ready, we used Azure AutoML to train a classifier (Patient will be re-admitted or not).
We used Azure Machine Learning services to model registration as well as for creating and publishing both a real-time and a batch scoring endpoint. The real-time scoring endpoint is used for individual patient what-if analysis, and the batch scoring endpoint is used for scores and explanations for the entire patient cohort. A job scheduler calls the batch scoring endpoint and stores the prediction scores in a data lake primarily because:
- Most Electronic Medical Record (EMR) historical data is static, so it’s quite common to do batch scoring on a nightly basis.
- Pre-generating prediction speeds up UX and saves infrastructure cost (from repeating the same prediction).
- Model explanation can often be very time-consuming, hence needs to be executed as batch process.
PatientHub Screenshots
The following screenshots will give you a flavor of how each of the personas will interact with the Patient Hub application.
Patient View
Consider a patient’s desire to know their risk for re-admission. The following screenshots show the patient (Christina Young) interacting with the Patient Hub’s Patient Portal. Note how the “Risk for Re-admission within 30 days” tab displays the patient’s risk as well as the top 5 parameters that affect that score. This view is useful to the patient because they can see the areas they can talk with their doctors about and can change to improve their own care . Model explainability and how we derive these will be covered in a detailed post .
Doctor View
Patient Hub: Doctor Portal enables the doctor to apply Patient Insights to the entire patient cohort by selecting the Patient Hospital Readmission Risk ML model. Also, before the model is applied we display the SHAP values that impact the model output (E.g Age, White blood cells etc.) so the doctor can quickly analyze the model and evaluate it before applying it.
Below is the result of applying the model. The doctor can now see a risk score for all the patients and preventively target the ones with high risk to re-evaluate and ultimately improve their changes of being re-admitted.
Data Scientist / IT View
The Data Scientist/IT person uses the Patient Hub: ML model marketplace portal to manage the Patient Hub ML models that drive the insights for the doctor and patient It’s fairly simple to register and deploy the models using the Azure ML service.
Next Steps
Patient Hub is a promising view into how healthcare applications can be infused with AI to deliver personalized patient care. It’s evolving and we want your feedback. Please let us know your thoughts/questions in the comments section below, and stay tuned for upcoming blog posts of this series.
Resources
- Azure Machine Learning service example notebooks
- Azure Machine Learning service
- AutoML