Stratified prevalence comparison across OMOP CDM datasets.
Syrona derives stratified prevalence tables from the condition, procedure, and drug records in OMOP CDM databases, computes log2 prevalence ratios between paired datasets, and synthesizes them via random-effects meta-analysis at multiple aggregation levels.
Pick the scenario that matches you - each links to the relevant vignette.
Clone the repo (the demo datasets ship at the repo root under
data/), then launch the dashboard:
# In a terminal:
# git clone https://github.com/HealthInformaticsUT/Syrona.git
# Then in R:
setwd("path/to/Syrona")
library(syrona)
run_app()The data/ folder is excluded from the package build
(.Rbuildignore), so remotes::install_github
installs the code only. To get the demo data, you must clone.
Install the package and follow the end-to-end walkthrough:
# install.packages("remotes")
remotes::install_github("HealthInformaticsUT/Syrona")Then read vignette("a04_walkthrough", package = "syrona")
which takes you from “I have a remote OMOP CDM” to “the dashboard is
showing my comparison” with verification at every step.
Install the package, point at your data directory, launch:
remotes::install_github("HealthInformaticsUT/Syrona")
library(syrona)
options(syrona.data_dir = "/path/to/your/syrona/data")
run_app()Your data directory must contain sources/ (extracted
datasets) and optionally comparisons/ (pre-computed
comparison results).
library(syrona)
# 1. Connect to an OMOP CDM database
db <- syrona_connect("path/to/omop.duckdb") # local DuckDB
# or
db <- syrona_connect_pg(host = "localhost", ...) # PostgreSQL via SSH tunnel
# 2. Extract stratified prevalence tables
extract_all("Dataset_A", db = db)
extract_all("Dataset_B", db = db)
syrona_disconnect(db)
# 3. Compare
compare_all("Dataset_A", "Dataset_B")
# 4. Explore in the dashboard
run_app()Extract (Phase 1) - query an OMOP CDM via CDMConnector + dplyr to produce prevalence by concept x year x sex x age group, concept metadata, chapter assignments, and SNOMED attributes. k-anonymity suppression applied automatically.
Compare (Phase 2) - pair two datasets, match strata, compute log2 prevalence ratios with confidence intervals.
Meta-analyze (Phase 3) - synthesize per-stratum estimates via random-effects meta-analysis (Paule-Mandel tau) across years, age groups, and sexes.
Extract subpopulations using standard OHDSI cohort tables:
# Create a care-site cohort
create_caresite_cohort(con, care_site_id = 101, cohort_id = 1,
cohort_schema = "results", cdm_schema = "cdm")
# Extract only that cohort
extract_all("Hospital_A", db = db, cohort_id = 1, cohort_schema = "results")