SQL on FHIR WG Meetings




SQL on FHIR WG Meeting — April 28, 2026
Arjun Sanyal
Principal Antidote Solutions
Nikolai Ryzhikov
CTO at Health Samurai
John Grimes
Principal Research Consultant CSIRO
Gino Canessa
Principal Software Engineer at Microsoft
Ilya Korover
Software Project Manager, DataArt
CR
Craig McClendon
Apr 28, 2026
Topics discussed:
- Ilya Korover showed what happens when you point a data catalogue at SQL on FHIR. The pipeline is unremarkable and that's rather the point: write a ViewDefinition, materialise it, then run a script that crawls the resulting table, parses the ViewDefinition, and pushes the metadata into an open source catalogue — lineage, profiling and data quality tests included. Because the FHIRPath is right there in the ViewDefinition, the lineage goes all the way down: click a column and it tells you the FHIR element it came from. Ilya's framing was that SQL on FHIR solved flattening but says nothing about whether the resulting dataset is trustworthy, auditable or documented, which is the first question any regulated environment asks.
- Ilya's open question was whether any of this belongs in the standard or whether every implementation writes its own adapter. Nikolai's instinct was to shrink the problem: is a data quality test just a type of query? Ilya thought basically yes — the difference is when it runs, which is every time you rematerialise the view. That points at a family of SQL query flavours rather than a new resource: plain queries, quality rules, and whatever else turns up.
- The PHI labelling was the bit that caught everyone. Ilya hadn't extended anything — he used the existing
tagon the ViewDefinition columns as a semantic convention his tool knew how to read. John thought that was a strong candidate for a tag the spec actually defines, with the caveat that these concepts mean different things to different people. Arjun's worry was exactly that: HIPAA safe harbor and EHDS's sensitivity levels don't agree, so a generic mechanism plus examples may be as far as the spec should go. Tags are optional, so the cost of starting small is low. - A contributor pointed out that the invariant on the SQL library breaks if there are multiple content attachments — which forced the question of what multiple SQL queries in one library even means. The intended answer is dialects: ship the same query for Postgres and BigQuery. But then which one does a runner pick, and what's the default? "Standard SQL" doesn't mean anything; ANSI SQL, as Arjun pointed out, is nebulous and changes between versions; and as John noted, the actual ISO standard is closed — you can't read it without paying thousands, and large parts of it nobody supports. The outcome is modest: fix the invariant, add implementation guidance, and accept that portability is proven by testing rather than declared.
- The licence has to change from MIT to CC0. Gino Canessa explained why it isn't a judgement call: MIT isn't on HL7's approved list for specs, because a spec is documentation rather than software, and switching to the default avoids a legal review nobody wants. Craig spotted the oddity — MIT requires you preserve the copyright and CC0 doesn't, yet FHIR requires you preserve it anyway. John's question was whether twenty-odd historical contributors need to sign something; Gino's answer was no, the current team asserts it, and this is small enough that nobody's worried about something hidden from five years ago.