Snowstorm

en

IHTSDO Snowstorm is an open source terminology server with special support for SNOMED CT. It is built on top of Elasticsearch, with a focus on performance and enterprise scalability.

APIs

Snowstorm has two APIs:

  • HL7 FHIR API 🔥
    • Implements the Terminology Module
    • Recommended for implementers
    • Supports SNOMED CT, LOINC, ICD-10, ICD-10-CM and other code systems
  • Specialist SNOMED CT API
    • Supports the management of SNOMED CT code systems
    • Supports the SNOMED CT Browser
    • Supports authoring SNOMED CT editions

TermX

TermX utilize Snowstorm SNOMED CT API including

  • search,
  • management of concepts and descriptions,
  • release management,
  • import and export.

Learn more about Snowstorm


Import of the SNOMED RF2 files

You can use REST API to upload SNOMED RF2 files.
The example below describes creating International and Estonian editions and uploading RF2 files.

Prerequisites

If you don’t have acces contact the National Release Center or become a member of SNOMED .

  • Ensure that Snowstorm is running.

Import of International Edition

  1. Start the import process by creating a new import job. You can use Snowstorm Swagger API or curl.
    Within Swagger UI open POST: /imports the endpoint, insert it into the body
{
  "branchPath": "MAIN",
  "createCodeSystemVersion": true,
  "type": "SNAPSHOT"
}

and press “Try it now”.

Within curl

curl -v -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
  "branchPath": "MAIN",
  "createCodeSystemVersion": true,
  "type": "SNAPSHOT"
}' 'http://localhost:8080/imports'

Where ‘http://localhost:8080/imports’ is the address of Snowstorm server.

Store the identifier of the import (it will look like this - d0b30d96-3714-443e-99a5-2f282b1f1b0). It will be needed for the next steps.

  1. Upload SNOMED archive to the Snowstorm.
    Within Swagger UI select POST imports/archive the endpoint and specify the import identifier from the previous step and the file name.
    Within curl
curl -X POST --header 'Content-Type: multipart/form-data' \
--header 'Accept: application/json' \
-F file=@init/'1. SnomedCT_InternationalRF2_PRODUCTION_20200731T120000Z.zip' \
'http://localhost:8080/imports/<import-id>/archive'

Import of the local edition or extension

  1. On the Swagger interface in the ‘Code Systems’ section look for the Create a code system endpoint.
    Use the following in the request to create the CodeSystem.
{
  "branchPath": "MAIN/SNOMEDCT-EE",
  "shortName": "SNOMEDCT-EE"
}

or within curl

curl -v -X POST --header 'Content-Type: application/json' \
--header 'Accept: application/json' -d '{
  "branchPath": "MAIN/SNOMEDCT-EE",
  "shortName": "SNOMEDCT-EE"
}' 'http://localhost:8080/codesystems'
  1. You now need to import the local extension or edition. Create a new import job.
    Look for the Import endpoint in Swagger UI and then create a new import using:
{
  "branchPath": "MAIN/SNOMEDCT-EE",
  "createCodeSystemVersion": true,
  "type": "SNAPSHOT"
}

or use curl

curl -v -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
  "branchPath": "MAIN/SNOMEDCT-EE",
  "createCodeSystemVersion": true,
  "type": "SNAPSHOT"
}' 'http://localhost:8080/imports'
  1. Import extension.

Within Swagger UI select POST imports/archive the endpoint and specify the import identifier from the previous step and the file name.

Within curl

curl -v -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: application/json' \
-F file=@SnomedCT_ManagedServiceEE_PRODUCTION_EE1000181_20200530T120000Z.zip \
'http://localhost:8080/imports/<importid>/archive'

Page last modified: Nov 21 2023 at 07:59 PM.