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