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.
Simple Expression Constraints
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
|
Key Operators for Simple Expression Constraints
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
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
Refinement Examples
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.
ECL Query | Text Description of Query | Example Results |
---|
< 363787002 |Observable entity (observable entity)| : 246501002 |Technique (attribute)| = * |
| Query for all observable entity concepts which have a 246501002 |Technique (attribute)| |
| >7000 concepts including: 154831010000100 |Substance concentration of pro-brain natriuretic peptide in serum or plasma at point in time by immunoassay (observable entity)| |
|
<< 363787002 |Observable entity (observable entity)| : 246093002 |Component (attribute)| = << 68498002 |Antibody (substance)| AND 704327008 |Direct site (attribute)| = << 122592007 |Acellular blood (serum or plasma) specimen (specimen)| |
| Query for all observable entity concepts where 246093002 |Component (attribute)| |
is a subtype of
68498002 |Antibody (substance)| | and
704327008 |Direct site (attribute)| | is a subtype of
122592007 |Acellular blood (serum or plasma) specimen (specimen)| |
| >3000 concepts including: 204371010000103 |Presence of Aspergillus fumigatus serotype 3 antibody in serum at point in time (observable entity)| |
|
<< 363787002 |Observable entity (observable entity)| : 246093002 |Component (attribute)| = << 68498002 |Antibody (substance)| AND 704327008 |Direct site (attribute)| = 122592007 |Acellular blood (serum or plasma) specimen (specimen)| |
| Query for all observable entity concepts where 246093002 |Component (attribute)| | is a subtype of
68498002 |Antibody (substance)| |
and704327008 |Direct site (attribute)| | is exactly
122592007 |Acellular blood (serum or plasma) specimen (specimen)| |
| >200 concepts including: 59001010000108 |Mass concentration of complement C3 nephritic factor in serum or plasma at point in time (observable entity)| |
|
> 80151010000108 |Mass concentration of monoclonal IgG in serum at point in time (observable entity)| |
| Query for all ancestors of 80151010000108 |Mass concentration of monoclonal IgG in serum at point in time (observable entity)| |
| 3 concepts including: 132201010000103 |Mass concentration of immunoglobulin G in serum or plasma at point in time (observable entity)| |
|
>! 176671010000107 |Arbitrary concentration of Afipia felis IgG in serum at point in time (observable entity)| |
| Query for parent of 176671010000107 |Arbitrary concentration of Afipia felis IgG in serum at point in time (observable entity)| |
|
253191010000109 |Arbitrary concentration of immunoglobulin G in serum at point in time (observable entity)| |
|
< 96371010000104 |Arbitrary concentration of alphafetoprotein in body fluid at point in time (observable entity)| |
| Query for all descendants of 96371010000104 |Arbitrary concentration of alphafetoprotein in body fluid at point in time (observable entity)| |
| 4 concepts including: 137271010000105 |Arbitrary concentration of alphafetoprotein in pleural fluid at point in time (observable entity)| |
|
<< 363787002 |Observable entity (observable entity)| : 370130000 |Property (attribute)| = << 705057003 |Presence (property) (qualifier value)| |
| Query for all observable entity concepts where 370130000 |Property (attribute)| |
is a subtype of705057003 |Presence (property) (qualifier value)| |
| >1000 concepts including: 157591010000108 |Presence of Influenza A virus RNA in microbial isolate at point in time by probe with target amplification (observable entity)| |
|
< 363787002 |Observable entity (observable entity)| {{ C definitionStatus = defined }} |
| Query for all sufficiently defined observable entity concepts | >18000 concepts including: 219541010000104 |Presence of hepatitis B virus rRNA in specimen at point in time by nucleic acid hybridization probe (observable entity)| |
|
< 363787002 |Observable entity (observable entity)| {{ C definitionStatusId = 900000000000074008 |Primitive| }} : 370130000 |Property (attribute)| = << 705057003 |Presence (property) (qualifier value)| |
| Query for all primitive observable entity concepts where 370130000 |Property (attribute)| |
is a subtype of705057003 |Presence (property) (qualifier value)| |
| >1000 concepts including: 192351010000101 |Presence of opioid receptor agonist in unknown substance at point in time (observable entity)| |
|
<< 363787002 |Observable entity (observable entity)| : 246093002 |Component (attribute)| = << 29246005 |Immunoglobulin G (substance)| OR 246093002 |Component (attribute)| = << 74889000 |Immunoglobulin M (substance)| |
| Query for all observable entity concepts where 246093002 |Component (attribute)| |
is a subtype of 29246005 |Immunoglobulin G (substance)| OR 74889000 |Immunoglobulin M (substance)| |
| >1500 concepts including: 171561010000105 |Presence of Borrelia burgdorferi 30kD IgG in serum at point in time by immunoblot assay (observable entity)| |
|
<< 363787002 |Observable entity (observable entity)| : 246093002 |Component (attribute)| = << 29246005 |Immunoglobulin G (substance)| AND 246093002 |Component (attribute)| != << 712606001 |Monoclonal immunoglobulin G (substance)| |
| Query for all observable entity concepts where 246093002 |Component (attribute)| |
is a subtype of 29246005 |Immunoglobulin G (substance)| |
AND is not a subtype of 712606001 |Monoclonal immunoglobulin G (substance)| |
| >900 concepts including: 143701010000100 |Presence of Hepatitis C virus IgG in plasma or serum or whole blood at point in time by rapid immunoassay (observable entity)| |
|
Expression Constraints with Filters
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. |
---|
Query using the SNOMED CT Browser
To execute expression constraints using the SNOMED LOINC Browser, please follow these instructions:
- Navigate to the LOINC Ontology browser: https://browser.loincsnomed.org/
- Enter the "Expression constraints Queries" in the panel to the right, as shown here:

- Copy an expression constraint from the examples above
- Paste the expression constraint into the Expression Constraints Query text box, as shown here:

- Click Execute (green button below the textbox)
- View results
