Creating a Frailty Case Definition for Primary Care EMR Using Machine Learning
Bibliographic record
Abstract
Background: Frailty is a geriatric syndrome characterized by increased vulnerability and increased risk of adverse events. The Clinical Frailty Scale (CFS) is a judgement-based scale used to identify frailty in senior populations (over the age of 65). Primary care electronic medical records (EMRs) contain routinely collected medical data and can be used for frailty screening. There is currently no method to detect frailty automatically using primary care electronic medical records that aligns with the CFS definition. Purpose: To create a machine learning based algorithm for the identification of frailty in routinely collected primary care electronic medical records. Methods: Primary care physicians within the Canadian Primary Care Sentinel Surveillance Network retrospectively identified frailty in 5466 senior patients from their own practice using the CFS, and the corresponding patient EMR data were extracted and processed as features. The patient data were split 30-70, with 30% being the hold-out set used for final testing and 70% for the training set. A collection of machine learning algorithms was created using the training dataset, including regularized logistic regression models, support vector machines, random forests, k-nearest neighbours, classification and regression trees, feedforward neural networks, Naïve Bayes, and XGBoost. A balanced training dataset was also created by oversampling. Sensitivity analyses were also performed using two alternative dichotomization cut-offs of frailty. Final model performance was assessed using the hold-out dataset, and reported using ROC, accuracy, F1-score, sensitivity, specificity, positive and negative predictive values. Results: 18.4% of patients were classified as frail based on a CFS score of 5 and above. Of the 8 models developed, an XGBoost model had the best classification performance, with sensitivity of 78.14% and specificity of 74.41%. Neither the balanced training dataset, nor the sensitivity analyses using two alternative cut-offs resulted in improved performance. Conclusion: Supervised machine learning was able to distinguish between frail and non-frail patients with good performance. Future work may wish to develop a protocol for standardized assignment of the CFS, use all available unstructured and structured data, and supplement with additional geriatric-specific data.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.008 | 0.031 |
| Meta-epidemiology (narrow) | 0.001 | 0.000 |
| Meta-epidemiology (broad) | 0.001 | 0.001 |
| Bibliometrics | 0.007 | 0.002 |
| Science and technology studies | 0.001 | 0.001 |
| Scholarly communication | 0.002 | 0.001 |
| Open science | 0.002 | 0.002 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.002 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".