
The PhenotypeR package helps us to assess the research-readiness of a set of cohorts we have defined. This assessment includes:
You can install PhenotypeR from CRAN:
install.packages("PhenotypeR")Or you can install the development version from GitHub:
# install.packages("remotes")
remotes::install_github("OHDSI/PhenotypeR")To illustrate the functionality of PhenotypeR, let’s create a cohort using the Eunomia Synpuf dataset. We’ll first load the required packages and create the cdm reference for the data.
library(dplyr)
library(CohortConstructor)
library(PhenotypeR)# Connect to the database and create the cdm object
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")Note that we’ve included achilles results in our cdm reference. Where we can we’ll use these precomputed counts to speed up our analysis.
cdm
#>
#> ── # OMOP CDM reference (duckdb) of Eunomia Synpuf ─────────────────────────────
#> • omop tables: person, observation_period, visit_occurrence, visit_detail,
#> condition_occurrence, drug_exposure, procedure_occurrence, device_exposure,
#> measurement, observation, death, note, note_nlp, specimen, fact_relationship,
#> location, care_site, provider, payer_plan_period, cost, drug_era, dose_era,
#> condition_era, metadata, cdm_source, concept, vocabulary, domain,
#> concept_class, concept_relationship, relationship, concept_synonym,
#> concept_ancestor, source_to_concept_map, drug_strength, cohort_definition,
#> attribute_definition
#> • cohort tables: -
#> • achilles tables: achilles_analysis, achilles_results, achilles_results_dist
#> • other tables: -# Create a code lists
codes <- list("warfarin" = c(1310149, 40163554),
"acetaminophen" = c(1125315, 1127078, 1127433, 40229134, 40231925, 40162522, 19133768),
"morphine" = c(1110410, 35605858, 40169988))
# Instantiate cohorts with CohortConstructor
cdm$my_cohort <- conceptCohort(cdm = cdm,
conceptSet = codes,
exit = "event_end_date",
overlap = "merge",
name = "my_cohort")We can easily run all the analyses explained above (database
diagnostics, codelist diagnostics,
cohort diagnostics, and population
diagnostics) using phenotypeDiagnostics():
result <- phenotypeDiagnostics(cdm$my_cohort, survival = TRUE)Once we have our results we can quickly view them in an interactive application. Here we’ll apply a minimum cell count of 10 to our results and save our shiny app to a temporary directory.
shinyDiagnostics(result = result |> suppress(10), directory = tempdir())See the shiny app generated from the example cohort in here.
To see more details regarding each one of the analyses, please refer to the package vignettes.