Chronic diseases are long-lasting conditions that require lifelong medical attention. Using big EMR data, we have developed early disease risk prediction models for five common chronic diseases: diabetes, hypertension, CKD, COPD, and chronic ischemic heart disease. In this study, we present a novel approach for disease risk models by integrating survival analysis with classification techniques. Traditional models for predicting the risk of chronic diseases predominantly focus on either survival analysis or classification independently. In this paper, we show survival analysis methods can be re-engineered to enable them to do classification efficiently and effectively, thereby making them a comprehensive tool for developing disease risk surveillance models. The results of our experiments on real-world big EMR data show that the performance of survival models in terms of accuracy, F1 score, and AUROC is comparable to or better than that of prior state-of-the-art models like LightGBM and XGBoost. Lastly, the proposed survival models use a novel methodology to generate explanations, which have been clinically validated by a panel of three expert physicians.
Figures & tables
Disease
ICD10 codes
Patient Count
Hypertension (HTN)
I10-I13
54654
Type 2 Diabetes Mellitus (DM)
E11
31865
Chronic Kidney Disease (CKD)
N18, I12, I13, [E08-E13].22
15316
Chronic Ischemic Heart Disease (CHD)
I25
13804
Chronic Obstructive Pulmonary Disease (COPD)
J41-J44
15131
Table 1: Patient counts for each chronic disease that were eligible for model training, and their respective criteria
Figure 1: Distribution of observation times for hypertension using the three described approaches. Similar plots for the remaining diseases can be found in Appendix 0.B .
Classifiers
Random survival forest
Disease
Random Forest
XGB
LGBM
C-Index
F1 (RS)
F1 (LN)
F1 (SP)
Hypertension
0.728
0.751
0.751
0.689
0.762
0.749
0.743
Heart
0.730
0.738
0.753
0.667
0.750
0.750
0.742
CKD
0.726
0.735
0.748
0.658
0.749
0.750
0.742
COPD
0.726
0.737
0.743
0.675
0.737
0.750
0.721
Diabetes
0.741
0.752
0.752
0.688
0.766
0.749
0.735
Table 2: Evaluation of Approach 1: Similar on the validation set.
Figure 2: Average survival curves for the hypertension training set. Clusters are made using the true and predicted labels found using survival probability for classification. Similar curves for the remaining diseases can be found in Appendix 0.C .
Classifiers
Random survival forest
Disease
Random Forest
XGB
LGBM
C-Index
F1 (RS)
F1 (LN)
F1 (SP)
Hypertension
0.728
0.744
0.744
0.708
0.762
0.747
0.750
Heart
0.799
0.808
0.814
0.720
0.813
0.815
0.796
CKD
0.768
0.787
0.787
0.718
0.790
0.792
0.796
COPD
0.788
0.785
0.790
0.731
0.794
0.798
0.787
Diabetes
0.759
0.773
0.767
0.729
0.780
0.768
0.774
Table 3: Evaluation of Approach 2: Overlap on the validation set.
Classifiers
Random survival forest
Disease
Random Forest
XGB
LGBM
C-Index
F1 (RS)
F1 (LN)
F1 (SP)
Hypertension
0.712
0.741
0.743
0.720
0.747
0.741
0.742
Heart
0.763
0.766
0.784
0.716
0.788
0.786
0.772
CKD
0.757
0.763
0.775
0.718
0.772
0.775
0.777
COPD
0.769
0.772
0.773
0.729
0.775
0.778
0.761
Diabetes
0.757
0.767
0.770
0.745
0.780
0.770
0.775
Table 4: Evaluation of Approach 3: Distinct on the validation set.
Figure 3: Average F1 scores of LGBM and RSF using the three classification techniques
Disease
C Index
Accuracy
Precision
Recall
NPV
Specificity
AUROC
AUPRC
F1 score
Hypertension
0.709
0.742
0.723
0.779
0.764
0.705
0.828
0.819
0.755
Heart
0.741
0.788
0.758
0.838
0.823
0.739
0.869
0.852
0.819
CKD
0.729
0.789
0.767
0.827
0.814
0.751
0.870
0.859
0.796
COPD
0.730
0.784
0.761
0.815
0.809
0.753
0.869
0.871
0.799
Diabetes
0.728
0.784
0.819
0.733
0.756
0.836
0.872
0.896
0.778
Table 5: Performance of the Random Survival Forest on the test set.
Figure 4: Feature importances found using SurvSHAP and our custom implementation. Similar plots for the remaining diseases can be found in Appendix 0.D .
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
Feature Name
Feature Description
age_group
Categorizes the age of a person into pre-defined interval or bins
gender
Identifies the gender of a person
race_mapping
A numerical representation of an individual’s race
bmi_group
Categorizes the BMI of person into pre-defined interval or bins
map_group
Categorizes mean arterial pressure (MAP) of a person into pre-defined intervals or bins
Appendix
Table 6: Common Features included in all models
Feature Name
Feature Description
E78
Code for Disorders of lipoprotein metabolism and other lipidemias (Present/Absent)
I25
Code for Chronic ischemic heart disease (Present/Absent)
K21
Code for Gastro-esophageal reflux disease (Present/Absent)
K29
Code for Gastritis and duodenitis (Present/Absent)
N17
Code for Acute kidney failure (Present/Absent)
R60
Code for Edema, not elsewhere classified (Present/Absent)
Appendix
Table 7: Diabetes Features - Part 1
Feature Name
Feature Description
dexamethasone
Medications under GPI code 2210 (Prescribed/Not Prescribed)
sleep_disorder
Custom Feature Group for codes G47, F51 and Z72.820 (Present/Absent)
horomonal_antineoplastic
Medications under GPI code 2140 (Prescribed/Not Prescribed)
smoking_history
Custom Feature Group indicating smoking history (Present/Absent)
family_diabetes
Family History of Diabetes (Present/Absent)
metabolic_disorder
Custom Feature Group for codes E88 and Z86.3 (Present/Absent)
Appendix
Table 8: Diabetes Features - Part 2
Feature Name
Feature Description
E11
Code for Type 2 diabetes mellitus (Present/Absent)
E78
Code for Disorders of lipoprotein metabolism and other lipidemias (Present/Absent)
G89
Code for Pain, not elsewhere classified (Present/Absent)
I25
Code for Chronic ischemic heart disease (Present/Absent)
F41
Code for Other anxiety disorders (Present/Absent)
K29
Code for Gastritis and duodenitis (Present/Absent)
Appendix
Table 9: Hypertension Features
Feature Name
Feature Description
E11
Code for Type 2 diabetes mellitus (Present/Absent)
D50
Code for Iron deficiency anemia (Present/Absent)
R53
Code for Malaise and fatigue (Present/Absent)
I25
Code for Chronic ischemic heart disease (Present/Absent)
R06
Code for Abnormalities of breathing (Present/Absent)
R73
Code for Elevated blood glucose level (Present/Absent)
Appendix
Table 10: CKD Features
Feature Name
Feature Description
DM
Elixhauser Comorbidity Group for Diabetes without chronic complications (Present/Absent)
D50
Code for Iron deficiency anemia (Present/Absent)
HTN
Elixhauser Comorbidity Group for Primary hypertension (Present/Absent)
E78
Code for Disorders of lipoprotein metabolism and other lipidemias (Present/Absent)
R51
Code for Headache (Present/Absent)
R06
Code for Abnormalities of breathing (Present/Absent)
Appendix
Table 11: Heart Features
Feature Name
Feature Description
DM
Elixhauser Comorbidity Group for Diabetes without chronic complications (Present/Absent)
R07
Code for Pain in throat and chest (Present/Absent)
R09
Code for Other symptoms and signs involving the circulatory and respiratory system (Present/Absent)
R53
Code for Malaise and fatigue (Present/Absent)
E78
Code for Disorders of lipoprotein metabolism and other lipidemias (Present/Absent)
Research Unit of Intelligent Health Technologies, Universit`a Campus Bio-Medico di Roma, Rome, Italy. · Central Diagnostic Laboratory, University Medical Center Utrecht, Utrecht, The Netherlands.
School of Information, University of Sheffield, Sheffield, United Kingdom · School of Medicine, Faculty of Medicine and Health, University of Leeds, Leeds, United Kingdom · Division of Informatics, University of Manchester, Manchester, United Kingdom +2