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")
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.