Natural language processing and machine learning for identifying incident stroke from electronic health records: Algorithm development and validation

Yiqing Zhao, Sunyang Fu, Suzette J. Bielinski, Paul A. Decker, Alanna M. Chamberlain, Veronique L. Roger, Hongfang Liu, Nicholas B. Larson

Research output: Contribution to journalArticlepeer-review


Background: Stroke is an important clinical outcome in cardiovascular research. However, the ascertainment of incident stroke is typically accomplished via time-consuming manual chart abstraction. Current phenotyping efforts using electronic health records for stroke focus on case ascertainment rather than incident disease, which requires knowledge of the temporal sequence of events. Objective: The aim of this study was to develop a machine learning-based phenotyping algorithm for incident stroke ascertainment based on diagnosis codes, procedure codes, and clinical concepts extracted from clinical notes using natural language processing. Methods: The algorithm was trained and validated using an existing epidemiology cohort consisting of 4914 patients with atrial fibrillation (AF) with manually curated incident stroke events. Various combinations of feature sets and machine learning classifiers were compared. Using a heuristic rule based on the composition of concepts and codes, we further detected the stroke subtype (ischemic stroke/transient ischemic attack or hemorrhagic stroke) of each identified stroke. The algorithm was further validated using a cohort (n=150) stratified sampled from a population in Olmsted County, Minnesota (N=74,314). Results: Among the 4914 patients with AF, 740 had validated incident stroke events. The best-performing stroke phenotyping algorithm used clinical concepts, diagnosis codes, and procedure codes as features in a random forest classifier. Among patients with stroke codes in the general population sample, the best-performing model achieved a positive predictive value of 86% (43/50; 95% CI 0.74-0.93) and a negative predictive value of 96% (96/100). For subtype identification, we achieved an accuracy of 83% in the AF cohort and 80% in the general population sample. Conclusions: We developed and validated a machine learning-based algorithm that performed well for identifying incident stroke and for determining type of stroke. The algorithm also performed well on a sample from a general population, further demonstrating its generalizability and potential for adoption by other institutions.

Original languageEnglish (US)
Article numbere22951
JournalJournal of medical Internet research
Issue number3
StatePublished - Mar 2021


  • Electronic health records
  • Machine learning
  • Natural language processing
  • Stroke

ASJC Scopus subject areas

  • Health Informatics


Dive into the research topics of 'Natural language processing and machine learning for identifying incident stroke from electronic health records: Algorithm development and validation'. Together they form a unique fingerprint.

Cite this