Date: Thu, 28 Mar 2024 22:34:49 +0000 (UTC) Message-ID: <1588134738.2303.1711665289640@[3.220.22.64]> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_2302_342517546.1711665289639" ------=_Part_2302_342517546.1711665289639 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
This exercise is intended to teach you how to use Snowstorm to:
Last Updated:
On this page
Please visit the Pre-requisites<= /a> page to see software that may be useful during the day. In summary, we = recommend using:
You will be given an ip-address and you can download the training.pem priv= ate key to access the AWS instance to access. Go to the direct= ory where you have saved the training.pem file and run:
chmod 7= 00 training.pem ssh -i training.pem ubuntu@<ip-address>
This should work without any problems on Linux and OSX.=
For Windows, because of the difference in using SSH, pl= ease follow the instructions on the Windows set up page.
On the server you will find:
SnomedCT_InternationalRF2_PRODUCTION_20210731T120000Z.zip = ;(July 2021 International Edition)
SnomedCT_InternationalRF2_PRODUCTION_20220131T120000Z.zip = ;(January 2022 International Edition)
/opt/snowstorm - c= ontains the most recent released Snowstorm jar file
Elasticsearch v7.9.2 has already been installed on the server. You can c= heck that Elasticsearch is running with the following command:
curl lo= calhost:9200
When normally installing Snowstorm, you will need to download the most r= ecent release of Snowstorm from the GitHub reposito= ry releases page. However, we have put the Snowstorm executable jar fil= e on the server already.
To start snowstorm you will need to run the following commands.
(Documentation available starting-snowstorm)
The simplest thing is to leave an SSH window open with this command runn= ing so you can easily access the log output.
tmux cd /opt/snowstorm sudo java -Xms4g -Xmx4g -jar snowstorm*.jar --elasticvc.save.batch-size=3D1= 0000 | sudo tee -a snowstorm.log
We are using tmux so that if you have an internet connecti=
on issue and get disconnected Snowstorm will keep running. If this happens =
you can reconnect to the machine and type "tmux a" to continue where you le=
ft off.
We are using tee to see the output in the window and copy it to a snowstorm.log fi=
le in the same directory.
Next load the SNAPSHOT of the July 2021 International Edition.
(Documentation available loading-snomed)
We will use the REST API to run the imports. Access the Snowstorm swagge=
r interface using the AWS instance ip-address and port 8080, for example -&=
nbsp;http://<ip-address>:8080/
First we need to start the import process by creating a new import job. = Look for the Import endpoints and then create a new import using the <= strong>start-local-file-import endpoint with the following importRequest parameter
{ "branchPath": "MAIN", "createCodeSystemVersion": true, "filePath": "/opt/releases/SnomedCT_InternationalRF2_PRODUCTION_20210731T= 120000Z.zip", "type": "SNAPSHOT" }
... and click on 'Try it now'.
The Response Headers will contain the location of the = newly created job. Copy this URL into a new tab to monitor the status of th= e job.
You can watch the Snowstorm log t=
o see how this is progressing or fetch the job status from the import job U=
RL - http://<ip-addre=
ss>:8080/imports/<import_id> .
This should take around 30 minutes.
Make sure that you wait for the import to complete before going any furt= her forward. You can see it is completed by looking at the status of the im= port using the URL from the location header. When you refresh the page it s= hould say COMPLETED when done.
If you want to check that you have imported successfully, you can do thi=
s by seeing how many SNOMED CT concepts there are on the MAIN branch with t=
he following URL - http://<ip-address>:8080/MAIN/concepts?=
offset=3D0&limit=3D1
- which show that there are a total o=
f 474,074 active and inactive concepts.
The Snowstorm Code System Registry should now have a single code system = listed here: http://<ip-address>:8080/codesystems And a single SNOMEDCT version listed here: http://<ip-address>:8= 080/codesystems/SNOMEDCT/versions
Check the registry throughout this exercise to see your changes ref= lected.
As this is the first time we will be importing the local edition or exte=
nsion (Danish extension in this instance), we will need to create a CodeSys=
tem on the server.
On the swagger interface in the =E2=80=98Code Systems=E2=80=99 section=
look for the =E2=80=98Create a code system=E2=80=99 endpoint.
Use the following in the request to create the CodeSystem. Note the dependantVersionEffectiveTime allows you to create a CodeSys=
tem dependent on a specific International Edition version.
{ "name": "Danish Extension", "shortName": "SNOMEDCT-DK", "countryCode": "dk", "branchPath": "MAIN/SNOMEDCT-DK", "dependantVersionEffectiveTime": 20210731, "defaultLanguageCode": "dk" }
clic= k 'Try it now'.
You now need to import the local extension or edition. Like last time,&n=
bsp;we need to start the import process by creating a new import job. Look =
for the Import endpoints and then create a new import using the
{ "branchPath": "MAIN/SNOMEDCT-DK", "createCodeSystemVersion": true, "filePath": "/opt/releases/SnomedCT_ManagedServiceDK_PRODUCTION_DK1000005= _20210930T120000Z.zip", "type": "SNAPSHOT" }
clic= k 'Try it now'.
Copy the "location" from the Resp= onse Headers and open this in a new browser tab.
Refresh the import job in your browser to see the status change from WAITING_FOR_FILE to RUNNING and then COMPLETED= . You can also see how this is progressing in the Snowstorm log.
This should take no more than a few minutes.
Make sure that you wait for the import status to change to COMPLETED= before going any further forward.
Every month now, there is a new International Edition and it is im= portant to keep your terminology server up to date. For the purpose of= this exercise, we will only import the relevant International Edition rele= ase that the Danish extension depends on.
The International Edition can be upgraded by importing a S= NAPSHOT of the new changes onto the MAIN branch.
We now need to create an import job using this configuration:
{ "branchPath": "MAIN", "createCodeSystemVersion": true, "filePath": "/opt/releases/SnomedCT_InternationalRF2_PRODUCTION_20220131T= 120000Z.zip", "type": "SNAPSHOT" }
The International Edition can be upgraded by importing a generated= DELTA of the new changes onto the MAIN branch.<= /span>
We now need to create an import job using this configuration:
{ "branchPath": "MAIN", "createCodeSystemVersion": true, "filePath": "/opt/releases/SnomedCT_InternationalRF2_PRODUCTION_20220131T= 120000Z_Delta.zip", "type": "DELTA" }
click 'Try it now'. As before use the URL in the location Response Heade= r to open a new browser tab. Refresh the page to monitor the import status.=
Make sure that you wait for import status COMPLETED before goin= g any further forward.
We now need to upgrade the local extension/edition branch to use t= he newly imported International Edition release content.
In our example, we will now rebase the MAIN/SNOMEDCT-DK&n= bsp;branch using the CodeSystem upgrade endpoint giving the short name = SNOMEDCT-DK:
{ "contentAutomations": false, "newDependantVersion": 20220131 }
You can check this has been successful by checking the status of t= he branch and seeing if it is FORWARD.
Using what you have already done, see if you can do this making note the= type and the branch that you w= ill import into.
Do this by creating an import job as before, using this configurat= ion:
{ "branchPath": "MAIN/SNOMEDCT-DK", "createCodeSystemVersion": true, "filePath": "/opt/releases/SnomedCT_ManagedServiceDK_PRODUCTION_DK1000005= _20220331T120000Z.zip", "type": "SNAPSHOT" }
click 'Try it now' and use the location Response Header to open a new br= owser tab. Refresh the page to monitor the import status.
When updating Snowstorm, entries only appear in the registry when each p= rocess is complete.
When accessing content a version branch from the registry shou= ld be used e.g. "MAIN/SNOMECT-DK/2021-09-30", not "M= AIN/SNOMEDCT-DK". This will avoid your implementation being able to se= e inconsistent content during an upgrade.