SNOMED Documentation Search


You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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.


Feedback
  • No labels