W3C

– DRAFT –
FHIR RDF

30 October 2025

Attendees

Present
David Booth, Detlef Grittner, EricP, Gaurav Vaidya, Jim Balhoff, Ken Lord, Tim Prudhomme
Regrets
-
Chair
David Booth
Scribe
dbooth

Meeting minutes

R6 prep

w3c/hcls-fhir-rdf#176 (comment)

dbooth: Kindling PRs have not been merged yet. Others have.

tim: I'll message Grahame.

dbooth: treeRoot change from class to individual does not change the data on the wire
… I'll plan to improve the wording later: ""For purposes of validating FHIR RDF data, the logical meaning of the OWL ontology is normative. However, ..."

tim: Need to clarify that what appears in the instance data is what cannot change without being a breaking change.

dbooth: Anything else urgent fo rR6 deadline?

jim: I have not had time for #170 semantics of hash IDs

Sorting the ontology

w3c/hcls-fhir-rdf#207

tim: Pretty straight forward. I did it using an open source lib. Not sure if the would allow it.
… Apache jena uses random order.

https://build.fhir.org/fhir.ttl

tim: This one sorts: atextor/turtle-formatter

dbooth: Would it be kinder to wait until after the R6 deadline to do this one?

ACTION: dbooth to add this to our R6 checklist

ACTION: dbooth to reference the PR from the jira ticket

Example files with empty blank nodes #206

w3c/hcls-fhir-rdf#206

jim: I'll look at it

THO LOINC.html page shows wrong IRI stem #196

w3c/hcls-fhir-rdf#196

gaurav: I'll work on it.

Update FHIR RDF Playground to R6

w3c/hcls-fhir-rdf#195

dbooth: I think it's valuable for simple testing

tim: Agreed, but I'm focused on real application
… Higher priority would be validation tool that can be used in the real world.

Turtle examples of Bundle.entry.resource use a list but should not #194

w3c/hcls-fhir-rdf#194

jim: I'll look at it

ValueSet bindings for ontology and validation #167

w3c/hcls-fhir-rdf#167

tim: Would allow you to run a reasoner and get inconsistencies if the wrong code is used, i.e., closed world validation w OWL. But doesn't work w bindings to CodeableConcepts

(EricP joined)

tim: We can even generate an IRI for it, that would bring you to the valueset (almost).

ericp: We've been adding type arcs to codings. Should we to it by the literal code value or the IRI that we gen for the code?

tim: We would not get the closed-world validation using the IRI.

tim: you would have to manual expand sets of codes in advance
… And to use shex, if you want to expand the codes, you would have to dynamically expand the codes in shex too.
… If you have SNOMED in OWL, you could use OWL to do the expansion.
… Could enable a terminology service that would be OWL/shex native
… So if we set up OWL and shex this way, someone could set up a terminology service and use OWL and shex natively.

ericp: Anybody have a pet OWL implementation that would be easy to extend with user-defined functions, to expand a valueset dynamically?

tim: I did that using apache jena, and also w OWL API.
… Also was able to, in kindling, created the class axioms of the valuesets

dbooth: Lifecycle issue: lifecycle of terminologies is independent of FHIR version lifecycle.

tim: If the ont just points to the valueset IRI.
… The resources already have valueset bindings.
… Profiles have rules that can constrain valuesets

ken: But you can have bindings to multiple terminologies

tim: That's handled by what a valueset is
… I would also represent a CodeSystem as a class of codes
… Then a valueset would be a union of subsets of the CodeSystems

ken: can this prove that some valuesets are disjoint? e.g., status is used by multiple resources.

tim: Codes are identified by a combination of code and system, so they're disambiguated that way.

ken: Sometimes they use the same CodeSystem for "status", across different resources, like Observation status vs some other status.

dbooth: Does this depend on having IRI stems registered for the CodeSystem?

tim: Yes

ShEx generator

ericp: It's ready for PR now.

dbooth: Let's stay on the zoom to figure out how to do the PR

ADJOURNED

Summary of action items

  1. dbooth to add this to our R6 checklist
  2. dbooth to reference the PR from the jira ticket
Minutes manually created (not a transcript), formatted by scribe.perl version 248 (Mon Oct 27 20:04:16 2025 UTC).

Diagnostics

Succeeded: s/(EricP) joined/(EricP joined)

Succeeded: s/extend/constrain/

Succeeded: s/things/resources/

No scribenick or scribe found. Guessed: dbooth

Maybe present: dbooth, gaurav, jim, ken, tim

All speakers: dbooth, ericp, gaurav, jim, ken, tim

Active on IRC: dbooth