15:03:44 RRSAgent has joined #hcls 15:03:44 logging to http://www.w3.org/2016/07/12-hcls-irc 15:03:46 RRSAgent, make logs world 15:03:46 Zakim has joined #hcls 15:03:48 Zakim, this will be HCLS 15:03:48 ok, trackbot 15:03:49 Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference 15:03:49 Date: 12 July 2016 15:04:01 Topic: ShEx Validation 15:04:18 Chair: David Booth 15:04:19 topic: IG migration to CG 15:05:40 eric: Not enough paying membership to continue IG. Will be demoting HCLS to CG. 15:06:13 ... Will be writing up what defines RDF, to publish before we turn into a CG, for higher status. 15:06:51 ... Writing up a formal spec for structure def in RDF, how you turn it into shex and RDF graph template 15:07:10 ... The process is more formal than what tony malia was doing. 15:07:32 ... And I cannot finish it until FHIR is done, which will never be done. But I can publish something for a stake in the ground. 15:08:20 ... There's a JAMIA paper that I want to post. Want to be sure that this is complementary to the JAMIA paper. Because they interact, I'd like others to look at it, but need to find out what's allowed to be used from the JAMIA paper first. 15:08:56 dbooth: When is the deadline for IG to CG? 15:09:19 eric: Deadline can be stretched if there's a doc in process, but theoretically end of July. 15:09:48 dbooth: What will others need to do? 15:10:03 eric: When I get clearance to share, I'll need people to proofread ASAP. 15:10:07 topic: ShEx Validation 15:11:01 eric: I wrote an abstract syntax for shacl 15:11:18 -> http://w3c.github.io/data-shapes/shacl-abstract-syntax/ SHACL abstract syntax 15:11:26 s/ Topic: ShEx Validation// 15:12:08 eric: Allows round trip between shex and shacl 15:13:03 ... shacl is a sublanguage of shex 15:13:35 ... Hard things like repeated properties do not translate into shacl 15:14:07 ... I'm supposed to work on a working draft of shex for the Data Shapes WG, which means there will be a rec track for shex 15:14:54 ... In the process I tried to put all the advantages of shacl into shex. Made a branch called shex3, which I'm unsure of. 15:15:19 ... it simplifies the model, but is more complex to describe what shex is doing. 15:15:52 ... The surface syntax is the same, but the underlying json is different. 15:16:39 ... Every value class is now a shape. 15:16:55 ... More complex for people to get there head around, but now more powerful/general. 15:17:02 ... Can do more validation that you used to. 15:19:19 Topic: Issues list 15:19:20 https://github.com/w3c/hcls-fhir-rdf/issues 15:23:39 Topic: Issue 29: Concept code URI: Should we have one? What should it be? #29 15:24:08 https://github.com/w3c/hcls-fhir-rdf/issues/29 15:24:46 eric: Code is in Coding in CodeableConcept in something else 15:25:20 rhausam has joined #HCLS 15:25:36 ... In principle, it isn't that Coding is a biopsy stain, it's that the Observation is a biopsy stain. So Grahame was bubbling all the way to the top, to Observation. 15:25:45 ... But that meant it had lots of types on it. 15:26:05 ... BiopsyStain, PositiveTestResult, etc. 15:26:29 ... There's a ton of CodeableConcepts. One made sense to bubble to the top, but not all. 15:26:51 ... How do we manage them? Is a blood pressure observation different? 15:27:09 ... Or we could say that the typing of this Observation comes from this particular attribute. 15:29:00 ... It doesn't make sense for ALL of the CodeableConcepts on it to become a type of the Observation. 15:29:08 q+ 15:29:16 q- 15:31:09 dbooth: I don't see a problem semantically with attaching them all to the top. 15:32:07 eric: Interpretation is one. It would be dicey to say that something would be both an Interpretation and an Observation. 15:33:32 ... Would want to say the Observation.dateTime is the same as Procedure.dateTime 15:34:01 ... Is there a wish list of things for adding to structure definitions? 15:34:20 rob: IDK what's on the wish list currently. But if we want something added, put it in the tracker. 15:35:23 ... For giving the same semantics to properties of the same name, there is discussion, but no global rule. 15:36:23 rob: wouldn't we declare them sameAs after the fact, in the RDF or OWL? 15:36:43 eric: Maybe it is only RDF people who care. 15:38:05 dbooth: How would equivalences between properties help? 15:38:48 eric: It is a similar example of what is needed. But we want closed shapes, so that if I send you clinical data and include an extra statement, you'll likely reject it. 15:39:12 ... So if we add more type arcs we'll need to trim them off before sending to someone else. 15:40:43 dbooth: Should we leave the propagation of types upward to a downstream inference step? 15:41:39 eric: This typing info would be additional -- not on the wire 15:42:54 dbooth: How can we make progress now? 15:43:28 eric: need to wait on getting the wire FHIR RDF stablized. 15:45:55 Topic: Issue 18: How to determine the base URI for a FHIR document, and is it round trippable? 15:46:08 eric: Multiple issues here. Is the root node the name of the graph? 15:47:11 ... Do we want to mandate different graphs for different resources? 15:47:49 ... One obvious use case, is that when passing data one could put it into a graph. 15:47:59 s/graph/named graph/ 15:51:58 dbooth: Not sure that this issue is still relevant. Not sure that we have any relative URIs that are not strings. 15:54:50 eric: Need to interpret FHIR XML relative URIs in order to generate FHIR RDF. 15:55:22 ... Could come from three places: FHIR XML, FHIR JSON, or a FHIR object store. 15:57:43 dbooth: I think the problem was what to do when you don't know the server base URI. 15:58:10 ... Such as when submitting data to a server 15:59:02 ... I think we currently handle this by assigning a blank node to the resource if we do not know the server base URI. 15:59:12 eric: Possible to get to that state? 16:01:09 ... If you don't say that every resource has a base, then you don't know if <1234> is the same as x:1234 . 16:42:08 Present: David Booth, EricP, Brian Scheller, Rob Hausam, Amol 16:42:14 ADJOURNED 16:42:19 rrsagent, draft minutes 16:42:19 I have made the request to generate http://www.w3.org/2016/07/12-hcls-minutes.html dbooth 21:03:25 RRSAgent has joined #hcls 21:03:25 logging to http://www.w3.org/2016/07/12-hcls-irc 21:03:27 RRSAgent, make logs world 21:03:27 Zakim has joined #hcls 21:03:29 Zakim, this will be HCLS 21:03:29 ok, trackbot 21:03:30 Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference 21:03:30 Date: 12 July 2016 21:03:45 Topic: ================ 5PM Call =================== 21:06:06 Topic: ShEx for FHIR RDF 21:07:17 harold: New converter (not yet submitted). Have comments in. Have required valuesets. Not sure what to do about anything other than required. 21:07:47 grahame: For non-required, you cannot validate anything that's not required. Even if VS is extensible, there's no way to know if a code is correct. 21:08:04 ... But it's still useful to provide the expansion for computability purposes. 21:08:43 harold: For extensible, we looked at the possibility of giving a warning. 21:08:56 ... At the moment we're doing require code VSs. 21:09:15 ... It will be trickier when we get to coding structures. 21:09:25 ... Turning out to be pretty useful. 21:10:27 ... But comments are redundant. Might take them out after review. 21:10:55 rhausam has joined #HCLS 21:12:32 ... Re closed definitions, w'ere now generating in two forms. You'll get observation and all of its type descendents. But if we generate shex to comletely validate a resource, there woudl be exactly one shex definition. We generate that: fhir.shex . I've closed that one, in the sense that a resource is defined as either an AllergyIntolerance, or ... so that everything validates completely. 21:12:57 ... Eric came up with a way of resolving the starting shape issue. 21:13:10 eric; That may be credited to grahame. 21:13:44 s/eric;/eric:/ 21:14:11 harold: It's a series of NOTs. 21:14:26 eric: like how you do a series of if-thens in propositional logic. 21:14:51 start= 21:15:08 (NOT { fhir:nodeRole [fhir:treeRoot] ; a [fhir:Appointment] } OR @) OR (NOT { fhir:nodeRole [fhir:treeRoot] ; a [fhir:Account] } OR @) OR (NOT { fhir:nodeRole [fhir:treeRoot] ; a [fhir:ReferralRequest] } OR @ CLOSED {@ OR @ OR @ OR @ OR 21:17:42 Closed definitions are done 21:18:01 harold: Closed definitions are done. (Though still have batch validation step to be tweaked.) 21:18:19 required code value sets are done 21:18:26 ... Required code value sets are done 21:18:32 extensions -- partly done 21:18:34 ... Extensions are partly done 21:18:44 correct starting shape - done 21:18:49 comments - done 21:18:58 Proposed approach for reference 21:22:18 (Harold shows fhir valuesets in shex) 21:25:11 dbooth: I like the VS comments in the shex. they save the reader from having to chase the reference 21:26:31 harold: But it would help if the page could be rendered a little wider. 21:26:49 ... Slicing will be a challenge. Eric is working on that (uniqueness). 21:26:56 ... An Constraints have not been done yet. 21:28:26 Topic: Issue 30; What should the type of fhir:link target be in the ShEx? 21:28:33 https://github.com/w3c/hcls-fhir-rdf/issues/30 21:29:52 harold: I'm working on Option B 21:31:30 ... The reference declares the target to be a fhir:Patient 21:31:59 ... and if the patient resource is loaded, then it will also (redundantly) declare it to be a fhir:Patient. 21:32:39 {fhir:link CLOSED {a [fhir:Patient]} OR @<{Patient}>} 21:33:57 ... And we declare it CLOSED or just a patient type to allow it to be either loaded or not 21:34:15 ... and if you want to force them all to be loaded, then you leave out the CLOSED line from the shex. 21:35:10 @ OR @ ... 21:35:14 ... and we can also specify the kinds of references permitted 21:36:14 grahame: What if you don't know what kind of thing is referenced? 21:36:33 eric: Doesn't the URL pattern have to match a particular regex? 21:37:02 grahame: If you know that it's to a FHIR URI, but that's not required. It does not have to be a FHIR server. 21:38:49 ... It does point to a resource, but you don't necessarily know what kind. 21:43:33 harold: This also brings up extensions: will we be expected to consume extensions that we know nothing about? 21:44:02 grahame: In general, you can read/write/process/store them. But for profiles, you can say "we don't do that here" 21:44:27 eric: There are scenarios where the profiles enumerate the permitted extensions. 21:45:00 ... Three cases: promiscuous (any extensions allowed); conservative FHIR core only; enumerated set of extensions in a profile. 21:45:43 grahame: 3 cases: 1. whatever extensions are there we see, and use what we know about. that's what we encourage. 2. here's a list of extensions. 3. Here's what we know about, but we allow others too. 21:46:18 s/3/and only these are allowed. 3/ 21:46:32 ... Kind of like closed, open and extensible. 21:47:06 ... The profile says which situation it is. 21:50:47 dbooth: Returning to references? 21:50:55 harold: Similar problem in references 21:54:30 Topic: Slicing 21:56:44 https://hl7-fhir.github.io/profiling.html (half way down the page) 21:58:30 harold: At a basic level of slicing, you'll have only a discriminator. 21:58:53 ... That's what i'm trying to implement, using unique. 21:59:33 grahame: Tim Bray has been going off about how XMl is useless, and it's obvious that what he wants is Discriminator. So Lauren's getting me to write an article about Discriminator. 22:00:24 eric: You can't say that two types are identical except that one has a value 1 and the other has value 2. Is that the right mental model? 22:00:43 grahame: In XML schema case, a bunch of elements, each with a type model. 22:01:08 ... If layering a schema on top of existing schema, the names are all the same, so discriminator tells you which property to use. 22:01:48 ... Discriminator allows you to use a switch statement 22:03:25 harold: From CIMI and OpenEHR perpsective, want to be able to say we have a bu nch of observations, each of which has a unique code. 22:03:55 ... Because it is open ended, you need to be able to say "and everything that;s left must also have unique identifiers" 22:04:31 ... If we always knew everything that coudl be in Observation then we could close it off, but we can't. But we do want to say that it cannot repeat twice. 22:04:36 eric: That's a use case for unique. 22:05:12 eric: So FHIR discriminators have constants in the values. If I have multiple slices in the same collection, do they have to be different? 22:05:24 grahame: They all have to be fixed bindings to value sets. 22:05:40 ... The Discriminator is set on the collection -- not the slice. 22:05:51 ... They all have to be provably distinct. 22:06:01 eric: Are they nullable? 22:06:24 grahame: Some in a set can be optional, but they must be provably unique. Need to be careful if you make some optional. 22:07:30 eric: short valuesets, you don't allow ambiguous combinations? 22:07:53 grahame: Have to be provably distinct at static analysis time -- not instance data. 22:08:27 harold: what to work on next? 22:08:45 eric: slicing please, to get bad news as early as possible. :) 22:09:09 Topic: Changing HCLS IG to CG 22:09:25 eric: Trying to get a doc out before the IG changes to a CG at W3C. 22:09:39 http://w3c.github.io/hcls-fhir-rdf/spec/ 22:09:48 ... Drafting a doc (linked above) 22:11:18 ... Will define the default mapping, and then explain the exceptions. 22:11:37 harold: I'm expressing this in java :) 22:12:23 harold: Should son of QVT be another way to express this? 22:12:51 grahame: Don't think so. QVT is focused on expressing relationship on models in common syntax, to transform instances. 22:13:04 ... But this is a more cerebral question. 22:13:16 ... Translating one way of representing models to another. 22:13:28 harold: But on the source side it is talking about instances. 22:13:47 eric: But they're not the same structures. 22:14:08 grahame: Given a common metalanguage, you could define a transform between them. but it seems hard. 22:14:18 ... Not needed by many people. 22:15:08 ... Whereas with StructureMapping there will be lots of people wanting to do it. 22:15:22 dbooth: Jointly publish with W3C and HL7. 22:15:34 eric: Possibly, but there's a very short timeline. 22:17:29 dbooth: Would be good to promote the fact that W3C and Hl7 are working together. 22:17:58 grahame: Fill in the trademark request form, and I'll approve. 22:18:27 Topic: Next meeting 22:18:38 Harold: I'll be out on vac until Aug 1 22:19:08 ADJOURNED 22:19:40 s/W3C and HL7./W3C and HL7?/ 22:20:15 rrsagent, draft minutes 22:20:15 I have made the request to generate http://www.w3.org/2016/07/12-hcls-minutes.html dbooth 22:36:52 Present+ 5PM_Call: David_Booth Harold_Solbrig EricP Grahame_Grieve Rob_Hausam 22:37:00 rrsagent, draft minutes 22:37:00 I have made the request to generate http://www.w3.org/2016/07/12-hcls-minutes.html dbooth