FHIR DevDays - Exercises
Find this page online: http://snomed.org/fhir-devdays
During the hands-on session of the SNOMED CT on FHIR tutorial, you will learn how to query FHIR Terminology Services to retrieve SNOMED CT content using advanced queries leveraging the SNOMED CT ontology. This will be using, and therefore based around the capabilities, of the SNOMED International open source Terminology Server, Snowstorm, https://github.com/IHTSDO/snowstorm.
After completing this tutorial, you will be able to use the FHIR Terminology Services API:
Retrieve information for a given concept
Search for SNOMED CT content based on
Simple search terms
Reference sets
Expression Constraint Language (ECL) queries
Find map targets for give SNOMED CT content
Create and retrieve value sets
Examples can be found documented in the Snowstorm repository - https://github.com/IHTSDO/snowstorm/blob/develop/docs/using-the-fhir-api.md or in Postman here, https://documenter.getpostman.com/view/462462/S1TVXJ3k
All these exercises are intended to guide you through retrieving SNOMED CT content. However, if you have applications/code where the results of queries can be directly used, you are likely to get more benefit from the exercises. And of course, you can retrieve other content that is not necessarily specified here.
For these exercises, participants can access one of 3 servers:
https://snowstorm-fhir.snomedtools.org/fhir/ (this is a read-only instance)
https://snowstorm-devdays.snomedtools.org/fhir/ (this is a temporary read/write instance)
Follow instructions at https://github.com/IHTSDO/snowstorm/blob/master/docs/getting-started.md to install a local instance of Snowstorm and load an edition of SNOMED CT.
Questions
Exercise #1 - Simple Content Retrieval
Discover the capabilities of SNOMED International Snowstorm terminology server
Retrieve the information for the concept with the following SNOMED CT identifier,
.
Retrieve the information for the concept with the following SNOMED CT identifier,
in Spanish
Retrieve the normal form for the concept with the following SNOMED CT identifier,
.
Exercise #2 - Content Searching
Retrieve all types of cancer
Retrieve all concepts related to asthma, returning results in Spanish
Find the ICD-10 map targets for
Exercise #3 - Advanced querying with ECL and implicit Valuesets
Create ECL queries to retrieve the following results:
Find all the concepts that are members of the
Find all the concepts that are members of the General Practice / Family Practice reference set and are a type of
Find all the concepts that are respiratory disorders due to an allergic reaction to pollen
Exercise #4 - Creating value sets
Using the caffeine-products.json file below as an example (or use your own JSON file), create a new value set, making sure you change the identifier in the file and give it a unique identifier such as <yourname-domain>
curl -i --request PUT "https://snowstorm-devdays.snomedtools.org/fhir/ValueSet/caffeine-products" --header "Content-Type: application/fhir+json" -d @caffeine-products.json
Retrieve the previously created value set
Use the expand operation on the value set containing ECL as well as filter parameters
Add some new items to the value set by updating the JSON file
example file #1: caffeine-products.json
Answers
Answers to all questions can be found here - FHIR DevDays - Exercise Answers
Copyright © 2025, SNOMED International