Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Date & Time

20:00 UTC Wednesday 20th June 4th 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

Progress SNOMED Query languageDiscuss use of multiple language reference sets

  • URI standard
  • Proposed language features Future goals: 
    • Transitive relationships in ECL
    • Ability to execute maps from within ECL
  • Progress SNOMED Query language
    • Discuss use of multiple language reference sets

Attendees 

Agenda and Meeting Notes

Advanced Tables - Table Plus
border2
rowStylesbackground-color:#ccccff;font-weight:bold;,background-color:"#eeeeff";font-weight:normal;,background-color:#eeffff;font-weight:normal;
autoNumberSorttrue
autoNumbertrue
enableSortingfalse


Description
Owner
Notes

Welcome and apologies

URI Specification


URLs for FHIR specification
  • Status update
  • URLs for canonical necessary normal form and necessary (long/short) normal form
    URI Specification
    • Recap on purpose of SNOMED CT computable language URIs?
    • Recap on language instance URIs (e.g. URIs for expressions and expression constraints)
    Other topicsProposed Language Features

    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




    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


    Confirm next meeting date/time

    The next SLPG meeting will be held in 2 weeks at 20:00 UTC on Wednesday 6th June18th July.


    Attachments