W3C

- DRAFT -

Semantic Web Health Care and Life Sciences Interest Group Teleconference

05 Jan 2016

See also: IRC log

Attendees

Present
David_Booth, EricP, Tony_Mallia, Rob_Hausam, Brian_Pech, Geoffry_Roberts, Lloyd_McKenzie
Regrets
Chair
David Booth
Scribe
dbooth

Contents


Orlando Planning

dbooth: Should do a review of where we are

Side-by-side document

http://wiki.hl7.org/index.php?title=File:FHIR_RDF_Sample_side_by_side_comparisons.pdf

Geoffry: Working with NIST. Looking into RDF use cases. Want to know more.

tony: Missing things: Slicing, Invariants, Extension Definition, Extensions to Structural Definition, Structural Definition Mapping.
... Section 1.3, looking at Structural Definition Mapping.
... Section 6 was renamed to be more general, covering all kinds of bundling.
... line 17 and continuing

lloyd, sec 1.3.2, we don't care about DataElement at all. We want Structure Definition -- not DataElement.

scribe: All the datatype definitions are in a single bundle.

<scribe> ACTION: Tony to add breadcrumb links to his document that show where examples came from [recorded in http://www.w3.org/2016/01/05-hcls-minutes.html#action01]

<trackbot> Error finding 'Tony'. You can review and register nicknames at <http://www.w3.org/2014/HCLS/track/users>.

tony: line 150, Reference.display becomes a property in OWL -- not a class.
... The cardinalities in RDF will be on the enclosing class
... line 185 fhir:Reference class and its cardinalities

lloyd: May want to talk about cardinality sometime
... Cardinality of the root element sets the max occurs for everywhere that element is ever used.
... Probably cannot deal with that in RDF world.
... But within a context we can constrain the cardinality

http://hl7.org/fhir/profiles-types.xml

eric: In XML, everything is in a context. Max cardinality on an element.

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.
... If you specify a min less than the one in the structure def, then you are non-conformant.
... It places constraints on use. We also have other similar constraints.
... "By the way, you are only allowed to use this particular extension inside these elements"
... Not sure how we'll do this in RDF world.
... 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.
... The only places you should see cardinality other than 0..* is where we're defining extensions.
... For resources or datatypes we shouldn't be setting them to anythign other than 0..*
... But for extensions there may be strict constraints. We often set upper cardinalities; not often lower.

eric: We could pick an extension like SystemID and say there must not be more than one.
... And a profile with more than one should cause the static analysis to whine.

tony: line 169 is saying that Reference.display as a max cardinality of 1.

llloyd: Root element of Reference.display would be Reference.
... It's the first element that appears in the snapshot.

Orlando prep

Rob: I will bring my teleconference equipment

dbooth: Wed Q1 - 9-10:30am

Back to Side-by-side document

http://wiki.hl7.org/index.php?title=File:FHIR_RDF_Sample_side_by_side_comparisons.pdf

tony: Need to know whether something is a property or a class.

lloyd: Every element will be a class. Every element with a preceding element will be a property.
... But it will get messy when we get into profiling.
... if we;'re just defining a resource or datatype, we dont' step inside it.
... 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.
... 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.

tony: Where is structure definition kind?

lloyd: Every one should have it declared.

tony: Lipid profile didn't have it. But I probably didn't update my XML. Need to download new changes.

lloyd: You'll want to look at the various kinds of structure defs.

tony: this will affect the other sections considerably.
... But this is all in the schema transformation -- not instance.

lloyd: structure def has two pieces: snapshot and differential. We'll generally ignore the differential.
... In profiling, we might only pay attention to differentials.

tony: We'll probably map this to subclassing.

lloyd: Subclass will end up getting inferred. Want to say profile B is an A where the following holds.
... 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.
... 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.
... It's a serialization approach, but from a logical perspective they are hierarchical.

Slicing

http://hl7.org/fhir/profiling.html

lloyd: search for slicing on that page
... 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.
... For that kind of slicing, you say 'here's the element, and my discriminator will be ...'
... And the discriminator should the set of elements that have distinct values.
... For extensions we're always slicing using URLs.
... For Observation component, we'd probably want to slice based on the child.
... We don't have to declare a discriminator. Sometimes difficult to say what are the boundaries.
... E.g., two different components: one will have observations of this kind, and the other have this kind, but I cannot enumerate them all.

eric: In theory there could be an included middle, right? An element that matches both? non disjoint
... When you have a discriminator they should be disjoint
... But when you don't, you cannot verify.
... Is slicing associated with the container or the shapes that you are dredging out of that container?

lloyd: When you slice you declare the discriminator, and then you use it.
... You could slice within a slice, but developers would hate you.
... Each slice has a name, so they'll end up as named classes.
... 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.
... The RDF will have to reflect whether order is required, etc. Then each slice will become a class.

tony: we have a slicing declaration in the XML. We'll need to translate it into something understandable in RDF.

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.
... "If it's an integer, here are constraints that apply. If it's a string, here are constraints..."
... 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.
... When there's a union of types, you can have distinct profiles on each of the types.

eric: The slicing stuff is a big source of conflict in the Shapes working group.

lloyd: It's pretty fundamental to what we're doing.

Next week

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.

<scribe> ACTION: Eric to set up separate webex for Wed Jan 13 9-10:30am [recorded in http://www.w3.org/2016/01/05-hcls-minutes.html#action02]

<trackbot> Created ACTION-41 - Set up separate webex for wed jan 13 9-10:30am [on Eric Prud'hommeaux - due 2016-01-12].

Summary of Action Items

[NEW] ACTION: Eric to set up separate webex for Wed Jan 13 9-10:30am [recorded in http://www.w3.org/2016/01/05-hcls-minutes.html#action02]
[NEW] ACTION: Tony to add breadcrumb links to his document that show where examples came from [recorded in http://www.w3.org/2016/01/05-hcls-minutes.html#action01]
 

Summary of Resolutions

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.144 (CVS log)
$Date: 2016/01/05 17:11:04 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.144  of Date: 2015/11/17 08:39:34  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

No ScribeNick specified.  Guessing ScribeNick: dbooth
Inferring Scribes: dbooth
Present: David_Booth EricP Tony_Mallia Rob_Hausam Brian_Pech Geoffry_Roberts Lloyd_McKenzie
Found Date: 05 Jan 2016
Guessing minutes URL: http://www.w3.org/2016/01/05-hcls-minutes.html
People with action items: eric tony

[End of scribe.perl diagnostic output]