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://
eric: DDI gives you more. https://
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