SNOMED Documentation Search
This section provides a brief description of each rule listed above in the normative specification.
templateSlot = templateReplacementSlot / templateInformationSlot | |
---|---|
A template slot is part of a template that is either replaced with a value (i.e. a templateRelacementSlot), or removed after the information it contains is interpreted (i.e. a templateInformationSlot). | |
templateReplacementSlot = conceptReplacementSlot / expressionReplacementSlot / tokenReplacementSlot / concreteValueReplacementSlot | |
A template replacement slot is a placeholder whose value can be completed at a subsequent time. A template replacement slot may be either a concept replacement slot, an expression replacement slot, a token replacement slot or a concrete value replacement slot. | |
conceptReplacementSlot = "[[" ws "+" ws conceptReplacement [slotName ws] "]]" | |
A concept replacement slot starts and ends with double square brackets (i.e. "[[ ... ]]"). The first non-whitespace character inside the brackets must always be a plus sign (i.e. "+"), followed by the concept replacement rule and an optional slot name. | |
expressionReplacementSlot = "[[" ws "+" ws expressionReplacement [slotName ws] "]]" | |
An expression replacement slot starts and ends with double square brackets (i.e. "[[ ... ]]"). The first non-whitespace character inside the brackets must always be a plus sign (i.e. "+"), followed by the expression replacement rule and an optional slot name. | |
tokenReplacementSlot = "[[" ws "+" ws tokenReplacement [slotName ws] "]]" | |
A token replacement slot starts and ends with double square brackets (i.e. "[[ ... ]]"). The first non-whitespace character inside the brackets must always be a plus sign (i.e. "+"), followed by the token replacement rule and an optional slot name. | |
concreteValueReplacementSlot = "[[" ws "+" ws concreteValueReplacement [slotName ws] "]]" | |
A concrete value replacement slot starts and ends with double square brackets (i.e. "[[ ... ]]"). The first non-whitespace character inside the brackets must always be a plus sign (i.e. "+"), followed by the concept replacement rule and an optional slot name. | |
conceptReplacement = "id" ws [ "(" ws slotExpressionConstraint ws ")" ws] | |
A concept replacement starts with the text "id", and then optionally includes an expression constraint (in round brackets) that restricts the valid values that may replace the slot. | |
expressionReplacement = ["scg" ws] ["(" ws slotExpressionConstraint ws ")" ws] | |
An expression replacement starts (optionally) with the text "scg", and then optionally includes an expression constraint (in round brackets) to restrict the valid values that may replace the slot. Note that "scg" is the default type of replacement slot. | |
tokenReplacement = "tok" ws [ "(" ws slotTokenSet ws ")" ws] | |
A token replacement starts with the text "tok", and then optionally includes a token set (in round brackets) to restrict the valid values that may replace the slot. | |
concreteValueReplacement = stringReplacement / integerReplacement / decimalReplacement / booleanReplacement | |
A concrete value replacement may either be a string replacement, an integer replacement, a decimal replacement, or a boolean replacement. | |
stringReplacement = "str" ws [ "(" ws slotStringSet ws ")" ws] | |
A string replacement starts with the text "str", and then optionally includes a string set (in round brackets) to restrict the valid values that may replace the slot. | |
integerReplacement = "int" ws [ "(" ws slotIntegerSet ws ")" ws] | |
An integer replacement starts with the text "int", and then optionally includes a integer set (in round brackets) to restrict the valid values that may replace the slot. | |
decimalReplacement = "dec" ws [ "(" ws slotDecimalSet ws ")" ws] | |
A decimal replacement starts with the text "dec", and then optionally includes a decimal set (in round brackets) to restrict the valid values that may replace the slot. | |
booleanReplacement = "bool" ws [ "(" ws slotBooleanSet ws ")" ws] | |
A boolean replacement starts with the text "bool", and then optionally includes a boolean set (in round brackets) to list the valid values that may replace the slot. | |
slotTokenSet = slotToken *(mws slotToken) | |
A slotTokenSet consists of one or more slotTokens separated by mandatory white space (i.e. mws). | |
slotStringSet = slotString *(mws slotString) | |
a slotStringSet consists of one or more slotStrings separated by mandatory white space (i.e. mws). | |
slotIntegerSet = ( "#" integerValue / slotIntegerRange) *(mws ("#" integerValue / slotIntegerRange)) | |
A slotIntegerSet consists of one or more slotIntegers separated by mandatory white space (i.e. mws). | |
slotDecimalSet = ( "#" decimalValue / slotDecimalRange) *(mws ("#" decimalValue / slotDecimalRange)) | |
A slotDecimalSet consists of one or more slotDecimals separated by mandatory white space (i.e. mws). | |
slotBooleanSet = slotBooleanValue *(mws slotBooleanValue) | |
A slotBooleanSet consists of one or more slotBooleanValues separated by mandatory white space (i.e. mws). | |
slotIntegerRange = ( slotIntegerMinimum to [ slotIntegerMaximum ] ) / ( to slotIntegerMaximum ) | |
A slotIntegerRange includes either a slotIntegerMinimum, a slotIntegerMaximum, or both. The slotIntegerMinimum and slotIntegerMaximum are separated by a 'to' token. | |
slotIntegerMinimum = [ exclusiveMinimum ] "#" integerValue | |
A slotIntegerMinimum includes a minimum integerValue preceded by a "#". By default the minimum is inclusive (i.e. the minimum value is a valid value in the range). However, the minimum value may be declared to be exclusive (i.e. not a valid value in the range) by preceding it with the exclusiveMinimum symbol (i.e. ">"). | |
slotIntegerMaximum = [ exclusiveMaximum ] "#" integerValue | |
A slotIntegerMaximum includes a maximum integerValue preceded by a "#". By default the maximum is inclusive (i.e. the maximum value is a valid value in the range). However, the maximum value may be declared to be exclusive (i.e. not a valid value in the range) by preceding it with the exclusiveMaximum symbol (i.e. "<"). | |
slotDecimalRange = ( slotDecimalMinimum to [ slotDecimalMaximum ] ) / ( to slotDecimalMaximum ) | |
A slotDecimalRange includes either a slotDecimalMinimum, a slotDecimalMaximum, or both. The slotDecimalMinimum and slotDecimalMaximum are separated by a 'to' token. | |
slotDecimalMinimum = [ exclusiveMinimum ] "#" DecimalValue | |
A slotDecimalMinimum includes a minimum decimalValue preceded by a "#". By default the minimum is inclusive (i.e. the minimum value is a valid value in the range). However, the minimum value may be declared to be exclusive (i.e. not a valid value in the range) by preceding it with the exclusiveMinimum symbol (i.e. ">"). | |
slotDecimalMaximum = [ exclusiveMaximum ] "#" DecimalValue | |
A slotDecimalMaximum includes a maximum decimalValue preceded by a "#". By default the maximum is inclusive (i.e. the maximum value is a valid value in the range). However, the maximum value may be declared to be exclusive (i.e. not a valid value in the range) by preceding it with the exclusiveMaximum symbol (i.e. "<"). | |
exclusiveMinimum = ">" | |
The exclusiveMinimum symbol is ">". When used before the minimum value, it declares that this value is not a valid part of the range. | |
exclusiveMaximum = "<" | |
The exclusiveMaximum symbol is "<". When used before the maximum value, it declares that this value is not a valid part of the range. | |
slotBooleanValue = true / false | |
A boolean value is either true or false. | |
true = ("t"/"T") ("r"/"R") ("u"/"U") ("e"/"E") | |
A boolean value of true is represented by the word "true" (case insensitive). | |
false = ("f"/"F") ("a"/"A") ("l"/"L") ("s"/"S") ("e"/"E") | |
A boolean value of false is represented by the word "false" (case insensitive). | |
slotName = "@" (nonQuoteStringValue / slotString) | |
A slotName starts with an at symbol (i.e. "@"), followed by either a quoted or unquoted string. | |
slotToken = definitionStatus / memberOf / constraintOperator / conjunction / disjunction / exclusion / reverseFlag / expressionComparisonOperator / numericComparisonOperator / stringComparisonOperator / booleanComparisonOperator | |
A slotToken is any token from SNOMED CT Compositional Grammar or the SNOMED CT Expression Constraint Language. This includes the definitionStatus, memberOf, constraintOperator, conjunction, disjunction, exclusion, reverseFlag, expressionComparisonOperator, numericComparisonOperator, stringComparisonOperator and booleanComparisonOperator tokens. | |
slotString = QM slotStringValue QM | |
A slotString is a string value enclosed in quotation marks. | |
nonQuoteStringValue = *(%x21 / %x23-26 / %x28-3F / %x41-5A / %x5C / %x5E-7E) ; string with no ws, quotes, at or square brackets | |
A nonQuoteStringValue includes any character that is not whitespace, quotes, or the @ symbol. | |
templateInformationSlot = "[[" ws slotInformation ws "]]" | |
A templateInformationSlot starts and ends with double square brackets (i.e. "[[ ... ]]"), and contains slotInformation. | |
slotInformation = [cardinality ws] [slotName ws] | |
A slotInformation consists of either a cardinality, a slotName or both. |