
Applying demographic requirements to a cohort
Source:vignettes/a03_require_demographics.Rmd
a03_require_demographics.Rmd
library(CodelistGenerator)
library(CohortConstructor)
library(CohortCharacteristics)
library(ggplot2)
library(omock)
library(dplyr)In this vignette we’ll show how requirements related to patient demographics can be applied to a cohort. Again we’ll use the Eunomia synthetic data.
cdm <- mockCdmFromDataset(datasetName = "GiBleed", source = "duckdb")Let’s start by creating a cohort of people with a fracture. We’ll first look for codes that might represent a fracture and the build a cohort using these codes, setting cohort exit to 180 days after the fracture.
fracture_codes <- getCandidateCodes(cdm, "fracture")
fracture_codes <- list("fracture" = fracture_codes$concept_id)
cdm$fracture <- conceptCohort(cdm = cdm,
conceptSet = fracture_codes,
name = "fracture")
summary_attrition <- summariseCohortAttrition(cdm$fracture)
plotCohortAttrition(summary_attrition)Restrict cohort by age
We can choose a specific age range for individuals in our cohort
using requireAge() from CohortConstructor.
cdm$fracture <- cdm$fracture |>
requireAge(indexDate = "cohort_start_date",
ageRange = list(c(18, 100)))
summary_attrition <- summariseCohortAttrition(cdm$fracture)
plotCohortAttrition(summary_attrition)Note that by default individuals are filtered based on the age they were when they entered the cohort.
Restrict cohort by sex
We can also specify a sex criteria for individuals in our cohort
using requireSex() from CohortConstructor.
cdm$fracture <- cdm$fracture |>
requireSex(sex = "Female")
summary_attrition <- summariseCohortAttrition(cdm$fracture)
plotCohortAttrition(summary_attrition)Restrict cohort by number of prior observations
We can also specify a minimum number of days of prior observations
for each individual using requirePriorObservation() from
CohortConstructor.
cdm$fracture <- cdm$fracture |>
requirePriorObservation(indexDate = "cohort_start_date",
minPriorObservation = 365)
summary_attrition <- summariseCohortAttrition(cdm$fracture)
plotCohortAttrition(summary_attrition)As well as specifying a minimum amount of prior observation, we can
require some mimimum amount of follow-up by using
requireFutureObservation() in a similar way.
Applying multiple demographic requirements to a cohort
We can implement multiple demographic requirements at the same time
by using the more general requireDemographics()
function.
cdm$fracture <- conceptCohort(cdm = cdm,
conceptSet = fracture_codes,
name = "fracture") |>
requireDemographics(indexDate = "cohort_start_date",
ageRange = c(18,100),
sex = "Female",
minPriorObservation = 365,
minFutureObservation = 30)
summary_attrition <- summariseCohortAttrition(cdm$fracture)
plotCohortAttrition(summary_attrition)