> For the complete documentation index, see [llms.txt](https://docs.snomed.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.snomed.org/implementation-guides/drug-model-implementation-guide/technical-application/terminology-services.md).

# Terminology Services

Terminology services provide the core infrastructure for accessing, querying, and validating SNOMED CT drug content. They enable systems to use the SNOMED CT Drug Model in a computable and scalable way, supporting both clinical workflows and analytical use cases.

A terminology service acts as the intermediary between:

* the RF2 terminology content (International + Drug Extension)
* the applications and APIs that consume drug data

## Core Capabilities

A terminology service used for SNOMED CT drug content should support the following capabilities:

* Concept lookup

  Retrieve details of a concept (e.g. term, status, relationships)
* Hierarchy traversal

  Navigate parent–child relationships across the drug hierarchy (e.g. MP → CD → RCD)
* Subsumption testing

  Determine whether one concept is a subtype of another (e.g. whether a product contains a given ingredient)
* Value set expansion

  Generate a set of concepts based on defined criteria (e.g. all drugs containing a substance)
* Expression Constraint Language (ECL) execution

  Perform dynamic, logic-based queries over SNOMED CT content

These capabilities are essential to support:

* clinical decision support
* product selection and substitution
* reporting and analytics
* interoperability between systems

## Role of Terminology Services in the Drug Model

Terminology services are particularly important for the SNOMED CT Drug Model because they enable:

* navigation across abstraction levels

  (e.g. linking CD → RCD → RPCD)
* dynamic grouping of drugs

  (e.g. all products containing an ingredient)
* clinical reasoning

  (e.g. interaction checking, dose validation)
* interoperability across systems

  (e.g. consistent interpretation of medication data in FHIR workflows)

## FHIR Terminology Services

FHIR-based terminology services provide standardized APIs for accessing SNOMED CT content. These APIs enable consistent use of drug terminology across systems.

Key operations include:

* $expand

  Expands a value set into a list of SNOMED CT concepts

  (e.g. all drugs containing a specific ingredient)
* $validate-code

  Validates whether a code is valid within a given value set or system

  (e.g. checking if a selected drug is a valid Clinical Drug)
* $subsumes

  Determines hierarchical relationships between concepts

  (e.g. whether a dispensed product is a subtype of a prescribed drug)

## Implementation Considerations

When implementing terminology services for drug content, systems should ensure:

* support for ECL queries involving attributes (ingredient, dose form, strength)
* efficient handling of large extension datasets
* alignment between terminology services and FHIR APIs
* consistent use of value sets across workflows

Because drug data is both hierarchical and highly structured, terminology services are not optional—they are a core dependency for safe and effective implementation of the SNOMED CT Drug Model.

<a href="https://docs.google.com/forms/d/e/1FAIpQLScTmbZIf0UEQwYDkY27EEWBkaiYkHSbR0_9DmFrMLXoQLyL7Q/viewform?usp=pp_url&#x26;entry.1767247133=SNOMED+Drug+Extension+Guide&#x26;entry.670899847=Terminology%20Services" class="button primary">Provide Feedback</a>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.snomed.org/implementation-guides/drug-model-implementation-guide/technical-application/terminology-services.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
