W3C

- DRAFT -

Semantic Web Health Care and Life Sciences Interest Group Teleconference

30 Aug 2016

See also: IRC log

Attendees

Present
Gopi, Rob_Hausam, James_Anderson, Harold_Solbrig, EricP, David_Booth, (5PM:)_Thomas_Lukasik, Eric_P
Regrets
Chair
David Booth
Scribe
dbooth

Contents


<hsolbrig> Hello?

hi harold. i hear you when you talk, but you do not seem to hear me.

can you say something?

yes, i hear you

but apparently you are not hearing me

Root node

Harold: the examples are missing the fhir:nodeRole triple

https://hl7-fhir.github.io/allergyintolerance-example.ttl.html

dbooth: which examples are missing the fhir:nodeRole triple?

<hsolbrig> http://hl7-fhir.github.io/compartmentdefinition-encounter.ttl.html

<scribe> ACTION: Harold to let Grahame know that fhir:nodeRole is missing from some examples such as http://hl7-fhir.github.io/compartmentdefinition-encounter.ttl.html [recorded in http://www.w3.org/2016/08/30-hcls-minutes.html#action01]

<trackbot> Created ACTION-68 - Let grahame know that fhir:noderole is missing from some examples such as http://hl7-fhir.github.io/compartmentdefinition-encounter.ttl.html [on Harold Solbrig - due 2016-09-06].

<hsolbrig> https://github.com/w3c/hcls-fhir-rdf/issues/35

Issue 35: Unable to determine instance type in ConceptMap, Conformance and similar resources #35

https://github.com/w3c/hcls-fhir-rdf/issues/35

<hsolbrig> https://github.com/w3c/hcls-fhir-rdf/issues/hl7-fhir.github.io/references.html

<hsolbrig> http://hl7-fhir.github.io/references.html

harold: There's a regex in that page if you scroll down

<hsolbrig> <http://fhir.hl7.org/base/Profile7896271d-57f6-4231-89dc-dcc91eab2416>

harold: With shex I found a URL that was invalid

<hsolbrig> <http://fhir.hl7.org/base/StructureDefinition/7896271d-57f6-4231-89dc-dcc91eab2416>

harold: but it should have had "StructureDefinition" in it
... In a second example, ConceptMap gives you three choices: 1. URI. 2. a valueset or 3. StructureDefinition
... But valueset is the one whose type we cannot determine.
... Nothing in the resource tells us whether it is a bad resource ref or a good valueset ref
... My inclination is to have a different predicate for valueset ref than structure def ref.

<hsolbrig> fhir:ConceptMap.sourceReference @<StructureDefinitionReference>

<hsolbrig> fhir:ConceptMap.sourceReference @<ValueSetReference>

harold: At the moment we cannot tell from the predicate what it is supposed to be.

<hsolbrig> fhir:link <http://www.BenefitsInc.com/fhir/eligibility/225476332402>

harold: I Propose that we close issue 35, and open a new issue specifically on this.

<hsolbrig> fhir:link <http://www.BenefitsInc.com/fhir/EligibilityRequest/225476332402>;

harold: But that BenefitsInc URL is bad also, because "eligibility" should have an initial capital
... And is supposed to be EligibilityRequest

ValueSets

harold: another issue I encountered: the required valuesets were all type code, so shex validation only did type code validation. But they've now introduced

<hsolbrig> documentreference-example

harold: A valueset that is a structure (CodeableConcept), so I need to figure out how to handle it
... The composition status is required, and its a CodeableConcept.

Non-required valuesets

harold: The other thing Eric and I worked on was non-required valuesets

<hsolbrig> fhirvs:identifier-use ["usual" "official" "temp" "secondary"]

<hsolbrig> fhirvs:optional-vs EXTERNAL

harold: this is how a valueset is shown. EXTERNAL indicates that the shape for that URI is on a server somewhere.

<hsolbrig> fhirvs:optional-vs {}

harold: I'm temporarily changing them to the empty-shape-expression so that they are always considered valid.
... Eric is putting together the REST server for shex. we'll propose a standards minimal REST API.
... So that if you hit an EXTERNAL, the server can know how to invoke the validator.

james: Is federated shex validators something that you are introducing, or is there a precedent for it?

harold: There's nothing in the shex recommendation at the moment, but what led to it is that eric's parser correctly sees this EXTERNAL thing, and to resolve it I would have had to write a javascript module, but I'm a python guy.

james: You'll have a reference that will be an IRI, most likely http?

harold: The shape spec says that all are URIs. And the REST signature right now, if you want to validate using the server, you give it the shape you want to validate against, the graph you want to validate, and optionally the focus node.

james: And the location of the server?
... You have no standard for communicating between the servers.
... In SPARQL you need a SERVICE call with a URL.

harold: We have a shex validation service that is the equivalent to a SPARQL service.
... We want to make the machinery work, and then if it looks like a good enough idea, then propose it as a standard.
... One of the parameters that will feed to eric's shex validator is the URI of a validator. If we were really clever like SPARQL, we could find what endpoint knows about this stuff.

james: In SPARQL the URL has to be the URL of the remote service.
... But this is a different situation. So I suggest you think about the requirements on the URIs. YOu won't be able to put blank nodes there, or UUIDs there. They'll have to be http URLs.

eric: If the EXTERNAL throw away a guarantee performance then that doesn't seem like a showstopper.

james: You cannot use blank nodes, unless you have some resolution process defined.

harold: The resolution is on the shape level. We probably shoulnd't allow blank shape names in the EXTERNAL position.

eric: As soon as you go across the wire, you lose the ability to ref nodes (easily), and the ability to ref blank node shapes. But I don't blank node shapes are a real issue.

james: And you won't be able to ref URNs

eric: Disagree. If I'm using URNs, I don't need to resolve them.
... If you have a concise bounded description, then you could use that.

dbooth: James' overall concern is that the mechanism that harold and eric come up with be standarizable (with interop) and the restrictions on the valueset space is clear.

james: concerned about the consequences of doing remote validation of shex server

ADJOURNED

trackbot, start meeting

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

<trackbot> Date: 30 August 2016

================== 5PM Call =================

Remaining deliverables

http://wiki.hl7.org/index.php?title=RDF_for_Semantic_Interoperability#Deliverables_and_Editors

dbooth: Regarding #6, we need to be able to tell people where to download the code to convert between FHIR XML/JSON <--> FHIR TTL

thomas: Grahame said that the HAPI implementation includes RDF.

rob: i don't think it does.

thomas: I could do that with HAPI, if it handles RDF.

<scribe> ACTION: Thomas Lukasik to try running the HAPI or other ref implementations to convert to and from FHIR RDF and document how [recorded in http://www.w3.org/2016/08/30-hcls-minutes.html#action02]

<trackbot> Error finding 'Thomas'. You can review and register nicknames at <http://www.w3.org/2014/HCLS/track/users>.

Deliverable #9 Test Suite

dbooth: Sounds like we don't need deliverable #9, because grahame designed the examples for good examples.

8. Tutorial or example of using FHIR RDF and FHIR ontology

dbooth: Tony
... Tony's document is the closest we have so far.

eric: What would go into the ontology page? list of links, descriptions, manifest of what's in them. Tutorial might be on the same page.
... I see it as being mostly examples.
... Ontology page could be didactic, rather than just references.

dbooth: Are Harold or Guoqian using the FHIR ontology?

eric: no, only the shex.

dbooth: Need someone who is using the FHIR ontology

Reference implementations

thomas: HAPI code does not yet support RDF.
... But I discovered an executable version of Grahame's implementation as an executable, and it only requires a SQL server.

dbooth: If you can get it to run, and convert an example from FHIR XML or JSON to FHIR TTL and back again, then you can declare victory.

thomas: I downloaded it from http://www.healthintersections.com.au/FhirServer/fhirserver.htm

US Gov Leading the Way to Semantic Web with Linked Data

thomas: Article was all about RDF and how great it is, but in the comments someone mentioned that RDF is not a format.
... This reminded me of FHIR.

eric: we've side-stepped that issue by putting the word Turtle in appropriate places.

dbooth: I've also used the word "representation" to avoid the word "format".

Define canonical FHIR RDF https://github.com/w3c/hcls-fhir-rdf/issues/34

eric: my concern: there's plenty to do before we need to define one. low priority.

dbooth: Grahame commented last week that we cannot retain the URI on a root node because there's no place to put it in FHIR XML or JSON.
... though we could define an extension for saving it.

eric: Can ignore whitespace. You canonicalize the encoding and data values so you can string compare the two documents for equality.
... could use ordered RDF.

dbooth: How about if we say that round tripping is RDF-->XML/JSON-->RDF but not necessarily RDF-->XML/JSON-->RDF?

eric: Could order the triples according to the shex schema
... the validator has an ordered list of triples
... so bnodes would be ordered according to that list (i.e., in what order they were seen)

dbooth: Are we in agreement that it is enough for us to ensure rounding tripping from FHIR XML/JSON to FHIR TTTL and back to FHIR XML/JSON, and end up with equivalent document, i.e., equal after canonicalization.
... We do not need to define round tripping that originates with FHIR RDF and returns to FHIR RDF. There would be some inherent lossiness in round-tripping in that direction, which is implied by the canonicalization.
... That degree of lossiness is lossiness of unimportant information.
... The meaning would not changed. No change to the clinical information, but some URIs or blank nodes might change
... The meaning would not change.

AGREED: We can take this approach and close issue #34

https://github.com/w3c/hcls-fhir-rdf/issues/34

ADJOURNED

Summary of Action Items

[NEW] ACTION: Harold to let Grahame know that fhir:nodeRole is missing from some examples such as http://hl7-fhir.github.io/compartmentdefinition-encounter.ttl.html [recorded in http://www.w3.org/2016/08/30-hcls-minutes.html#action01]
[NEW] ACTION: Thomas Lukasik to try running the HAPI or other ref implementations to convert to and from FHIR RDF and document how [recorded in http://www.w3.org/2016/08/30-hcls-minutes.html#action02]
 

Summary of Resolutions

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.144 (CVS log)
$Date: 2016/08/30 22:08:27 $

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/nodeRoot/nodeRole/
Succeeded: s/resource/structure def/
Succeeded: s/or EligibilityResponse//
Succeeded: s/either //
Succeeded: s/set/sets/
Succeeded: s/No-/Non-/
Succeeded: i/Topic: Remaining/Topic: ================== 5PM Call =================
No ScribeNick specified.  Guessing ScribeNick: dbooth
Inferring Scribes: dbooth
Present: Gopi Rob_Hausam James_Anderson Harold_Solbrig EricP David_Booth (5PM:)_Thomas_Lukasik Eric_P
Found Date: 30 Aug 2016
Guessing minutes URL: http://www.w3.org/2016/08/30-hcls-minutes.html
People with action items: harold lukasik thomas

[End of scribe.perl diagnostic output]