Description Usage Arguments Value Author(s) References See Also Examples
SRU
calculates the standardized resource use for ICUs (Intensive Care Units) from information regarding admissions of individual patients. Resource use is represented by the patient's length of stay (LOS). Therefore the SRU for each unit is defined as the observed LOS divided by it's expected LOS. To estimate the expected LOS for each ICU one must define a severity score, here defined by the SAPS 3 score. In theory, the 'score' could be any score/probability that estimates death for each ICU admission.
The plot.SRU
function will return a SMR
versus SRU scatter plot with its medians and tertiles. Thus, it classifies each unit in the quadrants formed by these two medians as: most efficient (ME) which is the lower left quadrant (both SRU and SMR below their medians); least efficient (LE) is the upper right quadrant (both SRU and SMR above their medians); and least achieving (LA)  the lower right quadrant (SRU below and SMR above their medians); and over achieving (OA)  the upper left quadrant (SRU above and SMR below their medians).
print.SRU
Prints a object of class 'SRU'.
cut_in
is used to find limits to define severity classes which are used in SRU
function. The severity classes are necessary to calculate the average of days to produce one survivor and consequently to estimate the expected LOS in each ICU. Its rationale is to find the limits for the severity classes that yeld a desired average of days to produce one survivor. At some point in time, we made a study to test if different arrangements of the severity classes would yeld different classifications in the efficiency quadrants. Despite the fact that this study did not show any difference from each approach, we left the function in the package. Therefore, any arbitrary severity classes should yeild the same results.
SRUcalc
is a simpler function to estimte SRU and returns, for each unit, the SRU value, the observed and expected number of deaths, and the observed and expected LOS.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22  SRU(prob, death, unit, los, los.exp, class, score, plot = FALSE,
type = 1, digits = 2, digits2 = 5, originals = FALSE,
myunits = NULL)
## S3 method for class 'SRU'
print(x, ...)
## S3 method for class 'SRU'
plot(x, ..., xlim = range(x$rates[, 2]),
ylim = range(x$rates[, 1]), xlab = "SMR", ylab = "SRU",
points.arg = list(pch = 21, col = "white", bg = "cadetblue3", cex =
1.5), med.arg = list(col = "dodgerblue4", lwd = 2, lty = 1),
tert.arg = list(col = "darkorange2", lty = 2, lwd = 1),
auto.legend = TRUE, leg.arg = list(x = "top", bty = "n", xpd = NA,
inset = 0.2, ncol = 2), bty = "n", myunits = x$myunits,
myunitspts.arg = list(pch = 21, col = "white", bg = "red", cex = 1.5),
myunitstext.arg = list(pos = 1, font = 2, cex = 0.8))
cut_in(score, los, death, unit, days, min = 200, exc.ICU = TRUE,
complete = FALSE, digits = 5)
SRUcalc(prob, death, unit, los, score, digits = 2)

prob 
Individual predicted probability of death (ranging from 0 to 1) in a vector. 
death 
Observed death. Accepted values are 0 (absence) or 1 (presence) in a vector. 
unit 
A character or factor variable indicating the ICU where the patient is admitted. 
los 
A numeric variable indicating the observed length of stay for each patient. 
los.exp 
Estimated length of stay (LOS). This argument is optional and will be required only if 
class 
A factor variable indicating the class of severity score (e.g. SAPS 3). In the case of SAPS 3, this is a cut in the SAPS 3 score, grouping patients into severity classes. This will be required if the argument 
score 
A numeric vector with the Acute Physiology Score (SAPS) 3 score for each admission. The function will use this argument to know to which severity class each patient will be assigned to. It is used only when 
plot 
Logical; If 
type 
A Way to calculate SRU. If 
digits, digits2 
Integer indicating the number of decimals to be used in the output. 
originals 
Logical; If 
myunits 
A character vector with the unit names which one would like to benchmark among all units. These units will be highlighted with dots of different collors in the plot. Default is 
x 
For 
... 
Arguments to be passed to 
xlim, ylim 
Limits of x and y axis for 
xlab, ylab 
Labels of x and y axis for 
points.arg 
List of arguments passed to 
med.arg 
List of arguments passed to 
tert.arg 
List of arguments passed to 
auto.legend 
Logical; If 
leg.arg 
List of arguments passed to 
bty 
A character string which determines the type of box that is drawn about plots. See 
myunitspts.arg 
List of arguments passed to 
myunitstext.arg 
List of arguments passed to 
days 
For 
min 
For 
exc.ICU 
Logical; For 
complete 
Logical; For 
Two tables: one with information about severity classes and the respective quantities required to estimate the expected LOS, and another with information about ICUs classified as Most Efficient (ME) or Least Efficient (LE).
Sev
Severity class.
Total
Total of patients.
Surv
Total of survivors.
Total.LOS
Total length of stay (days).
AvDays
Average days to produce a survivor.
N.Unit
Quantity of ICUs.
N.Pat
Quantity of patients.
SMR
Standardized Mortality Ratio Mean (standard deviation).
SRU
Standardized Resource Use Mean (standard deviation).
Most Efficient ICUs have SRU, SMR < median. Least Efficient ICUs have SRU, SMR > median.
cut_in
returns a vector with the limits to cut the severity score.
SRUcalc
returns a table with:
Unit
ICUs names.
SMR or SRU
Standardized Rate.
N
Number of subjects analyzed.
Observed
Observed number of deaths.
Expected
Expected number of deaths.
LOS_esp
Expected length of stay.
Lunna Borges and Pedro Brasil
Rothen HU, Stricker K, Einfalt J, Bauer P, Metnitz PGH, Moreno RP, Takala J (2007) Variability in outcome and resource use in intensive care units. Intensive Care Med 33:13291336
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37  # Loading the dataset
data(icu)
# Removing data with inapropriate values and some editing
icu < icu[which(icu$los < 0 ),]
icu$Saps3DeathProbabilityStandardEquation < icu$Saps3DeathProbabilityStandardEquation / 100
# Setting classes acording to limits of SAPS 3 score
days < seq(1,100)
cut_lims < cut_in(icu$Saps3Points, icu$los, icu$UnitDischargeName,
icu$Unit, days, exc.ICU = TRUE)
icu$class < cut(icu$Saps3Points, breaks = cut_lims, include.lowest = TRUE)
# Estimating the SRU benchmarking myunit A and B
x < SRU(prob = icu$Saps3DeathProbabilityStandardEquation,
death = icu$UnitDischargeName, unit = icu$Unit,
los = icu$los, score = icu$Saps3Points,
originals = TRUE, type = 1, plot = FALSE, myunits = c("A","B"))
x
plot(x)
# To see the units rankings and individual SMR and SRU, ordering by its SRU
x$rates[order(x$rates$sru),]
# SRU with diferent severity classes created by cut_in function
y < SRU(prob = icu$Saps3DeathProbabilityStandardEquation,
death = icu$UnitDischargeName, unit = icu$Unit,
los = icu$los, score = icu$Saps3Points,
originals = FALSE, type = 1, plot = FALSE, class = icu$class)
y
# Using SRUcalc
SRUcalc(prob = icu$Saps3DeathProbabilityStandardEquation,
death = icu$UnitDischargeName, unit = icu$Unit, los = icu$los,
score = icu$Saps3Points)
rm(x, y, days, icu, cut_lims)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.