SNOMED Documentation Search
The following ABNF definition specifies the SNOMED CT Template Syntax.
templateSlot = templateReplaceSlot / templateRemoveSlot
templateReplaceSlot = "[[" ws "+" ws [replaceInfo ws] [slotInfo ws] "]]"
templateRemoveSlot = "[[" ws [slotInfo ws] "]]"
replaceInfo = conceptReplaceInfo / expressionReplaceInfo / constraintReplaceInfo / stringReplaceInfo
conceptReplaceInfo = "id" [ ws "(" ws expressionConstraint ws ")" ]
expressionReplaceInfo = "scg" [ ws "(" ws expressionConstraint ws ")" ]
constraintReplaceInfo = "ecl" [ ws "(" ws expressionConstraintTemplate ws ")" ]
stringReplaceInfo = "str" [ ws "(" ws slotStringSet ws ")" ]
slotStringSet = slotString *(ws "," ws slotString)
slotInfo = [slotCardinality ws] [slotName ws] [slotReference ws]
slotCardinality = nonNegativeInteger ".." (nonNegativeInteger / "*")
slotName = "@" slotString
slotReference = "$" slotString
slotString = *nonQuoteString / (doubleQM *nondoubleQuoteString doubleQM) / (singleQM *nonsingleQuoteString singleQM)
nonQuoteString = %x21 / %x23 / %x25-26 / %x28-3F / %x41-5A / %x5C / %x5E-7E ; no ws, quotes, at, or dollar
nondoubleQuoteString = %x21 / %x23 / %x25-3F / %x41-7E ; no ws, double quotes, at or dollar
nonsingleQuoteString = %x21-23 / %x25-26 / %x28-3F / %x41-7E ; no ws, single quotes, at or dollar
nonNegativeInteger = (%x31-39 *(%x30-39) ) / %x30 ; (digitNonZero *digit) / zero
doubleQM = %x22 ; Double quotation mark
singleQM = %x27 ; Single quotation mark
Please note that three of the rules used above are defined in other specifications. In particular,
These rules must be combined with the Template Syntax defined above.