Semantic Web Health Care and Life Sciences Interest Group Teleconference

09 Jun 2015

See also: IRC log


David_Booth, Lloyd_McKenzie, Tony_Mallia, Paul_Knapp, Rob_Hausam, Brian_Pech, Darrell, EricP
David Booth and Paul Knapp
bpech, dbooth


<trackbot> Date: 09 June 2015

<inserted> Scribe: bpech

Approve Minutes of previous meeting

<dbooth> http://wiki.hl7.org/index.php?title=ITS_RDF_Concall_Minutes_20150602

paul knapp: jumps in for approval of minutes

dbooth makes motion, tony seconds to approve minutes

<dbooth> APPROVED: Minutes of June 2

minutes approved

FHIR element ordering

dbooth: question about element ordering, choices ordered llist ontology or native rdf

<dbooth> Here is OLO: http://smiy.sourceforge.net/olo/spec/orderedlistontology.html

tony: if worried only about content of sequence but not the sequence itself, why not use a data type?

dbooth: ordering important in some cases

tony: in xml, just says sequence in this order not why

lloyd: meaningful order would be found in the resource

<dbooth> or native rdf:List : http://www.w3.org/TR/rdf-schema/#ch_list

<dbooth> See comparisons here: http://goo.gl/8PNuAG

dbooth: there are some patterns or data types that do allow sequencing

tony: mostly I do not want to escalate the complexity

dbooth: we could explicity number items to designate the required order
... could use rdf list

tony: take codeable concept with multiple codes within, so you have a set of assertions with multiple concepts

<dbooth> :obs1 a fhir:Observation ;

<dbooth> fhir:Observation.name ( :coding1 :coding2 :coding3 ) .

tony: we have a list of object property assertions that need to accounted for

dbooth: the thing in parantheses is an rdf list

the point is to somehow capture the ordering

dbooth: we need to come up with fhir specific examples

tony and david will work on this offline

<dbooth> ACTION: Tony and David to create FHIR list examples [recorded in http://www.w3.org/2015/06/09-hcls-minutes.html#action01]

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

continue with side by side examples

Side-by-side example

<dbooth> http://wiki.hl7.org/images/2/25/FHIR_RDF_Sample_side_by_side_comparisons.pdf

<dbooth> Tony: This version uses the blank node approach we decided upon

tony: this includes the decision to include blank node

blank nodes

<dbooth> line 380

<dbooth> line 406: <status value="confirmed"/>

<dbooth> lloyd, why line 413 is type confirmed and not a codeableconcept?

<dbooth> tony: it could be

<dbooth> lloyd: binding needs to be to an enumeration of allowable values.

<dbooth> ... Because you can have terminologies with the same codes, and one includes one code and one excludes the other.

<dbooth> ... The Class represents the concept; the instance represents the code.

<dbooth> ... Valueset binds to a list of codes, not concepts.

<dbooth> ... The instance of coding (this system, version, etc) implies a class, which is the concept.

<dbooth> ... The class is the concept. You can't use the class in the valueset, because i could have three different codings with equiv classes. But from a valueset perspective you might allow one and not another.

<dbooth> ... If I say that these two snomed classes are equiv, then i cannot negate that. but i need to be able to negate that, to say that one is allowed and another not.

<dbooth> ... Valuesets would not use classes at all.

<dbooth> ... Valuesets can be defined based on concept hierarchies though.

valuesets have to be defined based on enumeration of set of codings allowed

<Zakim> dbooth, you wanted to say it sounds like a valueset would still be represented as a class -- the class whose members are the allowable codings

so on line 413 what needs to change

<inserted> Scribe: dbooth

dbooth: what needs to change on line 413? "fhir:AllergyIntolerance.status [ rdf:type <http://hl7.org/fhir/allergy-intolerance-status/confirmed>"

lloyd: Need to go back to using a CodeableConcept for all of these.
... Also need a static assertion at the resource level saying there is only one coding allowed, because it's a code rather than a CodeableConcept, and the System has a fixed value.
... No, actually system isn't fixed.
... You'd enumerable the possible (Code system + code) pairs, and assert that the code has to be one of those.
... fhir:code would be a specialization of CodeableThing.

tony: then the value rolls up to the type.
... Green on line 413 shows that it can be confirmed.
... And the class is the concatenation of the coding system and code, on line 413

dbooth: This would restrict system URIs, for example to prohibit a # in the URI (so that a hash can later be appended)

lloyd: This was discussed last week on the FHIR list.
... For most of FHIR it is irrelevant, because we never combine the system and code into a URI.
... The topic came up in having a list of codes and wanting to turn them into options, which would involve combining the system and code.
... Also discussed whether system must be a legal URI.
... we could make a recommendation to the discussion.
... One challenge is that a code may contain pretty much anything.
... We'll need to use an escaped version of the code when appending, because a code can contain spaces or other things.
... But we only have control over the URIs for the FHIR-defined systems.
... But the in the base RDF, this issue does not come up, because we only use the code.
... (It comes up only after inference)

<Zakim> dbooth, you wanted to say I think the receiving system would get only the base URI (pre-inference)

lloyd: we'll allow for both. If the inferred data is there, then it will be included.
... Systems can negotiate about whether to include it.
... It would be included in a FHIR extension.

dbooth: That would also address another issue that I had not yet brought up, which is to have a FHIR extension that enables arbitrary RDF to be carried.

lines 419-426

tony: This will now be a set of instances

lloyd: Really a set of instance constraints.
... Talking about instances from the perspective of their properties.

tony: A set of allowable combination of properties.

paul: If RDf is encoded in an extension, would that violate the idea that RDF should only hold the same info as other serializations?

lloyd: no, because the the info would still be there.


eric: Need to abandon zakim in the next couple of weeks. want to try webex tomorrow instead.
... zakim is being decommissioned because MIT does not want to pay for the lines that it was using.

<ericP> webex for tomorrow and on: https://mit.webex.com/mit/j.php?MTID=m5cd1bd8bb36825b9c4b369fd664bbb62 dial-up: +1-617-324-0000 Access code: 645 777 110 Meeting password: 4257

More on codings

lloyd: There will be a class for CodeableConcept, the valueset and for each member of the valueset, such as "confirmed"

dbooth: Is there more followup we should do for system URIs?

lloyd: For fhir-defined system URIs, we can constrain them and use hashes for a concept URI to do directly to its definition.
... But for others we have no control over the authoritative URIs that other systems will use for concepts.

dbooth: Could allow URI transformation rules or templates to be defined.
... Each system could define its URI template system.

ISSUE: Should we define URI template guidance for vocabularies (coding system + code)?

<trackbot> Created ISSUE-11 - Should we define uri template guidance for vocabularies (coding system + code)?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/11/edit>.

FHIR References

eric: Lloyd said that references are only unique within what?

lloyd: A ref can point to one of three things: 1. a contained resource (using a hashtag). Not an XML ID because the IDs are only unique within the containing resource, which might be contained within a group.

eric: E.g., an atom feed with a bunch of query results.

lloyd: yes.

eric: Would each entry have a unique identifier?

lloyd: yes, each must have a resource ID, either a full URI, or relative to a base declared on the bundle itself.
... E.g., I might have a bundle defined, and resource entries with entries of patients/5 and observations/3, which translate into full URIs.

eric: can it start with a hash?

lloyd: Only to a contained resource.
... If the ref is to contained, it must start with a hash.
... If it is to a bundle then i may be partial URI or full URL or URN.
... If it is external then it may be a partial URL or full URL, but not URN.
... To determine whether it is external you look inside the bundle. If it isn't there, then it's external.
... The tricky bit is completing the relative part.
... RDF always uses full URIs, but XML and JSON use relative URIs.
... If you don't re-relativize the URI when round tripping is done, the it will break round tripping.

dbooth: yuck

lloyd: Relative URLs are a pain, but without them you end up annoying developers with long URLs all the time.

dbooth: Possible to define a canonicalization prior to signatures, using full long URIs?

lloyd: talked about that, but hasn't received a lot of bandwidth. But you can raise this, because it would simplify the RDF.
... In DSTU2 we have base declared twice, and it's evil to do XSLT matching.
... I'm not a fan of base.
... Would need to define a canonicalization algorithm
... Might also help with element ordering, where it is not semantically significant.

dbooth: Would also be useful to explicitly mark elements where ordering is semantically significant

ISSUE: Should we ask FHIR to define canonicalization to be use prior to signatures, to make URIs absolute and put elements in predictable order?

<trackbot> Created ISSUE-12 - Should we ask fhir to define canonicalization to be use prior to signatures, to make uris absolute and put elements in predictable order?. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/12/edit>.


Summary of Action Items

[NEW] ACTION: Tony and David to create FHIR list examples [recorded in http://www.w3.org/2015/06/09-hcls-minutes.html#action01]
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.140 (CVS log)
$Date: 2015/06/09 17:53:03 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.140  of Date: 2014-11-06 18:16:30  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/discuss/discussed/
Succeeded: s/URI/RDF/
Succeeded: i/what needs to change on line 413/Scribe: dbooth
Succeeded: i/11:00AM has now started/Scribe: bpech
Succeeded: s/Topic: References/Topic: FHIR References/
Found Scribe: bpech
Inferring ScribeNick: bpech
Found Scribe: dbooth
Inferring ScribeNick: dbooth
Scribes: bpech, dbooth
ScribeNicks: bpech, dbooth
Default Present: DBooth, lloyd, +1.978.794.aaaa, +1.604.250.aabb, Tony, pknapp, +1.801.949.aacc, rhausam, +1.678.999.aadd, bpech, +1.801.810.aaee, +1.512.680.aaff, Darrell, ericP
Present: David_Booth Lloyd_McKenzie Tony_Mallia Paul_Knapp Rob_Hausam Brian_Pech Darrell EricP
Found Date: 09 Jun 2015
Guessing minutes URL: http://www.w3.org/2015/06/09-hcls-minutes.html
People with action items: david tony

[End of scribe.perl diagnostic output]