Title: | The Phoenix Pediatric Sepsis and Septic Shock Criteria |
Version: | 1.1.2 |
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>. |
Depends: | R (≥ 3.5.0) |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
URL: | https://cu-dbmi-peds.github.io/phoenix/, https://github.com/CU-DBMI-Peds/phoenix/ |
BugReports: | https://github.com/CU-DBMI-Peds/phoenix/issues |
Language: | en-us |
LazyData: | true |
Suggests: | knitr, ggplot2, qwraps2 (≥ 0.6.0), reticulate, rmarkdown |
VignetteBuilder: | knitr |
RoxygenNote: | 7.3.2 |
Config/Needs/website: | rmarkdown |
NeedsCompilation: | no |
Packaged: | 2025-05-02 20:12:49 UTC; peterdewitt |
Author: | Peter DeWitt |
Maintainer: | Peter DeWitt <peter.dewitt@cuanschutz.edu> |
Repository: | CRAN |
Date/Publication: | 2025-05-02 22:00:05 UTC |
phoenix: Phoenix and Phoenix-8 Sepsis 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 and "International Consensus Criteria for Pediatric Sepsis and Septic Shock" by Schlapbach, Watson, Sorce, et al. (2024) doi:10.1001/jama.2024.0179.
How To Cite
When using this R package in your research please cite the Phoenix criteria and the package. You can get details more information via
citation('phoenix')
You can get bibtex entries for all the citations via
print(citation('phoenix'), bibtex = TRUE)
And you can get the up-to-date version and year information for the phoenix package via
print(citation('phoenix', auto = TRUE))
and
print(citation('phoenix', auto = TRUE), bibtex = TRUE)
.
Author(s)
Maintainer: Peter DeWitt peter.dewitt@cuanschutz.edu (ORCID)
Other contributors:
Seth Russell seth.russell@cuanschutz.edu (ORCID) [contributor]
Meg Rebull meg.rebull@cuanschutz.edu (ORCID) [contributor]
Tell Bennett tell.bennett@cuanschutz.edu (ORCID) [contributor]
L. Nelson Sanchez-Pinto lsanchezpinto@luriechildrens.org (ORCID) [contributor]
References
There are two major publications to reference with respect to the development of the Phoenix criteria.
-
L. Nelson Sanchez-Pinto, MD, MBI*; Tellen D. Bennett, MD, MS*; Peter E. DeWitt, PhD**; Seth Russell, MS**; Margaret N. Rebull, MA; Blake Martin, MD; Samuel Akech, MBChB, MMED; David J. Albers, PhD; Elizabeth R. Alpern, MD, MSCE; Fran Balamuth, MD, PhD, MSCE; Melania Bembea, MD, MPH, PhD; Mohammod Jobayer Chisti, MBBS, MMed, PhD; Idris Evans, MD, MSc; Christopher M. Horvat, MD, MHA; Juan Camilo Jaramillo-Bustamante, MD; Niranjan Kissoon, MD; Kusum Menon, MD, MSc; Halden F. Scott, MD, MSCS; Scott L. Weiss, MD; Matthew O. Wiens, PharmD, PhD; Jerry J. Zimmerman, MD, PhD; Andrew C. Argent, MD, MBBCh, MMed***; Lauren R. Sorce, PhD, RN, CPNP-AC/PC23***; Luregn J. Schlapbach, MD, PhD***; R. Scott Watson, MD, MPH***; and the Society of Critical Care Medicine Pediatric Sepsis Definition Task Force Development and Validation of the Phoenix Criteria for Pediatric Sepsis and Septic Shock. JAMA. 2024;331(8):675–686. Published online January 21, 2024. doi:10.1001/jama.2024.0196
*Drs Sanchez-Pinto and Bennett contributed equally. **Dr DeWitt and Mr Russell contributed equally. ***Drs Argent, Sorce, Schlapbach, and Watson contributed equally.
-
Luregn J. Schlapbach, MD, PhD; R. Scott Watson, MD, MPH; Lauren R. Sorce, PhD, RN; Andrew C. Argent, MD, MBBCh, MMed; Kusum Menon, MD, MSc; Mark W. Hall, MD; Samuel Akech, MBChB, MMED, PhD; David J. Albers, PhD; Elizabeth R. Alpern, MD, MSCE; Fran Balamuth, MD, PhD, MSCE; Melania Bembea, MD, PhD; Paolo Biban, MD; Enitan D. Carrol, MBChB, MD; Kathleen Chiotos, MD; Mohammod Jobayer Chisti, MBBS, MMed, PhD; Peter E. DeWitt, PhD; Idris Evans, MD, MSc; Cláudio Flauzino de Oliveira, MD, PhD; Christopher M. Horvat, MD, MHA; David Inwald, MB, PhD; Paul Ishimine, MD31; Juan Camilo Jaramillo-Bustamante, MD; Michael Levin, MD, PhD; Rakesh Lodha, MD; Blake Martin, MD; Simon Nadel, MBBS; Satoshi Nakagawa, MD; Mark J. Peters, PhD; Adrienne G. Randolph, MD, MS; Suchitra Ranjit, MD; Margaret N. Rebull, MA; Seth Russell, MS; Halden F. Scott, MD; Daniela Carla de Souza, MD, PhD; Pierre Tissieres, MD, DSc; Scott L. Weiss, MD, MSCE; Matthew O. Wiens, PharmD, PhD; James L. Wynn, MD; Niranjan Kissoon, MD; Jerry J. Zimmerman, MD, PhD; L. Nelson Sanchez-Pinto, MD; Tellen D. Bennett, MD, MS; for the Society of Critical Care Medicine Pediatric Sepsis Definition Task Force International Consensus Criteria for Pediatric Sepsis and Septic Shock. JAMA. 2024;331(8):665–674. doi:10.1001/jama.2024.0179
*Drs Schlapbach, Watson, Sorce, and Argent contributed equally. **Drs Sanchez-Pinto and Bennett contributed equally.
See Also
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
vignette('phoenix')
for more details and examples.
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, # expected units of mmHg
dbp = 20:100 # expected units of mmHg
)
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 |
... |
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:
-
phoenix_respiratory_score
-
phoenix_cardiovascular_score
-
phoenix_coagulation_score
-
phoenix_neurologic_score
-
phoenix_sepsis_score
-
phoenix_sepsis
An integer vector, 0 = not septic, 1 = septic (score greater or equal to 2) -
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
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
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)
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 |
... |
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.
-
phoenix_respiratory_score
-
phoenix_cardiovascular_score
-
phoenix_coagulation_score
-
phoenix_neurologic_score
-
phoenix_sepsis_score
-
phoenix_sepsis
0 = not septic; 1 = septic (phoenix_sepsis_score greater or equal 2) -
phoenix_septic_shock
0 = no septic shock; 1 = septic shock (sepsis with cardiovascular dysfunction) -
phoenix_endocrine_score
-
phoenix_immunologic_score
-
phoenix_renal_score
-
phoenix_hepatic_score
-
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
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
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)
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 |
... |
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
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
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), # units of mmol/L
age = c(NA, 0.4, 1, 3, 12, 18, 24, 45, 60, 61, 144, 145), # months
map = c(NA, 16:52)) # mmHg
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), # months
map = c(NA, 16:52)) # mmHg
DF2$card <- phoenix_cardiovascular(vasos, lactate = NA, age, map, DF2)
DF3 <-
expand.grid(vasos = c(NA, 0:6),
lactate = NA, # mmol/L
age = c(NA, 0.4, 1, 3, 12, 18, 24, 45, 60, 61, 144, 145), # months
map = c(NA, 16:52)) # mmHg
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 |
... |
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
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
vignette('phoenix')
for more details and examples.
Examples
# using the example data set
phoenix_coagulation(
platelets = platelets, # 1000/uL (thousand per microliter)
inr = inr, # unitless
d_dimer = d_dimer, # mg/L FEU
fibrinogen = fibrinogen, # mg/dL
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 |
... |
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
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
vignette('phoenix')
for more details and examples.
Examples
# using the example sepsis data set
# recall glucose is expected to have units of mg/dL
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
# recall glucose is expected to have units of mg/dL
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 |
... |
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
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
vignette('phoenix')
for more details and examples.
Examples
# using the example sepsis data set
# recall expected units:
# (total) bilirubin: mg/dL
# alt: IU/L
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 |
... |
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 < 0.500 or ALC < 1.000 (units are 1000 cells per cubic millimeter).
References
See reference details in phoenix-package
or by calling
citation('phoenix')
.
See Also
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
vignette('phoenix')
for more details and examples.
Examples
# using the example sepsis data set
# Expected units for ALC and ANC are 1000 cells per cubic millimeter
immu_example <- sepsis[c("pid", "anc", "alc")]
immu_example$score <- phoenix_immunologic(anc, alc, sepsis)
immu_example
# example data set with all possilbe immunologic scores
# Expected units for anc and alc are 1000 cells per cubic millimeter
DF <- expand.grid(anc = c(NA, 0.200, 0.500, 0.600),
alc = c(NA, 0.500, 1.000, 2.000))
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 |
... |
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:
no eye opening,
eye opening to pain,
eye opening to sound,
eyes open spontaneously.
Verbal response:
no verbal response,
incomprehensible sounds,
-
inappropriate words,
confused,
orientated
Motor response:
no motor response,
abnormal extension to pain,
-
abnormal flexion to pain,
withdrawal from pain,
localized pain,
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
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
vignette('phoenix')
for more details and examples.
Examples
# using the example sepsis data set
# Expected units:
# GCS integer values from 3, 4, 5, ..., 15
# fixed_pupils: 1 if bilaterially fixed pupils, 0 otherwise
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 |
... |
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
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
vignette('phoenix')
for more details and examples.
Examples
# using the example sepsis data set
# Expected units:
# age: months
# creatinine: mg/dL
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 |
... |
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
-
phoenix
for generating the diagnostic Phoenix Sepsis score based on the four organ systems: -
phoenix8
for generating the diagnostic Phoenix 8 Sepsis criteria based on the four organ systems noted above and
vignette('phoenix')
for more details and examples.
Examples
# Using the provided example data set:
# Expected units:
# pf_ratio: PaO2 / FiO2
# PaO2: mmHg
# FiO2: decimal between 0.21 (room air) to 1.00 (pure oxygen)
# sf_ratio: SpO2 / FiO2
# SpO2: percentage, 0 to 100
# FiO2: decimal between 0.21 (room air) to 1.00 (pure oxygen)
# imv: (invasive mechanical ventilation) 1 for yes, 0 for no
# other_respiratory_support: 1 for yes, 0 for no
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
)
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 |