| Literature DB >> 31614982 |
Franca Dipaola1,2, Mauro Gatti3, Veronica Pacetti4, Anna Giulia Bottaccioli5, Dana Shiffer6,7, Maura Minonzio8,9, Roberto Menè10, Alessandro Giaj Levra11, Monica Solbiati12, Giorgio Costantino13, Marco Anastasio14, Elena Sini15, Franca Barbic16,17, Enrico Brunetta18,19, Raffaello Furlan20,21.
Abstract
BACKGROUND: Enrollment of large cohorts of syncope patients from administrative data is crucial for proper risk stratification but is limited by the enormous amount of time required for manual revision of medical records. AIM: To develop a Natural Language Processing (NLP) algorithm to automatically identify syncope from Emergency Department (ED) electronic medical records (EMRs).Entities:
Keywords: Emergency Department; artificial intelligence; electronic medical records; natural language processing; syncope
Year: 2019 PMID: 31614982 PMCID: PMC6832155 DOI: 10.3390/jcm8101677
Source DB: PubMed Journal: J Clin Med ISSN: 2077-0383 Impact factor: 4.241
Figure 1Data analysis methodology. The flow chart summarizes the data analysis methodology. The 2013 and 2015 datasets were obtained from the Humanitas Research Hospital electronic repository. Data were manually annotated by a group of six physicians. Manual annotation is the process of reviewing medical records to identify patients with syncope. Each dataset comprised 15,098 and 15,222 electronic medical records, respectively. After filtering for inclusion (i.e., age ≥ 18 years and data completeness) and exclusion (i.e., age < 18 years or data incompleteness) criteria, the two datasets were combined in a single study dataset which underwent a preprocessing based on cleaning and formatting operations. The final study dataset was analyzed using a five-folds Nested Cross Validation (NCV). This latter was based on multiple iterations in each of which data was randomly split in five folds, i.e., five subsets of electronic medical records of equal magnitude. Four folds were used for feature selection/training/validation, whereas fold five was used for testing. Feature selection recognized the grams that were most relevant for identifying patients with syncope. Classifier training identified the model parameters that best represented the dataset. Validation enabled the identification of the best hyper-parameters model. NCV allowed the use of the entire set of data for either the training, validation or testing procedures, thus achieving algorithm optimal performance.
N-grams most frequently associated with the presence of syncope.
| Humanitas Syncope n-Grams | |
|---|---|
| Unigrams | ‘assenza’ (‘absence’), ‘caduta’ (‘fall’), ‘capogiro’ (‘dizziness’), ‘clonie’ (‘clonus’), ‘ipotensione’ (‘hypotension’), ‘lipotimia’ (‘lipotimia’), ‘malessere’ (‘malaise’), ‘malore’ (‘illness’), ‘prelipotimia’ (‘prelipotimia’), ‘presincope’ (‘presyncope’), ‘prodromi’ (‘prodromes’), ‘sincope’ (‘syncope’), ‘svenimento’ (‘faint’), ‘trauma’ (‘trauma’), ‘trovato’ (‘found’), ‘vertigini’ (‘dizziness’) |
| Bigrams | ‘crisi epilettica’ (‘epileptic crisis’) |
| Trigrams | ‘ferita lacero contusa’ (‘lacerated bruised wound’), ‘perdita di coscienza’ (‘loss of consciousness’) |
Patient characteristics of the 2013 and 2015 datasets.
| Characteristic | 2013 Dataset | 2015 Dataset | Total |
|---|---|---|---|
| Electronical medical records, No. | 15,098 | 15,222 | 30,320 |
| Unique patients, No. | 12,535 | 12,831 | 25,366 |
| Female, No. (%) | 6303 (50.3) | 6445 (50.2) | 12,748 (50.2) |
| Age, mean (SD), y | 54.6 (20.0) | 56.0 (20.0) | 55.3 (20.0) |
| Syncope present, No. (%) | 251 (1.7) | 320 (2.1) | 571 (1.9) |
| Reason for ED admission * | |||
| Abdominal pain | 1051 (7.0) | 886 (5.8) | 1937 (6.4) |
| Chest pain | 557 (3.7) | 661 (4.3) | 1218 (4.0) |
| Lumbar pain | 455 (3.0) | 432 (2.8) | 887 (2.9) |
| Cervicalgia | 406 (2.7) | 266 (1.7) | 672 (2.2) |
| Fatigue and malaise | 249 (1.6) | 380 (2.5) | 629 (2.1) |
| Renal colic | 281 (1.9) | 265 (1.7) | 546 (1.8) |
| Primary hypertension | 203 (1.3) | 296 (1.9) | 499 (1.6) |
| Cerebrovascular disease | 192 (1.3) | 296 (1.9) | 488 (1.6) |
| Heart failure | 187 (1.2) | 174 (1.1) | 361 (1.2) |
| Coronary heart disease | 132 (0.9) | 157 (1.0) | 289 (1.0) |
* Reasons for ED admission as reported by ICD-9 code at ED discharge.
Algorithms performance for identifying syncope from EMRs.
| Algorithm | Accuracy | Sensitivity | PPV | F3 Score a | NPV | Specificity |
|---|---|---|---|---|---|---|
| NB-HuMan | 98.3 | 70.6 | 51.8 | 68.1 | 99.5 | 98.8 |
| SVM-HuMan | 96.7 | 92.6 | 34.1 | 78.8 | 99.9 | 96.8 |
| NB-NGI | 98.0 | 89.3 | 47.2 | 82.0 | 99.8 | 98.1 |
| SVM-NGI | 98.0 | 92.2 | 47.4 | 84.0 | 99.9 | 98.1 |
Abbreviations: NB, Naïve Bayes; HuMan, Humanitas Manual; SVM, Support Vector Machines; NGI, Normalized Gini Index. PPV, positive predictive value; NPV, negative predictive value. a F score is defined as the harmonic mean of the sensitivity and positive predictive value. F3 gives triple importance to sensitivity over precision (average value).
Algorithms performance comparison.
| Algorithm 1 | Algorithm 2 | Algorithm 1 F3 Score | Algorithm 2 F3 Score | 95% CI | |
|---|---|---|---|---|---|
| NB-HuMan | SVM-HuMan | 68.1 | 78.8 | −14.2–7.2 | <0.001 |
| SVM-HuMan | SVM-NGI | 78.8 | 84.0 | −8.3–2.1 | 0.005 |
Abbreviations: NB, Naïve Bayes; HuMan, Humanitas Manual; Support Vector Machines, SVM; Normalized Gini Index, NGI. F score is defined as in Table 2.