OMOP SQL Validator
Catch silent OMOP CDM v5.4 bugs before they run. Static analysis against 154 rules covering standard-concept enforcement, hierarchy expansion, join paths, and temporal logic.
Frequently asked
What does FastSSV check?
FastSSV runs 154 static rules against your SQL, targeting
the silent failures you can't catch with a linter: missing
standard_concept = 'S' enforcement, wrong
concept_ancestor rollup direction, temporal logic outside
observation periods, joins that don't align with OMOP CDM v5.4 foreign
keys, type mismatches, and more.
See /rules for the full live list.
Is my SQL sent anywhere?
The query is POSTed to this service's validator process and parsed in memory. Only a SHA-256 hash of the SQL plus counts (rule IDs fired, duration) are logged — never the SQL body itself. No database is contacted, no data is persisted between requests.
Which SQL dialects are supported?
PostgreSQL and T-SQL / SQL Server are both supported. Use the dialect
dropdown to force one, or leave it on Auto-detect — FastSSV
looks for T-SQL indicators (@vars, GETDATE(),
DATEDIFF(day, …), TOP N, etc.) and picks the
right parser.
Can I use this programmatically?
Yes. The same validator backs a CLI (pip install fastssv)
and a JSON API — POST /v1/validate with
{sql, dialect, strict} returns per-query results with
query_index attribution. Swagger UI lives at
/docs.
Found a bug or have a feature request?
FastSSV is open source and tracked on GitHub. If a rule fires on a query you believe is correct, or a real bug slipped through, please file an issue — a minimal failing SQL snippet and the dialect are enough to get it reproduced.