Package 'phoenix'

Title: The Phoenix Pediatric Sepsis and Septic Shock Criteria
Description: Implementation of the Phoenix and Phoenix-8 Sepsis Criteria as described in "Development and Validation of the Phoenix Criteria for Pediatric Sepsis and Septic Shock" by Sanchez-Pinto, Bennett, DeWitt, Russell et al. (2024) <doi:10.1001/jama.2024.0196> (Drs. Sanchez-Pinto and Bennett contributed equally to this manuscript; Dr. DeWitt and Mr. Russell contributed equally to the manuscript), "International Consensus Criteria for Pediatric Sepsis and Septic Shock" by Schlapbach, Watson, Sorce, Argent, et al. (2024) <doi:10.1001/jama.2024.0179> (Drs Schlapbach, Watson, Sorce, and Argent contributed equally) and the application note "phoenix: an R package and Python module for calculating the Phoenix pediatric sepsis score and criteria" by DeWitt, Russell, Rebull, Sanchez-Pinto, and Bennett (2024) <doi:10.1093/jamiaopen/ooae066>.
Authors: Peter DeWitt [aut, cre] , Seth Russell [ctb] , Meg Rebull [ctb] , Tell Bennett [ctb] , L. Nelson Sanchez-Pinto [ctb]
Maintainer: Peter DeWitt <[email protected]>
License: MIT + file LICENSE
Version: 1.1.1
Built: 2024-11-13 05:44:50 UTC
Source: https://github.com/cu-dbmi-peds/phoenix

Help Index


Mean Arterial Pressure

Description

Estimate mean arterial pressure from systolic and diastolic blood pressures.

Usage

map(sbp, dbp)

Arguments

sbp

numeric vector, systolic blood pressure measured in mmHg

dbp

numeric vector, diastolic blood pressure measured in mmHg

Details

Mean Arterial Pressure is approximated by: (DBP + (SBP - DBP) / 3) = (2/3) DBP + (1/3) SBP

Value

a numeric vector

Examples

DF <- expand.grid(sbp = 40:130, dbp = 20:100)
DF$map <- with(DF, map(sbp, dbp))
with(DF, plot(sbp, dbp, col = map))
DF$map[DF$sbp < DF$dbp] <- NA

z <- matrix(DF$map, nrow = length(unique(DF$sbp)), ncol = length(unique(DF$dbp)))

image(
  x = unique(DF$sbp),
  y = unique(DF$dbp),
  z = z,
  col = hcl.colors(100, palette = "RdBu"),
  xlab = "SBP (mmHg)",
  ylab = "DBP (mmHg)",
  main = "Estimated Mean Arterial Pressue"
)
contour(x = unique(DF$sbp), y = unique(DF$dbp), z = z, add = TRUE)

The Phoenix Sepsis Score

Description

The diagnostic Phoenix Sepsis Criteria based on four organ dysfunction scores, respiratory, cardiovascular, coagulation, and neurologic. A score of 2 or more indicates sepsis.

Usage

phoenix(
  pf_ratio,
  sf_ratio,
  imv,
  other_respiratory_support,
  vasoactives,
  lactate,
  map,
  platelets,
  inr,
  d_dimer,
  fibrinogen,
  gcs,
  fixed_pupils,
  age,
  data = parent.frame(),
  ...
)

Arguments

pf_ratio

numeric vector for the PaO2/FiO2 ratio; PaO2 = arterial oxygen pressure; FiO2 = fraction of inspired oxygen; PaO2 is measured in mmHg and FiO2 is from 0.21 (room air) to 1.00.

sf_ratio

numeric vector for the SpO2/FiO2 ratio; SpO2 = oxygen saturation, measured in a percent; ratio for 92% oxygen saturation on room air is 92/0.21 = 438.0952.

imv

invasive mechanical ventilation; numeric or integer vector, (0 = not intubated; 1 = intubated)

other_respiratory_support

other respiratory support; numeric or integer vector, (0 = no support; 1 = support)

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

map

numeric vector, mean arterial pressure in mmHg

platelets

numeric vector for platelets counts in units of 1,000/uL (thousand per microliter)

inr

numeric vector for the international normalised ratio blood test

d_dimer

numeric vector for D-Dimer, units of mg/L FEU

fibrinogen

numeric vector units of mg/dL

gcs

integer vector; total Glasgow Comma Score

fixed_pupils

integer vector; 1 = bilaterally fixed pupil, 0 = otherwise

age

numeric vector age in months

data

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

...

pass through

Details

The details of each of the four component scores are found in there respective help files.

Value

A data.frame with seven columns:

  1. phoenix_respiratory_score

  2. phoenix_cardiovascular_score

  3. phoenix_coagulation_score

  4. phoenix_neurologic_score

  5. phoenix_sepsis_score

  6. phoenix_sepsis An integer vector, 0 = not septic, 1 = septic (score greater or equal to 2)

  7. phoenix_septic_shock An integer vector, 0 = not septic shock, 1 = septic shock (score greater or equal 2 and cardiovascular dysfunction)

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.

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, read more details in the vignette
phoenix_scores <-
  phoenix(
    # respiratory
      pf_ratio = pao2 / fio2,
      sf_ratio = ifelse(spo2 <= 97, spo2 / fio2, NA_real_),
      imv = vent,
      other_respiratory_support = as.integer(fio2 > 0.21),
    # cardiovascular
      vasoactives = dobutamine + dopamine + epinephrine + milrinone + norepinephrine + vasopressin,
      lactate = lactate,
      age = age,
      map = dbp + (sbp - dbp)/3,
    # coagulation
      platelets = platelets,
      inr = inr,
      d_dimer = d_dimer,
      fibrinogen = fibrinogen,
    # neurologic
      gcs = gcs_total,
      fixed_pupils = as.integer(pupil == "both-fixed"),
    data = sepsis
  )

str(phoenix_scores)

Phoenix Cardiovascular Score

Description

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

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.

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.

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 medications 0 points
1 medication 1 point
2 or more medications 2 points

Lactate

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

MAP

Age in [0, 1) months
[31, Inf) mmHg 0 points
[17, 31) mmHg 1 point
[0, 17) mmHg 2 points
Age in [1, 12) months
[39, Inf) mmHg 0 points
[25, 39) mmHg 1 point
[0, 25) mmHg 2 points
Age in [12, 24) months
[44, Inf) mmHg 0 points
[31, 44) mmHg 1 point
[0, 31) mmHg 2 points
Age in [24, 60) months
[45, Inf) mmHg 0 points
[32, 45) mmHg 1 point
[0, 32) mmHg 2 points
Age in [60, 144) months
[49, Inf) mmHg 0 points
[36, 49) mmHg 1 point
[0, 36) mmHg 2 points
Age in [144, 216] months
[52, Inf) mmHg 0 points
[38, 52) mmHg 1 point
[0, 38) mmHg 2 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
)

# 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)

# 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)

Phoenix Coagulation Score

Description

Applies the Phoenix coagulation organ dysfunction scoring to a set of inputs.

Usage

phoenix_coagulation(
  platelets = NA_real_,
  inr = NA_real_,
  d_dimer = NA_real_,
  fibrinogen = NA_real_,
  data = parent.frame(),
  ...
)

Arguments

platelets

numeric vector for platelets counts in units of 1,000/uL (thousand per microliter)

inr

numeric vector for the international normalised ratio blood test

d_dimer

numeric vector for D-Dimer, units of mg/L FEU

fibrinogen

numeric vector units of mg/dL

data

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

...

pass through

Value

a integer vector with values 0, 1, or 2

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.

Phoenix Coagulation Scoring

1 point each for platelets < 100 K/micro liter, INR > 1.3, D-dimer > 2 mg/L FEU, and fibrinogen < 100 mg/dL, with a max total score of 2.

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 data set
phoenix_coagulation(
  platelets = platelets,
  inr = inr,
  d_dimer = d_dimer,
  fibrinogen = fibrinogen,
  data = sepsis
)

# build a data.frame with values for all possible combationations of values
# leading to all possible coagulation scores.
DF <-
  expand.grid(plts = c(NA, 20, 100, 150),
              inr  = c(NA, 0.2, 1.3, 1.8),
              ddmr = c(NA, 1.7, 2.0, 2.8),
              fib  = c(NA, 88, 100, 120))

DF$coag <- phoenix_coagulation(plts, inr, ddmr, fib, DF)
DF

Phoenix Endocrine Score

Description

Assess the Phoenix endocrine organ dysfunction score. This score is not part of the Phoenix score, only part of the Phoenix-8 score.

Usage

phoenix_endocrine(glucose = NA_real_, data = parent.frame(), ...)

Arguments

glucose

numeric vector; blood glucose measured in mg/dL

data

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

...

pass through

Value

a integer vector with values 0 or 1

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.

Phoenix Endocrine Scoring

The endocrine dysfunction score is based on blood glucose with one point for levels < 50 mg/dL or > 150 mg/dL.

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
endo_example <- sepsis[c("pid", "glucose")]
endo_example$score <- phoenix_endocrine(glucose, data = sepsis)
endo_example

# example data set to get all the possible endocrine scores
DF <- data.frame(glc = c(NA, 12, 50, 55, 100, 150, 178))
phoenix_endocrine(glucose = glc, data = DF)

Phoenix Hepatic Score

Description

Apply the Phoenix Hepatic scoring based on total bilirubin and ALT.

Usage

phoenix_hepatic(
  bilirubin = NA_real_,
  alt = NA_real_,
  data = parent.frame(),
  ...
)

Arguments

bilirubin

numeric vector; units of mg/dL

alt

alanine aminotransferase; a numeric vector; units of IU/L

data

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

...

pass through

Value

a integer vector with values 0 or 1

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.

Phoenix Hepatic Scoring

1 point for total bilirubin greater or equal to 4 mg/dL and/or ALT strictly greater than 102 IU/L.

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
hep_example <- sepsis[c("pid", "bilirubin", "alt")]
hep_example$score <- phoenix_hepatic(bilirubin, alt, sepsis)
hep_example

# example data set with all possilbe hepatic scores
DF <- expand.grid(bil = c(NA, 3.2, 4.0, 4.3), alt = c(NA, 99, 102, 106))
phoenix_hepatic(bilirubin = bil, alt = alt, data = DF)

Phoenix Immunologic Score

Description

Apply the Phoenix immunologic scoring based on ANC and ALC. This is only part of Phoenix-8 and not Phoenix.

Usage

phoenix_immunologic(anc = NA_real_, alc = NA_real_, data = parent.frame(), ...)

Arguments

anc

absolute neutrophil count; a numeric vector; units of 1,000 cells per cubic millimeter

alc

absolute lymphocyte count; a numeric vector; units of 1,000 cells per cubic millimeter

data

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

...

pass through

Value

a integer vector with values 0 or 1

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.

Phoenix Immunologic Scoring

1 point if ANC < 500 or ALC < 1000 cells per cubic millimeter.

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
immu_example <- sepsis[c("pid", "anc", "alc")]
immu_example$score <- phoenix_immunologic(anc, alc, sepsis)
immu_example

# using the example sepsis data set
hep_example <- sepsis[c("pid", "bilirubin", "alt")]
hep_example$score <- phoenix_hepatic(bilirubin, alt, sepsis)
hep_example

# example data set with all possilbe hepatic scores
DF <- expand.grid(anc = c(NA, 200, 500, 600), alc = c(NA, 500, 1000, 2000))
phoenix_immunologic(anc = anc, alc = alc, data = DF)

Phoenix Sepsis Neurological Score

Description

Assessment of neurologic dysfunction based on Glasgow Coma Scale (GCS) and pupil reactivity. This score is part of the diagnostic Phoenix Sepsis criteria and Phoenix 8 Sepsis criteria.

Usage

phoenix_neurologic(
  gcs = NA_integer_,
  fixed_pupils = NA_real_,
  data = parent.frame(),
  ...
)

Arguments

gcs

integer vector; total Glasgow Comma Score

fixed_pupils

integer vector; 1 = bilaterally fixed pupil, 0 = otherwise

data

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

...

pass through

Details

Missing values will map to a value of 0 as was done when developing the Phoenix criteria. Note that this is done on a input by input basis. That is, if pupil reactivity is missing but GCS (total) is 9, then the neurologic dysfunction score is 1.

GCS total is the sum of a score based on eyes, motor control, and verbal responsiveness.

Eye response:

  1. no eye opening,

  2. eye opening to pain,

  3. eye opening to sound,

  4. eyes open spontaneously.

Verbal response:

  1. no verbal response,

  2. incomprehensible sounds,

  3. inappropriate words,

  4. confused,

  5. orientated

Motor response:

  1. no motor response,

  2. abnormal extension to pain,

  3. abnormal flexion to pain,

  4. withdrawal from pain,

  5. localized pain,

  6. obeys commands

Value

an integer vector with values 0, 1, or 2. As with all Phoenix organ dysfunction scores, missing input values map to scores of zero.

Phoenix Neurological Scoring

Bilaterally fixed pupil 2 points
Glasgow Coma Score (total) less or equal 10 1 point
Reactive pupils and GCS > 10 0 point

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_neurologic(
  gcs = gcs_total,
  fixed_pupils = as.integer(pupil == "both-fixed"),
  data = sepsis
)

# build an example data set with all possible neurologic scores
DF <- expand.grid(gcs = c(3:15, NA), pupils = c(0, 1, NA))
DF$target <- 0L
DF$target[DF$gcs <= 10] <- 1L
DF$target[DF$pupils == 1] <- 2L
DF$current <- phoenix_neurologic(gcs, pupils, DF)
stopifnot(identical(DF$target, DF$current))
DF

Phoenix Renal Score

Description

Apply the Phoenix renal organ dysfunction score based on age adjusted creatinine levels.

Usage

phoenix_renal(
  creatinine = NA_real_,
  age = NA_real_,
  data = parent.frame(),
  ...
)

Arguments

creatinine

numeric vector; units of mg/dL

age

numeric vector age in months

data

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

...

pass through

Value

a integer vector with values 0, 1, or 2

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.

Phoenix Renal Scoring

Age in [0, 1) months
creatinine [0, 0.8) mg/dL 0 points
creatinine [0.8, Inf) mg/dL 1 point
Age in [1, 12) months
creatinine in [0, 0.3) mg/dL 0 points
creatinine in [0.3, Inf) mg/dL 1 point
Age in [12, 24) months
creatinine in [0, 0.4) mg/dL 0 points
creatinine in [0.4, Inf) mg/dL 1 point
Age in [24, 60) months
creatinine in [0, 0.6) mg/dL 0 points
creatinine in [0.6, Inf) mg/dL 1 point
Age in [60, 144) months
creatinine in [0, 0.7) mg/dL 0 points
creatinine in [0.7, Inf) mg/dL 1 point
Age in [144, 216] months
creatinine in [0, 1.0) mg/dL 0 points
creatinine in [1.0, Inf) mg/dL 1 point

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
renal_example <- sepsis[c("creatinine", "age")]
renal_example$score <- phoenix_renal(creatinine, age, sepsis)
renal_example

# build an example data set with all possible neurologic scores
DF <- expand.grid(age = c(NA, 0.4, 1, 3, 12, 18, 24, 45, 60, 61, 144, 145),
                  creatinine = c(NA, seq(0.0, 1.1, by = 0.1)))
DF$card <- phoenix_renal(age = age, creatinine = creatinine, data = DF)

head(DF)

Phoenix Respiratory Score

Description

Apply the Phoenix Respiratory Scoring rubric to a data set. The respiratory score is part of the diagnostic Phoenix Sepsis criteria and the diagnostic Phoenix 8 Sepsis criteria.

Usage

phoenix_respiratory(
  pf_ratio = NA_real_,
  sf_ratio = NA_real_,
  imv = NA_integer_,
  other_respiratory_support = NA_integer_,
  data = parent.frame(),
  ...
)

Arguments

pf_ratio

numeric vector for the PaO2/FiO2 ratio; PaO2 = arterial oxygen pressure; FiO2 = fraction of inspired oxygen; PaO2 is measured in mmHg and FiO2 is from 0.21 (room air) to 1.00.

sf_ratio

numeric vector for the SpO2/FiO2 ratio; SpO2 = oxygen saturation, measured in a percent; ratio for 92% oxygen saturation on room air is 92/0.21 = 438.0952.

imv

invasive mechanical ventilation; numeric or integer vector, (0 = not intubated; 1 = intubated)

other_respiratory_support

other respiratory support; numeric or integer vector, (0 = no support; 1 = support)

data

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

...

pass through

Details

pf_ratio is the ratio of partial pressure of oxygen in arterial blood (PaO2) to the fraction of inspiratory oxygen concentration (FiO2).

sf_ratio is a non-invasive surrogate for pf_ratio using pulse oximetry (SpO2) instead of invasive PaO2.

Important Note: when the Phoenix Sepsis criteria was developed there is a requirement that SpO2 < 97 in order for the sf_ratio to be valid. That assumption is not checked in this code and it is left to the end user to account for this when building the sf_ratio vector.

imv Invasive mechanical ventilation - integer vector where 0 = not intubated and 1 = intubated.

other_respiratory_support other respiratory support such as receiving oxygen, high-flow, non-invasive positive pressure, or imv.

Value

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

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.

Phoenix Respiratory Scoring

0 points 1 point 2 points 3 points
pf_ratio >= 400 and sf_ratio >= 292 (pf_ratio < 400 or sf_ratio < 292) and any respiratory support (pf_ratio < 200 or sf_ratio < 220) and imv (pf_ratio < 100 or sf_ratio < 148) and imv

References

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

See Also

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

Examples

# Using the provided example data set:
phoenix_respiratory(
  pf_ratio = pao2 / fio2,
  sf_ratio = spo2 / fio2,
  imv      = vent,
  other_respiratory_support = as.integer(fio2 > 0.21),
  data = sepsis
)

# A set of values that will get all possible respiratory scores:
DF <- expand.grid(
  pfr = c(NA, 500, 400, 350, 200, 187, 100, 56),
  sfr = c(NA, 300, 292, 254, 220, 177, 148, 76),
  vent = c(NA, 0, 1),
  o2  = c(NA, 0, 1)
)

phoenix_respiratory(
  pf_ratio = pfr,
  sf_ratio = sfr,
  imv = vent,
  other_respiratory_support = o2,
  data = DF
)

The Phoenix 8 Sepsis Score

Description

The extended Phoenix criteria using a total eight organ systems. This is intended mostly for research as an extension of the Phoenix Sepsis Criteria which is based on four organ systems.

Usage

phoenix8(
  pf_ratio,
  sf_ratio,
  imv,
  other_respiratory_support,
  vasoactives,
  lactate,
  map,
  platelets,
  inr,
  d_dimer,
  fibrinogen,
  gcs,
  fixed_pupils,
  glucose,
  anc,
  alc,
  creatinine,
  bilirubin,
  alt,
  age,
  data = parent.frame(),
  ...
)

Arguments

pf_ratio

numeric vector for the PaO2/FiO2 ratio; PaO2 = arterial oxygen pressure; FiO2 = fraction of inspired oxygen; PaO2 is measured in mmHg and FiO2 is from 0.21 (room air) to 1.00.

sf_ratio

numeric vector for the SpO2/FiO2 ratio; SpO2 = oxygen saturation, measured in a percent; ratio for 92% oxygen saturation on room air is 92/0.21 = 438.0952.

imv

invasive mechanical ventilation; numeric or integer vector, (0 = not intubated; 1 = intubated)

other_respiratory_support

other respiratory support; numeric or integer vector, (0 = no support; 1 = support)

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

map

numeric vector, mean arterial pressure in mmHg

platelets

numeric vector for platelets counts in units of 1,000/uL (thousand per microliter)

inr

numeric vector for the international normalised ratio blood test

d_dimer

numeric vector for D-Dimer, units of mg/L FEU

fibrinogen

numeric vector units of mg/dL

gcs

integer vector; total Glasgow Comma Score

fixed_pupils

integer vector; 1 = bilaterally fixed pupil, 0 = otherwise

glucose

numeric vector; blood glucose measured in mg/dL

anc

absolute neutrophil count; a numeric vector; units of 1,000 cells per cubic millimeter

alc

absolute lymphocyte count; a numeric vector; units of 1,000 cells per cubic millimeter

creatinine

numeric vector; units of mg/dL

bilirubin

numeric vector; units of mg/dL

alt

alanine aminotransferase; a numeric vector; units of IU/L

age

numeric vector age in months

data

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

...

pass through

Details

The Phoenix Sepsis Criteria is based on the score form respiratory, cardiovascular, coagulation, and neurologic. Phoenix 8 uses these four an endocrine, immunologic, renal, and hepatic. Details on the scoring for each of the eight component organ systems are found in the respective manual files.

Value

a data.frame with 12 integer columns.

  1. phoenix_respiratory_score

  2. phoenix_cardiovascular_score

  3. phoenix_coagulation_score

  4. phoenix_neurologic_score

  5. phoenix_sepsis_score

  6. phoenix_sepsis 0 = not septic; 1 = septic (phoenix_sepsis_score greater or equal 2)

  7. phoenix_septic_shock 0 = no septic shock; 1 = septic shock (sepsis with cardiovascular dysfunction)

  8. phoenix_endocrine_score

  9. phoenix_immunologic_score

  10. phoenix_renal_score

  11. phoenix_hepatic_score

  12. phoenix8_sepsis_score

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.

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, read more details in the vignette
phoenix8_scores <-
  phoenix8(
    # respiratory
      pf_ratio = pao2 / fio2,
      sf_ratio = ifelse(spo2 <= 97, spo2 / fio2, NA_real_),
      imv = vent,
      other_respiratory_support = as.integer(fio2 > 0.21),
    # cardiovascular
      vasoactives = dobutamine + dopamine + epinephrine + milrinone + norepinephrine + vasopressin,
      lactate = lactate,
      age = age, # Also used in the renal assessment.
      map = dbp + (sbp - dbp)/3,
    # coagulation
      platelets = platelets,
      inr = inr,
      d_dimer = d_dimer,
      fibrinogen = fibrinogen,
    # neurologic
      gcs = gcs_total,
      fixed_pupils = as.integer(pupil == "both-fixed"),
    # endocrine
      glucose = glucose,
    # immunologic
      anc = anc,
      alc = alc,
    # renal
      creatinine = creatinine,
      # no need to specify age again
    # hepatic
      bilirubin = bilirubin,
      alt = alt,
    data = sepsis
  )

str(phoenix8_scores)

sepsis

Description

A fully synthetic data set with variables need for examples and documentation of the Phoenix Sepsis Criteria.

Usage

sepsis

Format

a data.frame with 20 rows and 27 columns

[, 1] pid patient identification number
[, 2] age age in months
[, 3] fio2 fraction of inspired oxygen
[, 4] pao2 partial pressure of oxygen in arterial blood (mmHg)
[, 5] spo2 pulse oximetry
[, 6] vent indicator for invasive mechanical ventilation
[, 7] gcs_total total Glasgow Coma Scale
[, 8] pupil character vector reporting if pupils are reactive or fixed.
[, 9] platelets platelets measured in 1,000 / microliter
[, 10] inr international normalized ratio
[, 11] d_dimer D-dimer; units of mg/L FEU
[, 12] fibrinogen units of mg/dL
[, 13] dbp diagnostic blood pressure (mmHg)
[, 14] sbp systolic blood pressure (mmHg)
[, 15] lactate units of mmol/L
[, 16] dobutamine indicator for receiving systemic dobutamine
[, 17] dopamine indicator for receiving systemic dopamine
[, 18] epinephrine indicator for receiving systemic epinephrine
[, 19] milrinone indicator for receiving systemic milrinone
[, 20] norepinephrine indicator for receiving systemic norepinephrine
[, 21] vasopressin indicator for receiving systemic vasopressin
[, 22] glucose units of mg/dL
[, 23] anc units of 1,000 cells per cubic millimeter
[, 24] alc units of 1,000 cells per cubic millimeter
[, 25] creatinine units of mg/dL
[, 26] bilirubin units of mg/dL
[, 27] alt units of IU/L