Search



  

Overview

The terminology content of SNOMED CT is represented by three types of uniquely identified components:

A concept is a clinical idea to which a unique concept identifier has been assigned.

A description is an association between a human-readable phrase (term) and a particular SNOMED CT concept

A relationship is an association between a source concept and a destination concept

Each of these components is associated with a set of attributes that support interpretation of the component at a given point in time. The data structures of the components and the associations between them are documented in the following section of the SNOMED CT Release File Specifications:

Requirements and Options

Getting data associated with identified concepts, descriptions or relationships is a fundamental requirement that must be met by any SNOMED CT terminology services provider. The required services are listed in  Table 4.2-1.

Table 4.2-1: Services Required

Service Name and StatusInputOutput

Get concept by identifier

REQUIRED

  • Edition and version

  • A concept identifier

  • Optional: Language/dialect1

  • Concept not found: Return appropriate error message.
  • Concept found: Return data associated with the concept.

Get description by identifier

REQUIRED

  • Edition and version

  • A description identifier

  • Description not found: Return appropriate error message.
  • Description found: Return data associated with the description.

Get relationship by identifier

REQUIRED

  • Edition and version

  • A relationship identifier.

  • Optional: Language/dialect1
  • Relationship not found: Return appropriate error message.
  • Relationship found: Return data associated with the relationship conforming at least to the minimum set specified below:
    • Minimum: All data for the identified relationship in the snapshot view of the requested edition and version.
    • Optional additional items:
      • Preferred term and/or fully specified name for referenced concepts in a specified language
      • Other data associated with the referenced concepts.

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).

Table 4.2-2: Snowstorm API

Service Name

API Call2

Result

Get concept by identifier

GET [snowstorm]/[branchPath]/concepts/[conceptId]

for example

GET [snowstorm]/MAIN%2F2020-01-31/concepts/6025007

Encoded URL

GET [snowstorm]/MAIN%2F2020-01-31/concepts/6025007

Returns a JSON representation of data related to the specified concept.

The data returned:

  • Represents all the current data in the concept file row for the identified concept
  • Also includes the fully specified name and preferred term but does not include other synonyms
  • Includes the definition status but does not include the stated or inferred definition of the concept3.
Get description by identifier

GET [snowstorm]/[branchPath]/descriptions/[descriptionId]

for example

GET [snowstorm]/MAIN%2F2020-01-31/descriptions/2156578010

Encoded URL

GET [snowstorm]/MAIN%2F2020-01-31/descriptions/2156578010

Returns a JSON representation of data related to the specified description.

The data returned:

  • Represents all the current data in the description file row for the identified description
  • Also includes the language acceptability data for the description derived from each of the language reference sets present in the specified edition
  • Also includes human readable symbolic names for concept enumerations (e.g. " type ": "SYNONYM", "caseSignificance": "CASE_INSENSITIVE" )
Get relationship by identifier

GET [snowstorm]/[branchPath]/concepts/[relationshipId]

for example

GET [snowstorm]/MAIN%2F2020-01-31/relationships/3303602028

Encoded URL

GET [snowstorm]/MAIN%2F2020-01-31/relationships/3303602028

Returns a JSON representation of data related to the specified relationship.

The data returned:

  • Represents all the current data in the relationship file row for the identified relationship
  • Also includes the fully specified name and preferred term for the source, type and target concepts

Table 4.2-3: FHIR API

Service Name

API Call4

Result

Get SNOMED CT concept by identifier

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

for example

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

Returns a JSON representation of information about the identified concept

The data returned includes:

  • The effectiveTime and moduleId of the concept
  • Terms associated with descriptions as a display designations of the concept
  • A representation of the subtype relationships of the concept

Table 4.2-4: SQL Illustration

Service Name

SQL Query 5

Result

Get concept by identifier

SELECT * FROM snap_concept WHERE id=[conceptId]

for example

SELECT * FROM snap_concept WHERE id=6025007

Returns a row of data from the concept release file for the specified concept.

Get description by identifier
SELECT * FROM snap_description WHERE id=[descriptionId]

for example

SELECT * FROM snap_description WHERE id=2156578010

Returns a row of data from the description release file for the specified description.

Get relationships by identifier
SELECT * FROM snap_relationship WHERE id=[relationshipId]

for example

SELECT * FROM snap_relationship WHERE id=3303602028

Returns a row of data from the relationship release file for the specified relationship.


Footnotes
Language and/or dialect should be specified if the service returns terms associated with referenced concepts.
In the Snowstorm service requests [snowstorm] should be replaced by the URL to the Snowstorm server endpoint.
Data in the definitionStatusId and active columns is represented as symbolic names rather than the boolean and SCTID data types used in release file columns.
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).
The SNOMED CT MySQL example database is not designed as a terminology server and is not intended for use in a live system . However, 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.


Feedback
  • No labels