W3C

– DRAFT –
FHIR/RDF

05 August 2021

Attendees

Present
Darrell Woelk, David Booth, Emily Pfaff, EricP, Gaurav Vaidya, Gerhard Kober, Harold Solbrig, James Champion, Jim Balhoff, Rob Hausam, Sajjad
Regrets
-
Chair
David Booth
Scribe
dbooth

Meeting minutes

FHIR RDF via JSON-LD 1.1

david: To set the context for today's discussion by Harold, today FHIR RDF is generated by custom converters: https://docs.google.com/presentation/d/1BJ8QlxJzEHd-Y6LrNU-DQ8snp-nG-IKYp3hSfYYPYkY/edit#slide=id.gb4376a16c6_0_123
… But with JSON-LD 1.1 we have the potential to auto-generate FHIR RDF from FHIR JSON, using JSON-LD 1.1 @context files that are generated by the FHIR spec build process.
… After investigating, we found that we can ALMOST do this, but we still need a little bit of pre- or post-processing to handle a few things that JSON-LD 1.1 won't do. https://docs.google.com/presentation/d/1BJ8QlxJzEHd-Y6LrNU-DQ8snp-nG-IKYp3hSfYYPYkY/edit#slide=id.gb4376a16c6_0_127

https://docs.google.com/presentation/d/1BJ8QlxJzEHd-Y6LrNU-DQ8snp-nG-IKYp3hSfYYPYkY/edit#slide=id.gb4376a16c6_0_131

(Harold starts presenting, showing live web pages)

http://build.fhir.org/

RDF page starts here: http://build.fhir.org/rdf.html

https://json-ld.org/

harold: the playground is a wonderful helpful resoursce for testing: https://json-ld.org/playground/

(Harold demonstrates the JSON-LD Playground)

harold: JSON-LD default for JSON lists is that it treats them as unordered (in contrast with regular JSON). To force them to be ordered in RDF, you can add @list.

eric: JSON-LD 1.0 was context free, but JSON-LD 1.1 is context sensitive.

harold: with 1.1 you can generate a different URI for a JSON property, depending on its nesting.
… 1.1 added nested @contexts to deal with this.

FHIR JSON-LD Playground: https://fhircat.org/jsonld/playground/

The JSON-LD R4 tab does the structural transformations (i.e., preprocessing) that is needed to enable the JSON-LD 1.1 @context to transform it into RDF.

harold: JSON-LD won't add triples, so we needed to add a few things that are assumed in FHIR but need to be made explicit in RDF.

harold: There's a separate @context for each type.
… The @context files are generated in the FHIR build process.

emily: when you hit the R4 tab, where is the code that does that transformation?

harold: I'll have to find the github repo for it.

harold: This approach allows most FHIR spec changes to be handled just by the generated @context files, automatically. Only a few will need to involve changning the preprocessing.

harold: and you can even generate a tiny URL for your example, such as this: https://tinyurl.com/4yncv72v

Next steps

emily: Understand how FHIR transformation is happening now.

harold: Show HAPI server that handles FHIR RDF

eric: Post Turtle and get back JSON, patch/put as XML.

ADJOURNED

Minutes manually created (not a transcript), formatted by scribe.perl version 136 (Thu May 27 13:50:24 2021 UTC).

Diagnostics

No scribenick or scribe found. Guessed: dbooth

Maybe present: david, emily, eric, harold