W3C

- DRAFT -

Semantic Web Health Care and Life Sciences Interest Group Teleconference

24 Nov 2015

See also: IRC log

Attendees

Present
David_Booth, EricP, Harold_Solbrig, Chris_Stoeckert, Davide_Sottara, Jhon_(webex_only), Lloyd_McKenzie, Thomas_Lukasik, Zoran
Regrets
Chair
David Booth
Scribe
dbooth

Contents


FHIR RDF side-by-side

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

tony: this doc has not yet been updated since the ValueSet discussions
... Looking at line 29, fhir:id

https://hl7-fhir.github.io/datatypes.html#id

dbooth: shouldn't that be 64 instead of 36?

tony: section 1.2 Decimal, line 48

dbooth: How did we end up representing significant digits?

tony: fhir:fractionalDigits

rob: line3 53 and 58 say "fractional" -- need to fix

sec 1.3 CodeableConcept , line 72

tony: ConceptBase, CodingBase, Coding
... CodeableConcept is a subclass of ConceptBase, and Coding is also
... In FHIR, everything is declared as a ConceptBase (CodeableConcept, Coding, code)
... There's always a ConceptBase, and inside there can be one or more CodingBase, and inside that you have a CodeBase
... ConceptBase (line 121) has CondingBases inside.

dbooth: things called "...code" or "...coding" should be disjoint from things called "...concept" or "...conceptBase".

tony: fhir:code is a subclass of fhir:ConceptBase

rob: line 226, should CodingBase.system be there?

dbooth: If it is always knowable when translating from FHIR XML to FHIR RDF, then it can be there.
... If the system is defined in one of the FHIR standard, then it is knowable during translation and can be required here.

tony: it is part of the FHIR standard.
... but it is not in the FHIR payload -- it is in the element definition.

rob: If you are converting FHIR XML to FHIR RDF without using the element definition information, then you won't know what system to put in there.

dbooth: Element definition information could be supplied elsewhere in the FHIR ontology

<scribe> ACTION: Tony to to change line 227 to maxCardinality 1 [recorded in http://www.w3.org/2015/11/24-hcls-minutes.html#action01]

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

<trackbot> Meeting: Semantic Web Health Care and Life Sciences Interest Group Teleconference

<trackbot> Date: 24 November 2015

FHIR RDF

Tony's side-by-side document: http://wiki.hl7.org/index.php?title=File:FHIR_RDF_Sample_side_by_side_comparisons.pdf

Harold Solbrig's review of the FHIR ontology

Harold's slides: https://lists.w3.org/Archives/Public/www-archive/2015Nov/att-0016/FHIR_OWL.pdf

tony: definitions are from what FHIR declares

harold: Could strengthen this by declaring boolean to be "value *only* string"

lloyd: Could declared root datatypes to be disjoint.
... The only thing that is hard is dealing with an empty value. We can only handle that if the instances declare maxOccurs 0 for everything that is not in the instance. If I'm sending an Observation and it doesn't have a normal range, I would send as part of my instance, an assertion that maxOccurs of normal range is 0.
... We would have to know what all the elements for this occurrence can be. But I would not recommend that as the standard serialization syntax.

harold: extra properties are not preventable with OWL

dbooth: A few weeks ago we discussed how to handle when a ValueSet is specified, but the code that is provided is not a member of that VS. Should the reasoner barf or should it let it through at that point, and then require you to use a separate validation mechanism if you wish to catch the error? We decided on the latter.

harold's slide 11

tony: I've assumed that we don't want to have to declare all the types in the payload.

harold: PeterPatient is inferred to be a codeBase, because codeBase is not disjoint with Patient.

tony: on slide 11, the domain of CodingBase.code should cause _:cb2 to be inferred to be a CodingBase

lloyd: Definitely want the reasoner to barf if disjoint class is violated.

dbooth: But it isn't a question of whether to allow it or not, it is a question of *how* we want to people to be able to detect it. The problem with enforcing it in the base FHIR ont is that it the reasoner does not allow any further processing once there is any contradiction.

davide: Concerned that not everything can be validated with OWL.

dbooth: I'm convinced that it is very useful to separate the ontology that indicates the semantics, from a validation ontology.

davide: Avoid having the ont making unwanted inferences, because most of what we are looking for, such as not having extra properties, require closed world rules.

harold on slide 12

harold: CodingBase.system Amoxicillin will cause the reasoner to infer that Amoxicillin is a URI!

tony: Needs more disjoint declarations.

davide: four levels: 1. specifying RDF representation. 2. Ontology of FHIR resources, e.g., Patient resources disjoint from Observation resources. 3. Validation of instance data. OWL DL reasoning starts to fail a little. ShEx or other things may help more. 4. Binding to the terminologies and the meaning behind resources.
... How far do we want to go with this ont exercise, given the initial scope is level 1, but we're going as far as level 4?

<hsolbrig> I liked ladders...

<hsolbrig> Apologies, I need to leave. (Just realized that I am the organizer... I probably can't leave!)

dbooth: In terms of our deliverables, we need to define FHIR RDF, and we need to define at least a minimal ontology that describes the structure and meaning of that RDF. Anything beyond that is subject to discussion.

davide: We may not want to try to put too much validation into the FHIR ontology.
... classification is needed

dbooth: agreed
... Maybe one litmus test for whether to include certain OWL assertions in our FHIR ontology would be whether it is required for classification versus whether it only adds validation.

tony: Sounds good.

chris: I like that.

lloyd: agreed
... "foo" cannot be a boolean.

eric: imagine we're using the OWL ontology *after* doing all the validation. In that case, how should we optimize for speed, efficiency, etc.?

lloyd: that's a separate notion. I don't care if the initial ont runs like a pig.
... But the main FHIR ont should make clear what FHIR means in RDF terms. Should not make the assumption that all data has been validated.

davide: Agree with lloyd. I would not want the ont to allow unwanted inferences, such as asserting an unintended type of an individual, due to the way the ont was written, rather than the data.
... Concerned that recognizing a resource is different than recognizing the thing that the resource describes.
... The doc describes how to use resources to capture meaning. And the FHIR ont says how to represent it in RDF. The ont of the resources is not the same as the ont that describes the Patients.
... It describes who, what, where. The axioms that are needed for the resource ont are different from axioms that are needed for clinical info.
... If we have an individual that is a fhir:SubstanceAdministration, it cannot be a fhir:Immunization.

lloyd: From a record perspective, it cannot be both. But from a real world event perspective, it could be both.

davide: if we go to semantic validation, it takes us into the realm of real world things.

dbooth: I think Eric's scenario is a very good way of distinguishing what parts of the ont are specifically for semantics, versus what is for validation.

lloyd: I'm okay with an ontology that does not have cardinality constraints, but i want it in the base ontology.

dbooth: I don't think we *need* them in the base ontology. I think we can choose whether to include them.

<ChrisS> sorry to leave

<ChrisS> need to leave

davide: What is the purpose of including validation constraints in the FHIR ont?

lloyd: Documentation purposes, like for the XML schema.
... We do not assume that people will use the XML schema in their production systems, though some will.

<scribe> Chair: David Booth

davide: For a structure definition, OWL is not best. People may not find all the info they need in OWL. Then what is the value of the main FHIR ont if it doesn't fully document the FHIR RDF structure that is required?

lloyd: If you have an Observation with 3 codes, that is not a legal Observation.

davide: But if you do that in OWL, it requires a lot of disjoint statements, etc.

lloyd: To me, the objective of the base ont is document and validation, even if it cannot enforce everything.

davide: But that isn't what OWL does very well.

tony: Want something like ShEx to do enforcement.

davide: Need more than RDFS to describe what the RDF should look like. But what else in OWL do we need to indicate the meaning?

tony: We mainly use NamedIndividuals and restrictions.
... Main use is classification --- not validation or documentation.

dbooth: Agree with tony: classification.

lloyd: That would be a production ontology -- not a balloted ont.

http://wiki.hl7.org/index.php?title=FHIR_Ontology_Requirements#6._Enforce_Constraints

dbooth: Our requirements agree with Lloyd about validation.

tony: I look at the purpose of RDF is to be able to form complete RDF graphs with not only a patient but a population, linked together.

davide: what is the purpose of our FHIR ont? 1. document RDF representation 2. document the FHIR spec 3. classification 4. validation: is this graph consistent (structurally and/or semantically)?

rssagent, draft minutes

Summary of Action Items

[NEW] ACTION: Tony to to change line 227 to maxCardinality 1 [recorded in http://www.w3.org/2015/11/24-hcls-minutes.html#action01]
 

Summary of Resolutions

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.144 (CVS log)
$Date: 2015/11/24 23:43:12 $

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)

Succeeded: s/ladders/levels/
Succeeded: s/even/event/
No ScribeNick specified.  Guessing ScribeNick: dbooth
Inferring Scribes: dbooth

WARNING: Replacing previous Present list. (Old list: David_Booth, Eric_P, Tony_Mallia, Rob_Hausam, Harold_Solbrig)
Use 'Present+ ... ' if you meant to add people without replacing the list,
such as: <dbooth> Present+ David_Booth, EricP, Harold_Solbrig, Chris_Stoeckert, Davide_Sottara, Jhon_(webex_only), Lloyd_McKenzie, Thomas_Lukasik, Zoran

Present: David_Booth EricP Harold_Solbrig Chris_Stoeckert Davide_Sottara Jhon_(webex_only) Lloyd_McKenzie Thomas_Lukasik Zoran
Found Date: 24 Nov 2015
Guessing minutes URL: http://www.w3.org/2015/11/24-hcls-minutes.html
People with action items: tony

[End of scribe.perl diagnostic output]