Optimising antibiotic switching via forecasting of patient physiology
Organizations: Department of Computer Science, Centre for AI, UCL, UK · Institute of Health Informatics, UCL, UK · Department of Medical Microbiology, Infection Division, University College Hospital London, UK · Department of Computer Science, University of Copenhagen, Denmark
Abstract
Timely transition from intravenous (IV) to oral antibiotic therapy shortens hospital stays, reduces catheter-related infections, and lowers healthcare costs, yet one in five patients in England remain on IV antibiotics despite meeting switching criteria. Clinical decision support systems can improve switching rates, but approaches that learn from historical decisions reproduce the delays and inconsistencies of routine practice. We propose using neural processes to model vital sign trajectories probabilistically, predicting switch-readiness by comparing forecasts against clinical guidelines rather than learning from past actions, and ranking patients to prioritise clinical review. The design yields interpretable outputs, adapts to updated guidelines without retraining, and preserves clinical judgement. Validated on MIMIC-IV (US intensive care, 6,333 encounters) and UCLH (a large urban academic UK hospital group, 10,584 encounters), the system selects 2.2-3.2 more relevant patients than random. Our results demonstrate that forecasting patient physiology offers a principled foundation for decision support in antibiotic stewardship.
Figures & tables
| Statistic | MIMIC | UCLH |
|---|---|---|
| Number of admissions | 6,333 | 10,584 |
| Unique subjects | 5,850 | 8,701 |
| Age (years) | 65.70 15.29 | 55.98 19.24 |
| Length of stay (days) | 17.69 17.07 | 14.23 14.42 |
| Sex | ||
| Female | 2,579 (40.7%) | 5,564 (52.6%) |
| Dataset | Model | Variable | ||||
|---|---|---|---|---|---|---|
| HR | RR | SpO 2 | SBP | Temp. | ||
| (bpm) | (bpm) | (%) | (mmHg) | ( ∘ F) | ||
| UCLH | Repeat | 8.79 [8.76-8.82] | 1.97 [1.96-1.98] | 1.51 [1.51-1.52] | 12.86 [12.81-12.91] | 0.69 [0.69-0.70] |
| GBDT | 7.94 [7.92-7.96] | 1.76 [1.76-1.77] | 1.31 [1.30-1.31] | 10.86 [10.83-10.89] | 0.58 [0.58-0.58] | |
| NP | 7.58 [7.56-7.60] | 1.71 [1.70-1.72] | 1.30 [1.30-1.31] | 10.71 [10.67-10.75] | 0.57 [0.57-0.57] | |
| MIMIC | Repeat | 9.17 [9.14-9.19] | 4.09 [4.08-4.11] | 2.05 [2.04-2.05] | 14.29 [14.24-14.34] | 0.63 [0.62-0.63] |
| Dataset | Model | Metric | |||
|---|---|---|---|---|---|
| AUROC | AP | Brier Score | Precision@5 | ||
| UCLH | Logistic | 0.827 [0.823-0.831] | 0.740 [0.732-0.747] | 0.167 [0.165-0.169] | 0.836 [0.823-0.850] |
| GBDT | 0.862 [0.858-0.865] | 0.794 [0.787-0.800] | 0.149 [0.147-0.151] | 0.899 [0.888-0.910] | |
| NP | 0.858 [0.854-0.861] | 0.785 [0.779-0.792] | 0.216 [0.212-0.219] | 0.883 [0.871-0.894] | |
| NP-tuned | 0.867 [0.864-0.871] | 0.800 [0.793-0.807] | 0.146 [0.144-0.148] | 0.901 [0.890-0.912] | |
| MIMIC | Logistic | 0.759 [0.749-0.767] | 0.300 [0.284-0.315] | 0.098 [0.095-0.100] | 0.280 [0.263-0.297] |
| Dataset | Model | Metric | |||
|---|---|---|---|---|---|
| F1 Score | Accuracy | Precision | Recall | ||
| UCLH | Repeat | 0.704 [0.699-0.709] | 0.700 [0.696-0.704] | 0.587 [0.581-0.594] | 0.879 [0.874-0.884] |
| Logistic | 0.719 [0.714-0.724] | 0.736 [0.732-0.740] | 0.634 [0.627-0.640] | 0.832 [0.827-0.838] | |
| GBDT | 0.744 [0.740-0.749] | 0.765 [0.761-0.769] | 0.667 [0.661-0.673] | 0.843 [0.837-0.848] | |
| NP | 0.741 [0.736-0.746] | 0.754 [0.751-0.759] | 0.649 [0.643-0.655] | 0.863 [0.857-0.868] | |
| NP-tuned | 0.748 [0.744-0.754] | 0.764 [0.760-0.768] | 0.660 [0.654-0.666] | 0.864 [0.859-0.870] | |
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| Variable | Range | Units |
|---|---|---|
| Heart Rate | 10 – 400 | bpm |
| Systolic Blood Pressure | 0 – 400 | mmHg |
| Oxygen Saturation | 0 – 100 | % |
| Respiration Rate | 0 – 120 | bpm |
| Temperature | 50 – 120 | °F |
| MIMIC-IV | UCLH | |||
|---|---|---|---|---|
| Partition | Forecasting | Switch-readiness | Forecasting | Switch-readiness |
| Train | 167,923 | 79,148 | 344,133 | 76,586 |
| Val. | 18,804 | 8,902 | 38,864 | 8,885 |
| Test | 52,537 | 22,615 | 186,759 | 41,053 |
| Measurement | Switch Criterion |
|---|---|
| Temperature ( ∘ F) | 96.8 – 100.4 |
| Heart Rate (bpm) | 41 – 90 |
| Respiratory Rate (breaths/min) | 9 – 20 |
| Systolic BP (mmHg) | 101 – 219 |
| SpO2 (%) |
| Parameter | Value |
|---|---|
| Architecture | |
| Number of layers | 4 |
| Number of channels ∗ | {64, 128, 256, 512} |
| Lengthscale | 1.0 hour |
| Training | |
| Learning rate ∗ | { , , , , } |
| Parameter | Value |
|---|---|
| Architecture | |
| Hidden layer 1 size | 256 |
| Hidden layer 2 size | 128 |
| Dropout rate | {0.0, 0.1, 0.5} |
| Training | |
| Learning rate | { , , , } |
| Parameter | Value |
|---|---|
| GBDT | |
| Number of estimators | {5, 10, 50, 100, 200} |
| Maximum depth | {3, 4, 5, 6} |
| Learning rate | {0.001, 0.005, 0.05, 0.1, 0.5} |
| Logistic Regression | |
| Inverse regularization strength (C) | {0.1, 1.0, 10.0, 100.0, 1000.0} |
| Measurement | Switch Criterion |
|---|---|
| Temperature ( ∘ F) | 96.8 – 100.58 |
| Heart Rate (bpm) | 40 – 131 |
| Respiratory Rate (breaths/min) | 8 – 24 |
| Systolic BP (mmHg) | 90 – 229 |
| SpO2 (%) |
| Dataset | Model | Metric | |||
|---|---|---|---|---|---|
| AUROC | AP | Brier Score | Precision@5 | ||
| MIMIC-loose | Logistic | 0.676 [0.669-0.682] | 0.650 [0.640-0.660] | 0.229 [0.228-0.231] | 0.680 [0.663-0.696] |
| GBDT | 0.829 [0.824-0.834] | 0.809 [0.801-0.817] | 0.168 [0.165-0.170] | 0.835 [0.821-0.849] | |
| NP | 0.836 [0.831-0.841] | 0.810 [0.802-0.817] | 0.239 [0.235-0.243] | 0.841 [0.827-0.855] | |
| NP-tuned | 0.814 [0.809-0.820] | 0.792 [0.783-0.800] | 0.175 [0.172-0.177] | 0.822 [0.808-0.838] | |
| Dataset | Model | Metric | |||
|---|---|---|---|---|---|
| F1 Score | Accuracy | Precision | Recall | ||
| MIMIC-loose | Repeat | 0.739 [0.733-0.745] | 0.700 [0.695-0.706] | 0.654 [0.647-0.662] | 0.849 [0.842-0.856] |
| Logistic | 0.684 [0.678-0.690] | 0.560 [0.554-0.567] | 0.534 [0.527-0.541] | 0.950 [0.946-0.954] | |
| GBDT | 0.772 [0.766-0.777] | 0.741 [0.736-0.747] | 0.690 [0.683-0.697] | 0.875 [0.869-0.881] | |
| NP | 0.779 [0.773-0.784] | 0.753 [0.748-0.759] | 0.707 [0.699-0.714] | 0.867 [0.861-0.872] | |
| NP-tuned | 0.762 [0.756-0.768] | 0.730 [0.724-0.736] | 0.681 [0.674-0.689] | 0.865 [0.859-0.872] | |
Clinical Decision Support
Clinical Decision Support uses data, medical knowledge, and AI to help clinicians assess patients and choose tests, diagnoses, and treatments.
See all 242 papers