trackbot, start meeting
<trackbot> Date: 03 June 2015
http://www.w3.org/2015/06/02-hcls-minutes.html#item05
tony's side-by-side example: http://wiki.hl7.org/images/2/25/FHIR_RDF_Sample_side_by_side_comparisons.pdf
http://wiki.hl7.org/images/2/25/FHIR_RDF_Sample_side_by_side_comparisons.pdf
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.
http://hl7-fhir.github.io/allergyintolerance.html
http://hl7-fhir.github.io/allergyintolerance.html#4.1.3
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.
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>.
ADJOURNED
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]