16:04:00 RRSAgent has joined #hcls 16:04:00 logging to http://www.w3.org/2016/01/05-hcls-irc 16:04:02 RRSAgent, make logs world 16:04:02 Zakim has joined #hcls 16:04:04 Zakim, this will be HCLS 16:04:04 I do not see a conference matching that name scheduled within the next hour, trackbot 16:04:05 Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference 16:04:05 Date: 05 January 2016 16:05:26 Topic: Orlando Planning 16:08:44 dbooth: Should do a review of where we are 16:09:22 Topic: Side-by-side document 16:09:45 http://wiki.hl7.org/index.php?title=File:FHIR_RDF_Sample_side_by_side_comparisons.pdf 16:10:27 Geoffry: Working with NIST. Looking into RDF use cases. Want to know more. 16:12:05 tony: Missing things: Slicing, Invariants, Extension Definition, Extensions to Structural Definition, Structural Definition Mapping. 16:12:57 tony: Section 1.3, looking at Structural Definition Mapping. 16:16:54 tony: Section 6 was renamed to be more general, covering all kinds of bundling. 16:17:42 tony: line 17 and continuing 16:20:36 lloyd, sec 1.3.2, we don't care about DataElement at all. We want Structure Definition -- not DataElement. 16:20:58 ... All the datatype definitions are in a single bundle. 16:22:17 ACTION: Tony to add breadcrumb links to his document that show where examples came from 16:22:17 Error finding 'Tony'. You can review and register nicknames at . 16:23:27 tony: line 150, Reference.display becomes a property in OWL -- not a class. 16:23:54 ... The cardinalities in RDF will be on the enclosing class 16:24:19 ... line 185 fhir:Reference class and its cardinalities 16:25:00 lloyd: May want to talk about cardinality sometime 16:25:29 ... Cardinality of the root element sets the max occurs for everywhere that element is ever used. 16:25:38 ... Probably cannot deal with that in RDF world. 16:25:54 ... But within a context we can constrain the cardinality 16:26:13 http://hl7.org/fhir/profiles-types.xml 16:27:05 eric: In XML, everything is in a context. Max cardinality on an element. 16:27:53 lloyd: Structure def in FHIR defines a complex type. There's a row for the property, and a row for the complext type itself also has a cardinality. It gives an upper/lower bound on the cardinaliities. 16:28:18 ... If you specify a min less than the one in the structure def, then you are non-conformant. 16:28:36 ... It places constraints on use. We also have other similar constraints. 16:28:58 ... "By the way, you are only allowed to use this particular extension inside these elements" 16:29:26 ... Not sure how we'll do this in RDF world. 16:29:52 ... For cardinality assertion, we'd make an assertion that says if you have an element of type X, then max cardinality on that is Y. 16:30:30 ... The only places you should see cardinality other than 0..* is where we're defining extensions. 16:30:47 ... For resources or datatypes we shouldn't be setting them to anythign other than 0..* 16:31:24 ... But for extensions there may be strict constraints. We often set upper cardinalities; not often lower. 16:32:04 eric: We could pick an extension like SystemID and say there must not be more than one. 16:32:19 ... And a profile with more than one should cause the static analysis to whine. 16:32:47 tony: line 169 is saying that Reference.display as a max cardinality of 1. 16:33:12 llloyd: Root element of Reference.display would be Reference. 16:33:30 ... It's the first element that appears in the snapshot. 16:34:46 Topic: Orlando prep 16:35:16 Rob: I will bring my teleconference equipment 16:35:47 dbooth: Wed Q1 - 9-10:30am 16:36:07 Topic: Back to Side-by-side document 16:36:23 http://wiki.hl7.org/index.php?title=File:FHIR_RDF_Sample_side_by_side_comparisons.pdf 16:36:35 tony: Need to know whether something is a property or a class. 16:36:51 lloyd: Every element will be a class. Every element with a preceding element will be a property. 16:37:00 ... But it will get messy when we get into profiling. 16:37:18 ... if we;'re just defining a resource or datatype, we dont' step inside it. 16:37:48 ... We don't say what is inside it. But when we're profiling, we may well step inside those things -- defining constraints on existing types and properties. 16:39:08 ... So the way you handle structure kind will change depending on ... when you turn a structure defin into RDF, you'll look at its kind, and handle it differently if it is a datatype, extension def or profile. 16:39:34 tony: Where is structure definition kind? 16:39:45 lloyd: Every one should have it declared. 16:40:39 tony: Lipid profile didn't have it. But I probably didn't update my XML. Need to download new changes. 16:41:19 lloyd: You'll want to look at the various kinds of structure defs. 16:41:29 tony: this will affect the other sections considerably. 16:41:49 ... But this is all in the schema transformation -- not instance. 16:42:55 lloyd: structure def has two pieces: snapshot and differential. We'll generally ignore the differential. 16:43:17 ... In profiling, we might only pay attention to differentials. 16:43:24 tony: We'll probably map this to subclassing. 16:44:02 lloyd: Subclass will end up getting inferred. Want to say profile B is an A where the following holds. 16:46:02 ... When we're processing a datatype or a resource, we'll look at the snapshot. When we're processing an extension def or a profile, we'll look at the differential. 16:47:17 ... And both snapshot and differential contain a flat list of elements, representing the hierarchy of properties and complex types, and it's derived or inferred from the element path. 16:48:03 ... It's a serialization approach, but from a logical perspective they are hierarchical. 16:49:55 rhausam has joined #HCLS 16:51:12 Topic: Slicing 16:51:57 http://hl7.org/fhir/profiling.html 16:52:25 lloyd: search for slicing on that page 16:53:06 ... There are two types. The most common type is slicing an element that is allowed to repeat. E.g., an observation has components, and one looks one way and another looks another way. 16:53:34 ... For that kind of slicing, you say 'here's the element, and my discriminator will be ...' 16:53:56 ... And the discriminator should the set of elements that have distinct values. 16:54:09 ... For extensions we're always slicing using URLs. 16:54:32 ... For Observation component, we'd probably want to slice based on the child. 16:54:55 ... We don't have to declare a discriminator. Sometimes difficult to say what are the boundaries. 16:55:27 ... E.g., two different components: one will have observations of this kind, and the other have this kind, but I cannot enumerate them all. 16:55:58 eric: In theory there could be an included middle, right? An element that matches both? non disjoint 16:56:09 ... When you have a discriminator they should be disjoint 16:56:20 ... But when you don't, you cannot verify. 16:56:51 eric: Is slicing associated with the container or the shapes that you are dredging out of that container? 16:57:09 lloyd: When you slice you declare the discriminator, and then you use it. 16:58:09 ... You could slice within a slice, but developers would hate you. 16:58:27 ... Each slice has a name, so they'll end up as named classes. 16:59:24 ... The fact that slicing is happening, when you declare it you indicate your discriminator, and say whether they're ordered, and whether the slicing is open or not. 17:00:10 ... The RDF will have to reflect whether order is required, etc. Then each slice will become a class. 17:01:00 tony: we have a slicing declaration in the XML. We'll need to translate it into something understandable in RDF. 17:01:44 lloyd: Second type of slicing occurs when you have an element that has a choice of types. The base set of types is a union. 17:02:14 ... "If it's an integer, here are constraints that apply. If it's a string, here are constraints..." 17:02:46 ... in theory you can even do that kind of slicing on an element with a single type, but we haven't implemented that kind. It just makes life hard for implementers. 17:03:19 ... When there's a union of types, you can have distinct profiles on each of the types. 17:03:50 eric: The slicing stuff is a big source of conflict in the Shapes working group. 17:04:01 lloyd: It's pretty fundamental to what we're doing. 17:06:41 Topic: Next week 17:09:02 dbooth: No teleconference Tue next week (orlando meeting), but we'll have one Wed Jan 13 9-10:30am live from Orlando, courtesy of Rob Hausam. 17:09:42 ACTION: Eric to set up separate webex for Wed Jan 13 9-10:30am 17:09:42 Created ACTION-41 - Set up separate webex for wed jan 13 9-10:30am [on Eric Prud'hommeaux - due 2016-01-12]. 17:09:50 Chair: David Booth 17:10:53 Present: David Booth, EricP, Tony Mallia, Rob Hausam, Brian Pech, Geoffry Roberts, Lloyd McKenzie 17:10:59 rrsagent, draft minutes 17:10:59 I have made the request to generate http://www.w3.org/2016/01/05-hcls-minutes.html dbooth