W3C

- DRAFT -

Semantic Web Health Care and Life Sciences Interest Group Teleconference

17 May 2016

See also: IRC log

Attendees

Present
Harold_Solbrig, MarcT_James_Anderson, Darrell_Woelk, Amol_Bhalla, Shahram, David_Booth, Gopi, Thomas_Lukasik, EricP, Rob_Hausam
Regrets
Chair
David Booth
Scribe
dbooth

Contents


ShEx for FHIR RDF

https://lists.w3.org/Archives/Public/www-archive/2016May/att-0007/RDF_ShEx.pdf

harold: We are incorporating the ShEx into the FHIR build. For example; http://hl7-fhir.github.io/allergyintolerance-

examples.html

scribe: Grahame is working on a scala-based ShEx validator.
... I am encouraging EricP to put up his validator online also, but he has not yet.
... Our primary goal is to represent FHIR data in RDF.
... slide 4 shows the FHIR allergyintolerance example
... slide 5. The group decided not to use RDF Lists, but instead use a set of bnode elements, each with a fhir:index .
... This mean that we needed to add this to every element that we find, because ordering may be significant in FHIR, so we need to retain the ordering in FHIR RDF.
... Because an identifier can occur multiple times, we need an index on it.
... Should we require an index if there is only one in the data?
... slide 6: because of extensibility we don't directly use the XSD types except in the fhir:value properties. This causes everything in FHIR to end up as a bnode.
... Because all FHIR properties allow extensions, and extensions can be of any time, this effectively allows any property to contain any type.
... FHIR has datatypes and primitive datatypes. @id is a primitive datatype, which grounds in an XSD type.
... For us to validate any bit of FHIR schema, we need all of the definitions to fit the schema reference, directly or indirectly.
... So if the schema references a fhir boolean, then the shape needs to include it.
... slide 7: _code shows up as xs:string+ in XML, but I suspect that is a mistake.
... For ShEx I used the XML type definitions, but removed the "+" and a few other changes.
... Slide 7 shows the valueString as type xs:token, but slide 8 generated this as an xs:token. But you can put in non-tokens also, like something with a space.
... We either need a special rule saying that a code is not really a token, or we shoudl put in a third entry along with the XML and JSON types, for the RDF type.
... Slide 9 I need to parse the JSON list of types to an OR expression in ShEx.
... Slide 10: I also want to represent URIs as URIs in RDF, rather than as strings of type anyURI.
... Slide 11: 'a sct:34206005' should not be there.

dbooth: Agreed. I spoke to Grahame about that on Friday in Montreal, and he fixed it.

ISSUE: Concept code URI: Should we have one? What should it be?

<trackbot> Created ISSUE-25 - Concept code uri: should we have one? what should it be?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/25/edit>.

harold: We renamed fhir:reference to fhir:link, but it isn't in Grahame's code.
... Slide 13, two things: 1. Represent the URI as an RDF URI instead of as a string. 2. How would multiple identifiers be represented?

dbooth: Maybe an additional blank node is missing.

harold: slide 14, still need to decide whether the type arc on a reference is required/optional/forbidden.
... And about @<Patient>, we'll end up having only one fire ShEX schema.
... So we need to think about what to do about that fhir:link -- pull the @ off and just say that it is an IRI, or what.

ISSUE: What should the fhir:link target be in the ShEx?

<trackbot> Created ISSUE-26 - What should the fhir:link target be in the shex?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/26/edit>.

harold: When I make the changes described here, I'm able to validate AllergyIntolerance from the FHIR github.
... The Shex demo has a butten that say 'closed shapes' -- lower right of https://www.w3.org/2013/ShEx/FancyShExDemo
... YOu need to check that. Should we put the word "closed" in the shapes definitions themselve?
... Main next step with Grahame is primitive types.
... I think it will be cleaner to define and RDF primitive type, like what was done for XML and JSON.

<scribe> ACTION: Harold to add his proposed fixes to his slides [recorded in http://www.w3.org/2016/05/17-hcls-minutes.html#action01]

<trackbot> Created ACTION-55 - Add his proposed fixes to his slides [on Harold Solbrig - due 2016-05-24].

harold: Michal Van Der Zel will be using the shex validator also

<hsolbrig> chat.fhir.org

amol: shex info on the w3c site?

harold: yes. we're using a limited set of the shex grammar.

https://www.w3.org/2013/ShEx/Primer

<hsolbrig> https://www.w3.org/2005/01/yacker/uploads/ShEx2/bnf?lang=perl

<hsolbrig> https://www.w3.org/2005/01/yacker/uploads/ShEx2

harold: If you poke around the fancy shex demo site, there are all sorts of interesting features.

james: Is the intent to never generate circular references or incremental resources?

harold: no. you can do individual PUT or POSTs of resources. But you can also submit a bundle also.

james: Does that preclude requiring the content instead of the IRI?

<hsolbrig> @<Patient>

<hsolbrig> :x fhir:patient _:n.

harold: @<Patient> does not mean that an in-line patient is required.

<hsolbrig> _:n a fhir:Patient;

<hsolbrig> _:n fhir:name "Joe".

<hsolbrig> @<Patient> OR IRI

<hsolbrig> Wow

<hsolbrig> They shut you down exactly at 11:00, eh?

harold: What I'm asserting is not in-line -- it is a reference. If I say @<Patient> OR IRI then it always be a reference, but the question is whether it is any IRI or somethign that is specifically a patient object.

<tlukasik> No way to recover?

<hsolbrig> david -- can we follow up on James' question on the mailer?

wow, that was abrupt.

<hsolbrig> Harsh.

<hsolbrig> We need to talk to Eric about this

<tlukasik> That has never happened before, has it?

maybe because eric was not on the call? idk

no, never had that happen before.

<tlukasik> Yeah, David.. thight might be why..

<hsolbrig> David - let us know if this afternoon is on and whether Grahame will be there.

I think we will just have to see who shows up.

<hsolbrig> Ok -- I'll be prepared.

I believe that's about the time when Grahame will just be waking up, so I don't think we'll be able to know in advance.

<hsolbrig> Grahame sleeps?

<tlukasik> Noooo.. that's just a rumoir, Harold.. ;-)

<hsolbrig> @tlukasik -- we need to talk about schema.org and FHIR on a separate thread.

ADJOURNED

<trackbot> Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference

<trackbot> Date: 17 May 2016

=============== 5pm Call ===================

Harold's slides: https://lists.w3.org/Archives/Public/www-archive/2016May/att-0009/RDF_ShEx_V2.pdf

ShEx for FHIR RDF

https://lists.w3.org/Archives/Public/www-archive/2016May/att-0009/RDF_ShEx_V2.pdf

slide 7

harold: Jose's shex validator is now in the build
... They'll check it by round tripping the example data from the abstract model to RDF and back again.
... we've also been using EricP's fancy shex demo

slide 10

harold: Any shape that is a member of a list must have a fhir:index on it.
... Even when there is a single element, there is a fhir:index . Should there be?

dbooth: Yes, because the type is list -- not single element.

eric: You can handle that with an AND: first say that fhir:index is optional, then for lists say AND it is required.

slide 12

harold: there's both a JSON type and and XML type.

slide 13

harold: Propose using a regex instead of xs:token

slide 14

harold: Had to parse the comma-separated types and turn it into a shex OR expressinos.
... This will cause more exceptions than rules, so I suggest coming up with RDF types instead.

slide 15

harold: Suggest an RDF IRI instead of anyURI.

xs: anyUri def:

https://www.w3.org/TR/xmlschema-2/#anyURI

dbooth: i don't think we can use an RDF URI, because xs:anyURI may be relative, but RDF does not have relative URIs.
... So we would be losing information by converting to an RDF URI.

ISSUE: Can we use an RDF IRI when the FHIR spec says xs:anyURI?

<trackbot> Created ISSUE-27 - Can we use an rdf iri when the fhir spec says xs:anyuri?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/27/edit>.

harold: FHIR spec says that anyURI can be relative or absolute.

slide 16

eric: How bad is it to have fhir:Coding.system be a string, instead of being an RDF IRI? String allows OWL to validate it.

slide 17

harold: I think grahame already corrected this to fhir:link

slide 18

slide 19

harold: we already have an issue about whether to include this type arc
... If I follow the closure of fhir:link in the reference, then we'll have the entire shex schema in one.
... We want it closed for datatypes but open for fhir:link in a reference.

slide 2

harold: This summarizes the recommended changes for grahame

eric: on #7, we already decided yes on that.

"AGREED: If we include a type arc on a reference (such as the object of fhir:AllergyIntolerance.patient) it should be specific to the target type, such as fhir:PatientReference instead of fhir:Reference" -- https://www.w3.org/2016/04/26-hcls-minutes.html#ResolutionSummary

harold: fhir:Reference.reference has type string -- not anyURI.

slide 3

harold: Suggest not using XML type, but more specific types for RDF, which are more restrictive, because anyURI is not really anyURI.

slide 4

harold: This is a question for grahame.

eric: I think that's correct as is. that's how we are doing lists.

slide 5

harold: This sct URI is wrong on this slide, but the intent is to do this for common terminologies.

eric: The pushback will be that we cannot do it for everything.
... Some terminology publishers will want to own their URIs, but some will not.

harold: we need a way to specify these URIs.

eric: mapping rules could be provided on a per-terminology basis
... Also, what if the version is different?

harold: irrelevant. the only place where we care is in some outdated ICDs. WHO has published a scheme for dealing with that. Everywhere else you do not want to have to map between versions.

eric: The issue I've heard from lloyd is that potentially a clinician may want to find out what version they were using.

harold: the CD has already expanded and covered that, if you care about them.
... There wasn't a single example in FHIR where version was used.

eric: I'm sympathetic, but not sure it will work.

<hsolbrig> Eric: shut up

<hsolbrig> My mic has stopped working

<hsolbrig> Eric: There is no value sets. They are gone

<hsolbrig> They have already embraced this and are willing to embrace the URI's

dbooth: This whole FHIR RDF will be versioned as part of the regular HL7 release process anyway, so if this doesn't work out we can always change it in a future release.

harold: lloyd generated valueset URIs for everything in the system, and it worked fine.
... if you don't put the URI in there then everybody who wants to use RDF will have to generate the URI.
... They'll do it, so we might as well do it in a controlled fashion.

rob: you mean implicit VS?

eric: yes

Summary of Action Items

[NEW] ACTION: Harold to add his proposed fixes to his slides [recorded in http://www.w3.org/2016/05/17-hcls-minutes.html#action01]
 

Summary of Resolutions

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.144 (CVS log)
$Date: 2016/05/17 22:09:04 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.144  of Date: 2015/11/17 08:39:34  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/Marc,/MarcT/
No ScribeNick specified.  Guessing ScribeNick: dbooth
Inferring Scribes: dbooth
Present: Harold_Solbrig MarcT_James_Anderson Darrell_Woelk Amol_Bhalla Shahram David_Booth Gopi Thomas_Lukasik EricP Rob_Hausam
Found Date: 17 May 2016
Guessing minutes URL: http://www.w3.org/2016/05/17-hcls-minutes.html
People with action items: harold

[End of scribe.perl diagnostic output]