SNOMED CT is a clinical terminology with global scope covering a wide range of clinical specialties and requirements. The use of SNOMED CT expressions in electronic health records (EHRs) provides a standardized way to represent clinical meanings captured by clinicians and enables the automatic interpretation of these meanings. SNOMED CT expression constraints provide a computable rule that can be used to define a bounded set of clinical meanings for the purpose of constraining the contents of a data element in an electronic health record (EHR), intensionally defining a concept-based reference set, querying SNOMED CT content in a machine processable way, or restricting the range of an attribute defined in the SNOMED CT concept model.
In some situations, however, the specific concepts or values are not known at the time of authoring. In these cases, one or more slots may be used within an expression or expression constraint to create an expression template or expression constraint template (respectively). Slots provide a placeholder in the expression or expression constraint, whose specific value can be completed at a subsequent time using a concept recorded within an information model, entered into a data entry form, or sourced by some other means. When each slot in the template has been replaced with a specific value, the result should be a syntactically correct expression or expression constraint. SNOMED CT templates can be used for a number of purposes, including to define reusable patterns for authoring and validating precoordinated concept definitions and postcoordinated expressions.
The purpose of this document is to define and describe a consistent mechanism for SNOMED CT templates, which can be used to convert any computable SNOMED CT language into a SNOMED CT template language. For example, by using the syntax provided in this document, SNOMED CT compositional grammar can be used as an expression template language, and the SNOMED CT expression constraint Language can be used as an expression constraint template language. This guide also provides examples and guidance to assist in the processing of templates.
This document presents the specification of a SNOMED CT template syntax, which can be used together with other formal SNOMED CT languages to develop SNOMED CT Templates. The SNOMED CT Template Syntax is part of a consistent set of computer processable language syntaxes designed to support a variety of use cases involving the use of SNOMED CT. Other computable SNOMED CT languages that are either complete or under development include:
This document provides a specification, examples and general guidance to assist in the representation and processing of SNOMED CT templates.
However, this document does not include a full description of how to implement a template parser or interpreter. It does not describe how to transform a template into other languages (such as OWL, SPARQL or SQL), or how to determine whether two templates are equivalent. It also does not describe how to implement a terminology server or an EHR which uses templates to constrain or query its content.
The target audiences of this document include:
It should be noted that this document contains both technical and non-technical content. In particular, the detailed logical model and formal syntax is specifically focussed at more technical readers. Less technical readers are encouraged to read the introductory material and examples.
This document defines the SNOMED CT template syntax and describes how and where it may be implemented. Chapter 2 begins by describing some key use cases in which SNOMED CT templates can be used. Chapter 3 then describes the requirements used to guide the definition of this syntax. In Chapter 4, the logical model of the template syntax is presented, while Chapter 5 defines the ABNF serialisation of the logical model. Chapter 6 explains how to apply the SNOMED CT template syntax to other computable languages, and provides the syntax for the expression template language (ETL). In chapter 7, we explain the steps involved in processing an expression template to create a set of populated expressions. And finally, in chapter 8, we present some examples of SNOMED CT expression templates that conform to the syntaxes defined in Chapters 5 and 6.
The following table contains the definition of terms used within this document. Please refer to the IHTSDO Glossary for additional SNOMED CT definitions.
Augmented Backus-Naur Form (ABNF)
A language used to define the formal syntax of another language (as defined by Internet Standard 68, RFC 5234).
The set of rules that govern the way in which SNOMED CT expressions are represented as a plain text string.
A set of rules that determines the permitted sets of relationships between particular types of concepts.
A structured combination of one or more concept identifiers used to express a clinical idea.
A computable rule that can be used to define a bounded set of clinical meanings.
|Expression Constraint Template||A SNOMED CT Expression Constraint containing slots that are intended to be processed at a later time.|
|Expression Template||A SNOMED CT Expression containing slots that are intended to be processed at a later time.|
|A representation of the rules that comprise the SNOMED CT Concept Model in a form that can be processed by computer software and applied to validate content.|
Representation of a clinical meaning using a combination of two or more concept identifiers is referred to as a postcoordinated expression.
Representation of a clinical meaning using a single concept identifier is referred to as a precoordinated expression.
|Query Template||A SNOMED CT Query containing slots that are intended to be processed at a later time.|
A SNOMED CT file structure consisting of a set of references to SNOMED CT components.
|Slot||A marked position in a SNOMED CT template that is either intended to be removed (and contains information about how the template should be processed), or replaced with a SNOMED CT concept, expression, token or concrete value at a later time.|
The SNOMED CT content over which an expression constraint is evaluated or a query is executed.
|Template||A SNOMED CT expression, constraint or query containing one or more slots that are intended to be processed at a later time.|