Skip to contents

padCohortEnd() Adds (or subtracts) a certain number of days to the cohort end date. Note:

  • If the days added means that cohort end would be after observation period end date, then observation period end date will be used for cohort exit.

  • If the days added means that cohort exit would be after the next cohort start then these overlapping cohort entries will be collapsed.

  • If days subtracted means that cohort end would be before cohort start then the cohort entry will be dropped.

Usage

padCohortEnd(
  cohort,
  days,
  collapse = TRUE,
  padObservation = TRUE,
  cohortId = NULL,
  name = tableName(cohort)
)

Arguments

cohort

A cohort table in a cdm reference.

days

Integer with the number of days to add or name of a column (that must be numeric) to add.

collapse

Whether to collapse the overlapping records (TRUE) or drop the records that have an ongoing prior record.

padObservation

Whether to pad observations if they are outside observation_period (TRUE) or drop the records if they are outside observation_period (FALSE)

cohortId

Vector identifying which cohorts to modify (cohort_definition_id or cohort_name). If NULL, all cohorts will be used; otherwise, only the specified cohorts will be modified, and the rest will remain unchanged.

name

Name of the new cohort table created in the cdm object.

Value

Cohort table

Examples

# \donttest{
library(CohortConstructor)
cdm <- mockCohortConstructor()
# add 10 days to each cohort exit
cdm$cohort1 |>
  padCohortEnd(days = 10)
#> # Source:   table<main.cohort1> [?? x 4]
#> # Database: DuckDB v1.1.3 [unknown@Linux 6.8.0-1017-azure:R 4.4.2/:memory:]
#>   cohort_definition_id subject_id cohort_start_date cohort_end_date
#>                  <int>      <int> <date>            <date>         
#> 1                    1          9 2012-01-18        2012-03-18     
#> 2                    1          4 1998-06-22        2001-02-22     
#> 3                    1          2 1964-09-18        1965-09-09     
#> 4                    1          5 2007-10-19        2011-09-22     
#> 5                    1          3 1976-11-28        1987-03-08     
#> 6                    1          6 2003-10-31        2004-04-20     
# }