2025-05-22 - SLPG Meeting
Goals
Expand the use of the ECL language
Make ECL expansion consistent on well known FHIR Terminology Servers
Consider requirements for the maintenance of ECL and postcoordinated expressions
Attendees
Chair: @Kai Kewley
Attendees:
Apologies:
Next Time:
Agree feature set for ECL 2.3
ECL gramma feedback from mkorvas
https://github.com/IHTSDO/snomed-expression-constraint-language/issues
Agenda and Meeting Notes
Description | Owner | Notes |
|---|---|---|
Welcome and agenda | All | |
Resolvable URIs for ECL | @Anne Randorff Højen | This topic is important for the implementation guides and other documentation. Options:
The group would like to use the existing FHIR ValueSet URI, rather than adding to the SNOMED URI standard. |
ECL 2.2 | @Kai Kewley |
|
ECL 2.3 development Behaviour refinement for concrete string matching Ready for RC | @michael lawley | Proposal: Simplify concrete string matching. Use exact string match rather than prefix matching. Justification: The specification is a little vague in this area. The project group agreed that exact string matching seems most appropriate for concrete strings. The known terminology servers have already implemented exact string matching.
- Group already reviewed documentation changes -
Ready for RC |
ECL 2.3 Dot notation for concrete values | @Alejandro Lopez Osornio | Use case: Get the strength value from a drug Example: 318420003 |Product containing precisely atenolol 50 milligram/1 each conventional release oral tablet (clinical drug)| . 1142135004 |Has presentation strength numerator value (attribute)| Would return "50". Could also be used in a user interface to filter by the available options. For example listing available drug pack sizes. Example: (<< 781405001 |Medicinal product package (product)| : 774160008 |Contains clinical drug (attribute)| = << 318420003 |Product containing precisely atenolol 50 milligram/1 each conventional release oral tablet (clinical drug)|) . 1142142004 |Has pack size (attribute)| TODO: Document in behaviour spec + examples @Kai Kewley |
ECL 2.3 Non Code FHIR Examples | Create notes for ECL implementors to draw attention to the fact that some ECL results are not concepts/codes. Link to the SNOMED on FHIR documentation for this. Consider adding an appendix for FHIR specific considerations. TODO: Keep an eye on progress of the SNOMED on FHIR doc. | |
ECL 2.4 development | @Márk Czotter (Unlicensed) | Proposal. "exact:" case-sensitive string matching prefix. Examples from B2i where this is more useful than wild.. Use case:
Current term matching options:
TODO: (2.4) Make syntax changes to add this @Kai Kewley |
ECL 2.3 | Group agreed to make this case insensitive. Some users on the call expect this to be case insensitive: Feikje, Andrew Perry Techies comparing to wildcard searching on other platforms.. TODO: Update docs to state the filter is case insensitive. Check/add examples. TODO: Add examples of wild conversion to regex: ^ast.*ma$ - to help ECL engine creators understand. TODO: Add a developer note with a deep link to the Snowstorm code. Maybe it's this: ast*hma → ^[aA][sS][tT].*[hH][mM][aA]$ | |
ECL 2.3 | Add docs example with star at both ends to allow partial string matching. DONE | |
ECL 2.3 Enhancement Request: Set of reference sets containing a concept | @michael lawley | Enhancement for ECL 2.3 See comment here: Re: Discussions (2) Use cases:
Two behaviours: Find refsets containing this concept or any of these concepts Syntax options:
Find refsets containing this concept or all of these conceptsSyntax options:
TODO: Create syntax and guide. |
2.4 ECL Enhancement (On Hold) | @michael lawley | I want to fetch the set of attribute names used by a concept or set of concepts. Use case:
Syntax options:
Behaviour - implied "distinct" . |
ECL 2.3 development Ensuring consistency | All | Updates following Jeremy Roger's Terminology Terver ECL consistency analysis the following changes were recommended by the group:
|
ECL gramma feedback |
| |
Compound word search | @michael lawley @Kai Kewley @Feikje Hielkema (Unlicensed) | Each language would need a list of words to find within compound words. Where could these lists come from?
DONE: Establish a test set of terms for compound word processing. List of concept terms and desirable search terms. @Feikje Hielkema (Unlicensed) TODO: Trial compound word splitting, preprocess using a hyphenation algo? |
ECL Lite - Expanding the use of the ECL standard | All | Previous discussion:
"ECL Lite" is a simpler version of Expression Constraint Language including only the most useful features. ECL Lite will be a true subset of ECL so will be forward compatible. Feedback from previous meeting:
Other draft specification updates:
ECL Lite - MVP Scope:
|
ECL Capability statement in FHIR | Chat with @Peter Williams | |
ECL Test Harness | @Kai Kewley @Márk Czotter (Unlicensed) Next steps:
TODO: B2i have test cases that check ECL to Elasticsearch query conversion. Does the group want more integration style tests that specify a substrate and expected set of concept results? | |
FHIR TX - Searching with a specific dialect | @Kai Kewley Try this in Snowstorm: When expanding a ValueSet with text filtering it is recommended to use the "Content-Language" header, to constrain the language and dialect of matched terms, in addition to informing the selection of display terms. This behaviour is owned by HL7. | |
ECL Lite naming | Not everyone happy with the name. TODO: Choose from alternatives:
| |
Substrate discussion | Add appendix to describe the potential differences between terminology servers given what content is loaded/filtered out. | |
MRCM on FHIR | All | There is a growing desire to enable access to the SNOMED CT Machine Readable Concept Model via FHIR Terminology Servers. Use cases:
How could this work? |
Copyright © 2025, SNOMED International