--- title: "Concept sets" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{a02_concept_set} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", message = FALSE, error=TRUE ) ``` ```{r setup} library(omopgenerics) ``` ## Codelist A concept set can be represented as either a codelist or a concept set expression. A codelist is a named list, with each item of the list containing specific concept IDs. ```{r} condition_codes <- list("diabetes" = c(201820, 4087682, 3655269), "asthma" = 317009) condition_codes <- newCodelist(condition_codes) condition_codes ``` A codelist must be named ```{r} condition_codes <- list(c(201820, 4087682, 3655269)) newCodelist(condition_codes) ``` And a codelist cannot have missing values ```{r} condition_codes <- list("diabetes" = c(201820, NA, 3655269), "asthma" = 317009) newCodelist(condition_codes) ``` ## Concept set expression A concept set expression provides a high-level definition of concepts that, when applied to a specific OMOP CDM vocabulary version (by making use of the concept hierarchies and relationships), will result in a codelist. ```{r} condition_cs <- list( "diabetes" = dplyr::tibble( "concept_id" = c(201820, 4087682), "excluded" = c(FALSE, FALSE), "descendants" = c(TRUE, FALSE), "mapped" = c(FALSE, FALSE) ), "asthma" = dplyr::tibble( "concept_id" = 317009, "excluded" = FALSE, "descendants" = FALSE, "mapped" = FALSE ) ) condition_cs <- newConceptSetExpression(condition_cs) condition_cs ``` As with a codelist, a concept set expression must be a named list and cannot have missing elements. ```{r} condition_cs <- list( dplyr::tibble( "concept_id" = c(201820, NA), "excluded" = c(FALSE, FALSE), "descendants" = c(TRUE, FALSE), "mapped" = c(FALSE, FALSE) )) newConceptSetExpression(condition_cs) ``` ```{r} condition_cs <- list( "diabetes" = dplyr::tibble( "concept_id" = c(201820, NA), "excluded" = c(FALSE, FALSE), "descendants" = c(TRUE, FALSE), "mapped" = c(FALSE, FALSE) ), "asthma" = dplyr::tibble( "concept_id" = 317009, "excluded" = FALSE, "descendants" = FALSE, "mapped" = FALSE ) ) newConceptSetExpression(condition_cs) ```