15:01:26 RRSAgent has joined #hcls 15:01:26 logging to http://www.w3.org/2016/09/06-hcls-irc 15:01:28 RRSAgent, make logs world 15:01:28 Zakim has joined #hcls 15:01:30 Zakim, this will be HCLS 15:01:30 ok, trackbot 15:01:31 Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference 15:01:31 Date: 06 September 2016 15:01:34 Chair: David Booth 15:09:12 Topic: ShEx Validation 15:09:53 harold: Required valuesets that are type coded or codedentry. Need to get that into the coding. At the moment if it isn't a simple code I code it as an external valueset. 15:10:40 ... One issue is troubling: if a URI does not match the pattern that defined in the FHIR spec, then we cannot tell its type without dereferencing it. 15:10:53 http://www.BenefitsInc.com/fhir/eligibility/225476332402 15:11:37 ... I reported to Grahame what I thought was a problematic URI, but grahame said that it is legitimate, but there is no guarantee that the URI will return compatible content. 15:11:52 ... It sounds like FHIR links can point to anything. 15:12:56 ... I'm concerned about that. From a validation perspective, if we cannot be guaranteed that a link is of type patient, then we would have to weaken our validation considerably. 15:13:12 ... Also, does the validation process need to chase these links before it can do anything? 15:13:24 ... I raised this as issue #37 15:13:39 https://github.com/w3c/hcls-fhir-rdf/issues/37 15:13:43 https://github.com/w3c/hcls-fhir-rdf/issues/36 15:14:56 harold: And regarding ussue #36, it says a source reference can be a plainURI, a VS ref, or a strucuredef ref. But at the moment the URIs for VSs are frequently not derefable. So we have no way of knowing if it is a good VS ref or a bad structuredef ref. 15:15:34 ... So I am proposing a change to the RDF: If it is a VS ref, use a different predicate. 15:15:43 eric: Can that be known from the FHIR XML? 15:15:49 http://hl7-fhir.github.io/conceptmap-103.xml.html 15:17:15 harold: In FHIR XML it is just a reference also. IDK if there is a way in the FHIR object model to know. 15:18:38 ... The object model has a choice type. 15:19:14 http://hl7-fhir.github.io/conceptmap.html 15:20:33 james has joined #hcls 15:20:43 harold: Look there and scroll down to sourceReference in the table 15:22:11 ... URIs for VSs are largely non-compliant 15:22:22 hir:link 15:22:46 s/hir:/fhir:/ 15:23:10 harold: There is no way that we can parse that snomed URI to determine that it is a VS 15:23:47 dbooth: Discuss with Grahame at 5pm? 15:23:55 harold: Yes, i can join at 5pm. 15:24:50 well, I have an extra feature built into the validator, a mode where you can tell it about hosts and which are restful and which are maybe not 15:25:02 org.hl7.fhir.dstu3.validation.InstanceValidator 15:25:08 s/well,/quote from grahame: well,/ 15:25:17 hmm. I see I've only done extensionDomains in this fork 15:25:18 harold: That's a link to his code 15:27:14 james: Why is this being validated? /dev/null is cool, and as long as you never open it, it's fine. If you never touch the ref, why does it matter? 15:27:50 ... If the compliance requirement is to validate the world, then you'll need it. But if the requirement is only to validate what you have on hand, then you don't need it. 15:28:53 eric: If we're validating a resource on its own, then you don't do any resource validation, which means that any place where there is a choice of resource type (such as patient or provider). 15:30:14 eric: One of the use cases we are trying to address is to verify that the references are of the correct type. 15:32:58 ... We're trying to figure out if the validator is supposed to cry foul if it cannot determine the type. 15:33:48 harold: Another case the FHIR spec has put in: there is a class of URIs that can be parsed and are expected to be parsed. 15:34:00 james: Then that needs to be part of the conformance requirement. 15:35:32 james: If it is not dererernceable then it has to be either intrisically typed or the validation must fail. 15:37:01 ACTION: Harold to discuss with Grahame that non-derefable sourceUri must fail strong validation 15:37:02 Created ACTION-69 - Discuss with grahame that non-derefable sourceuri must fail strong validation [on Harold Solbrig - due 2016-09-13]. 15:38:43 harold: But we could add another predicate to indicate the type, but the validation was set up for the intent of the ref to be knowable. 15:38:55 RDF conversion generates a type arc if it can parse the URI. 15:39:22 Idea that you have the type if don't de-reference and the whole record if you do (w/ type theoretically compliant) 15:40:10 Question for FHIR people is, in th case of, say, reference (Organization | Person), do they not want to identify which without following the link. 15:40:56 rhausam has joined #HCLS 15:43:28 dbooth: There is some precedent for making the predicates explicit about what values they expect: valueCodeableConcept and valueBoolean, etc. in http://hl7-fhir.github.io/group.html 15:45:51 Topic: Shex Protocol 15:46:21 eric: working on a protocol for accessing external shape definitions 15:46:55 dbooth: when do you want to show it off? 15:47:19 eric: For sparql protocol, you can use it whether you have a dedicated graph or dataset or not. 15:49:10 ... Or it can work on a default graph that is the union of all named graphs. but you don't have a way to say which of those 15:49:16 ... it does. 15:49:35 dbooth: SPARQL Service Description might allow some description: https://www.w3.org/TR/sparql11-service-description/ 15:50:38 eric: But what happens when you redefine what has been preloaded? Abort, replace? 15:52:13 eric: Another issue worth considering: whether the query is "validate this node is this shape", or "node1 is shape1, node2 is shape2 ... " and you want to verify it. 15:52:43 ... Another thing we can do is a maximal typing, where you compute all the possible types that a thing could have. 15:53:32 ... one of the dangers is that if you have resources with all minCardinality of 0, then it is hard to know which one it is. 15:54:18 Topic: W3C Semantic Web for Healthcare and Life Sciences community group 15:54:18 Join the W3C Semantic Web for Healthcare and Life Sciences community group: https://www.w3.org/community/hclscg/ 15:57:59 ADJOURNED 15:58:12 Present: David Booth, EricP, James Anderson, Rob Hausam, Harold Solbrig 15:58:19 rrsagent, draft minutes 15:58:19 I have made the request to generate http://www.w3.org/2016/09/06-hcls-minutes.html dbooth 21:04:10 RRSAgent has joined #hcls 21:04:10 logging to http://www.w3.org/2016/09/06-hcls-irc 21:04:12 RRSAgent, make logs world 21:04:12 Zakim has joined #hcls 21:04:14 Zakim, this will be HCLS 21:04:14 ok, trackbot 21:04:15 Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference 21:04:15 Date: 06 September 2016 21:06:02 Topic: ===================== 5pm Call ========================== 21:11:55 https://github.com/w3c/hcls-fhir-rdf/issues/36 21:11:55 Topic: ShEx Validation of Referenced resource 21:11:58 https://www.w3.org/2016/09/06-hcls-minutes.html#item01 21:13:09 harold: ValueSet refs are not necessarily derefable. No way to know if we have an illformed VS ref. 21:13:25 ... i was suggesting we might want to make a different predicate for VS references. 21:13:32 https://github.com/w3c/hcls-fhir-rdf/issues/36 21:16:31 grahame: ConceptMap is for mapping between concepts and terminologies. 21:16:43 ... Allowing StructureDef there was a legacy. 21:17:00 ... We have a lot of work to do in the model mapping space. 21:17:33 ... StructureDef in the source and target is broken. And it wasn't always like this 21:18:21 ... I think that's an error. It should only be an ValueSet. 21:18:55 ... It's pretty usefl to say the concepts defined in profiles are actually code systems. 21:19:08 ... Mapping related concetps to rxnorm, etc. 21:19:31 ... conceptmap.html allows you to use them in a terminology context. 21:19:56 ... We should get rid of StructureDefinitionn from sourceReference in the next ballot. 21:20:17 eric: Are there other instances of this problem elsewhere? 21:20:33 harold: THe problem is having a choice -- ValueSet or StructureDefinition. 21:21:23 grahame: we're going to discuss having snomed and loinc return data if you use the right mime type. 21:22:04 ... But valueset refs should resolve, except for implicit refs. But they don't have to (broken links). 21:22:23 ... It's a deployment question of how you handle broken links. 21:22:57 ... But fhir:Observation.subject can be either a Patient, Group, Device or Location. Does that cause the same problem? 21:23:43 harold: If the reference does not follow the URI pattern, then the only way to figure out what it is is by derefing the URI. 21:23:58 ... Will I as a consumer behave differently if it is a ref to a device vs a patient? 21:24:14 ... if so, I should know the intent of the creator even if the link is broken. 21:24:37 grahame: This has come up occasionally, but no consensus. We allow non-RESTful URIs. 21:25:20 ... And some host conformance servers. The spec is an instance of itself: it's possible to make a static web server be an instance of the spec. 21:25:51 ... The challenge is around support. 21:26:37 harold: This is a great example: subject is either a Patient or a Device. Might have a rule saying all Patients must be derefable but I don't care about devices. 21:27:07 ... But since i don't know which it is in advance, I have no way to know which it should be. 21:27:37 grahame: agreed. You either have to say that everything is derefable . . . and most EHRs do that, but not other systems. 21:27:53 ... In earlier drafts we had a type on the ref datatype. 21:29:14 ... We took it out later. But about once a year someone asks for the type. 21:29:42 ... But if you have the URL then it is a performance claim, which may be wrong. If you cannot retrieve it. 21:30:19 eric: What's the behavior of an ambitious validator there? 21:31:17 ... E.g. Ref to a Patient or Device. 21:31:34 ... If it isn't one of those URL patterns, then I deref and find the type. 21:31:53 ... But if I get a URL that claims to be a differnet type, then that's failure. 21:32:09 ... If I have a URI that does not indicate the type, and I cannot deref it, then what? 21:33:19 grahame: I have an extensibility framework. If I cannot retrieve the target, then I put out a warning. If I get back the contents, I look at what conformance expectations are made about that resource, and validate those. 21:34:44 ... But a ref has conformance expectations. In the case of Observation, the ref has rules on the target (patient | Device ... ) but in DAF the subject must be a ref to a profile DAF patient, which gives many more conformance requirements. 21:35:14 ... If you are doing RDF work, you'll likely be aggregating a datastore. 21:35:58 ... JSON/XML is about operation data exchange. Excpectation is to integrate into a deployed framework. But RDF will be added to a store (with provenance remembered), and it's a different perspective. 21:36:20 ... If it isn't retrievable then I cannot reason on it, and it comes back to what you are doing with your store. 21:36:39 harold: If I have a ref to a DSTU FHIR source, is the machinery in place to recognize that? 21:36:54 grahame: That's hard. We've said nothing about whther you can or cannot. 21:37:03 ... We expect that the ref will be valid 21:37:46 harold: I assume that at some point we'd want to start putting versions in Accept headers or mime type, but I guess that's in the future. 21:37:56 grahame: Or differnet endpoint. 21:39:31 grahame: in the end it's the user's choice how to handle broken links. 21:40:57 harold: In the shex, we cannot put in the type predicate unless it always yields a type patient. So we cannot say anything about what what it references: either patient or device or none of the above, which is a tautology 21:42:09 eric: what if the URL is for type Patient, but the type conflicts with the allowed types. 21:42:38 harold: But if we cannot count on the type being in the URL then we can only say it must look like a URI. 21:43:43 dbooth: But you cannot distinguish between a non-conforming URI (that matches the URL pattern by accident) and one that matches the pattern intentionally. 21:44:06 grahame: But you cannot know which is wrong if there is a conflict -- the resource or the reference. 21:44:41 harold: we'll have to decide whether to include URL derefing in the spec. 21:44:58 eric: But what kind of behavior do we want? 21:48:33 GrahameGrieve has joined #hcls 21:48:44 http://piratepad.net/ericP 21:56:44 grahame: proper way to decide if someting is a FHIR RESTful server is to see if it returns a FHIR conformance statement. 21:59:02 eric: If it claims conformance, then it must match the URL pattern 21:59:33 grahame: I would say that there are a set of conformance claims about the target, and check those. 22:00:44 ... For DAF, it isn't enough to ref a Patient, it must be a *DAF* patient. 22:00:50 ... Those are additional conformance claims. 22:04:55 Notes from piratepad: 22:04:56 [[ 22:04:56 What to do when validating a reference? 22:04:57 min: assume it's valid 22:04:57 parse: inspect the URL for type-compatibility -- RESTful server 22:04:57 query: look for type arcs in-graph 22:04:57 GET: fetch the doc and 22:05:01 404/500: 22:05:03 200+alien mime type 22:05:05 200+known mime type + type mismatch with URL -- RESTful server 22:05:07 200+known mime type + type mismatch with allowed type 22:05:09 200+known mime type + valid type 22:05:11 recursively validate (reference may entail non-core shape) 22:05:13 depth is (probably) parameteric 22:05:15 RESTful -- test for conformance statement at /metadata 22:05:17 ]] 22:05:44 harold: notion of a conformance statement would be interesting to pursue in shex. 22:06:10 s/min:/ min: 22:06:20 s/parse:/ parse:/ 22:06:34 s/GET:/ GET:/ 22:07:03 ADJOURNED 23:49:51 Zakim has left #hcls