callback_sofa: SOFA score label

sofa_scoreR Documentation

SOFA score label

Description

The SOFA (Sequential Organ Failure Assessment) score is a commonly used assessment tool for tracking a patient's status during a stay at an ICU. Organ function is quantified by aggregating 6 individual scores, representing respiratory, cardiovascular, hepatic, coagulation, renal and neurological systems. The function sofa_score() is used as callback function to the sofa concept but is exported as there are a few arguments that can used to modify some aspects of the presented SOFA implementation. Internally, sofa_score() calls first sofa_window(), followed by sofa_compute() and arguments passed as ... will be forwarded to the respective internally called function.

Usage

sofa_score(
  ...,
  worst_val_fun = max_or_na,
  explicit_wins = FALSE,
  win_length = hours(24L),
  keep_components = FALSE,
  interval = NULL
)

sofa_resp(..., interval = NULL)

sofa_coag(..., interval = NULL)

sofa_liver(..., interval = NULL)

sofa_cardio(..., interval = NULL)

sofa_cns(..., interval = NULL)

sofa_renal(..., interval = NULL)

Arguments

...

Concept data, either passed as list or individual argument

worst_val_fun

functions used to calculate worst values over windows

explicit_wins

The default FALSE iterates over all time steps, TRUE uses only the last time step per patient and a vector of times will iterate over these explicit time points

win_length

Time-frame to look back and apply the worst_val_fun

keep_components

Logical flag indicating whether to return the individual components alongside the aggregated score (with a suffix ⁠_comp⁠ added to their names)

interval

Time series interval (only used for checking consistency of input data, NULL will use the interval of the first data object)

Details

The function sofa_score() calculates, for each component, the worst value over a moving window as specified by win_length, using the function passed as worst_val_fun. The default functions max_or_na() return NA instead of -Inf/Inf in the case where no measurement is available over an entire window. When calculating the overall score by summing up components per time-step, a NA value is treated as 0.

Building on separate concepts, measurements for each component are converted to a component score using the definition by Vincent et. al.:

SOFA score 1 2 3 4
Respiration
PaO\subs2/FiO\subs2 [mmHg] < 400 < 300 < 200 < 100
and mechanical ventilation yes yes
Coagulation
Platelets [\tims10\sups3/mm\sups3] < 150 < 100 < 50 < 20
Liver
Bilirubin [mg/dl] 1.2-1.9 2.0-5.9 6.0-11.9 > 12.0
Cardiovascular\supsa
MAP < 70 mmHg
or dopamine \leq5 > 5 > 15
or dobutamine any dose
or epinephrine \leq0.1 > 0.1
or norepinephrine \leq0.1 > 0.1
Central nervous system
Glasgow Coma Score 13-14 10-12 6-9 < 6
Renal
Creatinine [mg/dl] 1.2-1.9 2.0-3.4 3.5-4.9 > 5.0
or urine output [ml/day] < 500 < 200

Adrenergic\supsa agents administered for at least 1h (doses given are in [\smug/kg \dotm min]

At default, for each patient, a score is calculated for every time step, from the first available measurement to the last. In instead of a regularly evaluated score, only certain time points are of interest, this can be specified using the explicit_wins argument: passing for example hours(24, 48) will yield for every patient a score at hours 24 and 48 relative to the origin of the current ID system (for example ICU stay).

Value

A ts_tbl object.

References

Vincent, J.-L., Moreno, R., Takala, J. et al. The SOFA (Sepsis-related Organ Failure Assessment) score to describe organ dysfunction/failure. Intensive Care Med 22, 707–710 (1996). https://doi.org/10.1007/BF01709751


ricu documentation built on Sept. 8, 2023, 5:45 p.m.