knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
Syrona compares health datasets built on the OMOP Common Data Model. Given two OMOP CDM databases (or two cohorts within the same database), it:
The output is a set of CSV tables that can be explored in the Syrona dashboard or consumed by downstream tools.
| Tool | Purpose | |----|----| | ACHILLES | Profile a single database (aggregate statistics) | | CohortDiagnostics | Validate cohort definitions (incidence, attrition) | | CohortContrast | Feature selection: target vs control within one database | | Syrona | Compare 2 datasets (cohorts, sites) by prevalences of the 3 domains (diagnoses, procedures, drugs) |
Syrona is designed for multi-site comparisons where you want to understand how prevalence patterns differ between institutions, countries, or data sources.
# From GitHub: # install.packages("remotes") remotes::install_github("HealthInformaticsUT/syrona")
library(syrona) # PostgreSQL (the typical production CDM; e.g. via SSH tunnel). # Omit `password` and set PGPASSWORD in ~/.Renviron, or use ~/.pgpass. db <- syrona_connect_pg( dbname = "omop", user = "analyst", cdm_schema = "cdm", write_schema = "results_analyst" ) # Or a local DuckDB file (read-only by default) db <- syrona_connect("path/to/omop.duckdb")
# Extract all three domains tables <- extract_all("Dataset_A", db = db) # Or a single domain (faster for large databases) tables <- extract_all("Dataset_A", db = db, domains = "conditions")
# After extracting both datasets: compare_all("Dataset_A", "Dataset_B")
syrona_disconnect(db)
Syrona writes CSV files to two directories:
data/
sources/ # Phase 1: extracted datasets
Dataset_A/
_metadata.csv
condition_prevalence.csv # concept x year x sex x age_group
condition_info.csv # concept metadata
condition_chapters.csv # SNOMED/ICD-10 chapter assignments
condition_attributes.csv # SNOMED relationship targets
demographics.csv # birth year x sex counts
death_counts.csv # deaths by stratum
... # same pattern for procedures + drugs
Dataset_B/
...
comparisons/ # Phase 2-3: comparison results
Dataset_A_vs_Dataset_B/
_metadata.csv
condition_yearly.csv # per-stratum prevalence ratios
condition_meta_agegroups.csv # meta across years
condition_meta_by_sex.csv # meta across age groups
condition_meta_summary.csv # final summary (one row per concept)
... # same pattern for procedures + drugs
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.