16:01:49 RRSAgent has joined #hcls 16:01:49 logging to http://www.w3.org/2015/12/15-hcls-irc 16:01:51 RRSAgent, make logs world 16:01:51 Zakim has joined #hcls 16:01:53 Zakim, this will be HCLS 16:01:53 I do not see a conference matching that name scheduled within the next hour, trackbot 16:01:54 Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference 16:01:54 Date: 15 December 2015 16:02:03 Chair: David Booth 16:05:41 Topic: Continuing on Side-by-Side Document 16:06:07 http://wiki.hl7.org/index.php?title=File:FHIR_RDF_Sample_side_by_side_comparisons.pdf 16:07:40 rhausam has joined #HCLS 16:08:06 tony: Start on section 2 16:08:32 ... line 66 16:09:48 ... line 70: GET [base]/[type]/[id] {?_format=[mime-type]} 16:10:20 ... line 76 root element will be the type. 16:10:27 lloyd: In JSON it will be a property. 16:12:46 lloyd: Three kinds of identity going on here. Resource identity: base + type + ID. That is independent of the format exposed. 16:13:05 ... There is also the identity of a particular version: base + type + ID + version. 16:13:56 ... Then if you care about the exact wire type then things fall out the bottom, because we have the MIME type, whether summaries are included, etc. There is no stable URI for a specific wire response type. 16:15:18 dbooth: I think it's okay that we don't have a stable URI for the exact wire response type. 16:17:00 lloyd: The current version is whatever the server gives you if you do not ask for a specific version. 16:21:25 lloyd: How to specify the media type for RDF that is FHIR? 16:22:59 ACTION: DBooth to ask EricP about media types for RDF that is FHIR 16:22:59 Created ACTION-40 - Ask ericp about media types for rdf that is fhir [on David Booth - due 2015-12-22]. 16:24:51 text/fhir-on-fire 16:26:32 lloyd: For JSON it is application/json+fhir 16:27:15 why application? 16:27:35 tony: section 2.2 is minimal file that would be transmitted 16:28:37 note that turtle is text/turtle (i argued strenuously for that) 16:29:45 tony: line 108: rdf:type owl:Ontology ; owl:imports . 16:31:52 ... protege needs both the owl:Ontology and the owl:imports statements. 16:32:52 ... Protege will not be able to distinguish annotation from object properties without the owl:import. 16:35:03 ... And if you take out owl:Ontology then when some other file tries to import this ontology it will not find it unless it is identified as an owl:Ontology. 16:45:12 rhausam has joined #HCLS 16:48:00 dbooth: I think that tony's concern is that if the FHIR document does not contain line 108 (owl:Ontology and owl:imports) then protege will not understand which properties are object properties and which are annotation properties. 16:48:12 ericp: We normally factor out the schema from the data. 16:50:27 tony: You cannot even load it into protege without line 108. 16:52:01 dbooth: I think you can, but you may need to explicitly provide the separate ontology 16:52:50 eric: I think that works 16:53:16 ... And when they use OWL APIs they often load several separate files. 16:55:54 http://www.w3.org/2013/12/FDA-TA/tests/RenalTransplantation/ 17:00:14 eric: The above URL has an example subjects.ttl that imports both ABox and TBox statement -- both subject-amy.ttl and bridg-classes , for example 17:03:11 dbooth: Actually, study1.ttl is an example of ABox data that does not have either owl:Imports or owl:Ontology statements. 17:04:53 ACTION: Tony to try Eric's example of using abox data without owl:imports or owl:ontology statements inside it 17:04:53 Error finding 'Tony'. You can review and register nicknames at . 17:06:21 tony: line 110 has the type of this resource instance. 17:06:45 ... rdf:type 17:07:13 ... Protege will infer its type if it is not declared, but for profiles we will want it. 17:08:22 dbooth: I definitely think we should include the top level element. 17:08:56 ... as fhir:AllergyIntolerance 17:10:47 ... And if it conforms to one or more profiles, then it should also be declared as those types. 17:12:44 ... One reason is that anybody can define a new kind of profile, which we might know nothingn about, but we would still want to know that the document is a fhir:AllergyIntolerance document. 17:16:39 Present: David Booth, EricP, Rob Hausam, Tony Mallia, Lloyd McKenzie, Darrell Woelk (webex only?), Bill Kleinebecker (webex only?) 17:21:26 rrsagent, draft minutes 17:21:26 I have made the request to generate http://www.w3.org/2015/12/15-hcls-minutes.html dbooth 19:25:03 Zakim has left #hcls 22:02:41 ChrisS has joined #hcls 22:03:38 dbooth has joined #hcls 22:04:28 Topic: Continuing on Side-by-Side Document 22:04:30 http://wiki.hl7.org/index.php?title=File:FHIR_RDF_Sample_side_by_side_comparisons.pdf 22:05:18 Chair: David Booth 22:06:25 s/Continuing on Side-by-Side Document/RDF Identities/ 22:07:51 tony: line 138 shows a type, but it can be inferred: rdf:type , 22:07:51 owl:NamedIndividual ; 22:08:16 tony: but the type can be declared inside the profile. 22:09:05 ... David suggested that both the basic element type and any profile type be declared. 22:10:07 lloyd: Agreed. You can never guarantee that the recipient will have a clue what the profile means. 22:10:54 tony: if you import the profile ontology also, then it pulls in more restrictions. 22:11:38 dbooth: The base type fhir:AllergyIntolerance is needed to make the message be self-describing. 22:13:06 ... You could potentially infer it, from a fhir:AllergyIntolerance.status predicate, for example, but is cleaner to have it at the top. 22:13:45 Topic: Bundles 22:14:13 tony: line 1930 22:15:04 lloyd: why call out Bundle specifically? 22:15:51 ... Should instead have in-line versus referenced content. 22:16:34 ... Parameters are how you give arguments to an operation, and get results back. Kind of like Bundle, but every entry has a name, and entries can be full blown resources. 22:17:36 lloyd: Full URL might be different for Bundle, because that's outside of the resource. 22:17:50 ... Different from Bundle than Contained. 22:18:29 ... Full URL is in the HTTP header 22:19:33 tony: A Bundle can be segmented, and the first segment can point to the next segment. 22:19:48 lloyd: That's the most common use for link. There can also be a self link. 22:19:59 ... But we don't constrain that, so there can be links for other purposes. 22:20:23 eric: You have a controlled vocabulary for the relations? 22:20:41 lloyd: We don't define them. We point to the W3C/IANA definitions. 22:21:38 tony: line 1953-1975 22:22:16 ... One resource defined for each entry -- root on 1956, with full URL on 1955. 22:23:01 tony: Does the bundle have identity? 22:23:09 lloyd: Yes, bundle is a resource. 22:23:20 ... But it does not get narrative or contained. 22:24:09 tony: sec 6.2 is first cut at looking at the bundle. 22:25:44 ... line 1986 has the resource URI, and that resource starts on line 1997. 22:26:12 q+ to ask about round tripping 22:28:49 dbooth: How will we know which RDF triples to serialize back to XML for the bundled resource? 22:31:20 ChrisS has left #hcls 22:33:22 ACTION: Tony to add the XML instance data corresponding to section 6.2 RDF. 22:33:22 Error finding 'Tony'. You can review and register nicknames at . 22:38:25 lloyd: Need section on references, two types. 22:38:51 ... And how direct refererences work. Then everything else in Bundle is the same as handling resource. 22:39:50 tony: line 2011, does a Bundle always have an ID? 22:40:17 lloyd: Every resource may or maynot have an ID, depending on circumstances. It won't for a new resource being created. 22:41:40 eric: When it is not anonymous, we still have an open issue ... when we have IDs in FHIR land, and node labels in RDF land, we do not seem to be able to take a FHIR resource ID and turn it into an RDF node URI. 22:43:08 dbooth: can we always take the base URI + type + ID to form a valid URI? 22:43:38 lloyd: There are some that only live inside bundles -- urn:uuid:someGUID 22:44:04 ... We do that when you want to pass something around inside the doc, which is not used outside the bundle. 22:44:18 ... it will be referenced inside the bundle. 22:44:39 ... And it should be stable across messages, e.g., a patient URI. 22:45:05 lloyd: Two formats for URI in FHIR: BaseURL/ResourceType/ID 22:45:30 ... You can GET on that resulting URL and get the resource. 22:46:53 ... The other type of FHIR URI is no-resolvable. It's a URN, and used exclusively inside of bundles, where you use a UUID (or maybe an OID?). It is a unique ID for that instance, which SHOULD remain consistent across other bundles, but you cannot GET from it. 22:47:02 ... Because it's a URN. 22:48:58 lloyd: Line 1955 must be a full URL if you give one. and go together -- you either have both or none. 22:49:52 tony: Therefore 1986 will never be a blank node. 22:49:55 lloyd: Right. 22:50:27 Topic: Profile 22:52:47 tony: In this example, the profile changes the valueset 22:52:56 dbooth: restricts it, right? 22:53:50 tony: It could be changing it if the base was only an example. 22:54:18 ... Binding strength called "example". 22:56:02 lloyd: There are multiple datatypes. If it is code, then it will never be "example", it will always be "required". 22:56:15 ... Possibilities: Example, Required, Preferred, Extensible. 22:56:51 ... If it's a Coding, you can only send one coded concept. In that case if there is an Example, then a downstream profile can require a different set of codes. 22:57:33 ... But with CodeableConcept, you can sent multiple codings, so you could sent a coding from multiple fixed codings. 22:58:11 ... Examples are there as a hint. The only bindings that should show up should be Fixed or Extensible. 22:58:53 tony: Recommend that when we do that in RDF, then Recommended and Example should be annotation properties. 22:59:21 ... But Required is an object property. 23:00:41 lloyd: Extensible means that you either have to have one of the codes in the VS, or the concept of the code that you choose must be disjoint with the concepts represeentable by the codes in the VS. 23:01:09 rob: Not sure we have clear consensus on that. 23:01:46 lloyd: That becomes difficult when dealing with extensible VSs. 23:02:14 ... Grahame and I argue about it. 23:02:41 rob: Not sure how enforceable that will be. 23:04:14 lloyd: Is Navy a kind of Blue? Probably. But what about AquaMarine? THere are gray areas. 23:04:32 dbooth: That's a pretty sophisticated semantics. 23:07:32 Topic: What else? 23:08:30 lloyd: Have we discussed invariants? Co-occurrence constraints, upper bounds on cardinalities, constraints on substring values. Currently expressed in xpath2, but evaluating a custom language. 23:08:52 ... Should look at that language to determine how easy it would be to express it in OWL 23:08:59 ... Called FHIRPath 23:09:30 Grahame's mention of it on his blog: http://www.healthintersections.com.au/ 23:09:55 lloyd: Also need to address slicing. 23:10:54 http://www.healthintersections.com.au/?p=2400 23:11:54 lloyd: Slicing includes what you are slicing on. Slices can be partial and can be ordered. More than just subclassing. 23:13:46 Topic: Media Types 23:14:14 lloyd: May want to support more than just Turtle. 23:14:55 eric: We're safe saying "Thou shalt support Turtle", but very few are limited to RDF/XML, and they can always use a filter. 23:15:40 dbooth: Should also support a syntax that supports RDF Datasets. 23:16:44 ... Maybe. Or maybe not needed? 23:16:58 lloyd: You can use bundles for that. 23:17:04 dbooth: Sounds reasonable. 23:18:39 lloyd: Also need to discuss extensions. 23:19:32 ... There are a bunch of different kinds of structure definitions. 23:20:06 ... Also need to discuss mapping the notion of search criteria and mechanisms to the RDF space. More implementation guidance. 23:23:00 eric: Harold and I have been representing the structure definitions in ShEx. 23:23:32 ... There's still an interesting question, if we write things in OWL and ShEx, should we generate both OWL and ShEx? 23:24:12 lloyd: I'd like to OWL that does as much as possible. Much broader audience for OWL than ShEx (at this point). 23:24:18 eric: hoping to change that :) 23:25:59 Topic: Change 5pm ET meeting time? 23:26:52 lloyd: Check with grahame again first. 23:26:55 dbooth: Will do. 23:27:52 rrsagent, draft minutes 23:27:52 I have made the request to generate http://www.w3.org/2015/12/15-hcls-minutes.html dbooth 23:28:07 ADJOURNED 23:28:09 ADJOURNED 23:28:15 rrsagent, draft minutes 23:28:15 I have made the request to generate http://www.w3.org/2015/12/15-hcls-minutes.html dbooth 23:32:27 dbooth has joined #hcls 23:35:29 i/Zakim has left/ADJOURNED 23:35:38 rrsagent, draft minutes 23:35:38 I have made the request to generate http://www.w3.org/2015/12/15-hcls-minutes.html dbooth