Get a Concept, Description or Relationship

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 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 the table below.

Services Required

Service Name and Status
Input
Output

Get concept by identifier

REQUIRED

  • Edition and version

  • A concept identifier

  • Optional:

  • 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

Snowstorm API

Service Name
API Call
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

  • .

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

In the Snowstorm service requests [snowstorm] should be replaced by the URL to the Snowstorm server endpoint.

FHIR API

Service Name
API Call
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

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

SQL Illustration

Service Name
SQL Query
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.

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.

Last updated