The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Concept sets

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.

condition_codes <- list("diabetes" = c(201820, 4087682, 3655269),
                        "asthma" = 317009)
condition_codes <- newCodelist(condition_codes)

condition_codes
#> 
#> - diabetes (3 codes)
#> - asthma (1 codes)

A codelist must be named

condition_codes <- list(c(201820, 4087682, 3655269))
newCodelist(condition_codes)
#> Error in `validateCodelist()`:
#> ! x must be a list; it can not contain NA; it can not be NULL; it has to
#>   be named; elements must have class: numeric, integer.

And a codelist cannot have missing values

condition_codes <- list("diabetes" = c(201820, NA, 3655269),
                        "asthma" = 317009)
newCodelist(condition_codes)
#> Error in `validateCodelist()`:
#> ! `diabetes` must not contain NA.

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.

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
#> 
#> - diabetes (2 concept criteria)
#> - asthma (1 concept criteria)

As with a codelist, a concept set expression must be a named list and cannot have missing elements.

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)
#> Error in `validateConceptSetExpression()`:
#> ! x must be a list; it can not contain NA; it can not be NULL; it has to
#>   be named; elements must have class: tbl.
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)
#> Error in `validateConceptSetExpression()`:
#> ! $x[[i]]concept_id must be a numeric; it has to be integerish; it can
#>   not contain NA; it can not be NULL.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.