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")
::install_github("OHDSI/PhenotypeR") remotes
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
<- DBI::dbConnect(duckdb::duckdb(),
con ::eunomiaDir("synpuf-1k", "5.3"))
CDMConnector<- CDMConnector::cdmFromCon(con = con,
cdm 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
<- list("warfarin" = c(1310149, 40163554),
codes "acetaminophen" = c(1125315, 1127078, 1127433, 40229134, 40231925, 40162522, 19133768),
"morphine" = c(1110410, 35605858, 40169988))
# Instantiate cohorts with CohortConstructor
$my_cohort <- conceptCohort(cdm = cdm,
cdmconceptSet = 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, matched
diagnostics, and population diagnostics) using
phenotypeDiagnostics()
:
<- phenotypeDiagnostics(cdm$my_cohort) result
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, but you will likely want to save this shiny app to a local directory of your choice.
shinyDiagnostics(result = result, minCellCount = 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.