2025-04-07 - 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: Márk Czotter (Unlicensed) michael lawley Anne Randorff Højen Alejandro Lopez Osornio Brian Carlsen Charles Gutteridge Linda Bird (Unlicensed) Dougal Fleming (Unlicensed) Andrew Perry (Unlicensed) Rob Hausam Elena Ilyukhina Kari Heinonen Seung-Jong Yu (Unlicensed) Michael Chu
After the break: + Peter Williams Katrien Scheerlinck (Unlicensed) Paul (Unlicensed)
Apologies: Jeremy Rogers (Unlicensed)
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 |
|
ECL 2.2 | Kai Kewley |
|
ECL 2.3 development Behaviour refinement for concrete string matching | 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 | For next time in Oslo. 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:" string matching prefix. Examples from B2i where this is more useful than wild.. Use case:
Current term matching options:
TODO: 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 |
| TODO: 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.3 ECL Enhancement | 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?
TODO: Trial compound word splitting, preprocess using a hyphenation algo? TODO: Establish a test set of terms for compound word processing. List of concept terms and desirable search terms. Feikje Hielkema (Unlicensed) |
Resolvable URIs for ECL | Anne Randorff Højen | This topic is important for the implementation guides and other documentation. |
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? Current experiment:
Other options was considered but rejected because of demand of TS implementation complexity:
|
ECL History Supplements with no association | Anne Randorff Højen Kai Kewley | Potential issue: Concepts made inactive with inactivation reason "Non conformance to editorial policy" currently have no historical association. Use Cases
Should ECL be able to retrieve these concepts Options:
Discussed in Joint AG -
|
ECL Maintenance Recommendations | All | We plan to add a "Maintenance Recommendations" page to the ECL guide. Suggested sections:
Jeremy Rogers (Unlicensed) has drafted some content on this topic. Group have reviewed the word document Kai Kewley to Migrate to ECL Guide Appendix for final review. |
ECL Results - TS consistency | Jeremy Rogers (Unlicensed) | Testing consistency between Snowray (Snow Owl), Ontoserver, Snowstorm. Also using custom made NHS Subset maintenance tool, would like to migrate to a standardised solution. Questions:
ML: Some observations: it is interesting to see the number of examples that are querying against terms – the results are not surprising since 1., this is a relatively new part of the spec, and 2., it steps outside the original conception of ECL as a query language that only used defining aspects of concepts as supported by the Concept and Relationship tables. |
Postcoordination Guide + Reference Implementation Feedback | Alejandro Lopez Osornio | Very little feedback received so far. An education module could be a way to expose more people to the caveats and best practises. |
Expression Repository Maintenance | All | - Aim to round off the guidance - make expression repositories feasible - An expression repository uses a specific edition and version of SNOMED CT - how can expressions be migrated to a new version? Use cases of expressions:
Potential issues when upgrading the substrate of an expression repository
Use cases for an expression repository, how are these impacted over time as the substrate changes.
|
Other Topics | All |
|
The items below are currently on hold | ||
Meds ECL Requirement | michael lawley | RequirementRequirement to select a substance or a modification of that substance .... use case: during authoring to prompt the user with all the active ingredient options. Author/modeller chooses a drug and wants to refine the selection using modification-of substances.
BackgroundThe modification-of attribute is a transitive property in OWL. Transitive properties have a similar characteristic to an is-a relationships but without stating a subtype relationship. In SNOMED CT an OWL property chains are used to help organise the hierarchy, allowing products with modified substance to be subsumed into concept groupers defined using the base substance. However in this case the base substance should not be inherited into the product with the modified substance. The base (not modified) version of the substance is found as redundant and removed during NNF calculation. See OWL Guide: 2.5. Generating Necessary Normal Form Relationships from the OWL Refsets Example property chain: "|Has active ingredient| o |Is modification of|" is a sub-property of "|Has active ingredient|". Example hierarchy: Parent Child Because And Property Chain:
.. which results in OWL seeing the non modified ingredient as a property of the concept for the purpose of subsumption. Finally
This could be used by the ECL engines.
Solution Options:
|
SNOMED OWL Query Engine | Jeremy and all |
|