| Title: | Bayesian Surveillance Methods for Healthcare Performance Monitoring |
|---|---|
| Description: | Provides Bayesian surveillance methods for prospective monitoring of healthcare performance, patient safety, and clinical quality indicators. The package implements beta-binomial monitoring for binary outcomes, gamma-Poisson monitoring for count outcomes, posterior predictive alert probabilities, risk-adjusted surveillance, early-warning signal rules, simulation tools, and graphical summaries. Methods are motivated by risk-adjusted monitoring and healthcare surveillance frameworks including Steiner et al. (2000) <doi:10.1093/biostatistics/1.4.441>, Spiegelhalter et al. (2003) <doi:10.1002/sim.1546>, Cook et al. (2011) <doi:10.1136/bmjqs.2008.031831>, and Neuburger et al. (2017) <doi:10.1136/bmjqs-2016-005667>. |
| Authors: | Muhammad Zahir Khan [aut, cre] |
| Maintainer: | Muhammad Zahir Khan <[email protected]> |
| License: | GPL-3 |
| Version: | 0.1.0 |
| Built: | 2026-07-12 09:18:28 UTC |
| Source: | https://github.com/zerish12/bayessurveillance |
Bayesian Alert Probability
alert_probability(posterior_probability, threshold = 0.95)alert_probability(posterior_probability, threshold = 0.95)
posterior_probability |
Numeric vector of posterior probabilities. |
threshold |
Alert threshold. |
Logical vector indicating alerts.
Approximate Bayes Factor Alert
bayes_factor_alert(posterior_prob, prior_prob = 0.5, threshold = 3)bayes_factor_alert(posterior_prob, prior_prob = 0.5, threshold = 3)
posterior_prob |
Posterior probability of deterioration. |
prior_prob |
Prior probability of deterioration. |
threshold |
Bayes factor threshold. |
Data frame with Bayes factor and alert.
Bayesian CUSUM Surveillance
bayesian_cusum(observed, expected, threshold = 5, reset = TRUE)bayesian_cusum(observed, expected, threshold = 5, reset = TRUE)
observed |
Observed outcomes. |
expected |
Expected outcomes. |
threshold |
CUSUM alert threshold. |
reset |
Logical; reset CUSUM at zero. |
A data frame with Bayesian CUSUM statistics.
Bayesian EWMA Surveillance
bayesian_ewma(observed, expected, lambda = 0.2, threshold = 3)bayesian_ewma(observed, expected, lambda = 0.2, threshold = 3)
observed |
Observed outcomes. |
expected |
Expected outcomes. |
lambda |
EWMA smoothing parameter. |
threshold |
Alert threshold. |
A data frame with EWMA statistics.
Bayesian Funnel Plot Data
bayesian_funnel_plot(observed, expected, level = 0.95)bayesian_funnel_plot(observed, expected, level = 0.95)
observed |
Observed events. |
expected |
Expected events. |
level |
Credible interval level. |
A data frame for funnel plot construction.
Bayesian Beta-Binomial Monitoring for Binary Outcomes
beta_binomial_monitor(y, n, alpha_prior = 1, beta_prior = 1, threshold = 0.95)beta_binomial_monitor(y, n, alpha_prior = 1, beta_prior = 1, threshold = 0.95)
y |
Number of observed events at each time point. |
n |
Number of patients/cases at each time point. |
alpha_prior |
Prior alpha parameter. |
beta_prior |
Prior beta parameter. |
threshold |
Alert threshold for posterior probability. |
A data frame with posterior estimates and alert status.
Calibration Summary for Surveillance Predictions
calibration_surveillance(observed, predicted, groups = 10)calibration_surveillance(observed, predicted, groups = 10)
observed |
Binary observed outcomes. |
predicted |
Predicted risks. |
groups |
Number of calibration groups. |
Calibration table.
Saves high-resolution example figures to man/figures.
create_research_figures(output_dir = "man/figures")create_research_figures(output_dir = "man/figures")
output_dir |
Directory where figures are saved. |
Invisibly returns saved file paths.
Early-Warning Signal Rule
early_warning_signal(probability, threshold = 0.95, consecutive = 1)early_warning_signal(probability, threshold = 0.95, consecutive = 1)
probability |
Posterior or predictive probability. |
threshold |
Alert threshold. |
consecutive |
Number of consecutive signals required. |
Logical vector indicating alerts.
Calculate Expected Events
expected_events(risk, group = NULL)expected_events(risk, group = NULL)
risk |
Predicted patient-level risks. |
group |
Optional grouping variable. |
Expected event totals.
Observed Minus Expected Statistic
o_minus_e(observed, expected)o_minus_e(observed, expected)
observed |
Observed outcomes. |
expected |
Expected outcomes. |
Data frame with O-E statistics.
Plot Surveillance Results
plot_surveillance(data, y = "posterior_mean")plot_surveillance(data, y = "posterior_mean")
data |
Data frame returned by a surveillance function. |
y |
Column name to plot. |
A ggplot object.
Bayesian Gamma-Poisson Monitoring for Count Outcomes
poisson_gamma_monitor( y, exposure, shape_prior = 1, rate_prior = 1, threshold = 0.95 )poisson_gamma_monitor( y, exposure, shape_prior = 1, rate_prior = 1, threshold = 0.95 )
y |
Observed counts. |
exposure |
Exposure or expected counts. |
shape_prior |
Prior gamma shape. |
rate_prior |
Prior gamma rate. |
threshold |
Alert threshold. |
A data frame with posterior rate estimates and alerts.
Posterior Predictive Probability
posterior_predictive( observed, predicted, sd_pred, direction = c("higher", "lower") )posterior_predictive( observed, predicted, sd_pred, direction = c("higher", "lower") )
observed |
Observed value. |
predicted |
Predicted or expected value. |
sd_pred |
Predictive standard deviation. |
direction |
Direction of concern: "higher" or "lower". |
Posterior predictive tail probability.
Risk-Adjusted CUSUM
risk_adjusted_cusum(observed, expected, threshold = 5)risk_adjusted_cusum(observed, expected, threshold = 5)
observed |
Observed outcomes. |
expected |
Expected outcomes. |
threshold |
Alert threshold. |
Risk-adjusted CUSUM results.
Risk-Adjusted EWMA
risk_adjusted_ewma(observed, expected, lambda = 0.2, threshold = 3)risk_adjusted_ewma(observed, expected, lambda = 0.2, threshold = 3)
observed |
Observed outcomes. |
expected |
Expected outcomes. |
lambda |
EWMA smoothing parameter. |
threshold |
Alert threshold. |
Risk-adjusted EWMA results.
Risk-Adjusted Observed Minus Expected Monitoring
risk_adjusted_monitor(observed, expected, threshold = 3)risk_adjusted_monitor(observed, expected, threshold = 3)
observed |
Observed outcomes. |
expected |
Expected outcomes. |
threshold |
Alert threshold for cumulative O-E statistic. |
A data frame with O-E statistics and alerts.
ROC Evaluation for Surveillance Alerts
roc_surveillance(truth, score)roc_surveillance(truth, score)
truth |
Binary true outcome. |
score |
Numeric risk or alert score. |
A list containing ROC object and AUC.
Simulate Healthcare Surveillance Data
simulate_surveillance_data( n_time = 50, patients_per_time = 100, baseline_risk = 0.05, change_point = NULL, risk_multiplier = 1.5 )simulate_surveillance_data( n_time = 50, patients_per_time = 100, baseline_risk = 0.05, change_point = NULL, risk_multiplier = 1.5 )
n_time |
Number of time points. |
patients_per_time |
Number of patients per time point. |
baseline_risk |
Baseline event probability. |
change_point |
Time point where risk changes. |
risk_multiplier |
Risk multiplier after change point. |
A simulated surveillance data frame.
Summarise BayesSurveillance Results
## S3 method for class 'BayesSurveillance' summary(object, ...)## S3 method for class 'BayesSurveillance' summary(object, ...)
object |
A surveillance result data frame. |
... |
Additional arguments. |
Summary information.