Semantic Web Health Care and Life Sciences Interest Group Teleconference

03 Jun 2015


DBooth, EricP, RobHausam, TonyMallia, ClaudeNanjo
David Booth and EricP


trackbot, start meeting

<trackbot> Date: 03 June 2015


tony's side-by-side example: http://wiki.hl7.org/images/2/25/FHIR_RDF_Sample_side_by_side_comparisons.pdf

Side-by-side example


line 284, status confirmed

<rhausam> sorry, trying VOIP, but not getting an answer

line 295 a blank node will be used instead

tony: <http://hl7.org/fhir/allergyIntoleranceStatus/confirmed> would be constructed by appending the code

dbooth: would <http://hl7.org/fhir/allergyIntoleranceStatus/confirmed> continue to be a URI?

tony: Yes.
... The "confirmed" is appended to the coding system.
... It is a constructed URI -- not declared in the documention.

dbooth: Need to ensure that that constructed URI will always result in a legitimate URI that will not clash with any other.
... That's a policy issue.

rob: There have been some policy discussions about that -- avoiding whitespace, etc. My understanding is that HL7 terminologies will prohibit whitespace, but others may not.

tony: This is using classes for terms. Very different from what hl7 has been doing.

rob: I don't think so. I think hl7 has experience with this, but not using URIs in the RDF context.

tony: want to point at the classes at the schema level.
... line 308-314 shows the class
... lines 317-323 show how the class is defined.
... line 321 owl:hasValue "confirmed" shows how it is inferred from the value.

rob: How are you viewing the role of valueset?
... Does it have a larger role than it should?
... Valueset is used in the instance data, but it's meaning is determined by the coding system.



tony: line 222 restricts the status to be an <http://hl7.org/fhir/vs/allergyIntoleranceStatus>

dbooth: line 295 <http://hl7.org/fhir/vs/allergyIntoleranceStatus> is intended to be a member, not a class (with punning).

tony: punning will go away. we'll use a blank node for the member.

<Claude> 1. Please join my meeting.

<Claude> https://global.gotomeeting.com/join/157514853

<Claude> 2. Use your microphone and speakers (VoIP) - a headset is recommended. Or, call in using your telephone.

<Claude> Dial +1 (213) 289-0016

<Claude> Access Code: 157-514-853

<Claude> Audio PIN: Shown after joining the meeting

<Claude> Meeting ID: 157-514-853

<Claude> GoToMeeting®

<Claude> Online Meetings Made Easy®

<Claude> http://piratepad.net/cqlex1



eric: my goal is back up our user stories with something that is executable: take advantage of semantics to meet a use case.
... want to understand the data models and languages used.

claude: CDS has information model, bindings to terminology (through valuesets), and the need to express things to act on the model.
... Discussing should the model be FHIR or something else?
... I'll show you a logical model. There's an equivalent FHIR model.
... When you define a CQL expression -- something you want to express as a CDS rule.
... on line 3 you say what model you want to use.
... QUICK has a notion of condition and status.
... Each model is associated with a model info file, which specifies the classes etc for that model.
... RDF can be used to represent the model. Model is a condition and status, etc.

tony: Is there a RDF implementation of CQL yet?

claude: Not yet.
... But working on the beginnigns of an ont for it, mainly for tooling.
... Lines 9-14 we're binding terms to OIDs
... This rule is saying that if you have certain conditions you should be on an antibiotic unless there is a reason for not being on one.
... line 17 says you are using PATIENT context, which allows you to talk about that patient's birthdate, etc., instead of aggregate info.
... line 21 gives a time interval
... line 26 says a class Condition with code in this valueset is filtered for confirmed or working.
... line 31 'return' allows you to make a projection of the things you want.
... lines 94-96 defines IsHighRisk in terms of other criteria previously defined.
... Very human readable.

rob: How does this relate to Arden syntax?

claude: CQL and Arden are essentially equivalent. When CQL was designed it was aligned with Arden.
... Group moved toward CQL to make DSL that would have an abstract syntax tree that would be easy for systems to process.
... Arden used to have a curly brace problem. in CQL you specify a model, and then the underlying implementation maps it to a syntax tree.

<Zakim> dbooth, you wanted to ask if ShEx would be useful for mapping CQL to SPARQL or something like that

eric: was talking to claude about mapping to DROOLS.

claude: Looking at best way to integration ont data to DROOLS.
... Might have rules for patient info, and for certain expressions you want to call out to a KB, such as "does a pt have certain medications?"
... See if they are contraindicated.
... What is the proper boundary between FHIR and ont/rules?
... How to call out to a KB?
... Right now the KB is an open question. Valuesets are SNOMED, RXNORM, etc.
... VA is also looking at assertional knowledge. moving toward formal ont.

eric: How do they tie it back to instance data?

claude: How would you write expressions against instance data?
... e.g., if patient has contraindication alert physician.
... Contraindication will be a SPARQL callout to a KB.
... Translation of CQL rule to execution system is left to implementation system.
... CQL is more functional that DROOLS -- not a 1-1 correspondence.

Next steps

Claude: I can go over more of this

dbooth: how does this relate to the rest of the work we're doing?

eric: we're providing an RDF rep of FHIR and other thing.
... We have some proposed use case, where we show value with this.
... CQL is a way we can demonstrate the value of RDF representations.

claude: Model def could ideally be represented as RDF.
... Also a number of coding questions come up. If you can define the CQL semantics in OWL, you can help drive tooling for writing rules, depending on the context of the rule.
... Also link between CQL and SPARQL.

dbooth: sounds good

tony: CQL plugin to protege?

dbooth: The readability of CQL is really nice.

claude: Re ShEx, there's a compact syntax. If there were also a DSL it might be helpful.

eric: If we had a DSL, it would be along the lines of providing familiar properties and values.
... If you write things in info model language it is painful. We could have the system recognize 'systolic' and 'diastolic', or we could have a comfortable model that writes them as predicates.
... Ont for SMEs may be just as good.

dbooth: Like a programming language pulling in a module for a domain, rather than having a DSL.

eric: You could have the ShEx for some obs, w BP shape, and semantic actions are to spit out triples for BP with systolic and diastolic.
... GenR allows mapping from FHIR RDF to a simpler model. if we're judicious we'd have something like the module approach.

<scribe> ACTION: Claude to check with Bryn about discussing CQL on future Tuesday call [recorded in http://www.w3.org/2015/06/03-hcls-minutes.html#action01]

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


Summary of Action Items

[NEW] ACTION: Claude to check with Bryn about discussing CQL on future Tuesday call [recorded in http://www.w3.org/2015/06/03-hcls-minutes.html#action01]
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.140 (CVS log)
$Date: 2015/06/03 19:39:59 $

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/indic/contraindic/
Succeeded: s/TBD/left to implementation system/
No ScribeNick specified.  Guessing ScribeNick: dbooth
Inferring Scribes: dbooth
Default Present: DBooth, ericP, +1.801.949.aaaa, rhausam, Tony, Claude
Present: DBooth EricP RobHausam TonyMallia ClaudeNanjo
Found Date: 03 Jun 2015
Guessing minutes URL: http://www.w3.org/2015/06/03-hcls-minutes.html
People with action items: claude

WARNING: IRC log location not specified!  (You can ignore this 
warning if you do not want the generated minutes to contain 
a link to the original IRC log.)

[End of scribe.perl diagnostic output]