2025-07-24 - 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:
@Linda Bird (Unlicensed)
KariHeinonen
@Kath Priest
@Alejandro Lopez Osornio
@Daniel Karlsson (Unlicensed)
@Márk Czotter (Unlicensed)
Apologies:
Next Time:
Always draft the long syntax
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 | |
ECL 2.2 | @Kai Kewley |
|
Resolvable URIs for ECL | @Anne Randorff Højen | This topic is important for the implementation guides and other documentation. The group chose to use the existing FHIR ValueSet URI, rather than adding to the SNOMED URI standard. From these options:
Action: Create implementation tickets @Kai Kewley |
ECL 2.3 Enhancement Request: Set of reference sets containing any concept within a given set | @michael lawley Dev Test: @Márk Czotter (Unlicensed) | Enhancement for ECL 2.3 See comment here: Re: Discussions (2) Use cases:
Find refsets containing this concept or any of these concepts Syntax options:
Alternative syntaxes
TODO: Create syntax and guide. |
ECL 2.3 development Behaviour refinement for concrete string matching Ready for RC | @michael lawley Already tested: | 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 Notes on implementation - use hierarchy to check attribute data types. |
ECL 2.3 | Already tested: | 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 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. @Kai Kewley to catch up with PGW on this | |
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 | Add docs example with star at both ends to allow partial string matching. DONE | |
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 Future Enhancement Request: Set of reference sets containing all concepts in a set | Archived | Find refsets containing this concept or all of these conceptsSyntax options:
|
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 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:
|
Copyright © 2025, SNOMED International