This is an alternative to running Snowstorm Lite under Docker.
Building the index takes about 2 minutes to run. This application can only hold one CodeSystem. Starting a new upload will clear the existing CodeSystem.
You must have Java 17 installed and accessible on the command line.
The index will be created in the lucene-index
directory. When the index creation completes you will see SNOMED CT in the CodeSystem listing.
Building the index for the International Edition can happen in resource constrained environments, limit memory use to 1gb using java parameter -Xmx1g
.
The following examples use the version URI for the January 2024 International Edition with module 900000000000207008
and version 20240101
.
See "URIs for Editions and Versions" in the SNOMED CT URI Standard.
If you have access to the SNOMED International MLDS service then Snowstorm Lite can download a release automatically from there.
For example:
java -jar snowstorm-lite.jar \
--syndicate \
--version-uri=http://snomed.info/sct/900000000000207008/version/20240101
HTTPS proxy server parameters can also be specified. The parameters https.proxyUser
and https.proxyPassword
are optional and only needed if the proxy server requires authentication.
For example:
java -jar -Dhttps.proxyHost=<host> -Dhttps.proxyPort=<port> -Dhttps.proxyUser=<user> -Dhttps.proxyPassword=<password> snowstorm-lite.jar \
--syndicate \
--version-uri=http://snomed.info/sct/900000000000207008/version/20240101
Use the --load
parameter with the path to a SNOMED CT Edition RF2 archive.
Or alternatively a comma separated list of RF2 paths including an Edition and one or more Extension packages.
Use the --version-uri
parameter with the URI of that SNOMED CT Edition version.
For example:
java -jar snowstorm-lite.jar \
--load=my-release-files/SnomedCT_InternationalRF2_xxxxx.zip \
--version-uri=http://snomed.info/sct/900000000000207008/version/20240101
Alternatively the index can be created by uploading the release file:
curl --form file=@my-release-files/SnomedCT_InternationalRF2_xxxxx.zip \
--form version-uri="http://snomed.info/sct/900000000000207008/version/20240101" \
http://localhost:8080/fhir-admin/load-package
Once the index is created the FHIR server will be ready to use. Next time the application can be started using no parameters:
java -Xmx1g -jar snowstorm-lite.jar
The admin role can upload a new version of SNOMED CT that will replace the current one.
The default admin password is snowstormLITE
. You must set admin credentials before deploying to production.
Snowstorm Lite will log a WARN
during startup if the admin password has not been set.
Change the password by setting an environment variable then pass this to java every time the application is started:
export ADMIN_PW="example-foothold-toddle-kilowatt-jujube"
java -jar snowstorm-lite.jar --admin.password=$ADMIN_PW
Alternatively: create an application.properties file in the same directory containing:
admin.password=example-apple-demise-ape-pun
This application uses the highly extensible Spring Security Framework that can be integrated with OAuth, LDAP and others.