Skip to content

Commit

Permalink
Merge pull request #35 from rorydavidson/master
Browse files Browse the repository at this point in the history
Changes to import UK Edition
  • Loading branch information
kaicode authored Apr 1, 2019
2 parents eb3acb5 + 00635a5 commit b7ac184
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 17 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Snowstorm is a SNOMED CT terminology server built on top of Elasticsearch, with
- Multi-lingual search and content retrieval
- Fully ECL v1.3 compliant
- Full history (depending on initial RF2 import decision)
- Read-only FHIR API

**Authoring** - although write and update features are available this aspect is currently not production ready, having not been fully tested, so should be considered proof of concept.

Expand All @@ -23,7 +24,7 @@ Documentation is sparse for now, but will be improved as the project moves out o
- [Loading SNOMED](docs/loading-snomed.md)
- [Using the API](docs/using-the-api.md)
- [Using the FHIR API](docs/using-the-fhir-api.md)
- [Updating SNOMED CT and using Extensions](docs/updating-snomed-and-extensions.md)
- [Loading & updating SNOMED CT with local Extensions or Editions](docs/updating-snomed-and-extensions.md)
- [Configuration Guide](docs/configuration-guide.md)
- [Docker Quickstart](docs/using-docker.md)

Expand Down
22 changes: 18 additions & 4 deletions docs/updating-snomed-and-extensions.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,37 @@
# Updating SNOMED CT and working with other Extensions or Editions
# Loading & updating SNOMED CT with local Extensions or Editions

## Contents

- [Extensions vs Editions](#extensions-vs-editions)
- [Loading the initial data](#loading-the-initial-data)
- [Loading another Extension](#loading-another-extension)
- [Importing a new International Edition](#importing-a-new-international-edition)
- [Upgrading an Extension to the new International Edition](#upgrading-an-extension-to-the-new-international-edition)
- [Upgrading to a new local Edition or Extension](#upgrading-to-a-new-local-edition-or-extension)

## Extensions vs Editions

To try to defuse any confusion about what SNOMED CT versions you are working, this is a brief summary of the difference between an edition and an extension. Editions generally bundle international and local counry content into a single release. An extension is local content extended on top of an already published International Edition.

A few exceptions to the rule worth being aware of:

- **Spanish Edition**: referred to as en edition when in fact it is an *extension* and should be loaded as documented below
- **UK Edition**: packaged as a single zip file, but actually contains full International Edition folder and a UK Extension folder. The latter should be loaded as documented below.

In the case of real editions (the US, Canada and Australia editions are included in the list), there is no need to load the International Edition, and you should load the relevat adition in the same way as the International Edition.

## Loading the initial data

Before doing anything, you will need to have a SNAPSHOT (or Full version) of the International Edition loaded into Snowstorm (this could be another edition including the US, CA or NL editions). Instructions on how to do that are in the [Snowstorm documents here](loading-snomed.md).
Before doing anything, you will need to have a SNAPSHOT (or Full version) of the International Edition loaded into Snowstorm (this could be another edition including the US, CA or NL editions). Instructions on how to do that are in the [Snowstorm documents here](loading-snomed.md). Make sure to initially load the correct version that the extension you want to load is dependent upon.

**NOTE** - Make sure that you wait for the original import to complete before going any further forward. You can see it is completed by looking at the status of the import - http://localhost:8080/imports/<import id> - where it will say **COMPLETED**


## Loading another Extension

As this is the first time we will be importing another extension, we will need to create a CodeSystem on the server. For this example, we are going to use the Spanish Edition but it should be the same for any other edition or extension. On the swagger interface, look for the create a code system POST on the admin endpoint ( http://localhost:8080/swagger-ui.html#!/Admin/createCodeSystemUsingPOST ). Use the following in the request to create the branch:
As this is the first time we will be importing another extension, we will need to create a CodeSystem on the server. For this example, we are going to use the Spanish Edition but it should be the same for any other edition or extension.


On the swagger interface, look for the create a code system POST on the admin endpoint ( http://localhost:8080/swagger-ui.html#!/Admin/createCodeSystemUsingPOST ). Use the following in the request to create the branch:

```json
{
Expand Down
19 changes: 11 additions & 8 deletions kubernetes/Readme.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
Kubernetes deployment
# Kubernetes deployment

**NOTE** Knowledge and experience with kubernetes are required and is assumed.

Knowledge and experience with kubernetes are required.
This will not covers how to get SSL certificates (Letsencrypt) neither than the deployment of an Ingress Controller (Haproxy/Traefik/Nginx).
First of all, you have to build your own docker images than push it to your own docker registry or use the docker hub.

Depending of your kubernetes cluster you might want to change the location of where the elasticsearch data will be stored (actually HostPath storage model)
kubectl create -f snowstorm-deploy.yml -n production
First of all, you have to build your own docker images than push it to your own docker registry or use the docker hub. Depending of your kubernetes cluster you might want to change the location of where the elasticsearch data will be stored (actually HostPath storage model)

`kubectl create -f snowstorm-deploy.yml -n production`

Now you want to create the secret where your certificates will be stored in order to be used by the ingress controller.
kubectl create secret tls snowstorm.example.com --key ./snowstorm.example.com.key --cert ./snowstorm.example.com.fullchain -n production

`kubectl create secret tls snowstorm.example.com --key ./snowstorm.example.com.key --cert ./snowstorm.example.com.fullchain -n production`

Finally, we use this file ```ingress-rules``` to declare our hosts with his url and SSL certificates without authentication.

`kubectl create -f ingress-rules.yml`

At least we use this file ```ingress-rules``` to declare our hosts with his url and SSL certificates without authentication.
kubectl create -f ingress-rules.yml
This will create ingress rules that your Ingress Controller will apply.
8 changes: 4 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>org.snomed</groupId>
<artifactId>snowstorm</artifactId>
<version>2.2.1</version>
<version>2.2.2</version>

<name>Snowstorm</name>
<description>SNOMED CT Terminology Server Using Elasticsearch</description>
Expand Down Expand Up @@ -35,7 +35,7 @@
<elasticsearch.version>6.0.1</elasticsearch.version>

<spring-boot.version>${project.parent.version}</spring-boot.version>
<snomed-boot.version>1.12.0</snomed-boot.version>
<snomed-boot.version>1.12.1</snomed-boot.version>
<slf4j.version>1.7.5</slf4j.version>
<docker.image.prefix>snomedinternational</docker.image.prefix>

Expand Down Expand Up @@ -157,12 +157,12 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu3</artifactId>
<version>3.2.0</version>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-server</artifactId>
<version>3.2.0</version>
<version>3.7.0</version>
</dependency>

<!-- Test dependencies -->
Expand Down

0 comments on commit b7ac184

Please sign in to comment.