2018-07-18 - SLPG Meeting

2018-07-18 - SLPG Meeting

Date & Time

20:00 UTC Wednesday 18th July 2018

Teleconference Details

To join the meeting please go to https://snomed.zoom.us/j/471420169. 

Further information can be found at SLPG meeting information

Goals

  • URI standard

    • Recap purpose of computable language URIs

    • Review language URIs

  • Proposed language features 

    • Transitive relationships in ECL

    • Ability to execute maps from within ECL

  • Progress SNOMED Query language

    • Discuss use of multiple language reference sets

Attendees 

  • Chair: Former user (Deleted)

  • Project Group: michael lawley, Former user (Deleted), Rob Hausam

Apologies

Anne Randorff Højen

Agenda and Meeting Notes

Description

Owner

Notes

Description

Owner

Notes

Welcome and apologies

Former user (Deleted)

 

URI Specification

Former user (Deleted)

  • Recap on purpose of SNOMED CT computable language URIs

  • Recap on language instance URIs (e.g. URIs for expressions and expression constraints)

Proposed Language Features

Former user (Deleted)

Other topics for discussion. For example:

  • ECL suggestions - Ability to execute maps in ECL

    • Transitive relationships and role chaining in ECL (to align with new enhanced DL axioms)

      • Example 1:

        • Direct relationship < 404684003 |Clinical finding|: << 47429007 |Associated with| = *

        • Transitive relationship < 404684003 |Clinical finding|: << 47429007 |Associated with|* = *

      • Example 2:

        • Direct relationship < 71388002 ||: 363701004 |Direct substance| = 372687004 |Amoxicillin|

        • Role chained relationship (via 738774007 |is modification of|) < 71388002 ||: 363701004 |Direct substance|* = 372687004 |Amoxicillin|

    • The specific use-case here comes initially from Jeremy and relates to being able to work with inactive concepts via the historical association maps. For example, given an ECL expression, e, that identifies a set of concepts to be used for retrieving patient records, you probably also want to retrieve records for sameAs(e) and replacedWith(e)

      • Example 1:

        • ??? (< 72704001 |Fracture| AND ^ 900000000000527005 |SAME AS association reference set|) . 900000000000533001 |Association target component|

  • Query language - Can we de-scope relationship filters?

Query Language
- Summary from previous meetings

 

 

 

Former user (Deleted)

Examples: version and language

Notes

    • Allow nested where, version, language

    • Scope of variables is inner query

 

 

 

 

Examples: where

Notes

      • Allow nested variable definitions, but recommend that people don't due to readability

      • Scope of variables is the inner query

      • No recursion e.g X WHERE X = 1234 MINUS X

        • ie can't use a variable in its own definition

        • ie X is only known on the left of the corresponding WHERE, and not on the right of the WHERE

Keywords for Term-based searching:

  • D.term

    • D.term = "*heart*"

    • D.term = wild:"*heart*"

    • D.term = regex:".*heart.*"

    • D.term = match:"hear att"

    • D.term = (sv) wild: "*heart*"

  • D.languageCode

    • D.languageCode = "en"

    • D.languageCode = "es"

  • D.caseSignificanceId

    • D.caseSignificanceId = 900000000000448009 |entire term case insensitive|

    • D.caseSignificanceId = 900000000000017005 |entire term case sensitive|

    • D.caseSignificanceId = 900000000000020002 |only initial character case insensitive|

  • D.caseSignificance

    • D.caseSignificance = "insensitive"

    • D.caseSignificance = "sensitive"

    • D.caseSignificance = "initialCharInsensitive"

  • D.typeId

    • D.typeId = 900000000000003001 |fully specified name|

    • D.typeId = 900000000000013009 |synonym|

    • D.typeId = 900000000000550004 |definition|

  • D.type

    • D.type = "FSN"

    • D.type = "fullySpecifiedName"

    • D.type = "synonym"

    • D.type = "textDefinition"

  • D.acceptabilityId

    • D.acceptabilityId = 900000000000549004 |acceptable|

    • D.acceptabilityId = 900000000000548007 |preferred|

  • D.acceptability

    • D.acceptability = "acceptable"

    • D.acceptability = "preferred"

Additional Syntactic Sugar

  • FSN

    • FSN = "*heart"

      • D.term = "*heart", D.type = "FSN"

      • D.term = "*heart", D.typeId = 900000000000003001 |fully specified name|

    • FSN = "*heart" LANGUAGE X

      • D.term = "*heart", D.type = "FSN", D.acceptability = * LANGUAGE X

      • D.term = "*heart", D.typeId = 900000000000003001 |fully specified name|, acceptabilityId = * LANGUAGE X

  • synonym

    • synonym = "*heart"

      • D.term = "*heart", D.type = "synonym"

      • D.term = "*heart", D.typeId = 900000000000013009 |synonym|

    • synonym = "*heart" LANGUAGE X

      • D.term = "*heart", D.type = "synonym", D.acceptability = * LANGUAGE X

      • D.term = "*heart", D.typeId = 900000000000013009 |synonym|, (D.acceptabilityId = 900000000000549004 |acceptable| OR D.acceptabilityId = 900000000000548007 |preferred|) LANGUAGE X

  • synonymOrFSN

    • synonymOrFSN = "*heart"

      • synonym = "*heart" OR FSN = "*heart"

      • D.term = "*heart", (D.type = "synonym" OR D.type = "fullySpecifiedName")

    • synonymOrFSN = "*heart" LANGUAGE X

      • synonym = "*heart" OR FSN = "*heart" LANGUAGE X

      • D.term = "*heart", (D.type = "synonym" OR D.type = "fullySpecifiedName"), D.acceptability = * LANGUAGE X

  • textDefinition

    • textDefinition = "*heart"

      • D.term = "*heart", D.type = "definition"

      • D.term = "*heart", D.typeId = 900000000000550004 |definition|

    • textDefinition = "*heart" LANGUAGE X

      • D.term = "*heart", D.type = "definition", D.acceptability = * LANGUAGE X

      • D.term = "*heart", D.typeId = 900000000000550004 |definition|, D.acceptabilityId = * LANGUAGE X

  • Unacceptable Terms

    • (D.term = "*heart") MINUS (D.term = "*heart", D.acceptability = * LANGUAGE X)

Language preferences using multiple language reference sets

  • LRSs that use the same Language tend to use 'Addition' - i.e. child LRS only includes additional acceptable terms, but can override the preferred term

    • E.g. Regional LRS that adds local dialect to a National LRS

    • E.g. Specialty-specific LRS

    • E.g. Irish LRS that adds local preferences to the en-GB LRS

      • 99999900 |Irish language reference set| PLUS |GB English reference set|

  • LRSs that define a translation to a different language tend to use 'Replacement' - i.e. child LRS replaces set of acceptable and preferred terms for any associated concept

    • E.g. Danish LRS that does a partial translation of the International Release

      • 999999 |Danish language reference set| ELSE |GB English reference set|

Other topics

Former user (Deleted)

 

Confirm next meeting date/time

Former user (Deleted)

The next SLPG meeting will be held in 2 weeks at 20:00 UTC on Wednesday 1st August (to be confirmed).

 

Copyright © 2026, SNOMED International