Snow Owl Docs
7.x
7.x
  • README
  • Getting started
    • Basic Concepts
    • Installation
    • Explore Snow Owl
      • Check Health
      • List available Code Systems
      • SNOMED CT
      • Import RF2 distribution
      • Search SNOMED CT
      • Create a Concept
      • Version SNOMED CT
      • Export SNOMED CT
    • Conclusion
  • Set up Snow Owl
    • Installing Snow Owl
      • Installing Snow Owl with .zip or .tar.gz
      • Installing Snow Owl with RPM
      • Installing Snow Owl with Debian Package
      • Installing Snow Owl with Docker
    • Configuring Snow Owl
      • Setting JVM options
      • Logging configuration
      • Elasticsearch configuration
    • Important Snow Owl configuration
    • Important System configuration
      • Disable swapping
      • File descriptors
      • Virtual memory
      • Number of threads
      • Tweaking for performance
    • Starting Snow Owl
    • Stopping Snow Owl
    • Configuring security
      • Configuring a file realm
      • Configuring an LDAP realm
    • Configuring monitoring
    • Configuration reference
  • Extension Management
    • Extensions and Snow Owl
    • Scenarios
      • Single Edition
      • Single Extension Authoring
      • Multi Extension Authoring
    • Development
    • Releases
    • Upgrading
    • Integrations
  • API
    • Core API
    • SNOMED CT API
      • Branching
      • Compare
      • Commits
      • Concepts
      • Descriptions
      • Relationships
      • Reference Sets
      • Classification
      • Importing RF2
      • Exporting RF2
    • CIS API
    • FHIR API
      • CodeSystem
      • ValueSet
      • ConceptMap
  • Backup and Restore
    • Curator
  • Migrate from 6.x
Powered by GitBook
On this page
  • Introduction
  • Download
  • Learn Snow Owl
  • Building from source
  • Development
  • Prerequisites
  • Contributing
  • Versioning
  • License
  • Acknowledgements
Export as PDF

README

Last updated 10 months ago

Snow Owl® is a highly scalable, open source terminology server with revision-control capabilities and collaborative authoring platform features. It allows you to store, search and author high volumes of terminology artifacts quickly and efficiently.

Introduction

Features include:

  • Revision-controlled authoring

    • Maintains multiple versions (including unpublished and published) for each terminology artifact and provides APIs to access them all

    • Independent work branches offer work-in-process isolation, external business workflow integration and team collaboration

  • SNOMED CT and others

    • SNOMED CT terminology support

      • RF2 Release File Specification as of 2021-07-31

      • Support for Relationships with concrete values

      • Official and Custom Reference Sets

      • Expression Constraint Language v1.4.0 ,

      • Compositional Grammar 2.3.1 ,

      • Expression Template Language 1.0.0 ,

      • Query Language Draft 0.1.0 ,

    • With its modular design, the server can maintain multiple terminologies (including local codes, mapping sets, value sets)

  • Various set of APIs

    • SNOMED CT API (RESTful and native Java API)

    • FHIR API R4 v4.0.1

    • CIS API 1.0

  • Highly extensible and configurable

    • Simple to use plug-in system makes it easy to develop and add new terminology tooling/API or any other functionality

  • Built on top of (highly scalable, distributed, open source search engine)

    • Connect to your existing cluster or use the embedded instance

    • All the power of Elasticsearch is available (full-text search support, monitoring, analytics and many more)

Download

Install and Run

NOTE: You need to have a recent version of Java installed (Java 11+, https://adoptium.net/).

Once you have downloaded the appropriate package:

  • Run bin/snowowl.sh on unix, or bin/snowowl.bat on windows

  • Run curl http://localhost:8080/snowowl/admin/info

  • Navigate to http://localhost:8080/snowowl

Learn Snow Owl

Building from source

Simply run the following command in the cloned directory. The Maven Wrapper will automatically download the required Maven version (and store it under ~/.m2/wrapper/dists).

./mvnw clean package

The distribution packages can be found in the releng/com.b2international.snowowl.server.update/target folder, when the build is complete.

To run the test cases, use the following command:

./mvnw clean verify

Development

These instructions will get Snow Owl up and running on your local machine for development and testing purposes.

Prerequisites

Snow Owl is an Equinox-OSGi based server. To develop plug-ins for Snow Owl you need to use Eclipse as IDE:

  • Download Eclipse IDE for Eclipse Committers 2020-09 package from here: https://www.eclipse.org/downloads/packages/release/2020-09/r/eclipse-ide-eclipse-committers

Required Eclipse plug-ins (install the listed features via Help -> Install New Software...):

Note: you may have to untick the Show only the latest versions of the available software checkbox to get older versions of a feature. Please use the exact version specified below, not the latest point release.

  • Xtext/Xtend (https://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.23.0/)

    • Xtend IDE 2.23.0 (Xtext)

    • Xtext Complete SDK 2.23.0 (Xtext)

  • MWE2 (https://download.eclipse.org/modeling/emft/mwe/updates/releases/2.11.3/)

    • MWE SDK 1.5.3 (MWE)

    • MWE 2 language SDK 2.11.3 (MWE)

  • Groovy Development Tools (https://groovy.jfrog.io/artifactory/plugins-release-local/org/codehaus/groovy/groovy-eclipse-integration/3.9.0/e4.17/org.codehaus.groovy-3.9.0.v202009301344-e2009-RELEASE-updatesite.zip)

    • Eclipse Groovy Development Tools - 3.9.0

    • Groovy-Eclipse M2E integration - 3.9.0

    • Groovy Compiler 2.5 - 3.9.0

  • M2Eclipse (https://archive.eclipse.org/technology/m2e/releases/1.17.2/)

    • m2e 1.17.2

    • m2e PDE 1.17.2

Eclipse Preferences

Make sure you have the following preferences enabled/disabled.

  • Plug-in development API baseline errors is set to Ignored (Preferences > Plug-in Development > API Baselines)

  • The Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-clean-plugin:2.5:clean type of errors can be ignored or changed to Warnings in Preferences->Maven->Errors/Warnings.

  • Set the workspace encoding to UTF-8 (Preferences->General->Workspace)

  • Set the line endings to Unix style (Preferences->General->Workspace)

Git configuration

  • Make sure the Git line endings are set to input (Preferences->Team->Git->Configuration - add key if missing core.autocrlf = input)

Maven Settings

  • Make sure the settings.xml in your ~/.m2/settings.xml location is updated with the content from the settings.xml from this repository's root folder.

First steps

  1. Import all projects into your Eclipse workspace and wait for the build to complete

  2. Select all projects and hit Alt + F5 and trigger an update to all Maven projects manually (to download dependencies from Maven)

  3. Open the target-platform/target-platform-local.target file

  4. Wait until Eclipse resolves the target platform (click on the Resolve button if it refuses to do so) and then click on Set as Active Target platform

  5. Wait until the build is complete and you have no compile errors

  6. Launch snow-owl-oss launch configuration in the Run Configurations menu

  7. Navigate to http://localhost:8080/snowowl

Contributing

Versioning

License

Acknowledgements

Many other organizations have directly and indirectly contributed to Snow Owl, including: Singapore Ministry of Health; American Dental Association; University of Nebraska Medical Center (USA); Federal Public Service of Public Health (Belgium); Danish Health Data Authority; Health and Welfare Information Systems Centre (Estonia); Department of Health (Ireland); New Zealand Ministry of Health; Norwegian Directorate of eHealth; Integrated Health Information Systems (Singapore); National Board of Health and Welfare (Sweden); eHealth Suisse (Switzerland); and the National Library of Medicine (USA).

-

-

-

-

This distribution only includes features licensed under the Apache 2.0 license. To get access to the full set of features, please contact .

View the detailed release notes .

Not the version you're looking for? View .

See ,

Snow Owl uses Maven for its build system. In order to create a distribution, you will only need the installed.

Please see for details.

Our use . You can find a chronologically ordered list of notable changes in .

This project is licensed under the Apache 2.0 License. See for details and refer to for additional licensing notes and uses of third-party components.

In March 2015, generously licensed the Snow Owl Terminology Server components supporting SNOMED CT. They subsequently made the licensed code available to their and the global community under an open-source license.

In March 2017, licensed the Snow Owl Terminology Server to support the mandatory adoption of SNOMED CT throughout all care settings in the United Kingdom by April 2020. In addition to driving the UK’s clinical terminology efforts by providing a platform to author national clinical codes, Snow Owl will support the maintenance and improvement of the dm+d drug extension which alone is used in over 156 million electronic prescriptions per month. Improvements to the terminology server made under this agreement will be made available to the global community.

WINDOWS
sha
MACOS/LINUX
sha
RPM
sha
DEB
sha
B2i Healthcare
here
past releases
SNOMED CT API docs
FHIR API docs
Getting Started
Set up Snow Owl
Configuring Snow Owl
FHIR API
SNOMED CT API
Admin API
Java Development Kit - 11
CONTRIBUTING.md
releases
semantic versioning
CHANGELOG.md
LICENSE
NOTICE
SNOMED International
members
NHS Digital
🆕
spec
implementation
spec
implementation
spec
implementation
draft
implementation
spec
see reference implementation
Elasticsearch