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://
gaurav: c= cardiac
… 06 = cardio vascular alteration
… .1 is blood pressure alteration
… 3 is expected outcome
gaurav: Another example I found: https://
… 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://
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://
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://
… http://
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://
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.