vaccineff v1.0.0

new-release
Author

The Epiverse-TRACE development team

Published

December 2, 2024

We are very excited to announce the release of a new vaccineff version v1.0.0. The package offers tools for estimating vaccine effectiveness (VE) and related metrics, with features such as:

Two main functions compose {vaccineff 1.0.0}:

  1. make_vaccineff_data(): Constructs the vaccineff_data class, managing key features for preparing, visualizing, and organizing cohort data.

  2. estimate_vaccineff(): Constructs the vaccineff class, enabling estimation of VE and assessment of results and model performance.

Both classes support plot() and summary() methods, providing visualizations and detailed reports.

Breaking Changes

{vaccineff 1.0.0} refactors the package’s internal structure for better maintainability.

  • estimate_vaccineff() replaces effectiveness().

    • It returns an object of class vaccineff.
    • The at parameter must always be provided for accurate results.
  • plot.vaccineff_data() replaces plot_coverage().

  • cohortdata has been simplified and reduced to improve examples and reduce computation time.

Quick start

To start with {vaccineff} 1.0.0, run the following example. This example estimates VE using the package’s example dataset, adjusted for confounders (age and sex) via the iterative matching strategy.

The summary() method for the vaccineff_data object provides details on cohort balance and composition before and after applying the matching strategy, as well as general cohort features.

When called on the vaccineff object (ve), the summary() method returns the estimation summary, including results from the Schoenfeld test for proportional hazards.

library(vaccineff)

# Create `vaccineff_data`
data(cohortdata)
vaccineff_data <- make_vaccineff_data(
  data_set = cohortdata,
  outcome_date_col = "death_date",
  censoring_date_col = "death_other_causes",
  vacc_date_col = "vaccine_date_2",
  vaccinated_status = "v",
  unvaccinated_status = "u",
  immunization_delay = 15,
  end_cohort = as.Date("2021-12-31"),
  match = TRUE,
  exact = "sex",
  nearest = c(age = 1)
)
summary(vaccineff_data)
Cohort start:  2021-03-26
Cohort end:  2021-12-31
The start date of the cohort was defined as the mininimum immunization date. 
65 registers were removed with outcomes before the start date.

Nearest neighbors matching iteratively performed.
Number of iterations:  4
Balance all:
              u         v         smd
age   63.917069 62.997438 -0.08593156
sex_F  0.520277  0.573474  0.10701746
sex_M  0.479723  0.426526 -0.10701746

Balance matched:
               u          v         smd
age   63.9014396 63.7280362 -0.01587567
sex_F  0.5206718  0.5206718  0.00000000
sex_M  0.4793282  0.4793282  0.00000000

Summary vaccination:
              u     v
All       10973 19905
Matched   10836 10836
Unmatched   137  9069

// tags: outcome_date_col:death_date, censoring_date_col:death_other_causes, vacc_date_col:vaccine_date_2, immunization_date_col:immunization_date, vacc_status_col:vaccine_status 
# Estimate VE
ve <- estimate_vaccineff(vaccineff_data, at = 180)
summary(ve)
Vaccine Effectiveness at 180 days computed as VE = 1 - HR:
     VE lower.95 upper.95
 0.7254   0.5437   0.8347

Schoenfeld test for Proportional Hazards assumption:
p-value = 0.1507

Acknowledgements

@Bisaloo @chartgerink @davidsantiagoquevedo @ErikaCantor @fsabrilb @GeraldineGomez @jpavlich @ManuelVelarde2212 @pratikunterwegs @zmcucunuba

Reuse

Citation

BibTeX citation:
@online{epiverse-trace_development_team2024,
  author = {Epiverse-TRACE development team, The},
  title = {Vaccineff V1.0.0},
  date = {2024-12-02},
  url = {https://epiverse-trace.github.io/posts/vaccineff_v1.0.0/},
  langid = {en}
}
For attribution, please cite this work as:
Epiverse-TRACE development team, The. 2024. “Vaccineff V1.0.0.” December 2, 2024. https://epiverse-trace.github.io/posts/vaccineff_v1.0.0/.