Overview

Each  has a .

Requirements and Options

 describes several distinct types of access to concept definitions and the client application functionalities that each of these access types supports. 

General purpose terminology services that are able to access  relationships can be used to meet a limited set of SNOMED CT use cases. However, SNOMED CT terminology services should also provide access to the  of concept definitions. 

Advanced SNOMED CT terminology services require the ability to access and interpret the  that represent the  of concept definitions. They should also enable description logic classification either as a built in service or via an interface to separate classifier. Services that support classification provide added value for data retrieval and analysis by enabling post-coordinated expressions to be classified and appropriately located in the subtype hierarchy.

The required services listed in  omit services that only require access to subtype relationships, as these are described in 4.5 Get and Test Concept Subtypes and Supertypes.

Practical Requirements for Access to Concept Definitions


Terminology Service Access to DefinitionsClient Application Functionality Supported

Access to :

  • From to
  • From to

Display subtype hierarchy


Access to the of :

  • From to
  • From to

Testing subsumption between concepts

Access to the complete  of concept definitions, including and

Display of inferred concept definition


Postcoordinated expression creation


Expression constraint and query creation


Access to the complete  of concept definitions, as

Display of stated concept definition


Terminology authoring


Terminology classification


Expression classification

    • Applying description logic to classify an to enable appropriate subsumption testing when reporting records that include


Services Required


Service Name and Status

InputOutput

Get inferred necessary normal form definition of a concept


  • Edition and version
  • A concept identifier
  • Optional: Language/dialect
  • The inferred definition of the specified concept represented in one of the following ways:
    • A SNOMED CT compositional grammar expression
    • A data object representing the data in all active rows in the snapshot view of the relationship file in which the sourceId column matches the specified conceptId
  • In either case, the concept identifiers in the definition may optionally be supplemented the preferred term or fully specified name in a specified language or dialect

Get stated definition of a concept


  • Edition and version
  • A concept identifier
  • Optional: Language/dialect
  • The stated definition of the concept represented in one of the following ways:
    • As a set of one or more OWL axioms represented using the or another specified OWL syntax
    • A SNOMED CT compositional grammar expression
  • In either case, the concept identifiers in the definition may optionally be supplemented the preferred term or fully specified name in a specified language or dialect

Interdependencies

Required By

Depends On

Service Examples

The Snowstorm and FHIR examples are presented in plain text and URL encoded versions. Always use the "Encoded URL" when testing the example service requests. The plain text version is included to aid readability but using this version in a service request may result in errors. These errors result from characters that have to be encoded as they are not permitted in a URL (see IETF RFC1738).


Snowstorm API


Service Name

API Call

Result

Get the inferred necessary normal form definition of a concept


GET [snowstorm]/[branch]/concepts/[conceptId]/normal-form?includeTerms=[true|false]


for example

GET [snowstorm]/MAIN/2020-01-31/concepts/6025007/normal-form?includeTerms=true
or without including the terms
GET [snowstorm]/MAIN/2020-01-31/concepts/6025007/normal-form


Returns a JSON data object containing a compositional grammar expression representing the inferred definition of the concept.

If the optional includeTerms parameter is set to true the expression includes the fully specified names of each concept referenced in the expression. Otherwise only the expression only includes the concept identifiers.

Get the stated definition of a concept


GET [snowstorm]/MAIN%2F2020-01-31/members?referenceSet=733073007&referencedComponentId=[conceptId]

for example

GET [snowstorm]/MAIN%2F2020-01-31/members?referenceSet=733073007&referencedComponentId=6025007

or as example of a concept defined by more than one axiom

GET [snowstorm]/MAIN%2F2020-01-31/members?referenceSet=733073007&referencedComponentId=473011001


This service returns a JSON representation of one or more members of in the OWL expression reference set that together represent the stated definition of the identified concept. Each of these reference set members contains an axiom, represented using , in the additionalFields.owlExpression property string.



FHIR API


Service Name

API Call

Result

Get the inferred necessary normal form definition of a concept


[fhir]/CodeSystem/$lookup?system=http://snomed.info/sct&code=[conceptId]&property=normalForm&_format=json


for example

GET [fhir]/CodeSystem/$lookup?system=http://snomed.info/sct&code=6025007&property=normalForm&_format=json


Returns a JSON representation of information containing the definition of the concept.

The data returned includes the necessary inferred, normal form definition of the concept represented as a compositional grammar expression.

Get the stated definition of a conceptN/AThis service is not supported by the FHIR terminology services API


MySQL Example Database


Service Name

SQL Query

Result

Get the inferred necessary normal form definition of a concept


-- Get inferred defining relationships
SELECT typeId,destinationId,group 
FROM snap_relationship
  WHERE AND active=1 AND sourceId=[conceptId]
  AND characteristicType=900000000000011006;

for example

-- Get inferred defining relationships
SELECT typeId,destinationId,group 
FROM snap_relationship
  WHERE active=1 AND characteristicType=900000000000011006
  AND sourceId=6025007;
or including terms


-- Get inferred defining relationships with terms
SELECT
  CONCAT(typeId,"|",typeTerm,"|=",
  destinationId,"|",destinationTerm,"|") 'value',
  relationshipGroup 'group'
FROM snap_rel_def_fsn
  WHERE sourceId=6025007;


Returns the set of rows each containing one defining relationship with its associated relationship group number.

Get the stated definition of a concept


-- Get stated defining axioms
SELECT owlExpression 
FROM snap_refset_owlexpression
  WHERE active=1 AND refsetId=733073007
  AND referencedComponentId=[conceptId]
  ORDER BY owlExpression;  

for example

-- Get stated defining axioms
SELECT owlExpression 
FROM snap_refset_owlexpression
  WHERE active=1 AND refsetId=733073007
  AND referencedComponentId=6025007
  ORDER BY owlExpression;

or as example of a concept defined by more than one axiom

-- Get stated defining axioms
SELECT owlExpression 
FROM snap_refset_owlexpression
  WHERE active=1 AND refsetId=733073007
  AND referencedComponentId=473011001
  ORDER BY owlExpression;


Returns the set of rows each containing one OWL axiom.

The sort order used in this query ensures that class axioms appear before any GCI axioms



  1. only includes services that access the or of a complete concept definition. Services that access subtypes and supertypes of concepts are described in 4.5 Get and Test Concept Subtypes and Supertypes.
  2. The refers to the logical form in which inferred concept definitions are represented in the relationships file. This form is unable to represent some of the axioms present in the enhanced description logic supported by OWL expressions in the stated view of some concept definitions.
  3. Language and/or dialect should be specified if the service returns terms associated with referenced concepts.
  4. For details of SNOMED CT compositional grammar expressions see Compositional Grammar - Specification and Guide.
  5. In the Snowstorm service requests [snowstorm] should be replaced by the URL to the Snowstorm server endpoint.
  6. In the FHIR service requests [fhir] should be replaced by the URL to the FHIR terminology server endpoint. FHIR® is a registered trademarks of HL7 (www.hl7.org).
  7. The SNOMED CT MySQL example database is not designed as a terminology server and is not intended for use in a live system . It is referenced in this guide as an illustration that some readers may find helpful. For more information about the SNOMED CT example database see the SNOMED CT - SQL Practical Guide. For instructions on how to build the example database refer to Appendix A: Building the SNOMED CT Example Database.
  8. For more information about the differences between SubClass axioms and GCI axioms see General Concept Inclusions - GCIs in the Editorial Guide.