Theory
When the code you need doesn't exist yet
SNOMED CT has hundreds of thousands of pre-coordinated concepts — single codes whose meaning is fixed. But clinicians say things no single code captures: 'laparoscopic removal of the gallbladder for acute cholecystitis'. Rather than mint a code for every combination (a combinatorial explosion), SNOMED lets you post-coordinate: build the meaning by composing existing concepts.
Licensing note: SNOMED CT content is affiliate-licensed. Every identifier below is an illustrative placeholder, not a real SCTID. You compose with the grammar; you obtain the real codes from a licensed distribution.
The Compositional Grammar (SCG)
A post-coordinated expression starts from a focus concept and refines it with attribute–value pairs inside braces:
<focus concept> : <attribute> = <value> , <attribute> = <value>
Each attribute (e.g. Method, Procedure site, Causative agent) and each value is itself a SNOMED concept. The result is a new, machine-readable clinical statement that no one had to pre-define — yet it still classifies correctly because the engine knows the subsumption of every part.
Querying with ECL (Expression Constraint Language)
ECL is SNOMED's query language over the hierarchy. A few operators do most of the work:
<— all descendants of a concept (subtypes, excluding itself).<<— the concept and all descendants (self-or-descendant).:— refine by attribute, e.g. procedures whose site is some part of the digestive system.{{ }}— refinement and filters.
ECL is how a reference set ('refset') is defined as an intensional query instead of a hand-listed set — so 'all antibiotics' stays correct as the terminology grows.
Use Case Example: A hospital wants every encounter involving a procedure on any digestive-system structure. Hard-coding a code list rots the moment SNOMED adds a new subtype. An ECL query like < 71388002 |Procedure| : 363704007 |Procedure site| = << 86762007 |Digestive system structure| stays correct automatically, because << re-expands every release.