Search



Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

To support use cases such as the SNOMED CT concept model and terminology binding, expression constraints may constrain the number of times an attribute can be included in an expression or concept definition represented in the SNOMED CT distribution view

Footnote Macro

For more information about the SNOMED CT distribution view, please refer to the SNOMED CT Technical Implementation Guide. Please note that full normalization of expressions (as would be performed by a Description Logic classifier) is required prior to evaluation.

. This is done using a cardinality constraint, which consists of a minimum cardinality and a maximum cardinality (written "[X..Y]"). A minimum cardinality of X constrains the valid clinical meanings to those which have at least (i.e. >=) X non-redundant

Footnote Macro

As defined in the SNOMED CT Technical Implementation Guide.

attributes that match the given attribute criteria. A maximum cardinality of Y constrains the valid clinical meanings to those which have at most (i.e. <=) Y non-redundant

Footnote Macro

As defined in the SNOMED CT Technical Implementation Guide.

 attributes attributes that match the given attribute criteria. For example, a cardinality of "[1..5]" indicates that all clinical meanings that satisfy the given expression constraint must have at least one and at most five attributes that match the given attribute criteria.

The expression constraint below is satisfied only by products with one, two or three active ingredients.

Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		[1..3] 127489000 |Has active ingredient| = < 105590001 |Substance|

Using the long syntax, this expression constraint may be represented as:

Scg expression
Borderridge
ShowFormatblock

...

	descendantOf 373873005 |Pharmaceutical / biologic product|:

...

		[1 to 3] 127489000 |Has active ingredient| = descendantOf 105590001 |Substance|

The following expression constraint is satisfied only by products which have exactly one active ingredient:

Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		[1..1] 127489000 |Has active ingredient| = < 105590001 |Substance|

Unconstrained Cardinalities

A minimum cardinality of '0' indicates that there is no constraint on the minimum number of attributes that may match the given attribute criteria. For example, the following expression constraint is satisfied only by products with at most one active ingredient (i.e. the maximum cardinality is '1' and the minimum cardinality is unconstrained).

Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		[0..1] 127489000 |Has active ingredient| = < 105590001 |Substance|

Using the long syntax, this may be represented as:

Scg expression
Borderridge
ShowFormatblock

...

	descendantOf 373873005 |Pharmaceutical / biologic product|:

...

		[0 to 1] 127489000 |Has active ingredient| = descendantOf 105590001 |Substance|

A maximum cardinality of '*' (or 'many') indicates that there is no constraint on the maximum number of attributes that may match the given attribute criteria. For example, the following expression constraint is satisfied only by products that have at least one active ingredient (i.e. the minimum cardinality is '1' and the maximum cardinality is unconstrained).

Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		[1..*] 127489000 |Has active ingredient| = < 105590001 |Substance|

Using the long syntax, this may be represented as:

Scg expression
Borderridge
ShowFormatblock

...

	descendantOf 373873005 |Pharmaceutical / biologic product|:

...

		[1 to many] 127489000 |Has active ingredient| = descendantOf 105590001 |Substance|

A cardinality of [0..*] should therefore never be used as this indicates that the given attribute is not being constrained in any way, and is therefore a redundant part of the expression constraint.

...

The default cardinality of each attribute, where not explicitly stated, is [1..*]. Therefore, the following two expression constraints are equivalent.

Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		[1..*] 127489000 |Has active ingredient| = < 105590001 |Substance|


Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		127489000 |Has active ingredient| = < 105590001 |Substance|

Non-redundant Attributes

As mentioned above, only non-redundant defining attributes are included in the cardinality count. Therefore, the following postcoordinated expression:

Scg expression
Borderridge
ShowFormatblock

...

	< 404684003 |Clinical finding|:

...

		{116676008 |Associated morphology| = 72704001 |Fracture|,

...

		 363698007 |Finding site| = 299701004 |Bone of forearm|,
		 363698007 |Finding 

...

site| = 62413002 |Bone structure of radius|}

will successfully satisfy the expression constraint:

Scg expression
Borderridge
ShowFormatblock

...

	< 404684003 |Clinical finding|:

...

		[1..1] 363698007 |Finding site| = < 91723000 |Anatomical structure|

This is because

inline
Scg expression
ShowFormat
Concept
t299701004
|Bone
of
forearm|
 is a supertype of scg-expression
Concept
t62413002
|Bone
structure
of
radius|
 and therefore the attribute "

Scg expression
ShowFormatinline
363698007 |Finding site| = 299701004 |Bone of forearm|

" is redundant.

Attribute Cardinality in Groups

When the attributes to which cardinality are applied can be grouped, but braces are not used in the expression constraint, the cardinality constrains the number of times the attribute may be included in any attribute group. For example, the following expression constraint is satisfied by any clinical finding whose definition has two or more non-redundant finding sites, irrespective of which attribute group they are contained in.

Scg expression
Borderridge
ShowFormatblock

...

	< 404684003 |Clinical finding|: 

...

		[2..*] 363698007 |Finding site| = < 91723000 |Anatomical structure|

In contrast, when braces are placed around an attribute with a given cardinality, there must exist at least one attribute group for which the given cardinality is satisfied by attributes in that group. For example, the following expression constraint is satisfied by any clinical finding whose definition contains an attribute group with two or more non-redundant finding sites.

Scg expression
Borderridge
ShowFormatblock

...

	< 404684003 |Clinical finding|: 

...

		{ [2..*] 363698007 |Finding site| = < 91723000 |Anatomical structure| }

Attribute Group Cardinality

...

The expression constraint below is satisfied only by products with one, two or three attribute groups, which each contain at least one active ingredient relationship.

Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		[1..3] { [1..*] 127489000 |Has active ingredient| = < 105590001 |Substance| }

Please note that the above expression constraint is equivalent to:

Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		[1..3] { 127489000 |Has active ingredient| = < 105590001 |Substance| }

And may be written using the long syntax as:

Scg expression
Borderridge
ShowFormatblock

...

	descendantOf 373873005 |Pharmaceutical / biologic product|:

...

		[1 to 3] { [1 to many] 127489000 |Has active ingredient| =

...


			descendantOf 105590001 |Substance| }                         

...

 

...

 

...

Unconstrained Cardinalities

As with attribute cardinalities, a minimum cardinality of '0' indicates that there is no constraint on the minimum number of attribute groups that may match the given attribute group criteria. For example, the following expression constraint is satisfied only by products with at most one attribute group containing an active ingredient relationship (i.e. the maximum attribute group cardinality is '1' and the minimum attribute group cardinality is unconstrained).

Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:
		[0..1] 

...

{ 127489000 |Has active ingredient| = < 105590001 |Substance| }

Using the long syntax, this may be represented as:

Scg expression
Borderridge
ShowFormatblock

...

	descendantOf 373873005 |Pharmaceutical / biologic product|:

...

		[0 to 1] { 127489000 |Has active ingredient| = descendantOf 105590001 |Substance| }

A maximum cardinality of '*' (or 'many') indicates that there is no constraint on the maximum number of attribute groups that may match the given attribute group criteria. For example, the following expression constraint is satisfied only by products that have at least one attribute group containing an active ingredient relationship (i.e. the minimum attribute group cardinality is '1' and the maximum attribute group cardinality is unconstrained).

Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		[1..*] { 127489000 |Has active ingredient| = < 105590001 |Substance| }

Using the long syntax, this may be represented as:

Scg expression
Borderridge
ShowFormatblock

...

	descendantOf 373873005 |Pharmaceutical / biologic product|:

...

		[1 to *] { 127489000 |Has active ingredient| = descendantOf 105590001 |Substance| }

A cardinality of [0..*] should therefore never be used as this indicates that the given attribute group is not being constrained in any way, and is therefore a redundant part of the expression constraint.

...

As with attribute cardinality, the default attribute group cardinality, where not explicitly stated, is [1..*]. Therefore, the following four expression constraints are equivalent.

Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		{ 127489000 |Has active ingredient| = < 105590001 |Substance| }


Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		{ [1..*] 127489000 |Has active ingredient| = < 105590001 |Substance| }


Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		[1..*] { 127489000 |Has active ingredient| = < 105590001 |Substance| }


Scg expression
Borderridge
ShowFormatblock

...

	< 373873005 |Pharmaceutical / biologic product|:

...

		[1..*] { [1..*] 127489000 |Has active ingredient| = < 105590001 |Substance| }

Non-redundant Attribute Groups

As mentioned above, only non-redundant defining attributes are included in the cardinality count. Therefore, the following postcoordinated expression:

Scg expression
Borderridge
ShowFormatblock

...

	< 404684003 |Clinical finding|:

...

		{ 363698007 |Finding site| = 299701004 |Bone of forearm| },
		{ 363698007 |Finding 

...

site| = 62413002 |Bone structure of radius| }

will successfully satisfy the expression constraint:

Scg expression
Borderridge
ShowFormatblock

...

	< 404684003 |Clinical finding|:

...

		[1..1] { 363698007 |Finding site| = < 91723000 |Anatomical structure| }

This is because

Concept
scg-expression
t299701004
|Bone
of
forearm|
 is a supertype of scg-expression
Concept
t62413002
|Bone
structure
of
radius|
 and therefore the attribute group "

Scg expression
ShowFormatinline
{ 363698007 |Finding site| = 299701004 |Bone of forearm| }

" is redundant.

Attribute and Attribute Group Cardinalities

Attribute cardinalities and attribute group cardinalities can be used together to achieve a combined effect. For example, to represent the set of clinical findings which have have no attribute  attribute groups that contain two or more finding site attributes (in the same attribute group), the following expression constraint can be used:

Scg expression
Borderridge
ShowFormatblock

...

	< 404684003 |Clinical finding|: 

...

		[0..0] { [2..*]  363698007 |Finding site|  = <  91723000 |Anatomical structure| }

Reverse Cardinalities

When a cardinality constraint is applied to a reversed refinement, it constrains the number of source concepts (matching the given criteria) for which each destination concept may be relevant attribute value.

For example, the following expression constraint represents the substances, which are the active ingredient of exactly three products.

Scg expression
Borderridge
ShowFormatblock
	< 105590001 |Substance|: [3..3] R 127489000 |Has active ingredient| = *

If this expression constraint was executed against a simplified substrate containing the following seven relationships:

Source conceptAttributeDestination concept

Concept
t412458007 |Orphenadrine + aspirin + caffeine|

Concept
t127489000 |Has active ingredient|

Concept
t372714007 |Orphenadrine|

Concept
t412458007 |Orphenadrine + aspirin + caffeine|

Concept
t127489000 |Has active ingredient|

Concept
t387458008 |Aspirin|

Concept
t412458007 |Orphenadrine + aspirin + caffeine|

Concept
t127489000 |Has active ingredient|

Concept
t255641001 |Caffeine|

Concept
t412096001 |Aspirin + codeine|

Concept
t127489000 |Has active ingredient|

Concept
t387458008 |Aspirin|

Concept
t412096001 |Aspirin + codeine|

Concept
t127489000 |Has active ingredient|

Concept
t387494007 |Codeine|

Concept
t424102008 |Acetaminophen+aspirin|

Concept
t127489000 |Has active ingredient|

Concept
t387517004 |Acetaminophen|

Concept
t424102008 |Acetaminophen+aspirin|

Concept
t127489000 |Has active ingredient|

Concept
t387458008 |Aspirin|

then the result would include only the concept

Concept
t387458008 |Aspirin|
. 

...

Display Footnotes Macro