W3C

– DRAFT –
FHIR RDF

12 May 2022

Attendees

Present
David Booth, EricP, Gaurav Vaidya
Regrets
Jim Balhoff
Chair
David Booth
Scribe
dbooth

Meeting minutes

HL7 meeting report

dbooth: Meeting went well. They were interested in the Concept IRI idea, but didn't have any feedback on it.
… I didn't sense any thought of pulling the plug on FHIR RDF.
… Small group, only HL7 ITS chairs and Vassil Paytchev(sp?) from Epic.

RDF Lists

gaurav: Jim is working on a PR for the OWL API group.

Concept IRIs

gaurav: Looking for example codes that might be hierarchical. Found Clinical Care Classification.
… Example: C.06.1.3

https://careclassification.org/online-code-builder-1/

gaurav: c= cardiac
… 06 = cardio vascular alteration
… .1 is blood pressure alteration
… 3 is expected outcome

gaurav: Another example I found: https://www.hcup-us.ahrq.gov/toolssoftware/ccs/CCSCategoryNames_FullLabels.pdf
… 10.1.5.1 Calculus of kidney

eric: If someone (re-)designed this for use in web space, they might use slashes.

gaurav: Two more examples are like the dewey decimal system.
… J82.83 Eosinophilic asthma

eric: For a demo, we could take these and turn the dots into slashes.

https://www.hcup-us.ahrq.gov/toolssoftware/ccs/ccs.jsp

dbooth: This is convincing me that we should not try to support hierarchical URLs. I think it's natural for people to use things like dots as hierarchy separators.

gaurav: Hierarchical could be in its own sub-proposal, for submission after the FHIR group accepts the basic idea.

dbooth: Web servers are always free to interpret their URLs hierarchically however they want. They can treat dots as hierarchy if they choose, for example.

AGREED: We will only do flat proposal first. Hierarchical would be a separate proposal later.

ACTION: gaurav to update draft doc for only flat stem IRI

<ericP> https://www.w3.org/2008/Talks/31-ASPE/xRIs.svg

dbooth: Should the code be percent-encoded to be part of a URI or (more generally) a part of an IRI? I.e., which set of chars should be percent-encoded?

example IRI (w Japanese/chinese): http://伝言.example/?user=أكرم&channel=R%26D
http://伝言.example/?user=أكرم&channel=R&D

eric: First you punycode the domain name, then you URL encode the path. Then you have ambiguity: Need to know whether to decode the %26

eric: Eg if a code were: كرم

dbooth: Even if we pass that through, we'll still want to percent-encode things like slash, ampersand, equal, questionmark, etc.

eric: But we only need to worry about escaping the ones that are enumerated.

https://www.w3.org/TR/2012/REC-r2rml-20120927/#dfn-iri-safe

eric: Propose that iunreserved be the set we do not percent-encode.

iunreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" / ucschar

ucschar = %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF

ucschar = %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF

ucschar = %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF

/ %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD

/ %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD

/ %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD

/ %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD

/ %xD0000-DFFFD / %xE1000-EFFFD

eric: everhthing that's reserved is below 7F. These are all A0 or above.

dbooth: That looks good to me.

gaurav: "

The 17 planes can accommodate 1,114,112 code points. Of these, 2,048 are surrogates (used to make the pairs in UTF-16), 66 are non-characters, and 137,468 are reserved for private use, leaving 974,530 for public assignment."

FHIR RDF Playground

dbooth: People were impressed w the playground.

eric: The process loads fhir defs, turns them into shexJ, then whenever it's asked for a @context file, it generates it on the fly from the shexJ, then uses the shexJ again for the rendering. That means I'm validating everything that I'm generating!
… Downside is that changing to collections means you need lists of things: Instead of a codeable concept having N codings, it has a list of codings, which has an rdf:first and an rdf:rest that is either a list or a rdf:nil. That means I had to add a lot of lists: went from 1500 shapes to 2000 shapes.
… i want to make that a primitive in shex, to make that unnecessary.

Summary of action items

  1. gaurav to update draft doc for only flat stem IRI
Minutes manually created (not a transcript), formatted by scribe.perl version 185 (Thu Dec 2 18:51:55 2021 UTC).

Diagnostics

Succeeded: s/Topit/Topic/

Succeeded: s/1500 things/1500 shapes/

Succeeded: s/2000 things/2000 shapes/

No scribenick or scribe found. Guessed: dbooth

Maybe present: AGREED, dbooth, eric, gaurav