## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(CDMConnector) CDMConnector::requireEunomia() ## ----warning=FALSE------------------------------------------------------------ library(dplyr) library(CDMConnector) library(DBI) library(duckdb) library(OmopSketch) library(CodelistGenerator) # Connect to Eunomia database con <- DBI::dbConnect(duckdb::duckdb(), CDMConnector::eunomiaDir()) cdm <- CDMConnector::cdmFromCon( con = con, cdmSchema = "main", writeSchema = "main" ) cdm ## ----warning=FALSE------------------------------------------------------------ acetaminophen <- getCandidateCodes( cdm = cdm, keywords = "acetaminophen", domains = "Drug", includeDescendants = TRUE ) |> dplyr::pull("concept_id") sinusitis <- getCandidateCodes( cdm = cdm, keywords = "sinusitis", domains = "Condition", includeDescendants = TRUE ) |> dplyr::pull("concept_id") ## ----warning=FALSE------------------------------------------------------------ summariseConceptSetCounts(cdm, conceptSet = list( "acetaminophen" = acetaminophen, "sinusitis" = sinusitis ) ) |> select(group_level, variable_name, variable_level, estimate_name, estimate_value) |> glimpse() ## ----warning=FALSE------------------------------------------------------------ summariseConceptSetCounts(cdm, conceptSet = list( "acetaminophen" = acetaminophen, "sinusitis" = sinusitis ), countBy = c("record", "person") ) |> select(group_level, variable_name, estimate_name) |> distinct() |> arrange(group_level, variable_name) ## ----warning=FALSE------------------------------------------------------------ summariseConceptSetCounts(cdm, conceptSet = list( "acetaminophen" = acetaminophen, "sinusitis" = sinusitis ), countBy = "record" ) |> select(group_level, variable_name, estimate_name) |> distinct() |> arrange(group_level, variable_name) ## ----warning=FALSE------------------------------------------------------------ summariseConceptSetCounts(cdm, conceptSet = list( "acetaminophen" = acetaminophen, "sinusitis" = sinusitis ), countBy = "person", interval = "years", sex = TRUE, ageGroup = list("<=50" = c(0, 50), ">50" = c(51, Inf)) ) |> select(group_level, strata_level, variable_name, estimate_name) |> glimpse() ## ----warning=FALSE------------------------------------------------------------ summariseConceptSetCounts(cdm, conceptSet = list("sinusitis" = sinusitis), countBy = "person" ) |> plotConceptSetCounts() ## ----warning=FALSE------------------------------------------------------------ summariseConceptSetCounts(cdm, conceptSet = list("sinusitis" = sinusitis), countBy = c("person", "record") ) |> filter(variable_name == "Number subjects") |> plotConceptSetCounts() ## ----warning=FALSE------------------------------------------------------------ summariseConceptSetCounts(cdm, conceptSet = list("sinusitis" = sinusitis), countBy = c("person"), sex = TRUE, ageGroup = list("<=50" = c(0, 50), ">50" = c(51, Inf)) ) |> visOmopResults::tidyColumns() summariseConceptSetCounts(cdm, conceptSet = list("sinusitis" = sinusitis), countBy = c("person"), sex = TRUE, ageGroup = list("<=50" = c(0, 50), ">50" = c(51, Inf)) ) |> plotConceptSetCounts(facet = "sex", colour = "age_group")