See also: IRC log
Tony: It works!
dbooth: I forwarded your email (with your permission) to the list.
tony: Checked things into github also.
lloyd: Are we able to appropriately assert the concepts at the right level, regardless of whether the element has a datatype of CodeableConcept, Coding or Code?
tony: Yes, the code is very specific. E.g., when looking at AllergyIntolerance.status, if you say that the code is confirmed, then the inference is that it is concept confirmed, but also concept active, because confirmed is also an active.
lloyd: But if the datatype is code, and you are linking a binding ont, how and where is the system asserted?
tony: The system is equvalent to
the VS, so you know the AllergyIntolerance.status is a system
from that VS.
... You know that from object property
AllergyInterolerance.status . It gives yiou the range of that
object property. That link it.
lloyd: want to see an exmple with elemtn of type code, and the VS drawn from SNOMED. We have the SNOMED ont, and a binding ontology. Want to see how that allows the auto inference of the concept on the element of type code.
tony: Same as you would do it on
an internal ont.
... Code doesn't have the system, so you need to look at the
range of the object propety to determine the system. The system
is the constraint on the range of that object property.
https://lists.w3.org/Archives/Public/public-semweb-lifesci/2016Mar/0004.html
lloyd: What does the binding ont, if the binding could be to either a CodeableConcept, Codign or a Code? How does that work?
https://lists.w3.org/Archives/Public/www-archive/2016Mar/0007.html
with line numbers
tony: line16 is axiom for the FHIR internal terminology bridge.
lloyd: This binding ont is based on the premise that it will always be datatype code. but with snomed you won't always know the code.
tony: line22 is determined from
line 38 and the fhir:binding and lines 58 and 59 for the
range.
... The reasoner looks at line 58 and 59, determines that the
range of fhir:AllergyIntolerance.status isrdfs:range fhir:code
and fhirvs:allergy-intolerance-status
... That establishes line 22, that it is an
fhirvs:allergy-intolerance-status.
... Then it picks up the value "confirmed" (line 25) from the
instance data. Therefore the intersection on line 22 is true,
therefore ..
... The anonymous class on line 19 is that intersection
class.
... and that intersection class is a *subclass* (per line 20)
of that class on line 19.
dbooth: Therefore any member of the intersection class on 22 (and 19) is also a member of 21, <http://hl7.org/fhir/bridge/allergy-intolerance-status#confirmed> ;
lloyd: I think I see how this
will work, but it would still be useful to show a generic
example where it can be either CodeableConcept, Coding or
Code.
... The binding ont must be constructed independent of the
instance data.
... The binding ont must be constructed from the snomed ont
without knowledge of where it is used in FHIR.
... i.e., when creating the binding ont, you don't know if
snomed will show up in a codeableconcept or a coding.
... In practice we don't have to worry about ext ontologies
showing up directly in a Code.
... But an internal code can show up in a Code, and there can
be an equivalence relation to an external code.
... (Leave that for the moment.)
tony: let's go through second
example
... Line 63 is the beginning.
<ericP> [ rdfs:subClassOf status:confirmed ;
<ericP> owl:intersectionOf (
<ericP> fhirvs:allergy-intolerance-status
<ericP> [ owl:onProperty fhir:value ; owl:hasValue "confirmed" ] )] .
<ericP> inst:X a fhirvs:allergy-intolerance-status ; fhir:value "confirmed" .
<ericP> # UI shows that X being a status:confirmed is confirmed.
tony: But we can say that even if
the code system on the wire, when you're dealing with inference
you have had to give it a code system in order to do
anything.
... It would be supplied . . . suppose we have certain pragmas
for the wire transfer, and a set of use cases
... Checking for contraindications . . .
... Those showed up without a code system. if you are making
decisions on those things, you have had to decide a code
system.
... What happens if a code system is missing?
dbooth: If the code system is missing, clearly it must be assumed somehow, since the code could not have any meaning without one.
tony: If system is not supplied
in a Coding, then we need to determine it from the
context.
... E.g., the profile may provide a range constraint on the
property.
eric: If we need per-property rules to figure out the code system, then we can infer them into a CodeableConcept structure. We can synthesize the CodeableConcept from the Codings.
LOST AUDIO
<ericP> webex is awesome!
Who can make the 5pm ET call?
Please reply here.
Tony: I cannot
dbooth: We'll cancel
<ericP> [ rdfs:subClassOf status:confirmed ;
<ericP> owl:intersectionOf (
<ericP> fhirvs:allergy-intolerance-status
<ericP> [ owl:onProperty fhir:value ; owl:hasValue "confirmed" ] )] .
<ericP> inst:X a fhirvs:allergy-intolerance-status ; fhir:value "confirmed" .
<ericP> # UI shows that X being a status:confirmed is confirmed.
eric: That shows how the "confirmed" inference works
<scribe> ACTION: Tony to more fully write up how using fhir:code and fhir:coding.code work in the ontology [recorded in http://www.w3.org/2016/03/08-hcls-minutes.html#action01]
<trackbot> Error finding 'Tony'. You can review and register nicknames at <http://www.w3.org/2014/HCLS/track/users>.
https://lists.w3.org/Archives/Public/www-archive/2016Mar/0007.html
ADJOURNED
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 Lloyd_McKenzie Thomas_Lukasik Found Date: 08 Mar 2016 Guessing minutes URL: http://www.w3.org/2016/03/08-hcls-minutes.html People with action items: tony[End of scribe.perl diagnostic output]