SQL on FHIR WG Meetings



SQL on FHIR WG Meeting — June 2, 2026
Gino Canessa
Principal Software Engineer at Microsoft
John Grimes
Principal Research Consultant CSIRO
Nikolai Ryzhikov
CTO at Health Samurai
Steve Munini
CEO and CTO, Helios Software
Jun 2, 2026
Topics discussed:
- The spec now lives at HL7/SQL-on-FHIR, split off from the reference implementation, the playground and the test report app, which all stay where they were. John relicensed it Creative Commons Zero and added the statement at the top saying the work was developed externally and contributed to HL7 under the governance operations manual. sqlonfhir.org redirects to the new edge build, so from a reader's point of view nothing moved.
- The long argument: should a parameterless SQL query be its own resource? Gino Canessa raised the caution first — at some point you've wrapped so much of SQL in FHIR that people may as well just use SQL — and asked what the real use case was, drawing a parallel with people wanting to reinvent Gherkin inside FHIR. Nikolai's answer was concrete: FHIR-to-OMOP translation needs views of views, and without them every combination of layers has to be its own monolithic query. John made the reusability version of the argument — non-trivial ETL is layered, and if a query can't reference a query you end up duplicating layer one inside every layer two. The resolution: a new
SQL viewlibrary profile with parameters constrained to zero, and a SQL query may reference a SQL view but not the reverse. You don't build a view on a query; you build a query on a view. - The group wants R3, not R1, for the first HL7 release. Two major releases already exist outside the HL7 process and resetting the counter would confuse people — as John put it, we aren't going to run out of positive integers. Gino thinks HL7 will allow it, since specs migrating in from other standards organisations have done the same, and the rationale can go straight into the notice of intent to ballot.
- On the materialise proposal, Nikolai and John landed on "freshness target" expressed as a duration, rather than "live". John's objection to "live" is that you can't test it — a duration gives you a box you are either inside or outside of — and he noted drily that healthcare has some fairly loose definitions of real time. Framing it as staleness also works for systems that are micro-batched rather than genuinely streaming.
- Every URI in the spec currently sits under sqlonfhir.org, and Gino made the argument for moving to an HL7 root: the domain is controlled by the project team, not by HL7, so if the team ever moves on, someone else could pick it up. Separately, that part isn't optional for ViewDefinition itself — if it ever lands in FHIR core its canonical URL has to be HL7-rooted, because FMG polices those to stop collisions and because the URL has to survive the move unchanged.