Functional status scale for pediatric TBI

This vignette has two purposes:

  1. Provide a detailed data analysis example for the provided data, and
  2. a reproduction/extension of (1).

It will be based on the PEDALFAST data set. Most of the R code will be echoed in this vignette. The full .Rmd file, including the in line code, can be found at:

system.file("doc/fss.Rmd", package = "pedalfast.data")

The needed namespaces to reproduce this vignette are:

library(pedalfast.data)
library(knitr)
library(qwraps2)
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following object is masked from 'package:qwraps2':
## 
##     mean_se
options(qwraps2_markup = 'markdown')

data(pedalfast, pedalfast_metadata)

There are some data manipulation steps that need to be taken before getting into the manuscript.

GCS Using: Glasgow Coma Scale (GCS) assessments occurred in the emergency department (ED) and/or the ICU. For the purposes of this work we will us the GCS assessed in the emergency department as primary and the ICU value if the ED value is unknown.

# gather all the gcs values form the ed.
gcs_ed_vars <- grep("^gcs.*ed$", names(pedalfast), value = TRUE)
gcs_ed_vars
## [1] "gcsyned"     "gcseyeed"    "gcsverbaled" "gcsmotored"  "gcsed"      
## [6] "gcsetted"    "gcsseded"    "gcspared"    "gcseyeobed"

# create a set of gcs _using variables.
for(j in gcs_ed_vars) {
  pedalfast[[sub("ed$", "_using", j)]] <-
    ifelse(is.na(pedalfast[[j]]), pedalfast[[ sub("ed$", "icu", j) ]], pedalfast[[j]])
}

summary(pedalfast$gcs_using)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   3.000   3.000   6.000   6.562   9.000  15.000

# Inspect the rows with missing values:
pedalfast[is.na(pedalfast$gcs_using), ]
##   [1] studyid              age                  female              
##   [4] sourceinj            injurytoadmit        injurymech          
##   [7] gcsyned              gcseyeed             gcsverbaled         
##  [10] gcsmotored           gcsed                gcsetted            
##  [13] gcsseded             gcspared             gcseyeobed          
##  [16] eddisposition        admittoct            ctskullfrac         
##  [19] ctce                 ctmidlineshift       ctcompress          
##  [22] ctintraparhem        ctsubarchhem         ctintraventhem      
##  [25] ctsubhematoma        ctepihematoma        sourceicu           
##  [28] puplrcticu           gcsynicu             gcseyeicu           
##  [31] gcsverbalicu         gcsmotoricu          gcsicu              
##  [34] gcsetticu            gcssedicu            gcsparicu           
##  [37] gcseyeobicu          admittoicudc1        admittoicuadmit2    
##  [40] admittoicudc2        admittoicuadmit3     admittoicudc3       
##  [43] ventyn               admittoint           admittoext          
##  [46] icpyn1               icptype1             icptype2            
##  [49] icptype3             admittoicpstart1     admittoicpend1      
##  [52] admittoicpstart2     admittoicpend2       admittoicpstart3    
##  [55] admittoicpend3       cathtype1            cathtype2           
##  [58] cathtype3            cathtype4            admittocathstart1   
##  [61] admittocathstart2    admittocathstart3    admittocathstart4   
##  [64] admittocathend1      admittocathend2      admittocathend3     
##  [67] admittocathend4      newtrachyn           admittotrach        
##  [70] newgastyn            admittogast          decomcranyn         
##  [73] admittocrani         lmbrdrainyn          admittolmbdrain     
##  [76] epihemyn             admittoedhevac       subhemyn            
##  [79] admittosdhevac       rxhypsal             rxmann              
##  [82] rxbarb               rxinotrvas           tpnyn               
##  [85] admittotpn           entnutyn             admittoentnut       
##  [88] hosplos              hospdisposition      cardiacarrestyn     
##  [91] cardiacarrestprehosp cardiacarrested      cardiacarrestor     
##  [94] cardiacarresticu     cardiacarrestother   admittofss          
##  [97] sourcefss            fssmental            fsssensory          
## [100] fsscommun            fssmotor             fssfeeding          
## [103] fssresp              gcsyn_using          gcseye_using        
## [106] gcsverbal_using      gcsmotor_using       gcs_using           
## [109] gcsett_using         gcssed_using         gcspar_using        
## [112] gcseyeob_using      
## <0 rows> (or 0-length row.names)

Most of the data associated with records missing gcs_using is also missing. For simplicity we will omit these records.

pedalfast <- subset(pedalfast, !is.na(gcs_using))

GCS Categories

GCS values provided in the pedalfast data set are integer values. These values are mapped to specific categorical interpretations. GCS is commonly used as both a numeric value and a categorical value. We will create variables here with the GCS categories documented in the metadata.

pedalfast$gcseye_using_cat    <- gcs_as_factor(pedalfast$gcseye_using, "eye")
pedalfast$gcsmotor_using_cat  <- gcs_as_factor(pedalfast$gcsmotor_using, "motor")
pedalfast$gcsverbal_using_cat <- gcs_as_factor(pedalfast$gcsverbal_using, "verbal")

GCS Severe Severe TBI will be defined as a GCS of eight or less.

pedalfast$severetbi <- as.integer(pedalfast$gcs_using <= 8)

FSS Total

The FSS total score is the sum of the six fss subscales.

fsscols <- grep("^fss", names(pedalfast), value = TRUE)
fsscols
## [1] "fssmental"  "fsssensory" "fsscommun"  "fssmotor"   "fssfeeding"
## [6] "fssresp"

pedalfast$fsstotal <- rowSums(pedalfast[, fsscols])
summary(pedalfast$fsstotal)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   6.000   6.000   8.000   9.909  12.000  30.000      58

Looking into the missing values, most are associated with hospital disposition of mortality.

with(pedalfast, table(hospdisposition, is.na(fsstotal)))
##                               
## hospdisposition                FALSE TRUE
##   Discharge TO or WITH Hospice     0    1
##   Home with Skilled Nursing        7    0
##   Home, no new supports          235    1
##   Inpatient Rehab                 61    1
##   Mortality                       11   54
##   Other                           15    1
##   Short-term Nursing Facility      1    0

The FSS total score can be placed into categories:

pedalfast$fsstotal_cat  <- fss_as_factor(pedalfast$fsstotal, long_label = FALSE)
pedalfast$fsstotal_cat2 <- fss_as_factor(pedalfast$fsstotal, long_label = TRUE)

table(pedalfast$fsstotal_cat)
## 
##                   Good        Mildly abnormal    Moderately abnormal 
##                    156                     47                     89 
##        Severe abnormal Very severely abnormal 
##                     22                     16
table(pedalfast$fsstotal_cat2)
## 
##                     6-7 (Good)          8-9 (Mildly abnormal) 
##                            156                             47 
##    10-15 (Moderately abnormal)        16-21 (Severe abnormal) 
##                             89                             22 
## 22-30 (Very severely abnormal) 
##                             16

fss_labeller <- function(x) {
  x <- sub("fssmental", "Mental", x)
  x <- sub("fsssensory", "Sensory", x)
  x <- sub("fsscommun", "Communication", x)
  x <- sub("fssmotor", "Motor", x)
  x <- sub("fssfeeding", "Feeding", x)
  x <- sub("fssresp", "Respiratory", x)
  x
}

1 Abstract:

Objective: Describe hospital discharge functional outcome in pediatric traumatic brain injury (TBI) patients via discharge Functional Status Scale (FSS). Determine and report any associations between FSS and age, injury mechanism, neurological exam, imaging, and other predictors of outcome.

Design: Prospective observational cohort study.

Setting: Multiple American College of Surgeons level 1 Pediatric Trauma Centers.

Patients: Children under 18 years of age who were admitted to an intensive car unit (ICU) with acute TBI and underwent either a surgical or critical care intervention within initial twenty-four hours, or in-hospital mortality.

Interventions: None.

Measurements and Main Results: Hospital discharge FSS is the primary outcome. A majority, 288/388 (74.23%), had severe TBI (admission GCS 3-8). Overall in-hospital mortality was 65/388 (16.75%); 63/288 (21.88%) among those with severe TBI. Hospital discharge FSS had an inverse relationship with GCS: for each one unit increase in admission GCS the expected FSS total score decreases by 9.91 (95% CI: 9.33, 10.49) units.

2 Introduction

Approximately 2,200 pediatric-deaths and 35,000 pediatric-hospitalizations per annum are attributed to acute trauma brain injury (TBI). (2) Pediatric non-fatal TBI are commonly associated with new morbidities such as motor, communication, behavioral, or social impairments. (3)

Trials of acute interventions for children with TBI are hampered by a lack of relevant, easily administered functional outcome measures that can be used at the time of intensive care unit (ICU) or hospital discharge. Easily administered instruments such as the Pediatric Cerebral Performance Category (PCPC) and the Pediatric Overall Performance Category (POPC) lack the sensitivity and precision required for studies of interventions.(4–7) Other instruments such as the Glasgow Outcome Scale - Extended, Pediatric version (GOS-E Peds)(8) and the King’s Outcome Scale for Childhood Head Injury (KOSCHI)(9) are focused on patient function after return to home and community.

Improvements in the care of critically ill children have decreased ICU mortality to less than 5%, but survivors often have significant functional impairment.(10–14) In response to the need for a reliable, rapid measure of functional outcome appropriate for in-hospital use, the NIH-funded Collaborative Pediatric Critical Care Research Network (CPCCRN)(15) developed and validated the Functional Status Scale (FSS).(16, 17)

The FSS has 6 domains: Mental, Sensory, Communication, Motor, Feeding, and Respiratory. The scale in each domain is from 1 (no dysfunction) to 5 (very severe dysfunction), with a total score from 6 (normal) to 30 (very severe dysfunction in all domains). Appendix Table 1 shows the 6 domains and the 5 levels within each domain. The FSS is designed to be collected from hospital providers (e.g., a patient’s primary nurse), supplemented by medical records when necessary.(18) The FSS correlates with a gold-standard adaptive behavior instrument, the Adaptive Behavior Assessment System (ABAS II), with a Pearson’s correlation coefficient of 0.60. It also discriminates moderate and severe decrements in adaptive behavior well (areas under the curve 0.82 and 0.86, respectively).(16) Interrater reliability is excellent: the intraclass correlation coefficient is 0.95 for the six domain scores.(16) Importantly, Pollack et al. have validated that a FSS score at hospital discharge ≥ 3 points above a child’s pre-hospitalization baseline represents newly impaired functional status or “new morbidity” in survivors of critical illness or injury.(13)

However, the studies of the FSS to date have analyzed heterogeneous cohorts of critically ill children, and no study of children with TBI to date has reported FSS scores. The distributions of hospital discharge FSS and change in FSS from baseline to hospital discharge in critically injured children with TBI are unknown. We conducted this multi-center prospective observational study to accomplish the following aims: 1) to describe FSS and change in FSS from baseline in children admitted to an ICU after TBI and 2) to determine any associations between discharge FSS and age, injury mechanism, neurological exam findings, brain computed tomography (CT) findings, and other predictors of outcome in children with TBI.(19–22)

3 Methods

Study Sites and Subject Enrollment

This prospective cohort study was conducted at multiple American College of Surgeons (ACS) freestanding level I Pediatric Trauma Centers. Each site has between 2000 and 3000 Pediatric ICU admissions per year. We reviewed the ICU census at each site daily, checked ICU admission logbooks, and reviewed ICU screening logs to ensure that all eligible children were observed. Because the study was granted a waiver of consent at all sites (see Regulatory Approvals below), all eligible patients were enrolled.

Inclusion/Exclusion Criteria

We prospectively identified all patients under 18 years of age admitted to an ICU with a diagnosis of acute TBI and either a Glasgow Coma Scale (GCS) score at most 12 or a neurosurgical procedure (intracranial pressure [ICP] monitor, external ventricular drain (EVD), craniotomy, or craniectomy) within the first twenty-four hours of admission. We excluded surviving patients discharged from the ICU within twenty-four hours of ICU admission without an intervention (invasive or noninvasive ventilation, ICP monitoring, any operative procedure, an arterial or central venous catheter, or osmolar therapy). We categorized TBI severity using the ED GCS: 3-8 = severe, 9-12 = moderate, 13-15 = mild. For the 20 patients who did not have a GCS measured in the ED (direct admissions to the ICU), we used the GCS measured on ICU admission. Children with mild TBI who did not receive a neurosurgical procedure in the first 24 hours were excluded.

Prospective Data Collection

For variables such as GCS that might be documented by multiple providers or in multiple locations in the medical record, we defined a hierarchy of data sources. In the Emergency Department (ED), we used the following data sources in order of priority: Trauma Surgery attending physician note, then Neurosurgery attending physician note, then ED attending physician note. Similarly, in the ICU we used the ICU attending physician note, then ICU advanced practice provider note, then ICU resident note, then ICU nursing flowsheet. At the time of each GCS assessment, the study team recorded whether the patient was intubated, sedated, chemically paralyzed, or had obstruction to eye assessment.(23)

We captured the time and text report of the first brain CT study formally read by a PCH or CHCO pediatric radiologist. The presence or absence of CT features (e.g. subdural hematoma [SDH]) were extracted from the CT report by the study team.

Functional Status Scale Collection

We categorized FSS scores using the rubric developed by Pollack et al.(13) That 5-category rubric is designed to follow the categories of the PCPC/POPC system, but has greater granularity within each category.(5, 17)

Statistical Methods

Means are shown ± standard deviation (SD). Medians are shown with interquartile range (IQR). We tested two-sample differences in FSS using Student’s t-test assuming unequal variances. To estimate variation of FSS scores within categories of admission GCS, we used the approach of Pollack et al. and calculated the width (“dispersion”) of the 10th to 90th percentile range.(13) To test the FSS-age, FSS-mechanism, and FSS-GCS relationships, we fit three separate linear regression models. Age (in years) and GCS were fit as continuous variables and injury mechanism as a categorical variable. Scatterplots are shown as “bubble charts.” The area of each point is directly proportional to the number of patients with that particular combination of X and Y values.(24) We grouped IVH and SAH to be consistent with the Rotterdam CT scoring system(19, 21)

Data analysis was conducted in R version 4.3.2. (25)

Regulatory Approvals

This study was granted a waiver of consent by the institutional review boards at both institutions.

4 Results

4.1 Prospective Cohort

Our cohort consists of 388 patients. Known or suspected abuse accounted for 91 (23.45%) of the hospitalizations. The “Other” injury mechanism category included injuries related to penetrating projectiles, all-terrain vehicles, horseback riding, and others. At the time of GCS assessment 290 (74.74%) were intubated, 245 (63.14%) were under the influence of sedation medication, and 54 (13.92%) were chemically paralyzed.

Most of the patients, 288/388 (74.23%), had severe TBI (Appendix Table 2). Hospital mortality was 65/388 (16.75%) overall and 63/288 (21.88%) among those with severe TBI. The “Other

4.2 Hospital Discharge Functional Status Scale

Many children who survived to hospital discharge had impaired functional status. NA/330 ( NA%) had at least “mildly abnormal” functional status and NA/330 ( NA%) had at least “moderately abnormal” functional status (Table 2).(13) The mean ± standard deviation for the total FSS, for those with a known FSS, was 9.91 ± 5.34 and the median (IQR) total FSS was 8.00 (6.00, 12.00). Among patients with sever TBI and known FSS total, 141/233 (60.52%) had at least “mildly abnormal” functional status and 109 (46.78%) had at least “moderately abnormal” functional status (Appendix Table 3). For patients with severe TBI, the mean ± standard deviation total FSS was 10.86 ± 5.92 and the median (IQR) total FSS was 9.00 (6.00, 13.00).

4.3 Functional Status Scale Domains

some_dysfunction <-
  lapply(grep("^fss(?!total)", names(pedalfast), perl = TRUE, value = TRUE),
         function(x) {
           rtn <-
             data.frame(variable = x,
                        p        = mean(na.omit(pedalfast[[x]]) > 1))
           rtn$plb <- paste0(frmt(rtn$p * 100), "% (", sub("^fss(\\w)", "\\U\\1", x, perl = TRUE), ")")
           rtn
         })

some_dysfunction <- do.call(rbind, some_dysfunction)
some_dysfunction
##     variable         p              plb
## 1  fssmental 0.3867069  38.67% (Mental)
## 2 fsssensory 0.2379518 23.80% (Sensory)
## 3  fsscommun 0.4652568  46.53% (Commun)
## 4   fssmotor 0.4518072   45.18% (Motor)
## 5 fssfeeding 0.4066265 40.66% (Feeding)
## 6    fssresp 0.1054217    10.54% (Resp)

# when at least one of the fss scales reported a value of 2, and 2 is the max
# value across all six sclaes, the most common scale with a value of 2 is:
fss_matrix <- pedalfast[, grep("^fss(?!total)", names(pedalfast), perl = TRUE, value = TRUE)]

fss_matrix <- suppressWarnings(cbind(fss_matrix, max = apply(fss_matrix, 1, max, na.rm = TRUE)))
fss_matrix <- fss_matrix[fss_matrix$max > -Inf, ]

score_mode <-
  lapply(2:5, function(i) apply(fss_matrix[fss_matrix$max == i, ], 2, function(x) sum(x == i, na.rm = TRUE)))
score_mode <- do.call(rbind, score_mode)
score_mode
##      fssmental fsssensory fsscommun fssmotor fssfeeding fssresp max
## [1,]        21         14        32       21          6       1  65
## [2,]        15          4         8       62         62       4  91
## [3,]         2          2         2       15         17       3  34
## [4,]        12         12        17       19         16      13  27
colSums(score_mode)
##  fssmental fsssensory  fsscommun   fssmotor fssfeeding    fssresp        max 
##         50         32         59        117        101         21        217

apply(score_mode[, -7], 1, which.max)
## [1] 3 4 5 4

Functional impairment at hospital discharge was present for all of the six FSS domains (Figure 1). Within each domain, the percent of survivors with some dysfunction (domain score > 1) ranged from 10.54% (Resp) to 46.53% (Commun). When some dysfunction was observed, motor was the most likely to be the domain with the most dysfunction with the domains feeding, commun, mental, sensory, resp being the most next most common, in descending order.

When there is some observed dysfunction, and the maximal rating within any domain was “mild,” the most common domain was commun For a maximal rating of “moderate,” the most common domain with the rating was motor and feeding The most common domains for maximal ratings of “severe” and “very severe” were feeding and motor respectively.

4.4 Discharge FSS by Age, Injury Mechanism

fit <- lm(fsstotal ~ injurymech + 0 + I(age / 365.25), data = pedalfast)
summary(fit)
## 
## Call:
## lm(formula = fsstotal ~ injurymech + 0 + I(age/365.25), data = pedalfast)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -6.521 -2.716 -1.758  1.310 22.039 
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)    
## injurymechFall                      8.025623   0.777351  10.324  < 2e-16 ***
## injurymechKnown or suspected abuse 12.068286   0.631627  19.107  < 2e-16 ***
## injurymechOther                     8.197217   0.862843   9.500  < 2e-16 ***
## injurymechSelf-harm                14.590302   2.670070   5.464 9.28e-08 ***
## injurymechTraffic                  10.809890   0.755778  14.303  < 2e-16 ***
## I(age/365.25)                      -0.007137   0.062265  -0.115    0.909    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.102 on 324 degrees of freedom
##   (58 observations deleted due to missingness)
## Multiple R-squared:  0.7982, Adjusted R-squared:  0.7944 
## F-statistic: 213.6 on 6 and 324 DF,  p-value: < 2.2e-16
car::Anova(fit, type = 2)
## Warning in printHypothesis(L, rhs, names(b)): one or more coefficients in the hypothesis include
##      arithmetic operators in their names;
##   the printed representation of the hypothesis will be omitted

## Warning in printHypothesis(L, rhs, names(b)): one or more coefficients in the hypothesis include
##      arithmetic operators in their names;
##   the printed representation of the hypothesis will be omitted
## Anova Table (Type II tests)
## 
## Response: fsstotal
##                Sum Sq  Df  F value Pr(>F)    
## injurymech    14116.5   5 108.4440 <2e-16 ***
## I(age/365.25)     0.3   1   0.0131 0.9088    
## Residuals      8435.2 324                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
fsstotal_lm_cis <- qwraps2::frmtci(cbind(coef(fit), confint(fit)), show_level = TRUE)
fsstotal_lm_cis
##                     injurymechFall injurymechKnown or suspected abuse 
##        "8.03 (95% CI: 6.50, 9.55)"     "12.07 (95% CI: 10.83, 13.31)" 
##                    injurymechOther                injurymechSelf-harm 
##        "8.20 (95% CI: 6.50, 9.89)"      "14.59 (95% CI: 9.34, 19.84)" 
##                  injurymechTraffic                      I(age/365.25) 
##      "10.81 (95% CI: 9.32, 12.30)"      "-0.01 (95% CI: -0.13, 0.12)"

We examined associations of age and injury mechanism with discharge FSS via linear regression and found no statistical evidence to support an association between patient age and discharge FSS: expected change in discharge FSS for each year of age -0.01 (95% CI: -0.13, 0.12). Discharge FSS varied widely among those children injured by motor vehicle traffic, child abuse, and other mechanisms P < 0.0001. The mean ± standard deviation known discharge FSS for children injured in falls was 7.97 ± 4.19 compared to 10.74 ± 5.74 for children injured in traffic incidents, 12.06 ± 6.25 for children injured in known or suspected abuse incidents, and 8.13 ± 3.03 for children injured by other mechanisms.

4.5 Discharge FSS and Admission GCS

fit <- lm(fsstotal ~ gcs_using, data = pedalfast)
fss_by_gcs_ci <- qwraps2::frmtci(cbind(coef(fit), confint(fit)), show_level = TRUE)

mean_fss_by_gcs <-
  aggregate(fsstotal ~ gcs_using, data = pedalfast, FUN = mean_sd, show_n = "never", na_rm = TRUE)

mean_fss_by_gcsm <-
  aggregate(fsstotal ~ gcsmotor_using, data = pedalfast, FUN = mean_sd, show_n = "never", na_rm = TRUE)

The most common FSS score at hospital discharge was 6 and that score was found in children with every value of admission GCS (Figure 2). The mean ± standard deviation discharge FSS ranged from 6.33 ± 1.19 for a GCS of 15 to 11.26 ± 6.06 for a GCS of 3. The mean discharge FSS ranged from 7.47 ± 2.40 for a GCS-Motor of 6 to 11.26 ± 6.06 for a GCS-Motor of 1. The variation in discharge FSS within GCS categories was higher for more severe injuries than milder injuries: 10th to 90th percentile range (width) = 11.8 for for severe TBI and only 5 for mild or moderate TBI. To be included in this study, patients with “mild” TBI by GCS (13-15) had to be admitted to an ICU and receive a neurosurgical procedure in the first 24 hours. As expected, we found an inverse relationship between discharge FSS and admission GCS total and motor scores (Figure 2). Using linear regression, we estimated that for each 1 point higher admission GCS score, a patient’s discharge FSS changes by -0.43 (95% CI: -0.59, -0.28) points, P < 0.0001.

4.6 Discharge FSS and ICU Pupillary Reactivity

Most, 284/384 (73.96%), patients had bilaterally reactive pupils on admission to the ICU. Of the 62 who had bilaterally fixed pupils on admission to the ICU, 45 (72.58%) died. Among survivors, the mean ± standard deviation discharge FSS ranged from 8.70 ± 3.26 for those with bilaterally reactive pupils on ICU admission to 14.94 ± 6.18 for those with bilaterally fixed pupils on ICU admission.

4.7 Discharge FSS and Admission CT Features

summary(pedalfast[, grep("^ct", names(pedalfast))])
##   ctskullfrac          ctce       ctmidlineshift     ctcompress    
##  Min.   :0.0000   Min.   :0.000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:0.0000   1st Qu.:0.000   1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :1.0000   Median :0.000   Median :0.0000   Median :0.0000  
##  Mean   :0.5065   Mean   :0.426   Mean   :0.2416   Mean   :0.2494  
##  3rd Qu.:1.0000   3rd Qu.:1.000   3rd Qu.:0.0000   3rd Qu.:0.0000  
##  Max.   :1.0000   Max.   :1.000   Max.   :1.0000   Max.   :1.0000  
##  NA's   :5        NA's   :3       NA's   :3        NA's   :3       
##  ctintraparhem     ctsubarchhem    ctintraventhem   ctsubhematoma
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0  
##  Median :0.0000   Median :0.0000   Median :0.0000   Median :1.0  
##  Mean   :0.3325   Mean   :0.3273   Mean   :0.1273   Mean   :0.6  
##  3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:1.0  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0  
##  NA's   :3        NA's   :3        NA's   :3        NA's   :3    
##  ctepihematoma   
##  Min.   :0.0000  
##  1st Qu.:0.0000  
##  Median :0.0000  
##  Mean   :0.1403  
##  3rd Qu.:0.0000  
##  Max.   :1.0000  
##  NA's   :3
pedalfast$anyblood <- with(pedalfast, as.integer(ctintraparhem + ctsubarchhem + ctintraventhem + ctsubhematoma + ctepihematoma > 0))

194 (50.65%) patients had a skull fracture and most, 337 (87.53%), had at least one type of intracranial hemorrhage/hematoma. As expected, 37/51 (72.55%) children with epidural hematoma (EDH) had good functional status at hospital discharge (Figure 3) mean ± standard deviation FSS without EDH 10.27 ± 5.47 versus 8.08 ± 4.28 with EDH, P = 0.0019. Children with subdural (SDH), intraventricular (IVH), subarachnoid (SAH), or intraparenchymal hemorrhage (IPH) had more variable discharge functional status (Figure 3). Multiple hemorrhage types were often, 167/385 (43.38%), present. The surviving patient with the worst functional status, for example, had SDH, SAH, IVH, and IPH. Surviving children with either IVH or SAH had higher discharge FSS scores, mean ± standard deviation 11.08 ± 5.42 than those who did not 9.31 ± 5.24 (P = 0.0047).

CT findings of cerebral edema, 164/385 (42.60%), and those consistent with local or diffuse intracranial hypertension, such as basilar cistern compression, 96/385 (24.94%), and midline shift, 93/385 (24.16%), were not uncommon. Discharge FSS scores for patients with cerebral edema (12.30 ± 6.59) was higher than the mean discharge FSS cores for patients without cerebral edema, (8.56 ± 3.89) (P < 0.0001). Similarly, patients with basilar cistern compression had higher mean discharged FSS cores than those who did not: (13.53 ± 7.54) verses (9.05 ± 4.26) (P < 0.0001). Mean discharged FSS for midline shift (10.58 ± 6.48) is not statistically different from the mean discharged FSS for patients without midline shift (9.73 ± 4.97) (P = 0.2969). Patients who did and did not have these CT findings had widely varying discharge FSS values, from normal to severely impaired (Figure 5).

Nearly all, 90/99 (90.91%), patients with mild TBI had at least one type of intracranial hemorrhage.

4.8 Discharge FSS and New Technology Dependence

More severely injured children may not be able to safely take adequate nutrition by mouth and may require placement of a new gastrostomy tube. Among survivors who received a new gastrostomy tube 27 (8.36%) during their acute hospitalization, the mean discharge FSS was much higher: (15.52 ± 3.98) verses (8.64 ± 3.35). P < 0.0001 (Figure 4). In children with severe TBI, 25/225 (11.11%) children had a new gastrostomy tube and of these, the mean discharge FSS was (15.64 ± 4.08) verses (9.19 ± 3.66) in those who did not, P < 0.0001. The distributions of discharge FSS values between patients who did and did not have a new gastrostomy tube separated well graphically: only those without new gastrostomy tubes had normal or mildly abnormal discharge FSS scores (Figure 4). Profoundly injured survivors may require a new tracheostomy. Of the 9/323 (2.79%) children who received a new tracheostomy, 9 (100.00%) also received a gastrostomy. The mean ± discharge FSS was 14.56 ± 2.19.

5 References

1.
Bennett TD, Dixon RR, Kartchner C, et al.: Functional status scale in children with traumatic brain injury: A prospective cohort study. Pediatric critical care medicine: a journal of the Society of Critical Care Medicine and the World Federation of Pediatric Intensive and Critical Care Societies 2016; 17:1147
2.
Faul M, Likang X, Wald MM, et al.: Traumatic brain injury in the united states: Emergency department visits, hospitalizations, and deaths 2002-2006. Atlanta (GA): National Center for Injury Prevention; Control, Centers for Disease Control; Prevention, U.S. Department of Health; Human Services; 2010.
3.
Frieden TR, Houry D, Baldwin G: Report to congress on traumatic brain injury in the united states: Epidemiology and rehabilitation. Division for Unintentional Injury Prevention, National Center for Injury Prevention; Control, Centers for Disease Control; Prevention, U.S. Department of Health; Human Services; 2014.
4.
Fiser DH: Assessing the outcome of pediatric intensive care. J Pediatr 1992; 121:68–74
5.
6.
7.
8.
Beers SR, Wisniewski SR, Garcia-Filion P, et al.: Validity of a pediatric version of the glasgow outcome scale-extended. J Neurotrauma 2012; 29:1126–39
9.
Crouchman M, Rossiter L, Colaco T, et al.: A practical outcome scale for paediatric head injury. Arch Dis Child 2001; 84:120–124
10.
Namachivayam P, Shann F, Shekerdemian L, et al.: Three decades of pediatric intensive care: Who was admitted, what happened in intensive care, and what happened afterward. Pediatr Crit Care Med 2010; 11:549–55
11.
Slonim AD, Khandelwal S, He J, et al.: Characteristics associated with pediatric inpatient death. Pediatrics 2010; 125:1208–16
12.
Bone MF, Feinglass JM, Goodman DM: Risk factors for acquiring functional and cognitive disabilities during admission to a PICU*. Pediatr Crit Care Med 2014; 15:640–8
13.
Pollack MM, Holubkov R, Funai T, et al.: Pediatric intensive care outcomes: Development of new morbidities during pediatric critical care. Pediatr Crit Care Med 2014; 15:821–827
14.
Choong K, Al-Harbi S, Siu K, et al.: Functional recovery following critical illness in children: The "wee-cover" pilot study. Pediatr Crit Care Med 2015; 16:310–318
15.
16.
Pollack MM, Holubkov R, Glass P, et al.: Functional status scale: New pediatric outcome measure. Pediatrics 2009; 124:e18–28
17.
18.
Pollack MM, Holubkov R, Funai T, et al.: Simultaneous prediction of new morbidity, mortality, and survival without new morbidity from pediatric intensive care: A new paradigm for outcomes assessment. Crit Care Med 2015; 43:1699–1709
19.
20.
Maas AIR, Murray GD, Roozenbeek B, et al.: Advancing care for traumatic brain injury: Findings from the IMPACT studies and perspectives on future research. Lancet Neurol 2013; 12:1200–1210
21.
Liesemer K, Riva-Cambrin J, Bennett KS, et al.: Use of Rotterdam CT scores for mortality risk stratification in children with traumatic brain injury. Pediatr Crit Care Med 2014; 15:554–562
22.
23.
The American College of Surgeons Committee on Trauma: National Trauma Data Standard.
24.
Tufte ER: The visual display of quantitative information. 2nd Edition. Graphics Press; 2001.
25.
R Core Team: R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing;

6 Figures

Figure 1: FSS Domain Scores at Hospital Discharge. Histograms of Functional Status Scores (FSS) domain scores at hospital discharge. A score of 1 represents no dysfunction, 2 is mild, 3 is moderate, 4 is severe, and 5 is very severe dysfunction.

# data.table::melt or tidyr::pivot_longer would make this data step much easier
figure1_data <-
  lapply(grep("^fss(?!total)", names(pedalfast), perl = TRUE, value = TRUE),
         function(x) data.frame(variable = x, value = pedalfast[, x]))
figure1_data <- do.call(rbind, figure1_data)

ggplot(figure1_data) +
  aes(x = value, y = (..count..)/sum(..count..)) +
  geom_bar() +
  facet_wrap( ~ variable) +
  theme_classic(base_size = 18) +
  ylab("") +
  scale_y_continuous(labels = scales::percent)

Figure 2: Discharge FSS by Admission GCS. FSS = Functional Status Scale; GCS = Glasgow Coma Scale. A FSS score of six represents no dysfunction.

ggplot(pedalfast) +
  aes(x = gcs_using, y = fsstotal) +
  stat_sum(aes(size = ..n..), alpha = 0.2) +
  scale_size_area(breaks = c(5, 10, 15), "Count", max_size = 7) +
  stat_smooth(method = "lm", formula = y ~ x, size = 0.5, alpha = 0.4, level = 0.95, color = "black", linetype = 2) +
  scale_x_continuous(breaks = seq(3, 15, 1)) +
  scale_y_continuous(breaks = c(6, 10, 15, 20, 25), limits = c(5, 25)) +
  xlab("Glasgow Coma Scale") +
  ylab("Discharge FSS") +
  theme_classic(base_size = 16) +
  theme(legend.position = c(0.9, 0.9))

Figure 3: Discharge FSS by Intracranial Hemorrhage Type. A FSS score of 6 represents no dysfunction.

figure3_data <-
  lapply(grep("^ct.+(hem|toma)$", names(pedalfast), perl = TRUE, value = TRUE),
         function(x) data.frame(studyid = pedalfast[["studyid"]],
                                fsstotal = pedalfast[["fsstotal"]],
                                variable = x,
                                value = pedalfast[, x]))
figure3_data <- do.call(rbind, figure3_data)

figure3_data$variable <-
  factor(figure3_data$variable,
         levels = c("ctintraparhem", "ctsubarchhem", "ctintraventhem", "ctsubhematoma", "ctepihematoma"),
         labels = c("Intraparenchymal\nHemorrhage", "Subarachnoid\nHemorrhage", "Intraventricular\nHemorrhage", "Subdural Hematoma", "Epidural Hematoma"))

ggplot(data = figure3_data) +
  aes(x = fsstotal, fill = as.factor(value)) +
  geom_bar() +
  facet_wrap( ~ variable) +
  scale_fill_manual(name = "Hemorrhage", labels = c("No", "Yes"), values = c("grey", "black")) +
  xlim(5.5,30.5) +
  xlab("Discharge FSS") +
  ylab("Count") +
  theme_classic(base_size=16) +
  theme(legend.position = "bottom")

Figure 4: Discharge FSS by New Gastrostomy Status. Legend: FSS = Functional Status Scale; G-Tube = gastrostomy tube; TBI = traumatic brain injury. A FSS score of 6 represents no dysfunction.

figure4_data <-
  rbind(cbind(cp = "All TBI", pedalfast[, c("fsstotal", "newgastyn")]),
        cbind(cp = "Non-Severe TBI", subset(pedalfast, severetbi == 0, c("fsstotal", "newgastyn"))),
        cbind(cp = "Severe TBI",     subset(pedalfast, severetbi == 1, c("fsstotal", "newgastyn"))))
figure4_data$cp <- factor(figure4_data$cp, levels = c("All TBI", "Non-Severe TBI", "Severe TBI"))

ggplot(data = figure4_data) +
  aes(x = fsstotal, fill = newgastyn) +
  geom_histogram(binwidth = 1, bins = seq(5.5, 30.5, by = 1)) +
  scale_fill_manual(name = "New G-Tube", values = c("gray", "black")) +
  xlim(5.5,30.5) +
  xlab("Discharge FSS") +
  ylab("Count") +
  theme_classic(base_size=20) +
  theme(legend.position = "bottom") +
  facet_wrap( ~ cp)

Figure 5: Discharge FSS by CT imaging. The violin plots show the distribution of FSS scores, the wider the plot the more common the FSS value is. The point shown on each plot is the mean discharge FSS score.

ggplot(data = subset(figure3_data, !is.na(value))) +
  aes(y = fsstotal, x = factor(value, c(0, 1), c("No", "Yes"))) +
  geom_violin() +
  stat_summary(fun = mean, geom = "point") +
  xlab("") +
  ylab("Discharge FSS") +
  facet_wrap( ~ variable) +
  theme_classic(base_size=16) +
  theme(legend.position = "bottom")

7 Tables

Table 1 Patient and Injury Characteristics. Summary statistics are either mean ± standard deviation, or n (%).

qs <- list(
             "Patient Characteristics" =
               list("Age (in years)" = ~ mean_sd(age / 365.25),
                    "Female"         = ~ n_perc0(female == 1))
           , "Injury Mechanism" = qsummary(subset(pedalfast, select = "injurymech"))[[1]]
           , "TBI Severity" =
               list("GCS = 3"             = ~ n_perc0(gcs_using == 3),
                    "Severe (GCS 3-8)"    = ~ n_perc0(gcs_using %in% seq(3, 8)),
                    "Moderate (GCS 9-12)" = ~ n_perc0(gcs_using %in% seq(9, 12)),
                    "Mild (GCS 13-15)"    = ~ n_perc0(gcs_using %in% seq(13, 15))
                   )
           , "GCS Eye"    = qsummary(subset(pedalfast, select = "gcseye_using_cat"))[[1]]
           , "GCS Verbal" = qsummary(subset(pedalfast, select = "gcsverbal_using_cat"))[[1]]
           , "GCS Motor"  = qsummary(subset(pedalfast, select = "gcsmotor_using_cat"))[[1]]
           , "Pupil Reactivity on ICU admission" = qsummary(subset(pedalfast, select = "puplrcticu"))[[1]]
           , "Initial ICU LOS" = list("median (IQR) (days)" = ~ median_iqr(admittoicudc1, na_rm = TRUE, digits = 0))
           , "Hospital LOS" = list("median (IQR) (days)" = ~ median_iqr(hosplos, na_rm = TRUE, digits = 0))
           , "Hospital Disposition" = qsummary(subset(pedalfast, select = "hospdisposition"))[[1]]
           )

# NOTE: the levels of Pupil Reactivity in the ICU include "Unknown" which is
# qwraps2::qsummary default label for NA values.  A patch is provided here, a
# bug report and feature request for qwraps2 has been posted on github.
names(qs[["Pupil Reactivity on ICU admission"]])[ length( names(qs[["Pupil Reactivity on ICU admission"]]) )] <- "Missing"

# print the summary table
st <-
  cbind(summary_table(pedalfast, summaries = qs),
        summary_table(pedalfast, summaries = qs, by = "severetbi"))

colnames(st) <-
  c("", "Whole Cohort", "Non-severe TBI (GCS > 8)", "Severe TBI (GCS <= 8)")

st
pedalfast (N = 388) 0 (N = 100) 1 (N = 288)
Patient Characteristics         
   Age (in years) 7.39 ± 5.66 6.33 ± 5.41 7.76 ± 5.71
   Female 149 (38) 37 (37) 112 (39)
Injury Mechanism         
   Fall 72 (19) 28 (28) 44 (15)
   Known or suspected abuse 91 (23) 24 (24) 67 (23)
   Other 77 (20) 25 (25) 52 (18)
   Self-harm 6 (2) 0 (0) 6 (2)
   Traffic 142 (37) 23 (23) 119 (41)
TBI Severity         
   GCS = 3 141 (36) 0 (0) 141 (49)
   Severe (GCS 3-8) 288 (74) 0 (0) 288 (100)
   Moderate (GCS 9-12) 62 (16) 62 (62) 0 (0)
   Mild (GCS 13-15) 38 (10) 38 (38) 0 (0)
GCS Eye         
   No response 277 (71) 7 (7) 270 (94)
   To pain only 28 (7) 13 (13) 15 (5)
   To speech 17 (4) 15 (15) 2 (1)
   Spontaneous 66 (17) 65 (65) 1 (0)
GCS Verbal         
   No response 295 (76) 26 (26) 269 (93)
   Incomprehensible sounds or moans to pain 32 (8) 14 (14) 18 (6)
   Inappropriate words or cries to pain 14 (4) 13 (13) 1 (0)
   Confused or irritable cries 22 (6) 22 (22) 0 (0)
   Oriented, appropriate or coos and babbles 25 (6) 25 (25) 0 (0)
GCS Motor         
   No response/flaccid 141 (36) 0 (0) 141 (49)
   Abnormal extension to pain 17 (4) 1 (1) 16 (6)
   Abnormal flexion to pain 14 (4) 1 (1) 13 (5)
   Withdraws from painful stimuli 77 (20) 11 (11) 66 (23)
   Localizes pain or withdraws to touch 75 (19) 36 (36) 39 (14)
   Obeys commands 64 (16) 51 (51) 13 (5)
Pupil Reactivity on ICU admission         
   Both Fixed 62 (16) 1 (1) 61 (21)
   Both Reactive 284 (74) 89 (91) 195 (68)
   One Fixed 11 (3) 1 (1) 10 (3)
   Unknown 27 (7) 7 (7) 20 (7)
   Missing 4 (1.03%) 2 (2.00%) 2 (0.69%)
Initial ICU LOS         
   median (IQR) (days) 382; 3 (1, 8) 2 (1, 4) 282; 3 (2, 9)
Hospital LOS         
   median (IQR) (days) 9 (4, 20) 6 (4, 11) 10 (4, 22)
Hospital Disposition         
   Discharge TO or WITH Hospice 1 (0) 0 (0) 1 (0)
   Home with Skilled Nursing 7 (2) 2 (2) 5 (2)
   Home, no new supports 236 (61) 83 (83) 153 (53)
   Inpatient Rehab 62 (16) 10 (10) 52 (18)
   Mortality 65 (17) 2 (2) 63 (22)
   Other 16 (4) 3 (3) 13 (5)
   Short-term Nursing Facility 1 (0) 0 (0) 1 (0)

Table 2: Hospital Discharge FSS

qs <- list(
             "FSS Total" =
               list("median (IQR)" = ~ median_iqr(fsstotal, show_n = "never", na_rm = TRUE, digits = 0),
                    "mean (standard deviation)"    = ~ mean_sd(fsstotal, show_n = "never", na_rm = TRUE, digits = 0))
           , "FSS Total - Categorical: n (%)" = qsummary(subset(pedalfast, select = "fsstotal_cat2"))[[1]]
           , "FSS Mental"        = list("n; Median (IQR)" = ~ median_iqr(fssmental, na_rm = TRUE))
           , "FSS Motor"         = list("n; Median (IQR)" = ~ median_iqr(fssmotor, na_rm = TRUE))
           , "FSS Sensory"       = list("n; Median (IQR)" = ~ median_iqr(fsssensory, na_rm = TRUE))
           , "FSS Respiratory"   = list("n; Median (IQR)" = ~ median_iqr(fssresp, na_rm = TRUE))
           , "FSS Feeding"       = list("n; Median (IQR)" = ~ median_iqr(fssfeeding, na_rm = TRUE))
           , "FSS Communication" = list("n; Median (IQR)" = ~ median_iqr(fsscommun, na_rm = TRUE))
           )


st <-
  cbind(summary_table(pedalfast, summaries = qs),
        summary_table(pedalfast, summaries = qs, by = "severetbi")
  )

colnames(st) <-
  c("", "Whole Cohort", "Non-severe TBI (GCS > 8)", "Severe TBI (GCS <= 8)")

st
pedalfast (N = 388) 0 (N = 100) 1 (N = 288)
FSS Total         
   median (IQR) 8 (6, 12) 7 (6, 8) 9 (6, 13)
   mean (standard deviation) 10 ± 5 8 ± 2 11 ± 6
FSS Total - Categorical: n (%)         
   6-7 (Good) 156 (47) 64 (66) 92 (39)
   8-9 (Mildly abnormal) 47 (14) 15 (15) 32 (14)
   10-15 (Moderately abnormal) 89 (27) 16 (16) 73 (31)
   16-21 (Severe abnormal) 22 (7) 2 (2) 20 (9)
   22-30 (Very severely abnormal) 16 (5) 0 (0) 16 (7)
   Unknown/Missing 58 (14.95%) 3 (3.00%) 55 (19.10%)
FSS Mental         
   n; Median (IQR) 331; 1 (1.00, 2.00) 98; 1.00 (1.00, 1.00) 233; 1 (1.00, 2.00)
FSS Motor         
   n; Median (IQR) 332; 1.00 (1.00, 3.00) 98; 1.00 (1.00, 2.00) 234; 2.00 (1.00, 3.00)
FSS Sensory         
   n; Median (IQR) 332; 1.00 (1.00, 1.00) 98; 1.00 (1.00, 1.00) 234; 1.00 (1.00, 2.00)
FSS Respiratory         
   n; Median (IQR) 332; 1.00 (1.00, 1.00) 98; 1.00 (1.00, 1.00) 234; 1.00 (1.00, 1.00)
FSS Feeding         
   n; Median (IQR) 332; 1.00 (1.00, 3.00) 98; 1.00 (1.00, 1.00) 234; 1.50 (1.00, 3.00)
FSS Communication         
   n; Median (IQR) 331; 1 (1.00, 2.00) 97; 1 (1.00, 2.00) 234; 2.00 (1.00, 2.00)

Appendix Table 1 Functional Status Scale Domains

The FSS has 6 domains: Mental, Sensory, Communication, Motor, Feeding, and Respiratory. The scale in each domain is from 1 (no dysfunction) to 5 (very severe dysfunction), with a total score from 6 (normal) to 30 (very severe dysfunction in all domains). Appendix Table 1 shows the 6 domains and the 5 levels within each domain.


appendix_table_1 <-
  subset(pedalfast_metadata,
         variable %in% grep("^fss(?!total)", pedalfast_metadata$variable, perl = TRUE, value = TRUE))

appendix_table_1 <-
  cbind(appendix_table_1, do.call(rbind, strsplit(gsub("\\d,\\ ", "", appendix_table_1$values), split = "\\ \\|\\ ")))

appendix_table_1 <- appendix_table_1[, c("description", as.character(1:5))]
colnames(appendix_table_1) <-
  c("",
    "Normal (Score = 1)",
    "Mild Dysfunction (Score = 2)",
    "Moderate Dysfunction (Score = 3)",
    "Severely Dysfunction (Score = 4)",
    "Severely Dysfunction (Score = 5)")

knitr::kable(appendix_table_1, row.names = FALSE)
Normal (Score = 1) Mild Dysfunction (Score = 2) Moderate Dysfunction (Score = 3) Severely Dysfunction (Score = 4) Severely Dysfunction (Score = 5)
FSS Mental Status Normal sleep/wake periods; appropriate responsiveness Sleepy but arousable to noise/touch/movement and/or periods of social nonresponsiveness Lethargic and/or irritable Minimal arousal to stimuli (stupor) Unresponsive, coma, and/or vegetative state
FSS Sensory Intact hearing and vision and responsive to touch Suspected hearing or vision loss Not reactive to one of auditory stimuli or visual stimuli Not reactive to either auditory or visual stimuli Abnormal responses to pain or touch
FSS Communication Appropriate noncrying vocalizations, interactive facial expressiveness, or gestures Diminished vocalization, facial expression, and/or social responsiveness Absence of attention-getting behavior No demonstration of discomfort Absence of communication
FSS Motor Coordinated body movements, normal muscle control, and awareness of action and reason One limb functionally impaired Two or more limbs functionally impaired Poor head control Diffuse spasticity, paralysis, or decerebrate/decorticate posturing
FSS Feeding All food taken by mouth with age-appropriate help Nothing by mouth or need for age-inappropriate help with feeding Oral and tube feedings Parenteral nutrition with oral or tube feedings All parenteral nutrition
FSS Respiratory Room air and no artificial support or aids Oxygen treatment and/or suctioning Tracheostomy for airway Continuous positive airway pressure (CPAP/BIPAP) for all or part of the day and/or mechanical ventilator support for part of the day Mechanical ventilatory support for all of the day and night

8 R Session Info

sessionInfo()
## R version 4.3.2 (2023-10-31)
## Platform: x86_64-apple-darwin20 (64-bit)
## Running under: macOS Monterey 12.6
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/lib/libRblas.0.dylib 
## LAPACK: /Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0
## 
## locale:
## [1] C/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## time zone: America/Denver
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] ggplot2_3.4.4        qwraps2_0.6.0        knitr_1.45          
## [4] pedalfast.data_1.0.1
## 
## loaded via a namespace (and not attached):
##  [1] Matrix_1.6-2     gtable_0.3.4     jsonlite_1.8.7   dplyr_1.1.3     
##  [5] compiler_4.3.2   highr_0.10       tidyselect_1.2.0 Rcpp_1.0.11     
##  [9] jquerylib_0.1.4  splines_4.3.2    scales_1.2.1     yaml_2.3.7      
## [13] fastmap_1.1.1    lattice_0.22-5   R6_2.5.1         labeling_0.4.3  
## [17] generics_0.1.3   tibble_3.2.1     car_3.1-2        munsell_0.5.0   
## [21] bslib_0.5.1      pillar_1.9.0     rlang_1.1.2      utf8_1.2.4      
## [25] cachem_1.0.8     xfun_0.41        sass_0.4.7       cli_3.6.1       
## [29] mgcv_1.9-0       withr_2.5.2      magrittr_2.0.3   digest_0.6.33   
## [33] grid_4.3.2       nlme_3.1-163     lifecycle_1.0.4  vctrs_0.6.4     
## [37] evaluate_0.23    glue_1.6.2       farver_2.1.1     abind_1.4-5     
## [41] carData_3.0-5    fansi_1.0.5      colorspace_2.1-0 rmarkdown_2.25  
## [45] tools_4.3.2      pkgconfig_2.0.3  htmltools_0.5.7