--- title: "Building base cohorts" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{a01_building_base_cohorts} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, eval = TRUE, warning = FALSE, message = FALSE, comment = "#>" ) library(CDMConnector) if (Sys.getenv("EUNOMIA_DATA_FOLDER") == ""){ Sys.setenv("EUNOMIA_DATA_FOLDER" = file.path(tempdir(), "eunomia"))} if (!dir.exists(Sys.getenv("EUNOMIA_DATA_FOLDER"))){ dir.create(Sys.getenv("EUNOMIA_DATA_FOLDER")) downloadEunomiaData() } ``` ## Introduction Let's first create a cdm reference to the Eunomia synthetic data. ```{r} library(CDMConnector) library(CodelistGenerator) library(PatientProfiles) library(CohortConstructor) library(dplyr) con <- DBI::dbConnect(duckdb::duckdb(), dbdir = eunomia_dir()) cdm <- cdm_from_con(con, cdm_schema = "main", write_schema = c(prefix = "my_study_", schema = "main")) ``` ## Demographic based cohort creation One base cohort we can create is based around patient demographics. Here for example we create a cohort where people enter on their 18th birthday and leave at age 65 or ```{r} cdm$working_age_cohort <- demographicsCohort(cdm = cdm, ageRange = c(18, 65), name = "working_age_cohort") settings(cdm$working_age_cohort) cohortCount(cdm$working_age_cohort) attrition(cdm$working_age_cohort) ``` ```{r} cdm$working_age_cohort |> addAge(indexDate = "cohort_start_date") |> summarise(min_start_age = min(age), median_start_age = median(age), max_start_age = max(age)) cdm$working_age_cohort |> addAge(indexDate = "cohort_end_date") |> summarise(min_start_age = min(age), median_start_age = median(age), max_start_age = max(age)) ``` ## Concept based cohort creation ```{r} drug_codes <- getDrugIngredientCodes(cdm, name = c("diclofenac", "acetaminophen")) drug_codes ``` ```{r} cdm$medications <- conceptCohort(cdm = cdm, conceptSet = drug_codes, name = "medications") settings(cdm$medications) cohortCount(cdm$medications) ``` ## Concept based cohort creation for measurements TO DO