-
Notifications
You must be signed in to change notification settings - Fork 20
DSF Upgrade From 0.5.5 to 0.6.0
Upgrading the DSF from 0.5.5 to 0.6.0 involves replacing plugins, modifying the DSF FHIR bundle.xml and the docker-compose.yml files as well as recreating the containers.
If you are Upgrading from 0.5.0, 0.5.1, 0.5.2, 0.5.3 or 0.5.4 please see the Upgrade from 0.5.x to 0.5.5 guide first.
-
Preparation / Backup
- We recommend to create a backup of the
/opt/fhir
directory before proceeding with the upgrade.
For example using:sudo cp -rp /opt/fhir /opt/fhir_backup_pre_0.6.0_upgrade
- We recommend to create a backup of the
-
Modify the DSF FHIR conf/bundle.xml file
-
Test NUM-CODEX (non HiGHmed) instance:
@@ -1,7 +1,7 @@ <Bundle xmlns="http://hl7.org/fhir"> <!-- - DSF 0.5.5 External FHIR Bundle for NUM-CODEX (not HiGHmed) test DICs + DSF 0.6.0 External FHIR Bundle for NUM-CODEX (not HiGHmed) test DICs Do not modify this file! @@ -219,6 +219,10 @@ <system value="http://highmed.org/fhir/CodeSystem/organization-type"/> <code value="${org.highmed.dsf.fhir.server.organization.numCodexRole:MeDIC}"/> </coding> + <coding> + <system value="http://highmed.org/fhir/CodeSystem/organization-role"/> + <code value="${org.highmed.dsf.fhir.server.organization.numCodexRole:MeDIC}"/> + </coding> </code> <endpoint> <reference value="urn:uuid:bdf2fb60-1f59-4585-a4ec-08148f8bc552"/> @@ -258,6 +262,10 @@ <system value="http://highmed.org/fhir/CodeSystem/organization-type"/> <code value="DTS"/> </coding> + <coding> + <system value="http://highmed.org/fhir/CodeSystem/organization-role"/> + <code value="DTS"/> + </coding> </code> <endpoint> <reference value="urn:uuid:e7075ff1-4a89-428d-846c-fd5cfd8c68bb"/>
-
Test HiGHmed instance:
No changes needed. -
Production NUM-CODEX (non HiGHmed) instance:
@@ -1,7 +1,7 @@ <Bundle xmlns="http://hl7.org/fhir"> <!-- - DSF 0.5.5 External FHIR Bundle for NUM-CODEX (not HiGHmed) production DICs + DSF 0.6.0 External FHIR Bundle for NUM-CODEX (not HiGHmed) production DICs Do not modify this file! @@ -212,7 +212,11 @@ <code> <coding> <system value="http://highmed.org/fhir/CodeSystem/organization-type"/> - <code value="MeDIC"/> + <code value="${org.highmed.dsf.fhir.server.organization.numCodexRole:MeDIC}"/> + </coding> + <coding> + <system value="http://highmed.org/fhir/CodeSystem/organization-role"/> + <code value="${org.highmed.dsf.fhir.server.organization.numCodexRole:MeDIC}"/> </coding> </code> <endpoint> @@ -253,6 +257,10 @@ <system value="http://highmed.org/fhir/CodeSystem/organization-type"/> <code value="DTS"/> </coding> + <coding> + <system value="http://highmed.org/fhir/CodeSystem/organization-role"/> + <code value="DTS"/> + </coding> </code> <endpoint> <reference value="urn:uuid:b91ebda2-438d-4db0-aa0c-6a6c283543de"/>
-
Production HiGHmed instance:
No changes needed.
-
-
Modify the DSF FHIR docker-compose.yml file, replace 0.5.5 with 0.6.0 and add the new healthcheck
@@ -1,7 +1,7 @@ version: '3.8' services: proxy: - image: ghcr.io/highmed/fhir_proxy:0.5.5 + image: ghcr.io/highmed/fhir_proxy:0.6.0 restart: on-failure ports: - 127.0.0.1:80:80 @@ -27,8 +27,13 @@ - app app: - image: ghcr.io/highmed/fhir:0.5.5 + image: ghcr.io/highmed/fhir:0.6.0 restart: on-failure + healthcheck: + test: ["CMD", "java", "-cp", "dsf_fhir.jar", "org.highmed.dsf.fhir.StatusClient"] + interval: 10s + timeout: 15s + retries: 5 secrets: - db_liquibase.password
-
Upgrade the DSF FHIR containers
From/opt/fhir
executedocker-compose up -d && docker-compose logs -f
-
Preparation / Backup
- We recommend to create a backup of the
/opt/bpe
directory before proceeding with the upgrade.
For example using:sudo cp -rp /opt/bpe /opt/bpe_backup_pre_0.6.0_upgrade
- We recommend to create a backup of the
-
Modify the DSF BPE docker-compose.yml file
-
NUM-CODEX (non HiGHmed) instance:
Replace 0.5.5 with 0.6.0 and add the new healthcheck@@ -1,8 +1,13 @@ version: '3.8' services: app: - image: ghcr.io/highmed/bpe:0.5.5 + image: ghcr.io/highmed/bpe:0.6.0 restart: on-failure + healthcheck: + test: ["CMD", "java", "-cp", "dsf_bpe.jar", "org.highmed.dsf.bpe.StatusClient"] + interval: 10s + timeout: 15s + retries: 5 secrets: - db_liquibase.password - db_user.password
Note: The
ORG_HIGHMED_DSF_BPE_PROCESS_EXCLUDED
environment variable for NUM-CODEX should be configured withwwwnetzwerk-universitaetsmedizinde_dataTranslate/0.4.1
andwwwnetzwerk-universitaetsmedizinde_dataReceive/0.4.1
. -
HiGHmed instance:
Replace 0.5.5 with 0.6.0, add the new healthcheck and update the process exclude config@@ -1,8 +1,13 @@ version: '3.8' services: app: - image: ghcr.io/highmed/bpe:0.5.5 + image: ghcr.io/highmed/bpe:0.6.0 restart: on-failure + healthcheck: + test: ["CMD", "java", "-cp", "dsf_bpe.jar", "org.highmed.dsf.bpe.StatusClient"] + interval: 10s + timeout: 15s + retries: 5 secrets: - db_liquibase.password - db_user.password @@ -43,10 +48,9 @@ ORG_HIGHMED_DSF_BPE_FHIR_SERVER_ORGANIZATION_IDENTIFIER_VALUE: TODO_ORGANIZATION_IDENTIFIER ORG_HIGHMED_DSF_BPE_FHIR_SERVER_BASE_URL: https://TODO_DSF_FRIR_SERVER_FQDN/fhir ORG_HIGHMED_DSF_BPE_PROCESS_EXCLUDED: | - highmedorg_computeFeasibility/0.5.0 - highmedorg_computeDataSharing/0.5.0 - highmedorg_requestUpdateResources/0.5.0 - highmedorg_updateAllowList/0.5.0 + highmedorg_computeFeasibility/0.6.0 + highmedorg_computeDataSharing/0.6.0 + highmedorg_updateAllowList/0.6.0 wwwnetzwerk-universitaetsmedizinde_dataTranslate/0.4.1 wwwnetzwerk-universitaetsmedizinde_dataReceive/0.4.1
Note: The entry
highmedorg_requestUpdateResources/...
is no longer needed, since we do not recommend to deploy thedsf-bpe-process-update-resources-0.6.0.jar
plugin anymore.
-
-
Upgrade DSF Plugins and Process-Plugins
-
NUM-CODEX (non HiGHmed) instance:
-
Process plugins in
/opt/bpe/process
:- Replace
dsf-bpe-process-ping-0.5.0.jar
withdsf-bpe-process-ping-0.6.0.jar
from the latest HiGHmed processes release
Make sure the process plugins in
/opt/bpe/process
are configured withchmod 440
andchown root:bpe
. - Replace
-
-
HiGHmed instance:
-
Process plugins in
/opt/bpe/process
:- Delete
dsf-bpe-process-update-resources-0.5.0.jar
- Replace
dsf-bpe-process-feasibility-0.5.0.jar
withdsf-bpe-process-feasibility-0.6.0.jar
from the latest HiGHmed processes release - Replace
dsf-bpe-process-local-services-0.5.0.jar
withdsf-bpe-process-local-services-0.6.0.jar
from the latest HiGHmed processes release - Replace
dsf-bpe-process-ping-0.5.0.jar
withdsf-bpe-process-ping-0.6.0.jar
from the latest HiGHmed processes release - Replace
dsf-bpe-process-update-allow-list-0.5.0.jar
withdsf-bpe-process-update-allow-list-0.6.0.jar
from the latest HiGHmed processes release - Add
dsf-bpe-process-data-sharing-0.6.0.jar
from the latest release - Add
dsf-bpe-process-feasibility-mpc-0.6.0.jar
from the latest release
Make sure the process plugins in
/opt/bpe/process
are configured withchmod 440
andchown root:bpe
. - Delete
-
Plugins in '/opt/bpe/plugin':
- If you are using the provided PDQ MPI Client, replace
dsf-mpi-client-pdq-0.5.5.jar
,hapi-base-2.3.jar
andhapi-structures-v25-2.3.jar
with the new files fromdsf-mpi-client-pdq-0.6.0.zip
, see DSF release notes - If you are using the provided openEHR Client, replace
dsf-openehr-client-impl-0.5.5.jar
with the new file fromdsf-openehr-client-impl-0.6.0.zip
, see DSF release notes
Make sure the plugins in
/opt/bpe/plugin
are configured withchmod 440
andchown root:bpe
. - If you are using the provided PDQ MPI Client, replace
-
-
NUM-CODEX (non HiGHmed) instance:
-
Check or fix folder owner and permissions
-
NUM-CODEX (non HiGHmed) instance:
No action needed. -
HiGHmed instance:
The BPE needs to be able to write to the folder/opt/bpe/psn
.chmod 0770 /opt/bpe/psn chown root:bpe /opt/bpe/psn
-
-
Upgrade the DSF BPE containers
From/opt/bpe
executedocker-compose up -d && docker-compose logs -f
-
Verify your upgrade:
- Verify the DSF FHIR server is running in version 0.6.0. The log should contain a message:
INFO main - BuildInfoReaderImpl.logBuildInfo(137) | Artifact: dsf-fhir-server-jetty, version: 0.6.0, [...]
- Verify the DSF FHIR server started without errors
- Verify the DSF FHIR server is accessible via https, for example by browsing to https://your-dsf-endpoint.de/fhir/
- Verify the DSF BPE server is running in version 0.6.0. The log should contain a message:
INFO main - BuildInfoReaderImpl.logBuildInfo(137) | Artifact: dsf-bpe-server-jetty, version: 0.6.0, [...]
- Verify the DSF BPE server started without errors
- Verify the DSF BPE server removed ActivityDefinition resources for the deleted process plugins from the DSF FHIR server and created new ActivityDefinition for the new process plugin(s).
- Verify your install with a ping/pong test
For a Task resource compatible with the 0.6.0 release of the ping process, see the Ping/Pong process wiki.
Note: The Task resource for the ping 0.5.0 process does not work with the new 0.6.0 release, multiple changes were made in addition to the new version number.
- Verify the DSF FHIR server is running in version 0.6.0. The log should contain a message: