W3C

– DRAFT –
FHIR RDF

19 October 2023

Attendees

Present
David Booth, EricP, Gaurav Vaidya, Rob Hausam, Tim Pruhomme
Regrets
-
Chair
David Booth
Scribe
dbooth

Meeting minutes

FHIR Turtle parser

tim: Coming along

Element definition summary flags

w3c/hcls-fhir-rdf#133

tim: Resource properties can be designated for inclusion in the summary of the resource, e.g., pt name.
… Should it go into the ont?
… Could add an annotation to the property restriction. But it makes the turtle more verbose, using OWL.

tim: The first way I proposed doesn't work. But the latest does. A kind of reification.
… If we want to have another turtle file that has this metadata, IDK how to reference the property restrictions in another OWL file.

eric: One thing to check: Whether we have machinery to emit the RDF representaiton of the profiles.
… In principle, the same RDF-ization rules applies to the profiles as the profile instances.
… If so, then we'll already have that info in it. That might be the shortest path to a solution.

tim: This summary flag is actually in the profile, but I don't see the connection between the pt profile and the pt class in the ont.

dbooth: That sounds like an omission.

eric: We added fhir:link other places where we needed to connect things.
… Wonder if the profile name in the RDF-ified version should be the same as the class, or link to the class somehow.
… Probably no glue between the element definitions in the profile and the class constraints in the OWL class.

tim: Original use case is if I have a set of patients in a list, and I only want to show the summary properties.
… But I think that's doable w the structure def as long as it is connected to the class.
… I think a link from the profile to the class would be enough, as an alternative to annotating the properties in the class.

eric: Another alternative: put the annotations onto the shex representation.

dbooth: Feels like it should be part of the profile.

eric: Code in HAPI only works w the resources, pre-baked representations of the resources -- reflection-like clsses. Can't handle things that don't already have a java object.

tim: Makes me think in general: What is the relationship of a profile and the class?
… A profile in the ont is a piece of info, but a pt class represents a pt record.

eric: Playground code turns FHIR JSON objects into RDF. Maybe that would be a place to start?

dbooth: Are we generating profiles in RDF?

tim: I don't see examples of element definitions.
… But I see examples of structure defs that are in Turtle.

eric: That suggests that there's code for parsing structure defs of structure defs.

tim: Yes, but I don't see examples of element defs.
… Actually I see some, but not Turtle versions.
… Is there some part of an element def that could point to a class in the FHIR ont.

rob: Could put an extension in there.

tim: There are XML representations of the pt record and the structure def of pt. Are they different? If so, might want to connect them in XML also.

eric: If I have a profile of a person, structure def and instance of a person (Bob), and resource type Patient. Is that the glue you mean?

tim: Not an instance of a resource. In RDF we have a pt class, and an instance of a structure def that is for a pt.

eric: I don't think there's an analog to the pt class in JSON or XML.

dbooth: Agreed.

eric: What should we call that relationship between the structure def?

dbooth: It's a relationship, we could make up a name for it.

eric: Resource can have 4 defined-bys: structure def, shex, XML schema, JSON schema.
… Then there's some other relationship that points to the OWL class.

eric: profile-validated-by relationship could be on the shex, XML schema or JSON schema.
… PROV prov:derived-from ont can say where this thing came from. Could point from resource node back to the structure def.

tim: I've been working on a linked data browser, and I want to list patients, but only the summary properties.

dbooth: Propose that tim try it out, hypothesize a link.
… and see how it works out. If it works out well, propose it as our solution, then we'll decide where to generate it.

Eric's linked data browser

eric: Right now only works with TriG

dbooth: Running all in the browser? Eric: Yes.

eric: CORS causes lots of errors. Works best on the same host.

eric: example: https://fdpcloud.org/clickable/client/RenderClickableLd?browse=https%3A%2F%2Ffdpcloud.org%2Fsites%2Fgithub%2FStaticFDP%2Fstatic-fdp%2FFairDataPoint.ttl
… It helps find things that are broken.

tim: I've been working on an EHR skeleton, all client-side JS, but pulling in the entire ont and can browse all of the instances of all the example resource instances.

eric: Can you navigate from patient to observations?

tim: Yes.
… THere's a typescript library if you're using the FHIR resource. But if you have a pt type, how can you iterate through them and list the properties of each type without reflection? But I can do that in RDF.

ADJOURNED

ACTION: Tim to demo his browser next week

Summary of action items

  1. Tim to demo his browser next week
Minutes manually created (not a transcript), formatted by scribe.perl version 221 (Fri Jul 21 14:01:30 2023 UTC).

Diagnostics

Succeeded: s/PROV/PROV prov:derived-from/

No scribenick or scribe found. Guessed: dbooth

Maybe present: dbooth, eric, rob, tim

All speakers: dbooth, eric, rob, tim

Active on IRC: dbooth