Page tree

Versions Compared

Key

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

...

SNOMED CT expression constraint language version 2.1 .3 has been published at at http://snomed.org/ecl

Implementations

The SLPG SNOMED International is aware of the following implementations of the SNOMED CT Expression Constraint Language:

  • Snowstorm - SNOMED International Terminology Server (via REST API) - https:

...

  • //github.com/IHTSDO/snowstorm
  • SNOMED International SNOMED CT Query Service - https://github.com/IHTSDO/snomed-query-serviceSNQuery - http://snquery.veratech.es/
  • CSIRO Ontoserver Expression Constraints https://ontoserver.csiro.au/shrimp/ecl.html (help)
  • ECL Syntax Parser - https://github.com/hsolbrig/SNOMEDCTParser
  • Hermes:  https://GitHub.com/wardle/hermes 
  • PHAST's FHIR Terminology server STS -  https://topaze.phast.fr/resources-server/api/fhir

  • Slang - http://slang.snomedic.com:8080/yats/ termMed’s termSpace
  • SnoLyze httphttps://demo.termspacegithub.com/ and /slaverman/SnoLyze (ECL v1.2)
  • Snomedizer: https://termmedgithub.atlassian.net/wiki/display/TSD/Creating+queriescom/ramses-antibiotics/snomedizer
  • Snow OwlSNOMED International

    If you know of additional ECL implementations, please contact eps@snomedcontact info@snomed.org with details.

    Future Versions

    Additional requirements are being collected for consideration in a future version of the SNOMED CT expression constraint language.

    In the following sections, we describe some of the proposed requirements, which are under consideration:

    Expression Constraint Implementation and Testing Artifacts

    A number of artifacts have been proposed to assist with the implementation and testing of the Expression Constraint Language, including:

    • An ANTLR grammar of the ECL syntaxes
    • A set of invalid expression constraints that should fail in testing an expression constraint parser
    • A set of valid results for each example expression constraint, executed against a specific version of the SNOMED international edition
    • Track changes, change bars or similar to make it easier for implementers to identify the areas of change. In addition, changes should be localized and minimized.

    Selecting Concepts Recorded in Additional Reference Set Attributes

    We are going to develop the refsets for anatomy. The plan is to have two association refsets for Structure/Entire and Structure/Part. Please see more information at SEP maps and refset.

    We need some way of selecting the 'targetComponentId' column of these reference sets. This column is represented by the refset attribute concept 900000000000533001 |Association target component|.

    This may be needed, for example, to define a template slot rule that restricts possible values of the slot to only 'entire' concepts, or 'part concepts'.

    Possible syntaxes:

    • ^(1000005|Anatomy structure and entire association reference set|.900000000000533001 |Association target component|)
    • ^1000005|Anatomy structure and entire association reference set|.900000000000533001 |Association target component|
    • 1000005|Anatomy structure and entire association reference set|.900000000000533001 |Association target component|

    Using Any for any Concrete Value

    The Any wildcard (i.e. *) should be able to be used to represent any concrete value (i.e. number or string), rather than just for any concept. In doing so, consideration must be given to ensure that the grammar is able to be parsed unambiguously.

      with details.