15:00:40 RRSAgent has joined #hcls 15:00:40 logging to http://www.w3.org/2016/06/14-hcls-irc 15:00:42 RRSAgent, make logs world 15:00:42 Zakim has joined #hcls 15:00:44 Zakim, this will be HCLS 15:00:44 ok, trackbot 15:00:45 Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference 15:00:45 Date: 14 June 2016 15:02:27 hsolbrig has joined #hcls 15:02:50 Present: EricP, Chad Albert, Rick Kiefer, Amol, Shahram, Harold Solbrig 15:03:19 Topic: ShEx Validation of FHIR RDF 15:04:05 harold: we have an incomplete steady state. All of the core FHIR examples validate in ShEx. We have a known set of things that we need to do, such as minValue, maxValue. And some bigger issues to work through. 15:04:41 ... There are three resource bundling mechanisms, by reference and by value. 15:05:01 ... Grahame thinks the shex should included validating everything that you could put inside. 15:05:35 ... For the moment we do not validate the referents. Discussion will continue. 15:06:13 ... I propose two modes: complete shex, and a mode that only validates the non-referents. 15:06:38 Sajjad has joined #hcls 15:06:48 ... The other thing is extensions. At the moment we're faithful with the FHIR approach. Josh had proposed representing extensions as first-class predicates, and there's a huge value in doing that. 15:07:30 ... I'll propose a hybrid to carry them both as tagged values, to make it easy to roundtrip. But also add a URI as a predicate into the RDF. 15:07:52 ... That's important because as soon as we add extensions, closed and complete validation becomes more of an issue. 15:08:20 ... Slicing does not work right now. If you give it slicing it generates invalid shex. 15:09:54 ... The most difficult one is the declaration of the discriminator. Even if it is one attribute, often the discriminant is a coding that has multiple properties. That will be the biggest challenge in shex. 15:10:42 eric: The discriminator allows you to write a simple verifier. 15:11:03 harold: The simplest form is one with only the discriminator. 15:11:12 eric: That will require 'unique' in shex. 15:12:04 harold: I did a rough review of the constraints in the FHIR core -- 400 constraints. While the patterns were not consistent enough to characterize, the majority were existential combinations. 15:12:46 ... Diminishing returns for the extension model. 15:14:03 ... I looked for comparisons with paths on both sides, and there were only about 5 of them. Not sure if they're worth doing. 15:14:41 ... Much of our funding comes from someone in the academic world, and papers are important to them. We wrote a paper on this. 15:15:02 ... Reviews and coauthors welcomed. 15:16:00 eric: Most of the shapes can now be easily captured. 15:16:35 harold: If you look at the lastest FHIR distro, they have an RDF template language that is consistent with the XML and JSON. 15:18:48 harold: Propose using shex, with added comments, instead of this made-up pseudo-Turtle 15:21:03 dbooth: With grahame we discussed possibly having both the pseudo-Turtle and shex. 15:22:36 harold: We'll try the shex, and then we can do an A-B comparison. 15:23:48 dbooth: An example is in the structure definition of AllergyIntolerance: https://hl7-fhir.github.io/allergyintolerance.html 15:24:42 harold: Also proposing a REST service for the validator. 15:25:07 dbooth: You can put it on yosemiteproject.org site. 15:26:38 dbooth: How do we know if we're done? i.e., covered all of FHIR? 15:27:36 eric: we can either do formal coverage analysis, or we can hope that grahame notifies us if he adds anything. 15:28:14 harold: we have a pretty good list in the paper. 15:28:21 dbooth: We should use that as our punch list. 15:28:48 ACTION: Harold to provide the list of remaining items that need to be implemented in FHIR RDF 15:28:48 Created ACTION-60 - Provide the list of remaining items that need to be implemented in fhir rdf [on Harold Solbrig - due 2016-06-21]. 15:29:05 harold: Also need to verify round tripping. 15:29:17 ... That's indirectly in grahame's court. 15:29:42 ... There are skeletons for round tripping. 15:30:08 dbooth: I wonder if michael would be willing to look at that. 15:30:35 ACTION: Dbooth to ask Michael about implementing the round tripping. 15:30:35 Created ACTION-61 - Ask michael about implementing the round tripping. [on David Booth - due 2016-06-21]. 15:30:56 harold: Also need failing tests. 15:31:59 dbooth: Grahame already has some of those for XML and JSON. We should mimic those for RDF. But we may want more also. 15:33:06 eric: Grahame said he would look into that. 15:35:51 ACTION: Harold to prepare slicing and extension examples for discussion next week 15:35:51 Created ACTION-62 - Prepare slicing and extension examples for discussion next week [on Harold Solbrig - due 2016-06-21]. 15:38:27 harold: A selling point of RDF: there are 4-5 different modeling paradigms in FHIR. Some are more obvious than others. Converting it to RDF and shex gives you a uniform representation and a single constraint model. 15:39:35 rhausam has joined #HCLS 15:40:59 Topic: Agenda planning 15:42:39 marc: We should brainstorm on a call 15:43:33 dbooth: want to include renato ianella and grahame and marc on discussiong FHIR on schema.org 15:44:59 ACTION: Dbooth to contact Renato, grahame and marc about joining a call on fhir and schema.org 15:44:59 Created ACTION-63 - Contact renato, grahame and marc about joining a call on fhir and schema.org [on David Booth - due 2016-06-21]. 15:46:35 Issues list: https://github.com/w3c/hcls-fhir-rdf/issues 15:48:04 Topic: What should the type of fhir:link target be in the ShEx? Issue #30 15:49:30 eric: We could move the rdf:type arc down to the actual (referenced) patient 15:50:21 ... That does not enable full validation of the referent. But it avoids using a different type arc. 15:51:19 https://github.com/w3c/hcls-fhir-rdf/issues/30 15:53:35 rrsagent, draft minutes 15:53:35 I have made the request to generate http://www.w3.org/2016/06/14-hcls-minutes.html dbooth 15:53:36 ericP2 has joined #hcls 15:53:38 Chair: David Booth 15:54:35 a fhir:Observation; fhir: Observation.performer [ link ; Reference.reference [ fhir:value "Practitioner/f005" ] ]; 15:55:50 here it is again, hopefully a little more readable: 15:55:51 a fhir:Observation; 15:55:51 fhir: Observation.performer [ 15:55:51 link ; 15:55:51 Reference.reference [ 15:55:52 fhir:value "Practitioner/f005" ] ]; 15:56:35 damn, i was being so elequent 15:58:24 type arc on referrent: a fhir:Observation; fhir: Observation.performer [ link ; Reference.reference [ fhir:value "Practitioner/f005" ] ]; a fhir:Practitioner . 15:58:57 type arc on referrence: a fhir:Observation; fhir: Observation.performer [ link ; Reference.reference [ fhir:value "Practitioner/f005" ] ; a fhir:PractitionerReference .]; 16:00:38 here is the second example again: 16:00:39 type arc on referrent: 16:00:39 a fhir:Observation; 16:00:39 fhir: Observation.performer [ 16:00:39 link ; 16:00:40 Reference.reference [ 16:00:41 fhir:value "Practitioner/f005" ] ]; 16:00:43 a fhir:Practitioner . 16:02:02 the third example again: 16:02:02 type arc on referrence: 16:02:02 a fhir:Observation; 16:02:02 fhir: Observation.performer [ 16:02:02 link ; 16:02:04 Reference.reference [ fhir:value "Practitioner/f005" ] ; 16:02:06 a fhir:PractitionerReference .]; 16:08:58 Present+ Brian Pech, David Booth, Sajjad Hussain, Marc T 16:10:09 ADJOURNED 16:10:20 rrsagent, draft minutes 16:10:20 I have made the request to generate http://www.w3.org/2016/06/14-hcls-minutes.html dbooth 18:57:40 Zakim has left #hcls 21:05:43 trackbot, start meeting 21:05:45 RRSAgent, make logs world 21:05:45 Zakim has joined #hcls 21:05:47 Zakim, this will be HCLS 21:05:47 ok, trackbot 21:05:48 Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference 21:05:48 Date: 14 June 2016 21:06:01 Topic: ============== 5pm Call =============== 21:06:29 Notes from earlier today: http://www.w3.org/2016/06/14-hcls-minutes.html 21:06:43 Topic: Status 21:07:31 grahame: Got shex working in the build, then tried to validate with fhir.shex, got some validation errors, and i could not figure out how to tell it which graph to connect to the starting point. 21:08:13 s/Status/ShEx Validation Status/ 21:08:30 eric: Could a parameter be passed indicating where to start? 21:08:54 grahame: Yes, but maybe not always. 21:09:28 ... In a stream you'd have to look into the stream and figure out where it is. I guess you could always look at the RDf triples first, to find the entry point. 21:09:55 eric: You're mostly using type validation in XML Schema, but you use element validation for the resource roots. 21:10:49 ... Because element validation is very simple, because you know what the root element is. 21:10:57 dbooth: We have treeRoot in FHIR RDF 21:11:33 rhausam has joined #HCLS 21:11:53 grahame: we could have shex be told what node to validate. 21:13:43 grahame: but my API says "here's a graph and here's the shex. go validate" and it wouldn't know what starting node to use. 21:15:18 eric: my temptation is to leave it to the caller to decide how to tell shex the starting node. 21:16:00 grahame: v3 features are not widely supported. Even if we can get them through the standards process, they probably won't be adopted. 21:16:31 ... So I'm wary of saying "let's do this cool fhir". But the "where do i start" is not just a shex problem. 21:21:20 eric: For FHIR RDF, we coudl have it look for treeRoot, then pick up the type from that. 21:21:42 grahame: we could put that in the spec, but i suspect that's not the last you've heard of the problem. 21:27:08 we want something more specific than simple validation as a Resource; we want something more like a LeafResource, which is a disjunction of ~140 resources 21:27:16 dbooth: How about a shex execution mode that allows a set of types to be specified, and it will validate any instances that are found? 21:28:10 Present+ Grahame Grieve, EricP, David Booth, Rob Hausam 21:32:27 ADJOURNED 21:32:30 rrsagent, draft minutes 21:32:30 I have made the request to generate http://www.w3.org/2016/06/14-hcls-minutes.html dbooth