2020-11-04 - SLPG Meeting

2020-11-04 - SLPG Meeting

Date & Time

20:00 to 21:00 UTC Wednesday 4th November 2020

Location

Zoom meeting link (password: 764978)

Goals

  • Start development of postcoordination guidance

Attendees 

  • Chair: @Former user (Deleted)

  • Project Group: @michael lawley@Peter Jordan (Unlicensed)@Anne Randorff Højen@Kai Kewley@Rob Hausam

Apologies

@Daniel Karlsson , @Ed Cheetham

Agenda and Meeting Notes

Description

Owner

Notes

Description

Owner

Notes

Welcome and agenda

@Former user (Deleted)

NOTE: Next meeting to be held on Wednesday 18th November

Postcoordination Guidance

@Former user (Deleted) , @Anne Randorff Højen , @Kai Kewley

Practical Guide to Postcoordination

  • Discuss use cases for postcoordination

    • Mapping local codes to postcoordinated expressions

    • Natural language processing – e.g. ""

    • Semantic interoperability (e.g. between FHIR resource instances)

    • Comparing 2 clinical meanings for equivalence and subsumption

      • E.g. Extemporaneous drug formulations

  • Comments

    • Should there be a syntactic distinction between refinement and constructive addition (ie adding a new role group)

  • Agree on approach and next steps - potentially including:

    • Agree on list of expression forms that need defining - 3.4 Transforming Expressions

    • Discuss different types of transformations required

    • Explain transformation steps







Other Options for Future Progress



  1. Postcoordination and close-to-user transformations

  2. URIs for draft editions

  3. ECL extensions

    1. Primitive/Defined filters → concept filter

    2. Concept+Description filters (e.g. effectiveTime, module, active)

    3. Accessing Refset attributes → (e.g. historical association refsets) → historical ECL

    4. OR use full syntax to be able to query any table (e.g. Relationship table) - ie expand ECL into something more verbose (e.g. SNOMED query language)

  4. Template extensions

URIs for Extended Editions



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:

  • http://snomed.info/sct/900000000000207008/version/20200731/module/733983009/time/20200131/module/733984003/time/20200131

  • http://snomed.info/sct/900000000000207008/version/20200731/modules/733983009:733984003

  • http://snomed.info/sct/900000000000207008:733983009:733984003/version/20200731:20190731:20200131

  • Canonical order? Or order doesn't matter?

  • Constraints on what can go in the additional packages (only refsets and their metadata)

Querying Refset Attributes

@Former user (Deleted)

Proposed syntax to support querying and return of alternative refset attributes (To be included in the SNOMED Query Language)

Returning Attributes

@michael lawley

Proposal (by Michael) for discussion

  • Currently ECL expressions can match (return) concepts that are either the source or the target of a relationship triple (target is accessed via the 'reverse' notation or 'dot notation', but not the relationship type (ie attribute name) itself. 

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| 

Reverse Member Of

@michael lawley

Proposal for discussion

What refsets is a given concept (e.g. 421235005 |Structure of femur|) a member of?

  • Possible new notation for this:

    • ^ . 421235005 |Structure of femur|

    • ? X ? 421235005 |Structure of femur| = ^ X

Expression Templates

@Peter Williams

Examples:

[[+id]]: [[1..*] @my_group sameValue(morphology)] { |Finding site| = [[ +id (<<123037004 |Body structure (body structure)| MINUS << $site[! SELF ] ) @site ]] , |Associated morphology| = [[ +id @my_morphology ]]}

  • Implementation feedback on draft updates to Expression Template Language syntax

    • Use cases from the Quality Improvement Project:

      • Multiple instances of the same role group, with some attributes the same and others different. Eg same morphology, potentially different finding sites.

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.

Road Forward for SI

  1. Generate the parser from the ABNF and implement in the Template Service

  2. User Interface to a) allow users to specify template at runtime b) tabular (auto-completion) lookup → STL

Copyright © 2026, SNOMED International