W3C

- DRAFT -

FHIR/RDF

20 Mar 2018

Attendees

Present
EricP, David_Booth, Harold_Solbrig
Regrets
Chair
David Booth
Scribe
dbooth

Contents


Changes desired before FHIR R4

harold: Two items getting in the way. 1. I need to put type arcs on all of the code elements -- the ones that have an implicit system.
... My recollection: during discussion in dev days meeting, I thought we decided not to do it in the spec, but Grahame felt fairly certain we should put them in.
... 2. Get the OWL representation of the FHIR code systems published.
... 3. One other thing grahame mentioned: we need to get valueset information into fhir.ttl

david: Give a webinar on the I2B2 work?

harold: sure.

Tentatively scheduled as yosemite webinar 2pm Eastern on Apr 26.

eric: What about slicing?

harold: we haven't tried representing extensions as first-class elements, but there's huge value in doing it.

FHIR extensions

harold: Right now, when we get into extensions we go from URIs to fhir extension URI and code.

eric: Kind of reification.

harold: I suspect we should not touch what we have now, but add additional code -- turn the URI into an RDF node.
... Need to be able to remove it going in the other direction (from RDF).
... Also fhir.ttl is a closed package -- it identifies every predicate. If we start de-reifying extensions, then the ext def itself needs a mechanism to pull them into our reasoners/converters, bc we'll need to understand what the predicate is.

david: Seems to me that we need some rules, to produce the de-reified from the reified, and vice versa.

harold: If you keep both the reified and non-reified, what to do if they are inconsistent? One says 2 the other says 3?
... Check it in shex?

eric: I don't think so. We don't have variable predicates.
... Could also compile a shex schema for each extension. That would match the business process.

harold: This pattern is well used in the FHIR world.

david: Also use running code?

harold: yes, we could.

eric: You tell the tool what extensions you want, and it generates the shex for you

harold: Need something that traverses a profile and generates additional vocab elements, to go along with fhir.ttl

eric: Also need to make sure that it works on extensions on extensions on extensions

harold: We start getting into the valueset area, where we currently have a gap. We do small ones, but big ones ....
... When we get into profiles, they start making the valuesets finite, and we'll need to enforce. And that brings us to slicing.

eric: I've been looking at it from the shex perspective, but I'm not confident that I'm covering the use cases.
... I have running code on the shex side, but the slicing extensibility seems to be everything to all people.
... I would love help from somebody who can grok that slicing spec and the reasonable use cases, and help me understand what they mean.

harold: One thing that's made FHIR easier to deal with is the rule that if there aren't test cases and examples thenn it doesn't exist. So I think you could push back on features that lack examples and test cases.

david: Check with grahame. Maybe he can point you to someone.

<scribe> ACTION: Eric to ask grahame for pointer to test cases for slicing

<trackbot> Sorry, but no Tracker is associated with this channel.

eric: I need to be able to tell the difference between restriction and extension.

harold: In I2B2 we don't want to talk about the obs whose code is hematicrit, we want to talk about the hematocrit result.
... In the slicing core, they say each component code names the thing. Where does that fit in?

eric: There are discriminators. If we could communicate them to a shex engine, we could trim some branches.
... The members of a slice are treated as predicates right?

harold: He's say the obs code is the identity of the obs.
... In I2B2 we have a rule to turn it into the hematocrit value.
... The rule generates a new triple.
... In profile, are we interested in doing what Stan discusses in CIMI, turning into a hematocrit class.

david: Seems like a lot of this boils down to the need for rules language.

eric: what about your experience with shexmap for rules?

david: It can be used for rules, but I think a rules language would be easier, along the lines of n3.

eric: I ran into problems with lots of extra blanks, using a rules language.
... When you dive into nested things, it doesn't have an identity. N3 just runs rules until it ends, and can't be used for that, because those things are not labeled, so it runs forever.

david: Maybe something needs to be added to n3 rules, to retain that context.
... My criticism was not about the functionality of shex, but the syntax, which is messy. If we could give it a prettier syntax it might be good for it.

eric: Usually people use app-specific scaffolding that uses specific bnode names, etc.

<scribe> ACTION: Harold to add 1. type arcs for code elements 2. OWL representation of the FHIR code systems (publish them) 3. get valueset information into fhir.ttl . And mention the above on zulip

<trackbot> Sorry, but no Tracker is associated with this channel.

FHIR content negotiation and media types

eric: If we want to conneg OWL and Turtle ... when they created the OWL spec they did not distinuish OWL from RDF.

harold: Right now I don't know exactly what to say in order to get RDF, short of specifically asking for Turtle.
... Also another task: Both the HAPI and simplifier folks would be happy to have RDF included, but they don't want to spend the effort unless we can prove usage. Or do it for them.

Who is using FHIR/RDF?

harold: Only aware of me using it.

david: Joao sounds interested.

harold: Wikidata person was excited about it, but got as far as snomed and then said "oh my god", and stopped.
... They're RDF-ifying the world, bit by bit.

eric: One motivation for them was the gene wiki.

<scribe> ACTION: David to ask Michael van der zel who else is using FHIR/RDF

<trackbot> Sorry, but no Tracker is associated with this channel.

ADJOURNED

Summary of Action Items

[NEW] ACTION: David to ask Michael van der zel who else is using FHIR/RDF
[NEW] ACTION: Eric to ask grahame for pointer to test cases for slicing
[NEW] ACTION: Harold to add 1. type arcs for code elements 2. OWL representation of the FHIR code systems (publish them) 3. get valueset information into fhir.ttl . And mention the above on zulip
 

Summary of Resolutions

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.152 (CVS log)
$Date: 2018/03/20 16:35:17 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.152  of Date: 2017/02/06 11:04:15  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: Irssi_ISO8601_Log_Text_Format (score 1.00)

Present: EricP David_Booth Harold_Solbrig
No ScribeNick specified.  Guessing ScribeNick: dbooth
Inferring Scribes: dbooth

WARNING: No date found!  Assuming today.  (Hint: Specify
the W3C IRC log URL, and the date will be determined from that.)
Or specify the date like this:
<dbooth> Date: 12 Sep 2002

People with action items: david eric harold

WARNING: IRC log location not specified!  (You can ignore this 
warning if you do not want the generated minutes to contain 
a link to the original IRC log.)


[End of scribe.perl diagnostic output]