| Literature DB >> 28384212 |
Steven Horng1, David A Sontag2, Yoni Halpern3, Yacine Jernite4, Nathan I Shapiro1, Larry A Nathanson1.
Abstract
OBJECTIVE: To demonstrate the incremental benefit of using free text data in addition to vital sign and demographic data to identify patients with suspected infection in the emergency department.Entities:
Mesh:
Year: 2017 PMID: 28384212 PMCID: PMC5383046 DOI: 10.1371/journal.pone.0174708
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Data types used in models and amount of missing or out of range data.
| Feature | Data Type | Missing or Out of Range Data |
|---|---|---|
| Age | Continuous | 0% |
| Gender | Binary | 0% |
| Acuity | 5-level ordinal | 2.7% |
| Systolic blood pressure | Continuous | 4.9% |
| Diastolic blood pressure | Continuous | 5.2% |
| Heart rate | Continuous | 4.6% |
| Pain scale | Continuous | 6.6% |
| Respiratory rate | Continuous | 6.5% |
| Oxygen saturation | Continuous | 5.6% |
| Temperature | Continuous | 6.7% |
| Free text chief complaint | Text | 0% |
| Free text nursing assessment | Text | 2.9% |
Features used for the predictive models.
| Vital Signs | Patient Demographics | Chief Complaint | Nursing Assessment | |
|---|---|---|---|---|
| Vitals Model | X | X | ||
| Chief Complaint Model | X | X | X | |
| Bag of Words Model | X | X | X | X |
| Topic Model | X | X | X | X |
Fig 1Pipeline for natural language processing and prediction.
Our algorithm first takes as input a triage note and processes it by applying tokenization followed by bigram and negation detection, the latter using a customized version of the NegEx tool [14]. The processed text is then transformed into a set of features. The Bag-of-Words features count how many times each word in our vocabulary appears in the processed note, and the Topic model features (derived using the Mallet [17] tool) measure how much certain topics are represented in the note. A Support Vector Machine (SVM) is then trained on these sets of features to determine whether the patient presents an infection, using the SVM software [15].
Statistics of data set.
| Age—mean yrs. (95% CI) | 49.7 (49.6,49.7) | 54.5 (54.3,54.7) |
| Male gender—no. (%) | 91,158 (46%) | 13,546 (42%) |
| Severity—median ESI [IQR] | 3 [2–3] | 3 [2–3] |
| Temperature—mean Degrees Fahrenheit (95% CI) | 97.7 (97.7,97.7) | 98.1 (98.1,98.1) |
| Heart Rate—mean Beats per minute (95% CI) | 84.3 (84.2,84.3) | 88.4 (88.2, 88.6) |
| Respiratory Rate—median bpm [IQR] | 17 [16–18] | 18 [16–18] |
| Oxygen Saturation—median [IQR] | 100 [98–100] | 99 [97–100] |
| Systolic Blood Pressure—mean mm Hg (95% CI) | 134.8 (134.7,134.9) | 132.4 (132.1,132.6) |
| Diastolic Blood Pressure—mean mm Hg (95% CI) | 77.6 (77.6,77.7) | 74.6 (74.4,74.7) |
| Pain Scale—median 10 point Likert Scale [IQR] | 4 [0–8] | 5 [0–8] |
| Admitted—no. (%) | 59,590 (30.0%) | 16,339 (50.9%) |
| ICU admission—no. (%) | 11,488 (19.3%) | 3,250 (19.9%) |
| ICU admission—median no. days [IQR] | 2 [1–4] | 2 [1–4] |
| 28 day in-hospital mortality—no. (%) | 2,470 (1.2%) | 725 (2.3%) |
Performance characteristics for the SVM models.
| AUC | PPV | Sensitivity | Specificity | AUC | PPV | Sensitivity | Specificity | |
|---|---|---|---|---|---|---|---|---|
| Vitals | 0.67 | 0.22 | 0.56 | 0.67 | 0.67 | 0.22 | 0.56 | 0.68 |
| CC | 0.84 | 0.34 | 0.78 | 0.75 | 0.83 | 0.32 | 0.75 | 0.75 |
| BoW | 0.89 | 0.40 | 0.83 | 0.80 | 0.86 | 0.38 | 0.78 | 0.79 |
| Topics | 0.86 | 0.34 | 0.81 | 0.75 | 0.85 | 0.34 | 0.80 | 0.75 |
Vitals—Age, Gender, Severity, Temperature, Heart Rate, Respiratory Rate, Oxygen Saturation, Systolic Blood Pressure, Diastolic Blood Pressure, Pain Scale CC—Chief Complaint + Vitals BoW—Bag of Words model using Vitals + Chief Complaint + Triage Assessment Topics—Topic Model using Vitals + Chief Complaint + Triage Assessment * All Test AUCs have a 95% CI of +-0.02. A validation data set (n = 46,187; 20%) was also used as an intermediary data set between train and test to select regularization parameters. We do not show these here, for brevity.
Fig 2Receiver operating characteristic curve.
Vitals—Age, Gender, Severity, Temperature, Heart Rate, Respiratory Rate, Oxygen Saturation, Systolic Blood Pressure, Diastolic Blood Pressure, Pain Scale. Chief Complaint—Chief Complaint + Vitals. Bag of Words—Vitals + Chief Complaint + Triage Assessment. Topics—Vitals + Chief Complaint + Triage Assessment
Fig 3Calibration plots.
We assess the models’ calibration by plotting for each predicted probability range, in increments of 0.1, the fraction of patients with this predicted probability of infection that truly had an infection. Perfect calibration would correspond to the straight line from (0,0) to (1,1). We additionally show bar plots of the number of predictions made by each method within each probability interval. The Vitals model, which has the least data to go on, makes very few predictions of infection with probability greater than 0.5, leading to very large confidence intervals toward the upper right of the plot. The Bag of Words and Topics models are better calibrated, and are particularly accurate for the highest risk patients. Vitals—Age, Gender, Severity, Temperature, Heart Rate, Respiratory Rate, Oxygen Saturation, Systolic Blood Pressure, Diastolic Blood Pressure, Pain Scale. CC—Chief Complaint + Vitals. BoW (Bag of Words)—Vitals + Chief Complaint + Triage Assessment. Topics—Vitals + Chief Complaint + Triage Assessment
Comparison with alternative machine learning algorithms.
| Linear SVM | Logistic Regression | Naïve Bayes | Random Forests | |
|---|---|---|---|---|
| Vitals | 0.67 | 0.67 | 0.65 | 0.70 |
| BoW | 0.86 | 0.86 | 0.83 | 0.87 |
| Topics | 0.85 | 0.84 | 0.70 | 0.83 |
Comparison of area under the Receiver-Operator Curve (AUC) on Test (n = 36,950) for various machine learning algorithms. Parameters such as regularization constants (linear SVM, logistic regression) and minimum number of samples per leaf (random forests) were chosen by evaluating the AUC on the validate data set. All results have a 95% CI of +-0.02.
Vitals—Age, Gender, Severity, Temperature, Heart Rate, Respiratory Rate, Oxygen Saturation, Systolic Blood Pressure, Diastolic Blood Pressure, Pain Scale
BoW—Bag of Words model using Vitals + Chief Complaint + Triage Assessment
Topics—Topic Model using Vitals + Chief Complaint + Triage Assessment
Sensitivity of test data set by patient subset.
| CC | 0.74 | 0.76 | 0.79 | 0.74 | 0.81 | 0.66 |
| BoW | 0.78 | 0.78 | 0.76 | 0.78 | 0.79 | 0.68 |
| Topics | 0.79 | 0.8 | 0.81 | 0.8 | 0.83 | 0.72 |
All models use the ‘Vitals’ features—Age, Gender, Severity, Temperature, Heart Rate, Respiratory Rate, Oxygen Saturation, Systolic Blood Pressure, Diastolic Blood Pressure, Pain Scale
CC—Chief Complaint + Vitals
BoW—Bag of Words model using Vitals + Chief Complaint + Triage Assessment
Topics—Topic Model using Vitals + Chief Complaint + Triage Assessment
SVM model learned using chief complaints.
| Weight | Word |
|---|---|
| 2.18 | cellulitis |
| 2.10 | sore_throat |
| 2.09 | st |
| 2.05 | abcess (misspelling of abscess) |
| 2.00 | uti |
| 1.98 | abscess |
| 1.85 | dysuria |
| 1.61 | pneumonia |
| 1.59 | cyst |
| 1.58 | infection |
| -1.10 | migraine |
| -1.11 | etoh |
| -1.16 | injury |
| -1.26 | laceration |
| -1.26 | status_post_assault |
| -1.30 | epistaxis |
| -1.34 | lac |
| -1.42 | status_post_mvc |
| -1.48 | mvc |
Most positive (indicative of infection) and negative (suggesting no infection) words from the model built by machine learning using only chief complaints. In parentheses/italics are our annotations, to point out what these acronyms are typically used for.
SVM model learned using bag-of-words.
| Weight | Word |
|---|---|
| 0.98 | cellulitis |
| 0.80 | uti |
| 0.79 | redness_swelling |
| 0.78 | sore_throat |
| 0.77 | abscess |
| 0.73 | diverticulitis |
| 0.72 | abscess |
| 0.70 | dysuria |
| 0.66 | st |
| 0.65 | erythema |
| 0.20 | swelling |
| -0.29 | swelling_neg |
| -0.35 | pancreatic |
| -0.36 | eye |
| -0.36 | bleed |
| -0.37 | etoh |
| -0.37 | epistaxis |
| -0.38 | pancreatitis |
| -0.39 | injury |
| -0.57 | mvc |
Most positive (indicative of infection) and negative (suggesting no infection) words used by the model built by machine learning using the bag-of-words model on triage notes.
SVM model learned using topics.
| Weight | Topic (described by most frequent words) |
|---|---|
| redness, cellulitis, left, leg, swelling, area, rle, arm, lle, increased, erythema | |
| abcess, buttock, area, drainage, axilla, groin, painful, thigh, left, hx, abcesses, red, boil | |
| cellulitis, abx, pt, iv, infection, po, keflex, antibiotics, leg, treated, started, yesterday | |
| red, swollen, touch, warm, painful, area, left, infection, swelling, tender, slightly, hot | |
| abscess, left, area, fevers_neg, axilla, cyst, size, i&d, lesion, lump, swelling, mass, thigh | |
| pna, pneumonia, cxr, wbc, dec_num, transfer, rll, anon_1140, rehab, fever, lll, recent | |
| sore_throat, throat, st, voice, secretions, swallowing, pain, swallow, difficulty_swallowing | |
| uti, pt, cipro, abx, dx, started, treated, recent, bactrim, fever, c/o, recently, infection | |
| pna, cough, sob, pneumonia, cxr, recent, dx, abx, fever, r/o, fevers, bronchitis, recently, tb | |
| dysuria, hematuria, uti, c/o, urination, pain_neg, burning, denies, frequency, urgency, | |
| wound, check, eval, pt, abcess, wick, i&d, abscess, drained, removal, returns, fevers_neg | |
| pain, ankle, weight, bearing, left, foot, swelling, knee, wt, injury, bear, unable_bear | |
| struck, bike, car, ped, accident, bicycle, loc_neg, pain, riding, hit, bicyclist, pt, fell, c/o | |
| numbness, arm, left, tingling, facial, hand, leg, weakness, side, sided, c/o, today, resolved | |
| epistaxis, bleeding, nose, pt, bleed, pressure, bleeding_neg, blood, on_coumadin, stopped | |
| status_post_mvc, mvc, car, restrained_driver, loc_neg, passenger, neck, driver, front, side | |
| fall, status_post_fall, fell, ladder, feet, pain, landed, ft, 10, loc_neg, back, approx, foot, steps | |
| gi, bleed, status_post, colonoscopy, endoscopy, procedure, today, esophageal, upper, scope | |
| playing, injury, ball, soccer, pt, game, football, hit, hockey, player, struck, baseball, loc_neg | |
| mvc, trauma, gsw, basic, mcc, 21, status_post_mvc, transfer, rollover, rm, room, stabbing | |
| etoh, found, vomiting, apparently, drunk, drinking, denies, friends, trauma_neg, triage, | |
| watching, tv, sitting, sudden_onset, movie, television, smoked, couch, pt, pot, 5pm, theater |
Most positive (indicative of infection) and negative (suggesting no infection) topics from the model built by machine learning using features derived from the topic model on triage notes.