Date & Time
20:00 to 21:00 UTC Thursday 24th February 2022
Location
Zoom meeting link (password: 764978)
Goals
- ECL v2.0 feedback and finalisation
- ECL v2.1 - Proposals for new features
Attendees
- Chair: Linda Bird
- Project Group: Daniel Karlsson, Peter Jordan, Alejandro Lopez Osornio, Michael Lawley, Andrew Perry, Wayde Shipman, Kai Kewley
Agenda and Meeting Notes
Description Owner Notes Welcome and agenda Expression Constraint Language 2.0 WIP Feedback from Michael, B2i, Jeremy, etc. Please review updates to the following pages: Potential requirements for ECL v2.1 - Discussion and brainstorming << 56265001 |Heart disease| OR For example, I can write: << 404684003|Clinical finding| : 363698007|Finding site| = <<66019005|Limb structure| << 404684003|Clinical finding| . 363698007|Finding site| But I can't get all the attribute names that are used by << 404684003|Clinical finding| What refsets is a given concept (e.g. 421235005 |Structure of femur|) a member of? Example 1 - Dentistry / Odontogram Example 2 - Terminology binding Example 3 - Mapping Example 4 - Natural Language Processing Practical Guide to Postcoordination Proposed Transformation Rules - Refinements (NOT in valid domain of focus concepts) 363443007 |Malignant tumor of ovary|: 272741003 |Laterality| = 24028007 |Right| ON HOLD - How to refer to an 'extended edition' using a URI - e.g. "International Edition plus the following 2 nursing modules: 733983009 |IHTSDO Nursing Health Issues module|and 733984003 |IHTSDO Nursing Activities module| Use Case - Need to execute an ECL, that refers to "^ 733991000 | Nursing Health Issues Reference Set (foundation metadata concept) |" and/or "^ 733990004 | Nursing Activities Reference Set (foundation metadata concept) |", where the substrate includes the international edition, plus the modules that include these reference sets July 2020 International Edition URI: http://snomed.info/sct/900000000000207008/version/20200731 July 2020 International Edition + nursing modules URI ?? - For example: Expression Templates Examples: [[+id]]: [[1..*] @my_group sameValue(morphology)] { |Finding site| = [[ +id (<<123037004 |Body structure (body structure)| MINUS << $site[! SELF ] ) @site ]] , |Associated morphology| = [[ +id @my_morphology ]] } Note that QI Project is coming from a radically different use case. Instead of filling template slots, we're looking at existing content and asking "exactly how does this concept fail to comply to this template?" For discussion: Is it correct to say either one of the cardinality blocks is redundant? What are the implications of 1..1 on either side? This is less obvious for the self grouped case. Additional note: QI project is no longer working in subhierarchies. Every 'set' of concepts is selected via ECL. In fact most reports should now move to this way of working since a subhierarchy is the trivial case. For a given template, we additionally specify the "domain" to which it should be applied via ECL. This is much more specific than using the focus concept which is usually the PPP eg Disease. FYI Michael ChuECL v2.0 - Access to refsets and historical supplements All ECL v2.1 - Requirement proposals All
{ ( 246090004 |Associated finding| = ( [[ @ecl_query ]] )
OR |Associated procedure| = ( [[ @ecl_query ]] )
|Subject relationship context| = |Subject of record|,
|Temporal context| = [[ @temporal_value ]] } )
{ 246090004 |Associated finding| = << 56265001 |Heart disease|,
|Procedure context| = |Done|,
|Subject relationship context| = |Subject of record|,
|Temporal context| = * } )
{ ( 246090004 |Associated finding| = (<< |Heart disease| OR << |Heart procedure| )
OR |Associated procedure| = ( << |Heart disease| OR << |Heart procedure| ) )
( |Procedure context| = |Done| OR |Finding context| = |Known present|),
|Subject relationship context| = |Subject of record|,
|Temporal context| = * } )
(< 243796009 |Situation with explicit context|:
{ 246090004 |Associated finding| = << 56265001 |Heart disease| } )
finding_context = << 410515003 |Known present| }}Returning Attributes Michael Lawley Reverse Member Of Michael Lawley The items below are currently on hold Postcoordination Topics
272741003 |Laterality| = 7771000 |Left|
272741003 |Laterality| = 7771000 |Left|
{263502005 |Clinical course (attribute)| = 424124008 |Sudden onset AND/OR short duration (qualifier value)|}
{363698007 |Finding site (attribute)| = 89187006 |Airway structure (body structure)|}
{263502005 |Clinical course| = 424124008 |Sudden onset AND/OR short duration|}
{363698007 |Finding site| = 89187006 |Airway structure|}
2704003 |Acute disease (disorder)| :
{263502005 |Clinical course| = 424124008 |Sudden onset AND/OR short duration|}
{363698007 |Finding site| = 89187006 |Airway structure|}Dynamic Templates
should be
|Pyelonephritis| : |Clinical course| = |Chronic|, |Associated morphology| = |Chronic inflammation|
should be
|Pyelonephritis| : {|Clinical course| = |Sudden onset AND/OR short duration||, |Associated morphology| = |Acute inflammation|
should be
|Nephritis|: |Causative agent| = |Domain bacteria|, |Pathological process| = |Infectious process|
should be
|Koilonychia|: |Occurrence| = |Congenital|, |Pathological process| = |Pathological developmental process|Postcoordination Use Case Examples All Postcoordination Guidance
{ 260686004 |Method| = 129304002 |Excision - action|,
405813007 |Procedure site - Direct| = 15497006 |Ovarian structure|,
405815000 |Procedure device| = 122456005 |Laser device| }
{ 260686004 |Method| = 129304002 |Excision - action|,
405813007 |Procedure site - Direct| = 15497006 |Ovarian structure|},
{ 405815000 |Procedure device| = 122456005 |Laser device| }
{ 363698007 |Finding site| = 272673000 |Bone structure|,
116676008 |Associated morphology | = 72704001 |Fracture| }
{ 42752001 | Due to (attribute) | = 1912002 | Fall | }
ObjectIntersectionOf (:71388002
ObjectSomeValuesFrom(:609096000 ObjectIntersectionOf( ObjectSomeValuesFrom(:260686004 :129304002)
ObjectSomeValuesFrom(:405813007 :15497006))))
Close-to-user-form - IF the grouping of the refinement is not concept model valid THEN
If there is a single (non-self-grouped) role group in the definition of the focus concept, then any ungrouped (but groupable) refinements are merged with this role group
If there is more than one (non-self-grouped) role group in the definition then flag as ambiguous and require refinement
NEED TO FIND a realistic clinical example where this may occur // Prevent failing cases from coming up // use template
ALTERNATIVE: Refinement is applied to all (non-self-grouped) role groups in the definition
Self-grouped attributes in the refinement are grouped on their own - i.e. Priority, Due to, After, Before, During, Clinical course, Temporally related to, and all Observable entity attributes (see Relationship Group)
Self-grouped attributes in the definition of the focus concept(s) are left unchanged
83152002 |Oophorectomy| : 405815000 |Procedure device| = 122456005 |Laser device|
83152002 |Oophorectomy| : 405815000 |Procedure device| = 122456005 |Laser device|, 363700003 |Direct morphology| = 367643001 |Cyst |
405813007 |Procedure site - direct| = 15497006 |Ovarian structure|,
405815000 |Procedure device| = 122456005 |Laser device| ,
363700003 |Direct morphology| = 367643001 |Cyst | }
83152002 |Oophorectomy| : 405815000 |Procedure device| = 122456005 |Laser device|, 260870009 |Priority| = 394849002 |High priority|
405813007 |Procedure site - direct| = 15497006 |Ovarian structure|,
405815000 |Procedure device| = 122456005 |Laser device| }
{ 260870009 |Priority (attribute)| = 394849002 |High priority| }
83152002 |Oophorectomy| : 260686004 |Method| = 277261002 |Excision biopsy (qualifier value)|
83152002 |Oophorectomy| : { 260686004 |Method| = 281615006 | Exploration - action | , 405813007 |Procedure site - direct| = 367643001 |Cyst | }
405813007 |Procedure site - direct| = 15497006 |Ovarian structure| },
{ 260686004 |Method| = 281615006 | Exploration - action | ,
405813007 |Procedure site - direct| = 367643001 |Cyst |}
Close-to-user-form - IF the refinement's attribute is not valid for the domain of the focus concept THEN
If there is a single role group in the definition of the focus concept, which has an attribute value in the domain of the refinement's attribute THEN nest the relevant attribute value with the refinement added to the attribute value
(Note: It doesn't matter if the role group is self-grouped or not (see example 1 below)
If there is more than one role group in the definition of the focus concept, which has an attribute value in the domain of the refinement's attribute THEN (non-self-grouped) role group in the definition then flag as ambiguous and require refinement
363698007 |Finding site| = ( 15497008 |Ovarian structure| : 272741003 |Laterality| = 24028007 |Right| ) }
260870009 |Priority| = 25876001 |Emergency|
363698007 |finding site| = 84167007 |Foot bone| }
363698007 |finding site| = 84167007 |Foot bone| }The items below are currently on hold URIs for Extended Editions Road Forward for SI
Description Templates Kai Kewley
5 Comments
Daniel Karlsson
I have some random findings for discussion at some time:
Snowstorm and Ontoserver give different results for dotted expressions.
https://snowstorm-alpha.ihtsdotools.org/snowstorm/snomed-ct/fhir/ValueSet/$expand?_format=json&count=10&url=http:%2F%2Fsnomed.info%2Fsct%3Ffhir_vs%3Decl%2F395026007.116680003
https://r4.ontoserver.csiro.au/fhir/ValueSet/$expand?_format=json&count=10&url=http:%2F%2Fsnomed.info%2Fsct%3Ffhir_vs%3Decl%2F395026007.116680003
Linda Bird
Thanks for these topics Daniel! Let's discuss them at the meeting today (when we talk about ECL v2.1)
Kind regards,
Linda.
Daniel Karlsson
One other (half-cooked) thing: we've done history for concepts but not for any other components...
Realizing the information on inactive concepts is different and more extensive from other components, {{ + HISTORY... }} is (just) sugar and maybe just maybe there might be reasons to sprinkle other components with this sweetness (or not).
Examples: previously active refset members (and their fields), previously active descriptions (e.g. Refers to association refset), ...
This is what got me thinking about what is and is not in a substrate.
/Daniel
Linda Bird
Thanks Daniel, I've added your list of topics to next meeting's agenda.
I'm not convinced that we need history supplements for other components - I don't think the use case is quite as strong as it is for concepts, and there is always a long-hand way of doing this using the Member functions we're adding in 2.0.
Happy to discuss further though.
Have a lovely weekend!
Kind regards,
Linda.
Daniel Karlsson
Hi Linda,
I'm with you on the use case being not as strong, but would like a discussion so we can make a grounded decision about e.g. description filters on "Refers to" descriptions. At least it got the substrate discussion started.
Cheers,
Daniel