Skip to contents

Add a variable to a drug cohort indicating their presence of a medication cohort in a specified time window.

Usage

addTreatment(
  cohort,
  treatmentCohortName,
  treatmentCohortId = NULL,
  window = list(c(0, 0)),
  indexDate = "cohort_start_date",
  censorDate = NULL,
  mutuallyExclusive = TRUE,
  nameStyle = NULL,
  name = NULL
)

Arguments

cohort

A cohort_table object.

treatmentCohortName

Name of treatment cohort table

treatmentCohortId

target cohort Id to add treatment

window

time window of interests.

indexDate

Name of a column that indicates the date to start the analysis.

censorDate

Name of a column that indicates the date to stop the analysis, if NULL end of individuals observation is used.

mutuallyExclusive

Whether to consider mutually exclusive categories (one column per window) or not (one column per window and treatment).

nameStyle

Name style for the treatment columns. By default: 'treatment_{window_name}' (mutuallyExclusive = TRUE), 'treatment_{window_name}_{cohort_name}' (mutuallyExclusive = FALSE).

name

Name of the new computed cohort table, if NULL a temporary table will be created.

Value

The original table with a variable added that summarises the individual´s indications.

Examples

# \donttest{
library(DrugUtilisation)
library(CDMConnector)
library(dplyr)

cdm <- mockDrugUtilisation(numberIndividuals = 50)


cdm <- generateIngredientCohortSet(
  cdm = cdm, name = "drug_cohort", ingredient = "acetaminophen"
)
#>  Subsetting drug_exposure table
#>  Checking whether any record needs to be dropped.
#>  Collapsing overlaping records.
#>  Collapsing records with gapEra = 1 days.

cdm <- generateIngredientCohortSet(
  cdm = cdm, name = "treatments", ingredient = c("metformin", "simvastatin")
)
#>  Subsetting drug_exposure table
#>  Checking whether any record needs to be dropped.
#>  Collapsing overlaping records.
#>  Collapsing records with gapEra = 1 days.

cdm$drug_cohort |>
  addTreatment("treatments", window = list(c(0, 0), c(1, 30), c(31, 60))) |>
  glimpse()
#>  Intersect with medications table (treatments).
#>  Collapse medications to mutually exclusive categories
#> Rows: ??
#> Columns: 7
#> Database: DuckDB v1.1.3 [unknown@Linux 6.8.0-1017-azure:R 4.4.2/:memory:]
#> $ cohort_definition_id <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ subject_id           <int> 42, 14, 42, 5, 2, 8, 11, 26, 25, 39, 20, 4, 31, 4…
#> $ cohort_start_date    <date> 2018-01-21, 2003-06-20, 2016-06-11, 2006-01-14, …
#> $ cohort_end_date      <date> 2018-06-18, 2012-04-13, 2017-09-21, 2006-11-28, …
#> $ medication_0_to_0    <chr> "untreated", "untreated", "untreated", "metformin…
#> $ medication_1_to_30   <chr> "untreated", "untreated", "untreated", "metformin…
#> $ medication_31_to_60  <chr> "untreated", "untreated", "untreated", "metformin…
# }