Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

HideElements
metastrue
sidebartrue
peopletrue
labelstrue
likestrue

Info

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

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

HTML
<div class="postman-run-button"
data-postman-action="collection/import"
data-postman-var-1="4aa97fbcc6a6ccd0e94c"></div>
<script type="text/javascript">
  (function (p,o,s,t,m,a,n) {
    !p[s] && (p[s] = function () { (p[t] || (p[t] = [])).push(arguments); });
    !o.getElementById(s+t) && o.getElementsByTagName("head")[0].appendChild((
      (n = o.createElement("script")),
      (n.id = s+t), (n.async = 1), (n.src = m), n
    ));
  }(window, document, "_pm", "PostmanRunObject", "https://run.pstmn.io/button.js"));
</script>








    logo fhir

On this page

Table of Contents
absoluteUrltrue



Note

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 the purpose of the exercises, use the following endpoint - https://snowstorm-fhir.snomedtools.org/fhir



Answers

Exercise #1 - Answers


QuestionAnswer
1

Discover the capabilities of SNOMED International Snowstorm terminology server

https://snowstorm-fhir.snomedtools.org/fhir/metadata


2Retrieve the information for the concept with the following SNOMED CT identifier, 82272006https://snowstorm-fhir.snomedtools.org/fhir/CodeSystem/$lookup?system=http://snomed.info/sct&code=82272006
3Retrieve the information for the concept with the following SNOMED CT identifier, 82272006 in Spanish

https://snowstorm-fhir.snomedtools.org/fhir/CodeSystem/$lookup?system=http://snomed.info/sct&version=http://snomed.info/sct/449081005&code=82272006

or for Sweden: /fhir/CodeSystem/$lookup?version=http://snomed.info/sct/45991000052106&code=82272006

4

Retrieve the normal form for the concept with the following SNOMED CT identifier, 22298006

https://snowstorm-fhir.snomedtools.org/fhir/CodeSystem/$lookup?system=http://snomed.info/sct&code=22298006&property=normalForm


Scg expression
09410002|Necrosis of anatomical site (disorder)| + 57809008|Myocardial disease (disorder)| + 251061000|Myocardial necrosis (finding)| + 414545008|Ischemic heart disease (disorder)| : { 116676008|Associated morphology (attribute)| = 55641003|Infarct (morphologic abnormality)|, 363698007|Finding site (attribute)| = 74281007|Myocardium structure (body structure)| }




Exercise #2 - Answers



Exercise #3 - Answers


QuestionAnswer
1Find all the concepts that are members of the General Practice / Family Practice reference set4270 results - https://snowstorm-fhir.snomedtools.org/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/%5E450970008&count=10
2Find all the concepts that are members of the General Practice / Family Practice reference set and are a type of fracture91 results - https://snowstorm-fhir.snomedtools.org/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/%5E450970008%20AND%20<<125605004&count=10
3Find all the concepts that are respiratory disorders due to an allergic reaction to pollen

5 results - https://snowstorm-fhir.snomedtools.org/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/%3C%3C50043002:42752001=418364006&count=10

ECL =

Scg expression
<< 50043002 |Disorder of respiratory system (disorder)| : 42752001 |Due to (attribute)| = 418364006 |Allergic reaction caused by pollen (disorder)|




Exercise #4 - Creating value sets


QuestionAnswer
1

Using the exampleVS.json file found at the link 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
2

Retrieve the previously created value set

https://snowstorm-devdays.snomedtools.org/fhir/ValueSet/caffeine-products


3

Use the expand operation on the value set as well as filter parameters

https://snowstorm-devdays.snomedtools.org/fhir/ValueSet/caffeine-products/$expand

https://snowstorm-devdays.snomedtools.org/fhir/ValueSet/caffeine-products/$expand?filter=aspirin

4

Add some new items to the value set by updating the JSON file

curl -i --request PUT "https://snowstorm-devdays.snomedtools.org/fhir/ValueSet/caffeine-products--header "Content-Type: application/fhir+json" -d @caffeine-products.json