Skip to end of metadata
Go to start of metadata


Unlike replacement slots, information slots are added to an expression template purely to provide metadata about how the template should be processed. When an expression template is processed, the information contained in the information slots is used and then the information slot itself is removed.

Information slots may be added to an expression template in one of three places:

  1. Before a focus concept slot to indicate information about the focus concept that follows,
  2. Before a relationship group to indicate information about the relationship group that follows, and
  3. Before an attribute to indicate information about the attribute name-value pair that follows.

Information slots may include either a cardinality constraint or a slot name (or both). In the following sections, we describe how each of these may be used in an information slot.


One of the important roles of an information slot is to specify the cardinality of the expression part that follows. A cardinality constraint states the minimum and maximum number of times that the focus concept, relationship group or attribute name-value pair that follows may be repeated in an expression that is generated from the given template.

For example, the expression template below allows between one and three concepts to be used to populate the finding slot, and exactly one  |Finding site| name-value pair.

    [[1..3]] [[+id (<  404684003 |Clinical finding| : [0..0]  363698007 |Finding site|  = * ) @finding]]: 
363698007 |Finding site|  =
            [[+id (<< 
442083009 |Anatomical or acquired body structure| ) @site ]]
Based on the cardinality specified in the information slots, the finding slot could be replaced by the two concepts |Infectious disease| and |Congenital disease| and the site slot could be replaced by the concept |Lung structure| to generate the following expression: Please note that when two or more concepts are used to replace a focus concept slot in an expression template, a plus sign (+) must be added between them to ensure the resulting expression is syntactically valid.

Default Cardinality

When a cardinality constraint is not provided in an information slot preceding a focus concept, relationship group or attribute name-value pair, the default cardinality that is assumed is  1..*. This means that by default focus concepts, relationship groups and attribute name-value pairs must appear at least once in the resulting expression, but may also be repeated many times. The SNOMED CT concept model, if enforced, may also impose some additional cardinality constraints on the number of times an attribute may be repeated. However, these additional concept model rules are not directly implied by the expression template itself.

As an example, the following expression template allows one or more procedures to be collectively refined by one or more relationship groups, each containing one or more values for  |Method| and |Procedure site - Direct|.

The above expression template is therefore equivalent to the following template, in which the cardinality of 1..* is explicitly stated on the focus concept, the relationship group, and each attribute name-value pair.
    [[1..*]] [[+id (<< 71388002 |Procedure| )]]: 
        [[1..*]] { [[1..*]] 
260686004 |Method|  = [[+id (<<  129264002 |Action (qualifier value)| )]],
405813007 |Procedure site - Direct|  = [[+id (<<  442083009 |Anatomical or acquired body structure (body structure)| )]] }
The replacement slots in this expression template could, for example, be replaced to generate the following expression: Please note that if the international SNOMED CT concept model was enforced, the above expression would not be valid due to the 260686004 |Method| appearing twice in the one relationship group.

Slot Name

 Information slots can also be given a slot name, to allow the expression part that follows the slot (i.e. focus concept, relationship group, or attribute name-value pair) to be referenced. The most common use of information slot names is to support the process of populating the template (e.g. as part of a programmatic value replacement process).

For example, the following expression template uses the name mpGroup to name the relationship group that contains both a  |Method| and a  |Procedure site - Direct|

  • No labels