Skip to main content
HomeBlogPython

Python in Healthcare: AI Applications in Hospitals

Learn about how python-based applications are transforming the healthcare industry.
Updated Mar 2022  · 18 min read

Technology in Healthcare

Table of Contents

Introduction

Using Python for Image diagnostics

  • Detecting and Classifying Tumors
  • Detecting Cardiovascular Abnormalities
  • Detecting Fractures and Other Injuries
  • Screening for Common Cancers

Use of Natural Language Processing (NLP) in Healthcare

  • Using NLP to create a clinical decision support (CDS) system
  • Using NLP to improve Phenotyping Capabilities
  • Predicting the Onset of Psychosis
  • Identification and Risk-stratification of Cirrhosis Patients
  • Identification of Reportable Cancer Cases
  • Application of NLP for Predictive Analytics

Using Python to Predict and Analyze Complex Diseases

Using Python to Improve Patient Experience

Enhancing Hospital Operations

Drug Discovery

Future of using Python in Healthcare

Conclusion

Introduction

In the modern world, computers and smartphones have taken over many aspects of our lives, and the healthcare industry is no exception.  Health practitioners are increasingly migrating health and healthcare data from paper to electronic formats, and healthcare facilities are generating massive amounts of data as a result.  Python is an essential programming language that data scientists use to create solutions for multiple challenges in healthcare, and it offers a diverse set of tools to generate significant insights from data for healthcare professionals. Doctors can use Python-powered applications to make better prognoses and improve the quality of healthcare delivery.  In the healthcare sector, data scientists use Python mainly to build machine learning algorithms and software applications for:

  • Performing medical diagnostics
  • Improving efficiency of hospital operations
  • Genomic studies
  • Drug discovery
  • Predictive analytics

The principal applications of Python in healthcare are based on machine learning (ML) and natural language processing (NLP) algorithms. Such applications include image diagnostics, natural language processing of medical documents, and prediction of diseases using human genetics. Such applications are essential to the health care sector: they process and analyze the data into understandable, meaningful, and reliable information for patients and health workers. The following section provides details of how data scientists and healthcare practitioners use ML and NLP in Python to solve healthcare challenges and improve patients’ health outcomes.  

Using Python for Image Diagnostics

One of the most promising technological developments in healthcare is the use of ML to analyze multiple images such as magnetic resonance imaging (MRI), computerized tomography (CT), and diffusion tensor imaging (DTI) scans to provide diagnostics. While the human brain can have a hard time analyzing multiple images simultaneously, machine learning solutions are good at processing multiple pieces of information into producing a single diagnostic outcome. Sarker (2021) provides examples of real-world applications of machine learning in healthcare and research direction.  It’s also of note that the accuracy of using Python in machine learning for image analysis is about 92%. This falls slightly below the accuracy of 96% for senior clinicians. However, when pathologists vet machine learning models, the accuracy rate can rise to 99.5%

Detecting and Classifying Tumors

One of the most common applications of machine learning technologies in healthcare is for the detection of tumors using computer-automated detection (CAD). These techniques apply CNNs to compute the probability that a lesion is indeed a lesion. For example, in mammography, AI tools can provide a ‘second’ opinion for many radiologists. This significantly improves the accuracy of screenings without increasing the cost related to using a human to give a ‘second opinion’.

Physicians have had challenges with the detection and classification of glioblastoma—a type of brain tumor. The difficulty lies with the invasive and pervasive nature of these tumors. Unlike other brain tumors, these tumors are difficult to locate and assess how they respond to treatment. Deep learning helps to automate the assessment of glioblastoma MRIs.

Detecting Cardiovascular Abnormalities 

Using Python to automate the detection of heart abnormalities from images, such as chest x-rays, can speed-up decision-making and reduce diagnostic errors. When a patient is exhibiting symptoms like shortness of breath, physicians often request a chest radiograph as a tool for cardiomegaly. AI tools created with Python can help to automate assessment tasks such as measuring the diameter of pulmonary artery and carina angle measurement. For example, the figure below shows how data scientists use ML to predict cardiovascular disease using patients’ clinical characteristics (such as gender, smoking status, and hypertension risk, among other factors). The model had an accuracy of about 76% (Weng et al., 2017)

Predicting cardiovascular disease using patient characteristics

Source: Weng et al. (2017)

ML algorithms can assess images and auto-generate reports, saving time for human practitioners in classifying abnormalities from normal measurements. 

Detecting Fractures and Other Injuries

Data scientists can use ML-powered tools to identify hard-to-see dislocations, fractures, and soft tissue injuries, allowing surgeons to make more confident treatment choices. Using unbiased algorithms to analyze images can help medical practitioners to account for all injuries and provide the best treatments. AI tools can help to perform a comprehensive analysis of medical images and generate accurate reports in a timely manner, minimizing patient risk, false negatives, and legal risk for medical practitioners.

Detecting Thoracic Conditions and Complications 

Thoracic conditions such as pneumonia require quick reactions from healthcare providers. Physicians use radiology images to diagnose pneumonia and distinguish the condition from other lung conditions, such as COVID-19. However, as Hasan et al. (2021) demonstrate, radiologists may not always be available to analyze the images and write reports for physicians. Even when they are available, they may have difficulty in identifying pneumonia if the patient has pre-existing lung conditions. A Python-based AI algorithm can analyze x-rays and other medical images to detect pneumonia, then automatically alert healthcare providers to offer appropriate treatment.

Screening for Common Cancers

Oncologists use medical imaging to perform routine, preventive screenings for cancers, such as colon cancer, prostate cancer, and breast cancer. In screening for breast cancer, radiologists may have a challenge in conclusively classifying a tumor as either benign or malignant. False positives could lead to unnecessary invasive testing or treatment, while missed malignancies could cause delayed diagnoses and untoward outcomes. Using AI can help improve the accuracy of reading medical images, potentially decreasing the rate of unnecessary benign biopsies.

Use of Natural Language Processing (NLP) in Healthcare

Data scientists and healthcare practitioners use natural language processing (NLP) tools to process and analyze a wide range of factors, including patient encounters, symptoms, and vitals, among others. NLP can provide a cheaper way of rapidly scanning medical documents and integrating the resulting information into a database, as NLP systems extract readable data from texts and images to identify keywords and terms. There are many exciting possibilities for applying NLP in healthcare. These applications are mainly for improving medical research and medicine. This section highlights some uses of NLP in healthcare. The list is not exhaustive, but a highlight of some applications of machine learning applications. 

Using NLP to create a clinical decision support (CDS) system

You can use NLP to create a system for improving clinical decision support (CDS) using historical patient records. Such a system can aid physicians in making clinical decisions for patients based on a database of knowledge. The database can include information extracted from physicians’ notes (hand-written or typed), labs, or transcribed audio. The system works by extracting patient information from medical records and then associating possible disease states based on the information from previous cases and/or literature. 

Using NLP to improve Phenotyping Capabilities

A phenotype is an observable expression of a specific trait (physical or biochemical) in an organism. Clinicians use phenotyping to classify patients to gain deeper insight into their data and comparison to cohorts.

  • NLP is a valuable tool for extracting and analyzing unstructured data, which makes up 80 percent of all patient data available. 
  • NLP also allows for richer phenotyping because pathology reports contain a lot of information about patients. 
  • NLP empowers analysts to extract this data to answer complex and specific questions such as which genetic mutations are associated with cancerous tissue types.

Predicting the Onset of Psychosis

Researchers have published a report on the application of NLP, using a technique known as Latent Semantic Analysis, in predicting the onset of psychosis using transcribed audio files of clinically high-risk youth. The model achieved an accuracy of 93% in training and 90% on test datasets. The model did well in predicting whether a patient would develop psychosis, albeit the small sample size of 40 participants.

Identification and Risk-stratification of Cirrhosis Patients

Another application of NLP in healthcare is the identification of cirrhosis patients. Another study used NLP to identify cirrhosis patients and risk-stratify the patients. This study was able to correctly identify cirrhosis patients from electronic health records, ICD-9 code combinations, and radiological scans with an accuracy of 95.71%. This indicates that such a system could correctly identify cirrhosis patients based on existing medical data in most hospitals.

Identification of Reportable Cancer Cases

Another study used NLP to identify reportable cancer cases for national cancer registries. The aim was to automate reporting cancer patients to the National Program of Cancer Registries in the U.S. The study used NLP to analyze pathology reports and diagnoses, and identify cancer patients using supervised machine learning with an accuracy of 87.2%.

Application of NLP for Predictive Analytics

One of the more exciting benefits of NLP is its ability to allow for the development of predictive analytics to improve health outcomes in a population. One example is the analysis of social media posts to detect potential suicide cases and intervene. Suicide is one of the leading causes of death in the United States. In a recent survey, the National Institute of Mental Health (NIMH) showed that about 12 million adults in America have had serious suicidal thoughts. About 10% of this group made plans and attempted suicide. 

Suicidal Thoughts and Behavior among U.S. adults

Source: NIMH (2021). Suicidal Thoughts and Behavior among U.S. adults.

Healthcare professionals want to identify individuals or cohorts that are at risk so that they can intervene. There are several studies that predict suicide attempts using social media posts. One study used Twitter data to develop a model with a high accuracy level (about 70%). Key findings included that users at imminent risk of committing suicide posted fewer emojis in text and mostly used blue emojis or broken heart symbols. They also posted sad or angry tweets before attempting suicide. Coppersmith (2018) also predicted suicide instances using NLP with an accuracy of more than 70% (see figure with ROC).

Predicted suicide instances using NLP

Source: Coppersmith et al. (2018)

Healthcare organizations are already using NLP to pick the low-hanging fruit from the enormous tree of data science. Major tech entities are increasingly creating NLP tools for healthcare. For example, Amazon has a user-friendly clinical NLP tool that helps medical practitioners to extract insights from unstructured data. They can easily recruit patients to a trial study, find the right diagnosis for patients and build warning systems for early detection of conditions such as sclerosis.

Using Python to Predict and Analyze Complex Diseases

Analysts use machine learning algorithms in Python to analyze genetics for predicting disease and establishing the cause of disease. Gaining insight into how genetics affect an individual’s risk can help in preventative healthcare.This can provide notable information for doctors on how to customize patients’ health care plans, to mitigate the risk of acquiring more complex diseases. 

It is difficult to predict how any disease will evolve and many systems are inefficient at this task as some diseases mutate quickly and unexpectedly. Using Python, developers can build efficient Machine Learning models that can predict diseases before they become severe.

One of the key developments is next-generation sequencing (NGS) techniques in human genetics. NGS is an integral part of biological and medical research. The fundamental significance of NGS has propagated the demand for processing and analyzing data sets generated. This helps to address research questions on various issues such as metagenomic quantification and classification, variant calling, and genomic feature detection. 

In another example, Li et al. (2018) uses deep learning algorithms trained on a graphics processing unit (GPU) to predict both heterogeneity and epistasis of complex diseases.

With machine learning, scientists can find disease patterns and trends which they can model in a more predictable manner. Thus, machine learning has the potential to accurately predict those that are at risk of acquiring certain diseases, such as cardiovascular diseases, cancers, and Alzheimer’s disease. 

Finally, Google has developed such a Deep Learning algorithm for detecting cancer in patients using their medical data. The model is efficient and not only speeds up the process of treatment but also reduces the risk of a patient having serious complications in the future due to poor diagnosis.

Using Python to Improve Patient Experience

Managing patients can take significant resources. Facilities with limited staff can struggle to take care of patients’ appointments, treatments, and general well-being. Developing healthcare apps in Python can help healthcare facilities to manage patients, helping staff to focus on critical activities. 

Python applications can help patients to schedule their appointments, get answers to commonly asked questions, request for medication refills, contact emergency services, and regularly update their healthcare data for monitoring - allowing healthcare workers to focus on treating patients with critical illnesses. 

Enhancing Hospital Operations

Healthcare facilities can leverage Python to solve problems pertaining to resource constraints. Data scientists can create models that optimize staffing so that healthcare facilities can avoid problems like over-staffing a shift with low admission, or being understaffed during busy days. 

Python-driven applications can optimize appointments, use of diagnostic facilities, and treatment. Hospitals have limited ICU resources and need to optimize the use of these facilities. In their study, Wu et al. (2021) used ML to predict length of intensive care unit (ICU) stay among ICU patients. They used four different ML techniques (support vector machine, random forest, deep learning, and gradient boosting decision tree). The last model, gradient boosting decision tree, had the best performance with an accuracy of 74.7%.   According to industry analysts, AI applications have the potential to save the U.S. economy about $150 billion annually by 2026 (Roth, 2021). 

There are open source datasets that, as a data scientist, you can use to develop ML for predicting ICU stay and help hospitals plan their resources. Check this Kaggle link to start.  Additionally, Data scientists can unleash the power of Python through ML tools such as Scikit-Learn, Keras, TensorFlow, and Pytorch to improve how healthcare providers manage their costs and facilities. 

Drug Discovery 

Python programming language is a leading language of choice for modern drug discovery. Virtually all job advertisements posted on indeed.com on drug discovery require Python experience. Therefore, learning Python is no longer a choice, but a requirement for careers related to drug discovery. 

A good example of using Python in drug discovery is AstraZeneca’s PyMOL. AstraZeneca is one of the companies leveraging Python to speed up drug discovery. PyMOL is a powerful tool for displaying the 3D structures of disease targets. The tool has 12 different stereo visualization modes that allow users to competently highlight and differentiate various structural features in the targets. Scientists use tools to find the appropriate binding sites for drug molecules. The tool is designed to adapt well to new prediction methods. The figure below shows how the tool combs through millions of data to help in designing drug prototypes. 

AstraZeneca's Pymol application for drug discovery

Source: PyMOL

PyMOL allows for visualizing the three-dimensional (3D) structures of the targeted disease organisms. Using the visualizations, scientists gain better understanding of the fundamental problems so that they can design new molecular constructs for appropriate tackling of the disease.

Future of Using Python in Healthcare

The influx of large and complex healthcare datasets, need for reducing costs, and shrinking size of the healthcare workforce is fueling the growth of AI/ML tools in the market. There is also a rising number of collaborations and partnerships between human practitioners and AI-based tools. The future looks bright for AI/ML and NLP developers, with some start-ups already developing human-aware AI systems. There is a steady rise in using robots in healthcare. 

Novel applications of robots in healthcare range from exoskeletons and prosthetics to nano-robots and surgical robots. In the U.S., the healthcare robotics market will grow to about $32.5 billion by 2027—with an estimated CAGR of 21.3% for the period 2020-2027 (Xavor, 2021). 

The fight against COVID-19 will continue to drive growth in the market, with AI technologies deployed for imaging diagnostics, drug discovery, genomics, and predictive analytics.

Post Covid-19 AI growth opportunities

Source: Markets and Markets (2022).

The U.S. National Library of Medicine points out that precision medicine is “an emerging approach for disease treatment and prevention that considers individual variability in genes, environment, and lifestyle for each person.” 

The future of healthcare is in the hands of AI/ML, with precision medicine likely to be one of the most impactful benefits of using AI/ML in healthcare. 

The goal of precision medicine is finding precise treatment options for a patient based on their personal medical history, genetic information, lifestyle choices, and dynamically changing pathological tests. The underlying aim is to combine the most powerful AI techniques (such as deep neural networks, search algorithms, reinforcement learning, probabilistic models, supervised learning, and others) to develop precision medicine tools.  Its focus is to create AI systems that can predict patients’ probability of having a certain disease using early screening or routine exam data, and Python is at the forefront of the quest for precision medicine, with developers creating AI tools to model why and in what circumstances diseases are more likely to occur. This is important for preparing and guiding healthcare providers to intervene even before an individual shows symptoms.

There are other truly exciting possibilities for the use of Python in creating AI/ML applications such as digital surgery robots. Imagine an operation room where a patient goes in for robots to carry out precise procedures on them, safely and precisely!

Digital Surgery Robot

Source: Robotics business review (2022)

AI-powered smart robots could work hand in hand with surgeons and leverage distributed data-driven insights and guidance based on surgery histories and their outcomes. The possibilities of using Python in healthcare are endless, with the future staying open for telemedicine and performing remote surgery for minor procedures. 

Conclusion 

The application of Python in healthcare is not free of challenges. Data privacy and legal framework challenges still stand in the way of it’s full application. It is also still difficult to find data that third-party providers can use legally. There is a need for a massive rationalization effort of the legalities and policymaking to address these challenges. 

As data scientists and ML practitioners, we have a responsibility to create a bright future by leveraging the power of AI algorithms to save costs and improve the lives of billions of people worldwide. 

You can get hands-on Python skills by coding along with the following guided projects:

Topics

Courses for Python

Course

Introduction to Python

4 hr
5.5M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
See DetailsRight Arrow
Start Course
See MoreRight Arrow
Related

Exploring Matplotlib Inline: A Quick Tutorial

Learn how matplotlib inline can enable you to display your data visualizations directly in a notebook quickly and easily! In this article, we cover what matplotlib inline is, how to use it, and how to pair it with other libraries to create powerful visualizations.

Amberle McKee

How to Use the NumPy linspace() Function

Learn how to use the NumPy linspace() function in this quick and easy tutorial.
Adel Nehme's photo

Adel Nehme

Python Absolute Value: A Quick Tutorial

Learn how to use Python's abs function to get a number's magnitude, ignoring its sign. This guide explains finding absolute values for both real and imaginary numbers, highlighting common errors.
Amberle McKee's photo

Amberle McKee

How to Check if a File Exists in Python

Learn how to check if a file exists in Python in this simple tutorial
Adel Nehme's photo

Adel Nehme

Writing Custom Context Managers in Python

Learn the advanced aspects of resource management in Python by mastering how to write custom context managers.
Bex Tuychiev's photo

Bex Tuychiev

How to Convert a List to a String in Python

Learn how to convert a list to a string in Python in this quick tutorial.
Adel Nehme's photo

Adel Nehme

See MoreSee More