| Literature DB >> 34285316 |
Mike D Rinderknecht1, Yannick Klopfenstein2.
Abstract
As the COVID-19 pandemic is challenging healthcare systems worldwide, early identification of patients with a high risk of complication is crucial. We present a prognostic model predicting critical state within 28 days following COVID-19 diagnosis trained on data from US electronic health records (IBM Explorys), including demographics, comorbidities, symptoms, and hospitalization. Out of 15753 COVID-19 patients, 2050 went into critical state or deceased. Non-random train-test splits by time were repeated 100 times and led to a ROC AUC of 0.861 [0.838, 0.883] and a precision-recall AUC of 0.434 [0.414, 0.485] (median and interquartile range). The interpretability analysis confirmed evidence on major risk factors (e.g., older age, higher BMI, male gender, diabetes, and cardiovascular disease) in an efficient way compared to clinical studies, demonstrating the model validity. Such personalized predictions could enable fine-graded risk stratification for optimized care management.Entities:
Year: 2021 PMID: 34285316 PMCID: PMC8292360 DOI: 10.1038/s41746-021-00482-9
Source DB: PubMed Journal: NPJ Digit Med ISSN: 2398-6352
Fig. 1Diagram of number of subjects.
Cohort selection and number of patients not entering versus entering critical state based on the definitions outlined in the according sections. To train and evaluate a model, the dataset was split using a non-random split by time. This procedure was repeated 100 times using different time windows for the test sets to get a distribution of model performance.
Fig. 2Time windows for prediction target and feature extraction.
Schematic illustration of time window definitions relative to the COVID-19 diagnosis or to the critical state (time not to scale). The brackets define the boundaries (included) in days.
Feature definitions.
| Extraction time window | Feature | Units | Details |
|---|---|---|---|
| Special features | Age | Years | Computed at diagnosis date, based on birth year entry |
| Gender | NA (0: male, 1: female) | No time window restrictions | |
| Ethnicity (Hispanic) | NA (binary) | No time window restrictions | |
| Ethnicity (non-Hispanic) | NA (binary) | No time window restrictions | |
| Race (African American) | NA (binary) | No time window restrictions | |
| Race (Asian) | NA (binary) | No time window restrictions | |
| Race (Caucasian) | NA (binary) | No time window restrictions | |
| Race (Multiracial) | NA (binary) | No time window restrictions | |
| Acute features | Acute bronchitis | NA (binary) | ICD-10: J20.*, J40 and ICD-9: 466.0, 490 |
| Anorexia | NA (binary) | ICD-10: R63.0, R63.8 and ICD-9: 783.0, 783.9 | |
| Body temperature | ∘C | LOINC: 8310-5 | |
| Confusion | NA (binary) | ICD-10: R41.0, R41.82 and ICD-9: 780.97 | |
| Cough | NA (binary) | ICD-10: R05 and ICD-9: 786.2 | |
| Diarrhea | NA (binary) | ICD-10: R19.7 and ICD-9: 787.91 | |
| Fatigue | NA (binary) | ICD-10: R53.1, R53.81, R53.83 and ICD-9: 780.79 | |
| Fever | NA (binary) | ICD-10: R50.9 and ICD-9: 780.60 | |
| Headache | NA (binary) | ICD-10: R51 and ICD-9: 784.0 | |
| Hemoptysis | NA (binary) | ICD-10: R04.2 and ICD-9: 786.30 | |
| Hospitalization (inpatient) | NA (binary) | Considered if reported admission–discharge period overlapping with extraction time window | |
| Myalgia | NA (binary) | ICD-10: M79.1, M79.10, M79.11, M79.12, M79.18 and ICD-9 729.1 | |
| Pneumonia | NA (binary) | ICD-10: J12.*, J13, J14, J15.*, J16.*, J17, J18.* and ICD-9: 480.*, 481, 482.*, 483.*, 484.*, 485, 486, 487.0, 488.01, 488.11, 488.81 | |
| Rhinorrhea | NA (binary) | ICD-10: J34.89 and ICD-9: 478.19 | |
| Shortness of breath | NA (binary) | ICD-10: R06.02 and ICD-9: 786.05 | |
| Sore throat | NA (binary) | ICD-10: J02.9 and ICD-9: 462 | |
| Sputum | NA (binary) | ICD-10: R09.3 and ICD-9: 786.4 | |
| Vomiting | NA (binary) | ICD-10: R11.10 and ICD-9: 536.2, 787.03 | |
| Chronic features | Active smoking | NA (binary) | Based on reported habit |
| Asthma | NA (binary) | ICD-10: J45.* and ICD-9: 493.* | |
| BMI | kg/m2 | LOINC: 39156-5, or computed from weight (29463-7) and height (8302-2) | |
| Cardiovascular disease | NA (binary) | ICD-10: I20.*, I21.*, I25.*, I48.*, I50.*, I63.*, I65.*, I67.*, I73.* and ICD-9: 410.*, 412.*, 413.*, 414.*, 427.*, 428.*, 429.*, 433.*, 434.*, 437.*, 443.* | |
| Chronic kidney disease | NA (binary) | ICD-10: E10.21, E10.22, E10.29, E11.21, E11.22, E11.29, I12.0, I12.9, I13.0, I13.10, I13.11, I13.2, N04.*, N05.*, N08, N18.*, N19, N25.9 and ICD-9: 250.40, 250.41, 250.42, 250.43, 403.*, 404.*, 581.81, 581.9, 583.89, 585.*, 588.9 | |
| Chronic obstructive pulmonary disease | NA (binary) | ICD-10: J44.* and ICD-9: 491.*, 493.2* | |
| Diabetes | NA (binary) | ICD-10: E10.*, E11.*, E13.* and ICD-9: 250.* | |
| Hypertension | NA (binary) | ICD-10: I10, I15.* and ICD-9: 401.*, 405.* | |
| Immunodeficiency | NA (binary) | ICD-10: B20, D80.*, D81.*, D82.*, D83.*, D84.*, D86.*, D89.* and ICD-9: 042, 279.* | |
| Nicotine dependence | NA (binary) | ICD-10: F17.* and ICD-9: 305.1 | |
| Obesity | NA (binary) | ICD-10: E66.0*, E66.1, E66.2, E66.8, E66.9 and ICD-9: 278.00, 278.01, 278.03 | |
| Paralytic syndromes | NA (binary) | ICD-10: G80.*, G81.*, G82.*, G83.* and ICD-9: 342.*, 343.*, 344.* |
Feature names, units and details (e.g., ICD and LOINC codes) grouped by extraction time window specifications. Binary features encode whether there is an entry in the database for the specific item of interest or not. The symbol * represents a wildcard for ICD subcategory codes.
Descriptive statistics of the features.
| Feature | Missing | Mean | Std | Min | 25% | 50% | 75% | Max |
|---|---|---|---|---|---|---|---|---|
| Age | NA | 48.6 | 19.4 | 1 | 32 | 49 | 63 | 90 |
| BMI | 16.7% | 31.6 | 8.41 | 10.4 | 25.7 | 30.1 | 36 | 93 |
| Body temperature | 69.3% | 37.1 | 0.617 | 32 | 36.7 | 37 | 37.4 | 40.8 |
| Gender | NA | 56.9% | 43.1% | |||||
| Active smoking | 16.0% | 84.0% | ||||||
| Acute bronchitis | 1.5% | 98.5% | ||||||
| Anorexia | 0.9% | 99.1% | ||||||
| Asthma | 11.4% | 88.6% | ||||||
| Cardiovascular disease | 23.4% | 76.6% | ||||||
| Chronic kidney disease | 10.0% | 90.0% | ||||||
| Chronic obstructive pulmonary disease | 5.6% | 94.4% | ||||||
| Confusion | 1.8% | 98.2% | ||||||
| Cough | 29.9% | 70.1% | ||||||
| Diabetes | 18.8% | 81.2% | ||||||
| Diarrhea | 4.1% | 95.9% | ||||||
| Ethnicity (Hispanic) | 11.6% | 88.4% | ||||||
| Ethnicity (non-Hispanic) | 29.3% | 70.7% | ||||||
| Fatigue | 7.4% | 92.6% | ||||||
| Fever | 22.2% | 77.8% | ||||||
| Headache | 4.9% | 95.1% | ||||||
| Hemoptysis | 0.1% | 99.9% | ||||||
| Hospitalization (inpatient) | 4.2% | 95.8% | ||||||
| Hypertension | 38.0% | 62.0% | ||||||
| Immunodeficiency | 2.3% | 97.7% | ||||||
| Myalgia | 0.2% | 99.8% | ||||||
| Nicotine dependence | 8.6% | 91.4% | ||||||
| Obesity | 25.0% | 75.0% | ||||||
| Paralytic syndromes | 1.2% | 98.8% | ||||||
| Pneumonia | 12.2% | 87.8% | ||||||
| Race (African American) | 44.2% | 55.8% | ||||||
| Race (Asian) | 1.2% | 98.8% | ||||||
| Race (Caucasian) | 48.5% | 51.5% | ||||||
| Race (multi-racial) | 2.3% | 97.7% | ||||||
| Rhinorrhea | 1.7% | 98.3% | ||||||
| Shortness of breath | 15.4% | 84.6% | ||||||
| Sore throat | 3.7% | 96.3% | ||||||
| Sputum | 0.0% | 100.0% | ||||||
| Vomitting | 0.6% | 99.4% |
The descriptive statistics are reported for all features (prior to feature exclusion in feature set pre-processing). The percentages 25, 50, and 75% refer to the first (Q1), second (median), and third quartiles (Q3). Note that as part of Explorys’ de-identification process the feature age has a ceiling effect at 90 years, and the age of all patients born in the last 365 days is reported as zero. The features age and gender were mandatory based on a previous data preparation step, hence the rate of missing data is not reported for these features.
Fig. 3Feature concurvity.
Kendall’s τ was used to evaluate correlation between each feature combination (prior to feature exclusion in feature set pre-processing).
Performance comparison.
| Performance metric | Full feature set | Reduced feature set |
|---|---|---|
| ROC AUC | 0.863 [0.838, 0.885] | 0.861 [0.838, 0.883] |
| PR AUC | 0.443 [0.405, 0.489] | 0.434 [0.414, 0.485] |
| Brier score | 0.081 [0.050, 0.095] | 0.082 [0.050, 0.095] |
| Log loss | 0.265 [0.177, 0.305] | 0.269 [0.178, 0.306] |
| Sensitivity | 0.828 [0.805, 0.855] | 0.829 [0.805, 0.852] |
| Specificity | 0.749 [0.702, 0.786] | 0.754 [0.713, 0.785] |
| 0.439 [0.374, 0.475] | 0.439 [0.368, 0.478] |
Different test set performance metric distributions across splits for the models before and after feature reduction based on feature importance. Numbers are reported as median and interquartile range.
Fig. 4Model performance and calibration for the reduced feature sets across splits.
a Receiver operating characteristic (ROC) curve: Median and interquartile range (IQR) of the performance (blue) and chance level (no predictive value) as a reference (dashed gray line). b Corresponding normalized violin plot of the distribution of the ROC area under the curve (AUC). c Same representation for the precision recall (PR) curve and d corresponding distribution of the PR AUC. e Median and IQR (blue) of the fraction of actual positives (labeled as critical state) for the binned (10 bins) mean predicted values (i.e., probabilities). The reference diagonal represents perfect calibration (dashed gray line). f Median and IQR (blue) for the counts within each bin of mean predicted value. The vertical gray line shows the median and IQR for the optimal decision threshold based on the Youden’s J statistic.
Fig. 5Confusion matrix for the reduced feature sets across splits.
Confusion matrix for the predictions of the test sets based on the optimal decision threshold based on the Youden’s J statistic. True refers to entering critical state, and False refers to not entering critical state. The shades of the confusion matrix correspond to the median percentage of the actual labels (i.e., shade of the top left cell and the bottom right cell represent the median specificity and the median sensitivity, respectively).
Fig. 6Feature selection frequency across splits.
Features are first ordered by frequency of being selected during the feature selection process of each split and then alphabetically in case of identical frequency.
Fig. 7Final model interpretability for the reduced feature set.
a Average absolute impact of features on the final model output magnitude (in log-odds) ordered by decreasing feature importance. b Illustration of the relation between feature values and impact (in terms of magnitude and direction) on prediction output. Each dot represents an individual patient of the dataset. The color of each point corresponds to the normalized feature value (min-max normalization on test set). As an example for continuous features, older patients tend to have a higher SHAP value. For binary features, the maximum feature value 1 corresponds to presence of the feature, and 0 to absence of the feature. For gender, 1 corresponds to female and 0 to male.
Fig. 8Example predictions using the final model.
Composition of predictions (SHAP values computed in probability space) for a one example patient going into critical state and b one patient not entering critical state, based on the final model. The yellow arrows represent the contributions of major risk factors (e.g., older age, pneumonia, or comorbidities), and the blue arrows represent the contribution of factors decreasing the probability of entering critical state (e.g., female gender = 1). Note that this graphical representation only allows due to spatial constraints to display the names of the major contributing factors for this specific example (i.e., a subset of all features used by final model). The baseline probability and the decision threshold are relatively low but close to the actual ratio of patients entering critical state in our cohort, illustrating the class imbalance.
ICD-10 codes for the prediction target.
| ICD-10 code | Description |
|---|---|
| A41.89 | Other specified sepsis |
| A41.9 | Sepsis, unspecified organism |
| R65.2 | Severe sepsis |
| R65.20 | Severe sepsis without septic shock |
| R65.21 | Severe sepsis with septic shock |
| J80 | Acute respiratory distress syndrome (ARDS) |
| J96 | Respiratory failure, not elsewhere classified |
| J96.0 | Acute respiratory failure |
| J96.00 | Acute respiratory failure, unspecified whether with hypoxia or hypercapnia |
| J96.01 | Acute respiratory failure with hypoxia |
| J96.02 | Acute respiratory failure with hypercapnia |
| J96.9 | Respiratory failure, unspecified |
| J96.90 | Respiratory failure, unspecified, unspecified whether with hypoxia or hypercapnia |
| J96.91 | Respiratory failure, unspecified with hypoxia |
| J96.92 | Respiratory failure, unspecified with hypercapnia |
Patients with first diagnosis of any of the listed ICD-10 codes within the specified time window were labeled as entering critical state.