Snowstorm x FHIR

SNOMED CT provides a structured vocabulary of millions of clinical concepts. FHIR provides the exchange format for healthcare data. Combining them via the Snowstorm server gives you a standards-compliant terminology service that healthcare systems can query.

TL;DR: Query the Snowstorm SNOMED CT terminology server via its FHIR-compatible API to look up clinical concepts and code mappings.
Stack: SNOMED CT, Snowstorm, FHIR, REST API
Level: Intermediate
Reading time: ~6 min

Create a ValueSet

PUT https://snowstorm-fhir.snomedtools.org/fhir/ValueSet

{
  "resourceType": "ValueSet",
  "id": "clinical-findings",
  "url": "http://hl7.org/fhir/ValueSet/clinical-findings",
  "name": "SNOMEDCTClinicalFindings",
  "title": "SNOMED CT Clinical Findings",
  "status": "draft",
  "description": "All Clinical finding SNOMED CT codes (is-a 404684003)",
  "compose": {
    "include": [{
      "system": "http://snomed.info/sct",
      "filter": [{
        "property": "concept",
        "op": "is-a",
        "value": "404684003"
      }]
    }]
  }
}

List all ValueSets

GET http://localhost:8080/fhir/ValueSet

Expand a ValueSet

GET http://localhost:8080/fhir/ValueSet/clinical-findings/$expand

What you’ve built

You understand how Snowstorm exposes SNOMED CT concepts through a FHIR-compatible API, and can query it for concept definitions, hierarchies, and code lookups in healthcare interoperability contexts.

Next steps

  • Use the ValueSet/$expand FHIR operation to expand coded value sets for dropdown menus and form validation in clinical applications.
  • Explore the SNOMED CT browser at browser.ihtsdotools.org to understand concept hierarchies before writing queries.
  • Cache frequently accessed concept lookups: SNOMED CT contains over 350,000 active concepts and response times can vary under load.

Questions or feedback? Find me on LinkedIn or GitHub.

Leave a Comment