The simplest type of expression constraint contains a single concept optionally preceded by an expression constraint operator and/or membership function. Expression constraint operators (e.g. descendant of) traverse the hierarchical relationships in SNOMED CT to return the set of concepts that are directly or transitively connected to the focus concept. Membership functions return the set of concepts referenced by a particular reference set.
In this section we consider some of these simple examples.
Self
If no expression constraint operator or membership function is applied, the expression constraint is satisfied only by the specified concept. For example, the expression constraint below is satisfied only by the concept
Scg expression |
---|
404684003 | |
clinical .
Scg expression |
---|
|
404684003 | |
clinical Please note that this expression constraint is equivalent to an expression that looks the same but is written in
SNOMED CT Compositional Grammar.
Descendant of
A single 'less than' sign (i.e. "<") indicates that the expression constraint is satisfied by all descendants of the specified concept. The expression constraint below evaluates to the set of all subtypes (both direct children and transitive subtypes) of
Scg expression |
---|
404684003 | |
clinical , using the brief syntax.
Scg expression |
---|
|
< 404684003 | |
clinical Using the long syntax, the above expression constraint may be represented as:
Scg expression |
---|
|
descendantOf 404684003 | |
clinical The descendantOf function is primarily used on concepts, which serve as the 'grouper' of a set of values (e.g.
Scg expression |
---|
404684003 | |
clinical Clinical finding (finding)| |
,
severities Severities (qualifier value)| |
,
unit ).
Descendant or self of
Two consecutive 'less than' signs (i.e. "<<") indicates that the expression constraint is satisfied by all descendants of the specified concept plus the specified concept itself. The expression constraint below evaluates to the set of descendants of
diabetes , plus the concept
diabetes itself. << 73211009 |diabetes itself. Scg expression |
---|
|
<< 73211009 |Diabetes mellitus| |
Using the long syntax, the above expression constraint may be represented as:
Scg expression |
---|
|
descendantOrSelfOf 73211009 | |
diabetes The descendantOrSelfOf function is primarily used for attribute values, which refer to a specific clinical value (e.g.
diabetes ,
colonoscopy,
Scg expression |
---|
385055001 | |
tablet ), but any specialization of this value is also acceptable.
Child of
An exclamation mark directly followed by a 'less than' sign (i.e. "<!") indicates that the expression constraint is satisfied by the set of immediate children of the specified concept. The children of a concept are those concepts that are the source of a non-redundant |is a| relationship whose target is the given concept. The expression constraint below, represented using the brief syntax, evaluates to the set of immediate children of the concept
clinical .
Scg expression |
---|
|
<! 404684003| |
clinical Using the long syntax, the above expression constraint may be represented as:
Scg expression |
---|
|
childOf 404684003| |
clinical Ancestor of
A single 'greater than' sign (i.e. ">") indicates that the expression constraint is satisfied by all ancestors of the specified concept. The expression constraint below, using the brief syntax, evaluates to the set of all supertypes (both direct parents and transitive supertypes) of
acute :
Scg expression |
---|
|
> 40541001 | |
acute Using the long syntax, the above expression constraint may be represented as:
Scg expression |
---|
|
ancestorOf 40541001 | |
acute Ancestor or self of
Two consecutive 'greater than' signs (i.e. ">>") indicates that the expression constraint is satisfied by all ancestors of the specified concept plus the specified concept itself. The expression constraint below evaluates to the set of ancestors of
acute , plus the concept
acute .
Scg expression |
---|
|
>> 40541001| |
acute Using the long syntax, the above expression constraint may be represented as:
Scg expression |
---|
|
ancestorOrSelfOf 40541001 | |
acute Parent of
An exclamation mark directly followed by a 'greater than' sign (i.e. ">!") indicates that the expression constraint is satisfied by the set of immediate parents of the specified concept. The parents of a concept are those concepts that are the target of a non-redundant |is a| relationship whose source is the given concept. The expression constraint below, represented using the brief syntax, evaluates to the set of immediate parents of the concept
acute .
Scg expression |
---|
|
>! 40541001 | |
acute Using the long syntax, the above expression constraint may be represented as:
Scg expression |
---|
|
parentOf 40541001 | |
acute Member of
The memberOf function evaluates to the set of concepts that are referenced by the given reference set (i.e. the set of referencedComponentIds). Please note that this function may be applied only to reference sets whose referenced components are concepts. The SNOMED CT Expression Constraint language does not support use of the memberOf function on reference sets whose referencedComponents are not concepts (i.e. descriptions, relationships or reference sets).
The memberOf function is represented in the brief syntax using a 'caret' character (i.e. "^") and must be immediately followed by a single concept id for a concept-based reference set. For example, the following expression constraint is satisfied by the set of concepts which are members of
Scg expression |
---|
|
700043003|Example problem list concepts reference set| |
:
Scg expression |
---|
|
^ 700043003 | |
example Example problem list concepts reference set | |
Using the long syntax the expression constraint is represented as:
Scg expression |
---|
|
memberOf 700043003 | |
example Example problem list concepts reference set | |
Please note that to represent the members of a reference set, which is itself composed of members of two or more other reference sets, an intensional definition should be created. For example, to refer to the members of the
allergen , which is defined as containing the members of the
drug Drug allergen reference set| |
and and the members of the
food Food allergen reference set| |
, then a row should be inserted into a query reference set with:
Scg expression |
---|
|
referencedComponentId = AAAAAA |
and Scg expression |
---|
|
query = ^ DDDDDD | |
drug Drug allergen reference set| OR ^ FFFFFF | |
food Food allergen reference set| |
(where AAAAAA, DDDDDD and FFFFFF are the concept identifiers of the respective reference sets).
The expression constraint "
allergen " will then be satisfied by both the concepts referenced by
drug Drug allergen reference set| |
and and the concepts referenced by
food Food allergen reference set| |
.
Any
A single 'star' (i.e. "*") may be used in the place of a concept reference to represent any concept in the substrate. The expression constraint below evaluates to the set of all concepts in the given substrate.
Using the long syntax, the above expression constraint may also be represented as:
This wildcard character (or 'ANY' keyword) may be used anywhere within an expression constraint that a concept reference may be used. In many situations, the wildcard is equivalent to the following expression constraint:
Scg expression |
---|
|
<< 138875005 |SNOMED CT concept| |
However, some situations exist in which the concept
Scg expression |
---|
138875005 |SNOMED CT concept| |
is is not included in the substrate, and therefore cannot be used to determine the full set of concepts available. In other cases, the single character wildcard may serve as a convenient shortcut for the longer expression constraint above.
Please note that the following three expression constraints evaluate to the same set of concepts:
The expression constraint below evaluates to all concepts in the substrate minus the root concept:
And the expression constraint below evaluates to all non-leaf concepts in the substrate:
Finally, the expression constraint below evaluates to all concepts that are referenced by any reference set in the substrate:
...