# Source: table<my_study_medications_codelist> [?? x 4]
# Database: DuckDB v1.0.0 [nmercade@Windows 10 x64:R 4.2.2/C:\Users\nmercade\AppData\Local\Temp\RtmpA1VZ7T\fileaca4760811d8.duckdb]
cohort_definition_id codelist_name concept_id type
<int> <chr> <int> <chr>
1 1 161_acetaminophen 1125315 index event
2 1 161_acetaminophen 1127078 index event
3 1 161_acetaminophen 1127433 index event
4 1 161_acetaminophen 40229134 index event
5 1 161_acetaminophen 40231925 index event
6 1 161_acetaminophen 40162522 index event
7 1 161_acetaminophen 19133768 index event
8 2 3355_diclofenac 1124300 index event
Requirements and Filtering
Functions to apply requirements and filter
On demographics
requireDemographics()
requireAge()
requireSex()
requirePriorObservation()
requireFutureObservation()
On cohort entries
requireIsFirstEntry()
requireIsLastEntry()
requireIsEntry()
Require presence or absence based on other cohorts, concepts, and tables
requireCohortIntersect()
requireConceptIntersect()
requireTableIntersect()
requireDeathFlag()
Other
requireInDateRange()
requireMinCohortCount()
Requirement functions - Example
We can apply different inclusion and exclusion criteria using CohortConstructor’s functions in a pipe-line fashion. For instance, in what follows we require
only first record per person
subjects 18 years old or more at cohort start date
only females
at least 30 days of prior observation at cohort start date
cdm$medications<-cdm$medications%>%requireIsFirstEntry()%>%requireDemographics( ageRange =list(c(18, 85)), sex ="Female", minPriorObservation =30)
Time Manipulation
Functions to update cohort start and end dates
Cohort exit
exitAtObservationEnd()
exitAtDeath()
exitAtFirstDate()
exitAtLastDate()
Cohort entry
entryAtFirstDate()
entryAtLastDate()
Trim start and end dates
trimDemographics()
trimToDateRange()
Pad start and end dates
padCohortDate()
padCohortEnd()
padCohortStart()
Time Manipulation - Example
We can set the end date to the end of the subject’s observation period