bernoulli_cusum: Risk-adjusted Bernoulli CUSUM

View source: R/bernoulli_cusum.R

bernoulli_cusumR Documentation

Risk-adjusted Bernoulli CUSUM

Description

This function can be used to construct a risk-adjusted Bernoulli CUSUM chart for survival data. It requires the specification of one of the following combinations of parameters as arguments to the function:

  • glmmod & theta

  • p0 & theta

  • p0 & p1

Usage

bernoulli_cusum(data, followup, glmmod, theta, p0, p1, h, stoptime)

Arguments

data

A data.frame containing the following named columns for each subject:

entrytime:

time of entry into study (numeric);

survtime:

time from entry until event (numeric);

censorid:

censoring indicator (0 = right censored, 1 = observed) (integer);

and optionally additional covariates used for risk-adjustment.

followup

The value of the follow-up time to be used to determine event time. Event time will be equal to entrytime + followup for each subject.

glmmod

Generalized linear regression model used for risk-adjustment as produced by the function glm(). Suggested:
glm(as.formula("(survtime <= followup) & (censorid == 1) ~ covariates"), data = data).
Alternatively, a list containing the following elements:

formula:

a formula() in the form ~ covariates;

coefficients:

a named vector specifying risk adjustment coefficients for covariates. Names must be the same as in formula and colnames of data.

theta

The theta value used to specify the odds ratio e^θ under the alternative hypothesis. Note that

p1 = (p0 * e^θ)/((1-p0) * (1+p0 e^θ)).

p0

The baseline failure probability at entrytime + followup for individuals.

p1

The alternative hypothesis failure probability at entrytime + followup for individuals.

h

(optional): Control limit to be used for the procedure.

stoptime

(optional): Time after which the value of the chart should no longer be determined.

Details

The Bernoulli CUSUM chart is given by

S_n = max(0, S_{n-1} + W_n),

where

W_n = X_n ln((p_1 * (1-p_0))/(p_0 * (1-p_1))) + ln((1-p_1)/(1-p_0))

and X_n is the outcome of the n-th (chronological) subject in the data. Instead of the standard practice of displaying patient numbering on the x-axis, the time of outcome is displayed.

Value

An object of class bercusum containing:

  • CUSUM: A data.frame containing the following named columns:

    time:

    times at which chart is constructed;

    value:

    value of the chart at corresponding times;

    numobs:

    number of observations at corresponding times.

  • call: the call used to obtain output;

  • glmmod: coefficients of the glm() used for risk-adjustment, if specified;

  • stopind: indicator for whether the chart was stopped by the control limit.

Author(s)

Daniel Gomon

See Also

plot.bercusum, runlength.bercusum

Other quality control charts: bk_cusum(), cgr_cusum(), funnel_plot()

Examples

#We consider patient outcomes 100 days after their entry into the study.
followup <- 100
#Determine a risk-adjustment model using a generalized linear model.
#Outcome (failure within 100 days) is regressed on the available covariates:
exprfitber <- as.formula("(survtime <= followup) & (censorid == 1)~ age + sex + BMI")
glmmodber <- glm(exprfitber, data = surgerydat, family = binomial(link = "logit"))
#Construct the Bernoulli CUSUM on the 1st hospital in the data set.
bercus <- bernoulli_cusum(data = subset(surgerydat, hosp_num == 1), glmmod = glmmodber,
 followup = followup, theta = log(2))
#Plot the Bernoulli CUSUM
plot(bercus)

d-gomon/cgrcusum documentation built on May 3, 2022, 9:40 p.m.