--- title: "Defining Cohorts" always_allow_html: yes output: html_document: toc: yes toc_depth: '3' df_print: paged html_vignette: toc: yes toc_depth: 3 vignette: > %\VignetteIndexEntry{DefiningCohorts} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} pdf_document: toc: yes --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` # ATLAS The most popular way is to create cohorts is to use [ATLAS](https://atlas-demo.ohdsi.org/). >ATLAS is an open source software tool for researchers to conduct scientific analyses on standardized observational data converted to the OMOP Common Data Model V5. [*GitHub.com/OHDSI/Atlas*](https://github.com/OHDSI/Atlas) A cohort definition for Viral Sinusitis may look like this: >## Cohort information >### Viral Sinusitis Cohort parameters >The following text is an export of ATLAS Version 2.12.2. The bold parts of the text are parameters set in the cohort definition. > >#### Cohort Entry Events >People with continuous observation of **365** days before and **1,095** days after event may enter the cohort when observing any of the following: > >drug eras of **'Viral Sinusistis drugs'**. >Limit cohort entry events to the **earliest event** per person. > >### Inclusion Criteria >**1. Viral Sinusitis diagnosis** > Entry events having at least 1 condition occurrence of '[MVK] Viral Sinusitis diagnosis', allow events outside >observation period. > >**2. Index year** > Entry events with the following event criteria: starting after December 31, 1949. > >#### Cohort Exit >The person exits the cohort at the end of **continuous observation**. > >#### Cohort Eras >Entry events will be combined into cohort eras if they are within **0** days of each other. ATLAS allows you to export cohort definitions to `SQL`, `JSON`, or plain text (like above). Cohorts specified in SQL may be run on your database directly with [DatabaseConnector](https://ohdsi.github.io/DatabaseConnector/) and [SqlRender](https://ohdsi.github.io/SqlRender/) to generate the cohort table. Cohorts specified as JSON may be generated using [CohortGenerator](https://ohdsi.github.io/CohortGenerator/) or [CDMConnector](https://darwin-eu.github.io/CDMConnector/) to generate the cohort table. # CapR [CapR](https://ohdsi.github.io/Capr/) is a package that allows one to programatically generate cohorts. This is especially useful if lots of cohorts need to be created. >The goal of Capr, pronounced ‘kay-pr’ like the edible flower, is to provide a language for expressing OHDSI Cohort definitions in R code. OHDSI defines a cohort as “a set of persons who satisfy one or more inclusion criteria for a duration of time” and provides a standardized approach for defining them (Circe-be). Capr exposes the standardized approach to cohort building through a programmatic interface in R which is particularly helpful when creating a large number of similar cohorts. Capr version 2 introduces a new user interface designed for readability with the goal that Capr code being a human readable description of a cohort while also being executable on an OMOP Common Data Model. Specifying a cohort for Viral Sinusitis with CapR may look like this: ```{r Capr, eval=FALSE} library(Capr) viralSinusitis <- cs( descendants(40481087), name = "viralSinusitis", id = "Viral Sinusitis" ) viralSinusitisCohort <- cohort( entry = entry( conditionOccurrence(viralSinusitis), primaryCriteriaLimit = "First" ), exit = exit( endStrategy = observationExit() ) ) cohortSet <- list(ViralSinusitis = viralSinusitisCohort) ``` The cohortSet may then be generated using [CohortGenerator](https://ohdsi.github.io/CohortGenerator/) or [CDMConnector](https://darwin-eu.github.io/CDMConnector/). # Cohorts for `TreatmentPatterns` `TreatmentPatterns` includes the following dummy cohorts that were defined in ATLAS, and are usable with the [Eunomia](https://ohdsi.github.io/Eunomia/) package: _Viral Sinusitis_, _Acetaminophen_, _Amoxicillin_, _Aspirin_, _Clavunate_, _Doxylamine_, _Penicilin V_, and _Death_. These cohorts are of a specific _type_, meaning they serve a different purpose within `TreatmentPatterns`. The types are: **target** (required), **event** (at least one), **exit** (optional). **Target** cohorts is a cohort of subjects that you are interested in. **Event** cohorts are different treatments that may be to subjects within your **target** cohort. **Exit** cohorts are similar to **event** cohorts, but allow you to specify an exiting event, like death. In the table below you can see which cohort is of what type. | Cohorts | Type | | :-------------- | :----- | | Viral Sinusitis | target | | Acetaminophen | event | | Amoxicillin | event | | Aspirin | event | | Clavunate | event | | Doxylamine | event | | Penicilin V | event | | Death | exit | Given these cohorts and their types we are looking within a **target** cohort of subjects diagnosed with _Viral Sinusitis_. We are interested in generating treatment pathways with the following **event** cohorts: _Acetaminophen_, _Amoxicillin_, _Aspirin_, _Clavunate_, _Doxylamine_, _Penicilin V_. If subjects **exit** the database by dying, within the bounds of the target cohort, tag on _Death_. After installing `TreatmentPatterns` these cohorts are accessible through the following code. ```{r} list.files( system.file(package = "TreatmentPatterns", "exampleCohorts"), full.names = TRUE ) ```