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).

  File Modified
No files shared here yet.



Copyright © 2025, SNOMED International