HealthAtoms
Terminologies & Code Systemsconcept · 6 min · updated Jun 30, 2026

Snowstorm (SNOMED Terminology Server)

By Rajendra Sharma, RN, CPC, CPBReviewed by Rajendra Sharma, RN, CPC, CPB · Jun 29, 2026

SNOMED International's open-source terminology server — search, browse and query SNOMED CT with the Expression Constraint Language, behind a FHIR terminology API.

SNOMED CTFHIR

In one line

Snowstorm is the terminology engine that makes SNOMED CT queryable at scale — find concepts, walk the is-a hierarchy, run Expression Constraint Language (ECL) queries — exposed through a FHIR terminology API. Licence: code Apache 2.0 (open); the SNOMED CT content itself requires a licence — free in SNOMED member countries, including India.

client / EHR Snowstorm$expand · $lookup · ECL ElasticsearchSNOMED index RF2 release imported ↓ a standards-based FHIR terminology API in front of fast search
Snowstorm serves SNOMED CT over the FHIR terminology operations, with an Elasticsearch index for fast expansion and ECL.

Why you need a terminology server at all

SNOMED CT has ~360,000 active concepts and millions of relationships. You can't just load that into a database table and run LIKE '%diabetes%' — you need a service that understands the structure: subsumption (is "type 2 diabetes" a kind of "diabetes"?), reference sets, synonyms across languages, and historical versions. A terminology server is that service. Snowstorm is SNOMED International's official open-source one, and it powers the public SNOMED browser.

What it does

Snowstorm loads SNOMED CT RF2 release files into an Elasticsearch index and exposes:

  • Concept search & browse — typeahead search, and navigation up/down the is-a hierarchy.
  • ECL — the Expression Constraint Language for set queries like < 404684003 |Clinical finding| (all descendants) or "drugs with active ingredient X". This is how you author value sets instead of hand-listing codes.
  • Reference sets — language refsets, the national India extension, and value-set membership.
  • Versioning — query a specific release, and resolve historical/inactivated concepts.

The FHIR terminology operations

Crucially, Snowstorm speaks the FHIR terminology API, so any FHIR client gets standard operations without knowing SNOMED's internals:

OperationQuestion it answers
$lookupWhat is concept 73211009? (display, properties)
$validate-codeIs this code valid / in this value set?
$expandGive me every code in this value set (often an ECL)
$subsumesIs A an ancestor of B?
$translateMap this code to another system (e.g. SNOMED→ICD)

This standardisation is the point: an EHR binds to the operation, and can swap one conformant server for another.

Licensing — the nuance that trips people

The split matters: the software is Apache 2.0 (free to run and modify), but running it with real SNOMED CT content needs an affiliate/member licence. In SNOMED member countries — India included — that licence is free. So Snowstorm is genuinely no-cost for Indian projects, but you must register, not just git clone.

Where it shows up

Any system doing real SNOMED binding needs a terminology server: EHR problem lists, decision support, analytics value sets, ABDM/NRCeS-aligned services. Snowstorm is the open option; Ontoserver (CSIRO) and HAPI FHIR's terminology module are common alternatives. It is the production counterpart to the Terminology Browser lab — the ECL and crosswalk ideas you practise there are exactly what Snowstorm answers at national scale.

Common pitfalls

  • Underestimating resources — the Elasticsearch index is memory-hungry; size it before importing a full international + national edition.
  • Forgetting the content licence — the code runs, but you still need the (free) SNOMED affiliate registration.
  • Hand-listing value sets — if you're maintaining code lists by hand, you're not using ECL; let the server compute membership.

Key takeaways

  • Snowstorm makes SNOMED CT computable: search, hierarchy, ECL, refsets — over a FHIR API.
  • The FHIR operations ($expand, $validate-code, $translate…) decouple your app from the server.
  • Open-source code, licensed content — free for India and other member nations.
  • It's the real-world engine behind the terminology skills taught in the labs.

Check your recall

0 of 2 recalled

Active recall beats re-reading — try to answer, then reveal.

  1. Why do you need a terminology server for SNOMED CT?

  2. Which FHIR terminology operations does a server like Snowstorm expose?

References

  1. Snowstorm (SNOMED International, GitHub)
  2. FHIR Terminology Service

Related entries