Snow Owl® Component Identifier Service is a centralized solution for SNOMED CT Identifier allocation and registration. It is an alternative solution for the official Component Identifier Service implementation.
- Single and Bulk allocation of SNOMED CT Identifiers through Java and REST APIs
- Authentication with Snow Owl compatible identity services
- Out of the box integration with Snow Owl
- 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)
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/cis.sh
on unix, orbin/cis.bat
on windows - See REST API docs
Snow Owl CIS can be integrated with one or more Snow Owl Terminology Server instance(s) to support the necessary SNOMED CT ID allocation from a centralized place as opposed to relying on the embedded CIS module from any of these instances. To configure:
- Install and run Snow Owl CIS
- Configure the
cis.strategy
,cis.cisBaseUrl
,cis.cisUsername
,cis.cisPassword
configuration parameters on each Snow Owl instance to the same values. Example configuration:
cis:
strategy : CIS
cisBaseUrl: http:https://localhost:9090/snowowl/cis/
cisUserName: snowowl
cisPassword: snowowl
By default Snow Owl CIS stores its data under the CIS_HOME/resources
folder.
It can be configured with the resourcesDirectory
configuration parameter. NOTE: this parameter is a relative path to the installation directory.
There are two ways to back up and restore Snow Owl CIS data.
When Snow Owl CIS is offline, it is possible to backup the currently set resourcesDirectory
and send it to a few external locations for redundancy.
To restore a previous backup just replace the resourcesDirectory contents from the backup and start Snow Owl CIS.
NOTE: while this might work in certain use cases (testing, evaluation, etc.), it is recommended to use the Hot backup and restore method instead.
NOTE: This is the recommended backup and restore solution for Snow Owl CIS. Using the Snapshot and Restore API of the underlying Elasticsearch instance administrators can create incremental backups and restore to specific tagged backups when necessary. See more details at: https://www.elastic.co/guide/en/elasticsearch/reference/6.5/modules-snapshots.html
To migrate your Snow Owl terminology server deployments to use a centralized CIS solution, follow these steps:
- Connect your CIS instance with your existing Snow Owl terminology server deployment with a private network
- Expose the
9200
port on each machine that runs a Snow Owl instance (NOTE: do NOT expose the 9200 port publicly to the Internet) - Install CIS and configure
reindex.remote.whitelist
configuration property with all source Snow Owl hosts with port9200
- Start CIS
- Configure and run the script at
<CIS_HOME>/scripts/cis_data_sync.sh
- One-by-one configure and restart each Snow Owl instance to use the centralized CIS instance
NOTE: After successful synchronization you can disconnect them from the private network and remove the port 9200
from the exposed ports.
The script connects to each configured Snow Owl instance sequentially and copies the available SNOMED CT Identifiers to the underlying Elasticsearch index.