W3C

– DRAFT –
FHIR RDF

26 October 2023

Attendees

Present
David Booth, EricP, Jim Balhoff, Tim Prudhomme
Regrets
-
Chair
David Booth
Scribe
dbooth

Meeting minutes

Demo of FHIR RDF app by Tim Prudhomme

tim: All client-side JS. Loading the whole FIHR ont.
… Also loading all the examples, which slows it down. 13" Macbook.

jim: There's a JS lib to load all into an hdt file -- Header Dictionary Triples, compressed.

tim; I've used rdflib JS library, but right now doing this all in clojureScript.
… Using Datalog queries, asami
… Very similar to SPARQL.
… This app has very little code that is specific to FHIR. Almost all info is in the ont.
… Using W5 RDF to organize the data.
… It gives me quite a lot to work with.
… Select a class, that shows instances. Then select a patient instance, it shows info about that instance.
… Can also do that for ingredient.
… Right now the list of pt instances are only ID, name and DOB. But could use summary info if it were available.
… In pt instance it shows cardinality.
… Plan to make it editable.

eric: Editing could issue a PR to github to update the example!

tim: Can use the domain and range to determine the type, when a property is added.
… Not using shex yet.
… Interested in using it for adding new relationshps.
… The RDF and shex gives you everything you need to do most CRUD app work.
… I think only the W5 groupings required FHIR-specific code.

eric: Familiar w FHIR REST API?

tim: yes. THought about manip this data w/o making too many trips to the server.
… Thought about how to make it scale to a real app. Q: How are you persisting the data? Could use triplestore, but don't need to. Could use FHIR API.

dbooth: This could be a useful playground tool for browsing FHIR examples.

jim: Could you select the examples you want to load?

tim: Yes, could.
… This is using clojureScript and datalog.
… In terms of making this open source, JS might be easier for others.
… I could maybe turn this into something that's being used w real healthcare data. Maybe publish a paper about it.
… Main idea for me is to avoid putting business logic into code. Put that into RDF, load it as data.

dbooth: Current plans?

tim: Keep working on the interface. Figure out how to load resources dynamically.

dbooth: Who would use the app and how?

tim: Not sure. What an EHR would provide?

dbooth: Gives you very flexible data exploration. Might be good for research purposes.

tim: Might have a little analytics model.

dbooth: At least show counts.

eric: Want to pick your brain on rendering nested objects

dbooth: Might be a good topic for a Yosemite Project webinar.

dbooth: How to handle non-FHIR data merged in?

eric: Could have SNOMED or other ont.
… If you had env data, and ER data, and you tried to figure out from admission and diagnostics and correlation w pollutants, you might be able to say "When Sulfer dioxide is emitted, these people show up in ER a few days later".
… A lot of it would be temporal and GIS data.

tim: How to display it?

dbooth: Does datacube have diplay info?

eric: It has catalogs. Doesn't do what CSV-on-web of giving semantics. Punted on that.

https://www.w3.org/TR/vocab-data-cube/

eric: DDI gives you more. https://ddialliance.org/Specification/RDF

ShEx for driving UI

(demo by eric)

eric; Shex annotations help in form generation.
… It generates a form using that info.
… .Then when you enter data, it checks it against the shex.

eric: You can also separate out the layout annotations, using shexPath to express them separately.

ADJOURNED

Minutes manually created (not a transcript), formatted by scribe.perl version 221 (Fri Jul 21 14:01:30 2023 UTC).

Diagnostics

No scribenick or scribe found. Guessed: dbooth

Maybe present: dbooth, eric, jim, tim

All speakers: dbooth, eric, jim, tim

Active on IRC: dbooth