Skip to contents

Generate the cardiovascular organ system dysfunction score as part of the diagnostic Phoenix Sepsis Criteria.

Usage

phoenix_cardiovascular(
  vasoactives = NA_integer_,
  lactate = NA_real_,
  age = NA_real_,
  map = NA_real_,
  data = parent.frame(),
  ...
)

Arguments

vasoactives

an integer vector, the number of systemic vasoactive medications being administered to the patient. Six vasoactive medications are considered: dobutamine, dopamine, epinephrine, milrinone, norepinephrine, vasopressin.

lactate

numeric vector with the lactate value in mmol/L

age

numeric vector age in months

map

numeric vector, mean arterial pressure in mmHg

data

a list, data.frame, or environment containing the input vectors

...

pass through

Value

a integer vector with values 0, 1, 2, 3, 4, 5, or 6.

As with all other Phoenix organ system scores, missing values in the data set will map to a score of zero - this is consistent with the development of the criteria.

Details

There where six systemic vasoactive medications considered when the Phoenix criteria was developed: dobutamine, dopamine, epinephrine, milrinone, norepinephrine, and vasopressin.

During development, the values used for map were taken preferentially from arterial measurement, then cuff measures, and provided values before approximating the map from blood pressure values via DBP + 1/3 (SBP - DBP), where DBP is the diastolic blood pressure and SBP is the systolic blood pressure.

Phoenix Cardiovascular Scoring

The Phoenix Cardiovascular score ranges from 0 to 6 points; 0, 1, or 2 points for each of systolic vasoactive medications, lactate, and MAP.

Systemic Vasoactive Medications

0 medications0 points
1 medication1 point
2 or more medications2 points

Lactate

[0, 5)0 points
[5, 11)1 point
[11, Inf)2 points

MAP

Age in [0, 1) months
[31, Inf) mmHg0 points
[17, 31) mmHg1 point
[0, 17) mmHg2 points
Age in [1, 12) months
[39, Inf) mmHg0 points
[25, 39) mmHg1 point
[0, 25) mmHg2 points
Age in [12, 24) months
[44, Inf) mmHg0 points
[31, 44) mmHg1 point
[0, 31) mmHg2 points
Age in [24, 60) months
[45, Inf) mmHg0 points
[32, 45) mmHg1 point
[0, 32) mmHg2 points
Age in [60, 144) months
[49, Inf) mmHg0 points
[36, 49) mmHg1 point
[0, 36) mmHg2 points
Age in [144, 216] months
[52, Inf) mmHg0 points
[38, 52) mmHg1 point
[0, 38) mmHg2 points

References

See reference details in phoenix-package or by calling citation('phoenix').

See also

vignette('phoenix') for more details and examples.

Examples


# using the example sepsis data set
phoenix_cardiovascular(
   vasoactives = dobutamine + dopamine + epinephrine + milrinone + norepinephrine + vasopressin,
   lactate = lactate,
   age = age,
   map = dbp + (sbp - dbp)/3,
   data = sepsis
)
#>  [1] 2 2 1 0 0 1 4 0 3 0 3 0 0 2 3 2 2 2 2 1

# example data set to get all the possible scores
DF <-
  expand.grid(vasos = c(NA, 0:6),
              lactate = c(NA, 3.2, 5, 7.8, 11, 14),
              age = c(NA, 0.4, 1, 3, 12, 18, 24, 45, 60, 61, 144, 145),
              map = c(NA, 16:52))
DF$card <- phoenix_cardiovascular(vasos, lactate, age, map, DF)
head(DF)
#>   vasos lactate age map card
#> 1    NA      NA  NA  NA    0
#> 2     0      NA  NA  NA    0
#> 3     1      NA  NA  NA    1
#> 4     2      NA  NA  NA    2
#> 5     3      NA  NA  NA    2
#> 6     4      NA  NA  NA    2

# what if lactate is unknown for all records? - set the value either in the
# data object or the arguement value to NA
DF2 <-
  expand.grid(vasos = c(NA, 0:6),
              age = c(NA, 0.4, 1, 3, 12, 18, 24, 45, 60, 61, 144, 145),
              map = c(NA, 16:52))
DF2$card <- phoenix_cardiovascular(vasos, lactate = NA, age, map, DF2)

DF3 <-
  expand.grid(vasos = c(NA, 0:6),
              lactate = NA,
              age = c(NA, 0.4, 1, 3, 12, 18, 24, 45, 60, 61, 144, 145),
              map = c(NA, 16:52))
DF3$card <- phoenix_cardiovascular(vasos, lactate, age, map, DF3)

identical(DF2$card, DF3$card)
#> [1] TRUE