SNOMED Documentation Search


Versions Compared

Key

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

In this section, we explain the steps involved in generating a set of SNOMED CT expressions from a SNOMED CT expression template and a set of input data. As illustrated on in 7. Processing Expression Templates, this includes:

  • Adding repetition and connectors;
  • Replacing slot values;
  • Removing information slots; and
  • Cleaning up.

...

Expression templates may use explicit or default cardinalities to indicate parts of the expression that may be repeated (i.e. where the maximum cardinality is great than 1). In particular, a focus concept may be repeated, a relationship group may be repeated, or an attribute-value pair may be repeated. Repetition, however, is only required when multiple values are provided in the input data for a particular part of the template (see 7.1. Preparing Input Data). When multiple values are found in the input data, and this corresponds to a repeatable part of the expression template, the associated part of the expression must be duplicated to enable each separate value to be included.

...

Scg expression
Borderridge
ShowFormatblock
   	[[1..*]] [[+id (<< 64572001 |Disease|) @Disease]]:
      		[[1..* @Group]] { [[1..* @CausedBy]] 246075003 |Causative agent| = [[+id (< 410607006 |Organism|) @Organism]],
                                							[[0..1 @After]] 255234002 |After| = [[+id (< 404684003 |Clinical finding|) @AfterFinding]] }   



Expression Data

Disease
(Focus Concept Slot)

Group
(Relationship Group Slot)

CausedBy
(Attribute Name-Value Pair Slot)

Organism
(Attribute Value Slot)

After
(Attribute Name-Value Pair Slot)

AfterFinding
(Attribute Value Slot)
1

Concept
t40733004 |Disorder due to infection|


11

Concept
t80166006 |Streptococcus pyogenes|

1

Concept
t58718002 |Rheumatic fever|

Concept
t19342008 |Subacute disease|

1

Concept
t113985000 |Streptococcus gallolyticus|

21

Concept
t49872002 |Virus|

1

...

Scg expression
Borderridge
ShowFormatblock
   	[[1..*]] [[+id (<< 64572001 |Disease|) @Disease]] + [[+id (<< 64572001 |Disease|) @Disease]]:
      		[[1..* @Group]] { [[1..* @CausedBy]] 246075003 |Causative agent| = [[+id (< 410607006 |Organism|) @Organism]],
                                                                											246075003 |Causative agent| = [[+id (< 410607006 |Organism|) @Organism]],
                                							[[0..1 @After]] 255234002 |After| = [[+id (< 404684003 |Clinical finding|) @AfterFinding]] },
                               {						{ [[1..* @CausedBy]] 246075003 |Causative agent| = [[+id (< 410607006 |Organism|) @Organism]],
                                							[[0..1 @After]] 255234002 |After| = [[+id (< 404684003 |Clinical finding|) @AfterFinding]] }

Please note that when an expression is used to populate an attribute value, it may be required to add brackets around the attribute value to ensure syntactic correctness of the resulting expression

...

Scg expression
Borderridge
ShowFormatblock
   	[[1..*]] 40733004 |Disorder due to infection| + 19342008 |Subacute disease|:
      		[[1..* @Group]] { [[1..* @CausedBy]] 246075003 |Causative agent| = 80166006 |Streptococcus pyogenes|,
                                                                											246075003 |Causative agent| = 113985000 |Streptococcus gallolyticus|,
                                							[[0..1 @After]] 255234002 |After| = 58718002 |Rheumatic fever| },
                               {						{ [[1..* @CausedBy]] 246075003 |Causative agent| = 49872002 |Virus|,
                                							[[0..1 @After]] 255234002 |After| = }

...

Scg expression
Borderridge
ShowFormatblock
   	40733004 |Disorder due to infection| + 19342008 |Subacute disease|:
      {		{ 246075003 |Causative agent| = 80166006 |Streptococcus pyogenes|,
       			246075003 |Causative agent| = 113985000 |Streptococcus gallolyticus|,
       			255234002 |After| = 58718002 |Rheumatic fever| },
      {		{ 246075003 |Causative agent| = 49872002 |Virus|,
       			255234002 |After| = }

Clean Up

Clean up is an activity that can occur at any or all stages of template processing. However, any clean up that has not occurred during the other previous stages, should be performed before completingcompletion

In particular, this step involves moving any extra brackets (i.e. "( ... )"), braces (i.e. "{ ... }"), colons (i.e. ":"), equals (i.e. "="), attribute names or connectors (i.e. "+" or ",") that would cause the resulting expression to be syntactically invalid. Extraneous characters are most likely to occur when optional parts of an expression template have no corresponding value in the populated expression. When this occurs,  clean up may be required to remove these characters.

...

Scg expression
Borderridge
ShowFormatblock
   	40733004 |Disorder due to infection| + 19342008 |Subacute disease|:
      {		{ 246075003 |Causative agent| = 80166006 |Streptococcus pyogenes|,
       			246075003 |Causative agent| = 113985000 |Streptococcus gallolyticus|,
       			255234002 |After| = 58718002 |Rheumatic fever| },
      {		{ 246075003 |Causative agent| = 49872002 |Virus| }