Each concept is associated with descriptions. Each description is an association between a human-readable phrase (term) and a particular SNOMED CT concept.
There are different types of descriptions and there may be descriptions of each of the following types in several languages:
A synonym is a word or phrase that expresses the meaning of a SNOMED CT concept in a specified language.
Synonyms are terms that represent the meaning of the concept in a way that is familiar and readily understandable. However, when taken out of context a synonym may not be unambiguous and in some cases the same term may be associated with more than one concept.
Each concept has at least one synonym and a concepts may have several synonyms. One of the synonym descriptions in each language is marked as the preferred term for the associated concept and others may be marked as acceptable for use. The preferred term is the term deemed to be the most clinically appropriate way of expressing a concept in specified language context.
A fully specified name is a description that represents the meaning of a concept in a way that is unambiguous and independent of the context in which it is used.
Fully specified names are essential for disambiguation of the meaning of a concept. These term used in the fully specified name includes a hierarchy tag that specifies the branch of the SNOMED CT hierarchy the concept is in. The hierarchy tag is enclosed in brackets at the end of the term.
There is only one fully specified name in each language. In some languages there may not be a fully specified name, in which case the English fully specified name may be used where necessary for disambiguation.
A text definition is a narrative text explanation of the meaning of a concept that may exceed the maximum permitted length for a fully specified name.
Text definitions are only included for some concepts where longer terms are deemed to be necessary or useful to add clarity to the meaning of the concept.
Terminology services must enable access to the term in each active description associated with an identified concept. They should also be able to selectively filter the descriptions for which terms are returned based on the following criteria:
Active status (description.active)
Inactive descriptions associated with a concept should not be returned unless explicitly requested.
Description type (description.typeId)
Fully specified name
The required services are listed in the table below.
Use Cases
Service Types
Synonyms (including the preferred term)
Textual definitions (and other types where these are used)
Acceptability in a specified Language Reference Set
Preferred: To access the fully specified name or preferred term
Acceptable: To access synonyms
Get all terms for a concept
Get the terms from all descriptions associated with a concept
REQUIRED
Edition and version
Concept identifier
Include inactive descriptions (optional)
Descriptions not found: Return appropriate error message
Descriptions found: Return data associated with each of the descriptions found
This data must include the id, term, active status, description type, language code and case sensitivity
It should also include the acceptability of the term in one or more language reference sets
Get filtered terms for a concept
Get terms from descriptions associated with a particular concept filtered by one or more of the following
Status of the description (active: 1=true, 0=false)
Edition and version
Concept identifier
Filters
Active
Descriptions not found: Return appropriate error message
Descriptions found: Return data associated with the descriptions found
This data must include the id, term and case sensitivity
It must also include the term, active status, description type, language code
Get filtered terms for a concept
Use the API call above to get all terms for a concept and then filter using the returned data.
Same as above
Get all synonyms of a concept
for example
Returns all the preferred term of a specified concept and with their caseSignificanceId values.
Get all terms for a concept
for example
Returns all descriptions of all concepts together with all the data for each of those descriptions in the concept file.
Set language configuration
for example
After this setting is made all references to views including the prefix snap_ and the suffixes _fsn, _pref, _syn, _synall will use the language reference set for GB English (rather than the default language US English).
Other languages supported by the the installed Edition can also be specified in a similar way.
Get fully specified name of a concept
Get the fully specified name of a concept in US English (or in a specified language reference set).
REQUIRED
Edition and version
Concept identifier
Language refset set identifier (optional)
Description not found: Return appropriate error message
Description found: Return data associated with the description:
Required: id, term, caseSignificanceId
Optional:
typeId (which will always be )
languageCode
Get preferred term of a concept
Get the preferred term of a concept in US English (or in a specified language reference set).
REQUIRED
Edition and version
Concept identifier
Language refset set identifier (optional)
Get fully specified name of a concept Get preferred term of a concept
GET [snowstorm]/[branchPath]/concepts/[conceptId]for example
GET [snowstorm]/MAIN/2020-01-31/concepts/6025007Encoded URL
GET [snowstorm]/MAIN%2F2020-01-31/concepts/6025007Returns a JSON representation of data about the selected concept. This include both the fully specified name and the preferred term.
This is the same Snowstorm API call used in Get a Concept, Description or Relationshipto get the concept by identifier. If the fully specified name and/or preferred term there is no need for a specific service to get these terms.
Get all terms for a concept
GET [snowstorm]/[branchPath]/concepts/[conceptId]/descriptionsfor example
GET [snowstorm]/MAIN/2020-01-31/concepts/6025007/descriptionsEncoded URL
GET [snowstorm]/MAIN%2F2020-01-31/concepts/6025007/descriptionsGet all descriptions for a concept
GET [fhir]/CodeSystem/$lookup?system=http://snomed.info/sct&code=[conceptId]for example
GET [fhir]/CodeSystem/$lookup?system=http://snomed.info/sct&code=6025007Returns a JSON representation of data about the selected concept. This include both the fully specified name and all synonyms of the concept.
This is the same FHIR API call used in Get a Concept, Description or Relationship to get concept by identifier. If the fully specified name and/or preferred term there is no need for a specific service to get these terms.
Get fully specified name of a concept
SELECT term,caseSignificanceId FROM snap_fsn WHERE conceptId=[conceptId]for example
SELECT term,caseSignificanceId FROM snap_fsn WHERE conceptId=6025007Returns the fully specified name of a specified concept and its caseSignificanceId.
Get preferred term of a concept
SELECT term,caseSignificanceId FROM snap_pref WHERE conceptId=[conceptId]for example
SELECT term,caseSignificanceId FROM snap_pref WHERE conceptId=6025007Description not found: Return appropriate error message
Description found: Return data associated with the description:
Required: id, term, caseSignificanceId
Optional:
Returns a JSON representation of data about all descriptions in the selected edition and version that are associated with the concept specified.
The descriptions returned include:
Active and inactive descriptions
All types of descriptions
Descriptions in all languages that are present in the selected edition
The data return for each description includes all data present in the description release file and acceptability data derived from language reference sets. The following items have specific roles in filtering descriptions and presenting the terms they contain:
Returns the preferred term of a specified concept and its caseSignificanceId
typeId (which will always be 900000000000013009 | synonym| )
languageCode
Description type (typeId: fully specified name, synonym, textual definition)
Language (languageCode)
Acceptability in a specified language reference set (refset.acceptabilityId: preferred, acceptable)
CONDITIONAL
TypeId
Language code
Language refset identifier
Language refset acceptability
The active value (true or false) can be used to exclude inactive descriptions.
The typeId value can be used to filter descriptions of specific types.
The additional a text token type provides a human readable representation.
The lang value contains the language code and this can be used to filter descriptions.
The acceptabilityMap contains text tokens for the acceptability of the description in one or more language reference sets.
The caseSignificance value contains a text token indicate whether all or part of a term is case-sensitive. This can be used to enable the case of a term to be adjusted to fit the context of use except in when this would be incorrect or liable to alter the meaning.
SELECT term,caseSignificanceId FROM snap_synall WHERE conceptId=[conceptId]SELECT term,caseSignificanceId FROM snap_synall WHERE conceptId=6025007SELECT * FROM snap_description WHERE conceptId=[conceptId]SELECT * FROM snap_description WHERE conceptId=6025007CALL setLanguage([configId],[languageCode]);CALL setLanguage(0,'en-GB');