The integration of LOINC observable entity concepts into SNOMED CT follows a structured yet distinct approach, wherein LOINC concepts are incorporated as subtypes of |Observable entity| but maintain a flat hierarchical structure.
In the LOINC Ontology browser, the flat structure becomes evident, when searching for the concept |observable entity| and then exploring the large number of direct children of this concept.
While this design ensures comprehensive coverage of LOINC concepts, it inherently limits the effectiveness of simple subsumption-based retrieval, as concepts are not deeply nested within a hierarchical framework. However, this challenge is mitigated by the rich semantic modeling of LOINC concepts within SNOMED CT, which includes well-defined attributes and explicit logical definitions.
To facilitate efficient retrieval of LOINC concepts within SNOMED CT, the Expression Constraint Language (ECL) serves as a robust querying mechanism. ECL enables users to construct precise and attribute-driven queries, leveraging core LOINC attributes such as component, property, system (specimen), time aspect, and method. This capability allows for highly granular and targeted data extraction, supporting advanced clinical decision-making, analytics, and interoperability within healthcare systems.
For a detailed introduction and guidance to the SNOMED CT Expression Constraint Language, please refer to Expression Constraint Language.
The simplest form of an expression constraint consists of a focus concept, optionally preceded by a constraint operator. The focus concept represents a specific SNOMED CT term, while the constraint operator refines the selection. Simple expression constraints enable precise retrieval of concepts based on hierarchical relationships, making them fundamental for querying SNOMED CT data.
174771010000107 |Mass concentration of glucose in blood at point in time (observable entity)|
→ Retrieves the exact concept |Mass concentration of glucose in blood at point in time (observable entity)|
<<
174771010000107 |Mass concentration of glucose in blood at point in time (observable entity)|
→ Retrieves the exact concept |Mass concentration of glucose in blood at point in time (observable entity)| and all its descendants
Operator | Name | Description | Example (LOINC Observable Entities in SNOMED CT) |
---|---|---|---|
Self | The expression constraint is satisfied only by the specified concept | Retrieves only the specified concept | 593081010000107 |Aldosterone and renin activity panel - Plasma (observable entity)| |
* | Any | Any concept in the substrate | All LOINC Ontology concepts (incl. concepts in dependent modules) |
< | Descendant of | Retrieves all descendants (subtypes) of the specified concept | < 540081010000107 |Panel (observable entity)| |
<< | Descendant or self of | Retrieves all descendants (subtypes) of the specified concept including the concept itself | << 363787002 |Observable entity (observable entity)| → Includes all Observable entities |
<! | Child of | Retrieves all children (immediate subtypes) of the specified concept excluding the concept itself | <! 363787002 |Observable entity (observable entity)| → Direct children like "Laboratory test result" |
<<! | Child or self of | Retrieves all children (immediate subtypes) of the specified concept including the concept itself | <<! 363787002 |Observable entity (observable entity)| → "Laboratory test result" and itself |
> | Ancestor of | Retrieves all ancestors (supertypes) of the specified concept excluding the concept itself | > 234567001 (Hemoglobin measurement) → Retrieves "Laboratory test result" |
>> | Ancestor or self of | Retrieves all ancestors (supertypes) of the specified concept including the concept itself | >> 234567001 (Hemoglobin measurement) → Retrieves itself and ancestors |
>! | Parent of | Retrieves all parents (immediate supertypes) of the specified concept excluding the concept itself | >! 123456001 (Blood glucose level) → Retrieves "Laboratory test result" |
>>! | Parent or self of | Retrieves all parents (immediate supertypes) of the specified concept including the concept itself | >>! 123456001 (Blood glucose level) → Retrieves itself and immediate parent |
^ | Member of | Retrieves the referencedComponentId of all (active) members of a reference set | ^ 735981007 (LOINC Reference Set in SNOMED CT) → Retrieves all members of the LOINC refset |
Expression constraints with refinements extend simple expression constraints by specifying additional criteria to refine the selection of concepts. A refinement consists of an attribute-value pair, where the attribute represents a defining characteristic, and the value specifies the required condition. This allows for more precise querying of SNOMED CT concepts.
In the LOINC Ontology, expression constraints with refinements allow for more precise retrieval of LOINC terms based on specific attributes, such as Component, Site, or Technique. A refinement consists of an attribute-value pair, where the attribute defines a characteristic, and the value specifies the required condition.
<< 363787002 : 370130000 = 117363000
→ Retrieves all Observable entity (363787002) terms where Property (370130000) is Mass concentration (117363000), such as Glucose [Mass/volume] in Blood.
The following page of the Expression Constraint Language Specification and Guide details the different kinds of refinements that are supported by the Expression Constraint Language: Refinements
By applying refinements, users can precisely query LOINC-based Observable entities in SNOMED CT, ensuring they meet specific laboratory or clinical criteria.
The table below lists example ECL queries that can be performed to retrieve a set of concepts that matches the criteria delineated in the ECL expression.
Expression constraints with filters enhance concept selection by applying additional conditions based on metadata or external attributes rather than defining characteristics. Filters enable more flexible and targeted queries by constraining results based on criteria such as term status, module, effective time, or description type.
In the LOINC Ontology, expression constraints with filters allow for refined retrieval of LOINC terms based on metadata attributes such as versioning, language, or active status. By applying filters, users can narrow down results to match specific implementation requirements, ensuring more relevant and precise data retrieval.
The following pages of the Expression Constraint Language Specification and Guide details the different kinds of filters that can be used to refine a query:
The table below provides some examples of key filters for querying the LOINC Ontology content
Filter | ECL Query | Text Description of Query |
---|---|---|
Module Filter | << 363787002 |Observable entity (observable entity)| {{ C moduleId = 11010000107 |LOINC Extension module| }} | This ECL is satisfied by all concepts that are descendants or self of observable entities belonging to the LOINC extension module. Applying this module filter will ensure that only concepts belonging to the LOINC extension are returned. |
Description Filter | << 363787002 |Observable entity (observable entity)| {{ term = "glucose"}}{{ C moduleId = 11010000107 |LOINC Extension module| }} | This ECL adds the description filter {{ term = "glucose"}}. This ECL is satisfied by all concepts that are descendants or self of observable entities belonging to the LOINC extension module and has a description including the term 'glucose' |
Description Filter Word-prefix-any-order | << 363787002 |Observable entity (observable entity)| {{ term = "hydr uri"}} {{ C moduleId = 11010000107 |LOINC Extension module| }} | This ECL adds the description filter {{ term = "hydr uri"}}. This example demonstrats the word-prefix-any-order search that is the default behaviour: By default, term filters match using a word-prefix-any-order match technique. This means that each string value in the search term must match the start of a word in the concept's description term, but that these words may appear in any order. |
To execute expression constraints using the SNOMED LOINC Browser, please follow these instructions: