...
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
- Provides API for the SNOMED International public browser (See "Expression Constraint Queries" tab) - https://browser.ihtsdotools.org/
- 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
Available 24x7 for testing, through CSIRO's VS tool - https://ontoserver.csiro.au/vstool/
- Slang termMed’s termSpace - http://demoslang.termspacesnomedic.com/ and :8080/yats/
- SnoLyze - https://github.com/slaverman/SnoLyze (ECL v1.2)
- Snomedizer: https://github.com/ramses-antibiotics/snomedizer
- Snow Owltermmed.atlassian.net/wiki/display/TSD/Creating+queriesSNOMED International
- Terminology Server (via REST API) - https://github.com/IHTSDO/snow-owl
- ECL 2.1 - https://github.com/
- Terminology Server (via REST API) - https://github.com/IHTSDO/snow-owl
- SNQuery - http://snquery.veratech.es/
- Terminz - Snow Owl MQ (form-based interface) - https://mqterminz.b2iazurewebsites.sg/snow-owl/net/fhir
- termMed’s termSpace SNOMED CT Language Syntax Parsers - http://apgdemo.ihtsdotoolstermspace.org/ECL Syntax Parser - com/ and https://termmed.atlassian.net/wiki/display/TSD/Creating+queries
- West Coast Informatics (WCI) SNOMED Terminology Server - github.com/hsolbrig/SNOMEDCTParserSnoLyze - https://githubsnomed.terminology.comtools/slaverman/SnoLyzeterminology-ui/index.html
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.