GitHub - b2ihealthcare/snow-owl: Snow Owl - production ready, scalable terminolo...
source link: https://github.com/b2ihealthcare/snow-owl
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
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
- Full SNOMED CT terminology support (full RF2 support, ECL v1.3, Reference Sets, OWL 2 EL/DL support)
- With its modular design, the server can maintain multiple terminologies (including local codes, mapping sets, value sets)
- Various set of APIs
- HTTP RESTful API
- FHIR API
- Native Java API
- 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 Elasticsearch (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
{% hint style="info" %} This distribution only includes features licensed under the Apache 2.0 license. To get access to the full set of features, please contact B2i Healthcare. {% endhint %}
View the detailed release notes here.
Not the version you're looking for? View past releases.
Install and Run
NOTE: You need to have a recent version of Java installed (Java 8 update 171 or newer).
Once you have downloaded the appropriate package:
- Run
bin/startup
on unix, orbin/startup.bat
on windows - Run
curl http://localhost:8080/snowowl/admin/info
- See REST API docs, FHIR API docs
Learn Snow Owl
Building from source
Snow Owl uses Maven for its build system. In order to create a distribution, simply run the following command in the cloned directory.
mvn 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:
mvn 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 (using either Virgo or standalone OSGi). To develop plug-ins for Snow Owl you need to use Eclipse as IDE:
- Use latest Eclipse IDE for Eclipse Committers package: http://www.eclipse.org/downloads/eclipse-packages/
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 (http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/)
- MWE 2 language SDK 2.9.0 (MWE)
- Xtend IDE 2.11.0 (Xtext)
- Xtext Complete SDK 2.11.0 (Xtext)
- Maven integration (http://download.eclipse.org/technology/m2e/releases)
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)
First steps
- Import all projects into your Eclipse workspace and wait for the build to complete
- Select all projects and hit
Alt
+F5
and trigger an update to all Maven projects manually (to download dependencies from Maven) - Open the
target-platform/target-platform-local.target
file - Wait until Eclipse resolves the target platform (click on the
Resolve
button if it refuses to do so) and then click onSet as Active Target platform
- Wait until the build is complete and you have no compile errors
- Launch
snow-owl-oss
launch configuration in the Run Configurations menu - Navigate to
http://localhost:8080/snowowl/snomed-ct/v3
Contributing
Please see CONTRIBUTING.md for details.
Versioning
Our releases use semantic versioning. You can find a chronologically ordered list of notable changes in CHANGELOG.md.
License
This project is licensed under the Apache 2.0 License. See LICENSE for details and refer to NOTICE for additional licensing notes and uses of third-party components.
Acknowledgements
In March 2015, SNOMED International generously licensed the Snow Owl Terminology Server components supporting SNOMED CT. They subsequently made the licensed code available to their members and the global community under an open-source license.
In March 2017, NHS Digital 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.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK