The template design requirements include:
Requirement D.1: Replaceable expression placeholders
Expression templates should allow for placeholders to be specified within a SNOMED CT expression. From here on these placeholders will be referred to as 'slots'. Hence, a slot is a marked position within a template around which template instantiation is made. Slots should be able to be replaced by values that constitutes a true part of a SNOMED CT expression, such as concepts, expressions, ... etc.
Following expression parts should be able to be represented as a slot populating the template:
A single expression template should be able to contain one or more replaceable slots, and should support the following capabilities:
|Concept replacement||The ability to replace a slot with a precoordinated SNOMED CT concept using its identifier (and optional human-readable term)|
|Expression replacement||The ability to replace a slot with a SNOMED CT expression|
|The ability to replace a slot with predefined tokens, for example definitionStatus in an expression|
|Concrete value replacement||The ability to replace a slot with a concrete value represented by either a string, integer or decimal|
Requirement D.2 Slot Names
Expression templates should allow each slot to be assigned a name enabling the slot to be referenced from other artefacts, and for specifying input data.
Requirement D.3: Template constraints
Expression template slots should be able to be constrained to particular concept types. This means that the template should specify the allowable range of a particular slot, so that the resulting expression represents a meaning which satisfies the template constraints.
Requirement D.4: Repeatability of slots and expression parts
Expression templates should support a way of indicating how many times each part of an expression can be repeated when processing the template. This means that authors of a template should be able to specify whether or not a slot or expression part can be repeated.