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 = slotStringValue *(mws slotStringValue) |
---|
| A slotStringSet consists of one or more slotStringValues separated by mandatory white space (i.e. mws). |
slotStringValue = QM stringValue QM |
| A slotStringValue is a stringValue surrounded with double quotation marks. |
slotIntegerSet = ( slotIntegerValue / slotIntegerRange) *(mws (slotIntegerValue / slotIntegerRange)) |
---|
| A slotIntegerSet consists of one or more slotIntegerValues separated by mandatory white space (i.e. mws). |
slotDecimalSet = ( slotDecimalValue / slotDecimalRange) *(mws (slotDecimalValue / 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). |
slotBooleanValue = booleanValue |
| A slotBooleanValue is simply a boolean value (i.e. true or false). |
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 ] slotIntegerValue |
---|
| A slotIntegerMinimum consists of a minimum slotIntegerValue. 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 ] slotIntegerValue |
---|
| A slotIntegerMaximum consists of a maximum slotIntegerValue. 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. "<"). |
slotIntegerValue = "#" ["-"/"+"] integerValue |
| A slotIntegerValue consists of a hash symbol followed by an integer value, with an optional "+" or "-" just before the value. |
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 ] slotDecimalValue |
---|
| A slotDecimalMinimum consists of a minimum slotDecimalValue. 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 ] slotDecimalValue |
---|
| A slotDecimalMaximum consists of a maximum slotDecimalValue. 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. "<"). |
slotDecimalValue = "#" ["-"/"+"] decimalValue |
| A slotDecimalValue consists of a hash symbol followed by a decimal value, with an optional "+" or "-" just before the value. |
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. |
slotName = "@" (slotStringValue / nonQuoteStringValue) |
---|
| 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. |
nonQuoteStringValue = *(%x21 / %x23-26 / %x28-3F / %x41-5A / %x5C / %x5E-7E) |
---|