knitr::opts_chunk$set( collapse = TRUE, comment = "#>", message = FALSE, warning = FALSE, fig.width = 7 ) library(CDMConnector) if (Sys.getenv("EUNOMIA_DATA_FOLDER") == "") Sys.setenv("EUNOMIA_DATA_FOLDER" = tempdir()) if (!dir.exists(Sys.getenv("EUNOMIA_DATA_FOLDER"))) dir.create(Sys.getenv("EUNOMIA_DATA_FOLDER")) if (!eunomiaIsAvailable()) downloadEunomiaData(datasetName = "synpuf-1k")
In this example we're going to summarise the characteristics of individuals with an ankle sprain, ankle fracture, forearm fracture, a hip fracture and different measurements using the Eunomia synthetic data.
We'll begin by creating our study cohorts.
library(CDMConnector) library(CohortConstructor) library(CodelistGenerator) library(PhenotypeR) library(MeasurementDiagnostics) library(dplyr) library(ggplot2) con <- DBI::dbConnect(duckdb::duckdb(), CDMConnector::eunomiaDir("synpuf-1k", "5.3")) cdm <- CDMConnector::cdmFromCon(con = con, cdmName = "Eunomia Synpuf", cdmSchema = "main", writeSchema = "main", achillesSchema = "main") cdm$injuries <- conceptCohort(cdm = cdm, conceptSet = list( "ankle_sprain" = 81151, "ankle_fracture" = 4059173, "forearm_fracture" = 4278672, "hip_fracture" = 4230399, "measurements_cohort" = c(40660437L, 2617206L, 4034850L, 2617239L, 4098179L) ), name = "injuries") cdm$injuries |> glimpse()
To get a good understanding of the codes we've used to define our cohorts we can use the codelistDiagnostics()
function.
code_diag <- codelistDiagnostics(cdm$injuries)
Codelist diagnostics builds on CodelistGenerator and MeasurementDiagnostics R packages to perform the following analyses:
The output of a function is a summarised result table.
Some cohorts that may be created manually may not have the codelists recorded in the cohort_codelist
attribute. The package has a utility function to record a codelist in a cohort_table
object:
cohortCodelist(cdm$injuries, cohortId = 1) cdm$injuries <- cdm$injuries |> addCodelistAttribute(codelist = list(new_codelist = c(1L, 2L)), cohortName = "ankle_fracture") cohortCodelist(cdm$injuries, cohortId = 1)
We will now use different functions to visualise the results generated by CohortDiagnostics. Notice that these functions are from CodelistGenerator and MeasurementDiagnostics R packages packages.
tableAchillesCodeUse(code_diag)
tableOrphanCodes(code_diag)
tableCohortCodeUse(code_diag)
tableMeasurementTimings(code_diag)
plotMeasurementTimings(code_diag)
tableMeasurementValueAsConcept(code_diag)
plotMeasurementValueAsConcept(code_diag)
tableMeasurementValueAsNumeric(code_diag)
plotMeasurementValueAsNumeric(code_diag)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.