Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Releases: highmed/highmed-dsf

Third Release Candidate for 0.6.0

04 May 18:00
v0.6.0-RC3
2cc1837
Compare
Choose a tag to compare
Pre-release

General remarks:

Features include:

  • Property placeholder substitution using #{date} and #{version} can now be used in FHIR and BPMN files of process plugins. The old style ${version} should no longer be used in FHIR files and cannot be used in BPMN files. #248
  • Markdown documentation of properties can be generated using a specific annotation during Maven builds #253 #307
  • The MPI client has improved log messages and properties have default values where possible #260
  • Process plugins are informed about their current deployment state on the BPE, this feature can be used to implement startup logic that depends on the process being active and not excluded #261
  • Adds Consent and Pseudonymisation clients as well as improves the MPI and openEHR clients as preparations for the HiGHmed Data Sharing process #274
  • Health-check http endpoints allow to check the current health state of the FHIR and BPE containers #282
  • Because the organization type information moved to organization affiliation role, the system of the corresponding CodeSystem/ValueSet has changed as well from organization-type to organization-role. Process plugin developers are encouraged to use values from the new CodeSystem http://highmed.org/fhir/CodeSystem/organization-role when defining roles of organizations in the plugins ActivityDefinitions #284
  • A mechanism to change FHIR resources on server startup in order to manage profile changes has been added #288
  • Support for the DocumentReference resource was added to the FHIR server #310
  • The connect and read timeouts of the Apache reverse proxy can now be configured using the environment variables PROXY_PASS_CONNECTION_TIMEOUT_HTTP, PROXY_PASS_CONNECTION_TIMEOUT_WS, PROXY_PASS_TIMEOUT_HTTP and PROXY_PASS_TIMEOUT_WS, additional Info can be found in the http_proxy Readme #313
  • All upgradable Java dependencies where increased to the newest applicable versions #317
  • A few functions have been added to the HTML output of the DSF FHIR server: The currently displayed FHIR resource (aka the URL) can be saved as a bookmark in the browsers local storage, supported search query parameters can be overlaid for the currently displayed URL and the current resource can be downloaded as XML or JSON depending on the XML/JSON tab being displayed #331
  • Auto detection of creators, fields, getters, is-getters and setters was disabled for the default JSON object mapper used by BPE variables. Elements need to be explicitly annotated with @JsonCreator and @JsonProperty. For testing serialization of BPE variables, process plugins can use the new org.highmed.dsf.fhir.json.ObjectMapperFactory to get a ObjectMapper that is configured equally to the one used within the DSF BPE #339

Fixes include:

  • While using the webfrontend of the FHIR Server refreshing the page (F5 / CTRL+R) will consistently send updates on resources if they changed #206
  • A failed message send end event results in a failed Task resource and therefore in a failed process #273
  • The order of the DateTime query parameter is now irrelevant, gt does not need to be before lt anymore #295
  • Searches for profiles with a version are now supported and do not result in an empty response anymore #305
  • Missing, empty and wildcard / Accept Header will return fhir+xml #312
  • Java dependencies have been updated to the latest releases where possible #317
  • The OperationOutcome after create and update now includes the external URL of the FHIR server and not the internally used IP address #328
  • Process plugins are now allowed to fail during startup without crashing the BPE, warnings are generated for process plugins that failed to initialize and will not be available for execution #335

Clients released in the binary assets:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Refreshing the page does not refresh the resource information #206
  • Add property placeholder substitution mechanism to BPMN files #248
  • Add annotations to properties for generating documentation #253
  • Improve MPI client error handling, log messages and parameters #260
  • Add mechanism to communicate process deployment state back to process plugin #261
  • A failed message send event should result in a failed process #273
  • Preparations for HiGHmed data sharing process #274
  • Start new development cycle #276
  • Add self-check URL endpoints #282
  • Change CodeSystem/ValueSet organization-type to organization-role #284
  • Add a migrator for existing FHIR ressources #288
  • Order of DateTime query-parameters should be irrelevant #295
  • _profile search parameter does not work with versioned profiles #305
  • Create process configuration generator for properties #307
  • Implement DocumentReference resource #310
  • NullPointerExceptiont if no Accept-Header send #312
  • Add config option for Apache reverse proxy read timeout #313
  • Upgrade bcprov-jdk15on test dependency #317
  • Bad URL in OperationOutcome after create and update #328
  • Add bookmarking function to HTML output #331
  • A Failed Process Plugin Crashes the BPE During Startup #335
  • Add New Environment Variables of fhir_proxy to Readme File #337
  • Jackson deserialization fails if setter/getter is a computed value and not present as field #339

Second Release Candidate for 0.6.0

22 Apr 16:43
v0.6.0-RC2
aea0cc2
Compare
Choose a tag to compare
Pre-release

General remarks:

Features include:

  • Property placeholder substitution using #{date} and #{version} can now be used in FHIR and BPMN files of process plugins. The old style ${version} should no longer be used in FHIR files and cannot be used in BPMN files. #248
  • Markdown documentation of properties can be generated using a specific annotation during Maven builds #253 #307
  • The MPI client has improved log messages and properties have default values where possible #260
  • Process plugins are informed about their current deployment state on the BPE, this feature can be used to implement startup logic that depends on the process being active and not excluded #261
  • Adds Consent and Pseudonymisation clients as well as improves the MPI and openEHR clients as preparations for the HiGHmed Data Sharing process #274
  • Health-check http endpoints allow to check the current health state of the FHIR and BPE containers #282
  • Because the organization type information moved to organization affiliation role, the system of the corresponding CodeSystem/ValueSet has changed as well from organization-type to organization-role. Process plugin developers are encouraged to use values from the new CodeSystem http://highmed.org/fhir/CodeSystem/organization-role when defining roles of organizations in the plugins ActivityDefinitions #284
  • A mechanism to change FHIR resources on server startup in order to manage profile changes has been added #288
  • Support for the DocumentReference resource was added to the FHIR server #310
  • The connect and read timeouts of the Apache reverse proxy can now be configured using the environment variables PROXY_PASS_CONNECTION_TIMEOUT_HTTP, PROXY_PASS_CONNECTION_TIMEOUT_WS, PROXY_PASS_TIMEOUT_HTTP and PROXY_PASS_TIMEOUT_WS, additional Info can be found in the http_proxy Readme #313
  • All upgradable Java dependencies where increased to the newest applicable versions #317
  • A few functions have been added to the HTML output of the DSF FHIR server: The currently displayed FHIR resource (aka the URL) can be saved as a bookmark in the browsers local storage, supported search query parameters can be overlaid for the currently displayed URL and the current resource can be downloaded as XML or JSON depending on the XML/JSON tab being displayed #331
  • Auto detection of creators, fields, getters, is-getters and setters was disabled for the default JSON object mapper used by BPE variables. Elements need to be explicitly annotated with @JsonCreator and @JsonProperty. For testing serialization of BPE variables, process plugins can use the new org.highmed.dsf.fhir.json.ObjectMapperFactory to get a ObjectMapper that is configured equally to the one used within the DSF BPE #339

Fixes include:

  • While using the webfrontend of the FHIR Server refreshing the page (F5 / CTRL+R) will consistently send updates on resources if they changed #206
  • A failed message send end event results in a failed Task resource and therefore in a failed process #273
  • The order of the DateTime query parameter is now irrelevant, gt does not need to be before lt anymore #295
  • Searches for profiles with a version are now supported and do not result in an empty response anymore #305
  • Missing, empty and wildcard / Accept Header will return fhir+xml #312
  • Java dependencies have been updated to the latest releases where possible #317
  • The OperationOutcome after create and update now includes the external URL of the FHIR server and not the internally used IP address #328
  • Process plugins are now allowed to fail during startup without crashing the BPE, warnings are generated for process plugins that failed to initialize and will not be available for execution #335

Clients released in the binary assets:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Refreshing the page does not refresh the resource information #206
  • Add property placeholder substitution mechanism to BPMN files #248
  • Add annotations to properties for generating documentation #253
  • Improve MPI client error handling, log messages and parameters #260
  • Add mechanism to communicate process deployment state back to process plugin #261
  • A failed message send event should result in a failed process #273
  • Preparations for HiGHmed data sharing process #274
  • Start new development cycle #276
  • Add self-check URL endpoints #282
  • Change CodeSystem/ValueSet organization-type to organization-role #284
  • Add a migrator for existing FHIR ressources #288
  • Order of DateTime query-parameters should be irrelevant #295
  • _profile search parameter does not work with versioned profiles #305
  • Create process configuration generator for properties #307
  • Implement DocumentReference resource #310
  • NullPointerExceptiont if no Accept-Header send #312
  • Add config option for Apache reverse proxy read timeout #313
  • Upgrade bcprov-jdk15on test dependency #317
  • Bad URL in OperationOutcome after create and update #328
  • Add bookmarking function to HTML output #331
  • A Failed Process Plugin Crashes the BPE During Startup #335
  • Add New Environment Variables of fhir_proxy to Readme File #337
  • Jackson deserialization fails if setter/getter is a computed value and not present as field #339

First Release Candidate for 0.6.0

13 Apr 20:04
v0.6.0-RC1
5e49665
Compare
Choose a tag to compare
Pre-release

General remarks:

Features include:

  • Property placeholder substitution using #{date} and #{version} can now be used in FHIR and BPMN files of process plugins. The old style ${version} should no longer be used in FHIR files and cannot be used in BPMN files. #248
  • Markdown documentation of properties can be generated using a specific annotation during Maven builds #253 #307
  • The MPI client has improved log messages and properties have default values where possible #260
  • Process plugins are informed about their current deployment state on the BPE, this feature can be used to implement startup logic that depends on the process being active and not excluded #261
  • Adds Consent and Pseudonymisation clients as well as improves the MPI and openEHR clients as preparations for the HiGHmed Data Sharing process #274
  • Health-check http endpoints allow to check the current health state of the FHIR and BPE containers #282
  • Because the organization type information moved to organization affiliation role, the system of the corresponding CodeSystem/ValueSet has changed as well from organization-type to organization-role. Process plugin developers are encouraged to use values from the new CodeSystem http://highmed.org/fhir/CodeSystem/organization-role when defining roles of organizations in the plugins ActivityDefinitions #284
  • A mechanism to change FHIR resources on server startup in order to manage profile changes has been added #288
  • Support for the DocumentReference resource was added to the FHIR server #310
  • The connect and read timeouts of the Apache reverse proxy can now be configured using the environment variables PROXY_PASS_CONNECTION_TIMEOUT_HTTP, PROXY_PASS_CONNECTION_TIMEOUT_WS, PROXY_PASS_TIMEOUT_HTTP and PROXY_PASS_TIMEOUT_WS, additional Info can be found in the http_proxy images Dockerfile #313
  • All upgradable Java dependencies where increased to the newest applicable versions #317
  • A few functions have been added to the HTML output of the DSF FHIR server: The currently displayed FHIR resource (aka the URL) can be saved as a bookmark in the browsers local storage, supported search query parameters can be overlaid for the currently displayed URL and the current resource can be downloaded as XML or JSON depending on the XML/JSON tab being displayed #331

Fixes include:

  • While using the webfrontend of the FHIR Server refreshing the page (F5 / CTRL+R) will consistently send updates on resources if they changed #206
  • A failed message send end event results in a failed Task resource and therefore in a failed process #273
  • The order of the DateTime query parameter is now irrelevant, gt does not need to be before lt anymore #295
  • Searches for profiles with a version are now supported and do not result in an empty response anymore #305
  • Missing, empty and wildcard / Accept Header will return fhir+xml #312
  • Java dependencies have been updated to the latest releases where possible #317
  • The OperationOutcome after create and update now includes the external URL of the FHIR server and not the internally used IP address #328
  • Process plugins are now allowed to fail during startup without crashing the BPE, warnings are generated for process plugins that failed to initialize and will not be available for execution #335

Clients released in the binary assets:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Refreshing the page does not refresh the resource information #206
  • Add property placeholder substitution mechanism to BPMN files #248
  • Add annotations to properties for generating documentation #253
  • Improve MPI client error handling, log messages and parameters #260
  • Add mechanism to communicate process deployment state back to process plugin #261
  • A failed message send event should result in a failed process #273
  • Preparations for HiGHmed data sharing process #274
  • Start new development cycle #276
  • Add self-check URL endpoints #282
  • Change CodeSystem/ValueSet organization-type to organization-role #284
  • Add a migrator for existing FHIR ressources #288
  • Order of DateTime query-parameters should be irrelevant #295
  • _profile search parameter does not work with versioned profiles #305
  • Create process configuration generator for properties #307
  • Implement DocumentReference resource #310
  • NullPointerExceptiont if no Accept-Header send #312
  • Add config option for Apache reverse proxy read timeout #313
  • Upgrade bcprov-jdk15on test dependency #317
  • Bad URL in OperationOutcome after create and update #328
  • Add bookmarking function to HTML output #331
  • A Failed Process Plugin Crashes the BPE During Startup #335

0.5.5 - Maintenance Release

22 Mar 09:57
v0.5.5
39c5153
Compare
Choose a tag to compare

Caution: Updating from a 0.5.x install requires more than 'just' changing version numbers, please consider the Wiki Upgrade Guide.

General remarks:

  • Updating to version 0.5.5 is highly recommended as it updates several dependencies.
  • To Update an existing 0.5.x install, please see the Wiki Upgrade Guide.
  • Client/Server Certificate from DFN-PKI Global G2 (was supported in older versions), D-Trust (via TMF e.V.) and DFN GÉANT TCS are supported.

Features include:

  • Docker images provided on GitHub's registry can now be used on Apple silicon. See #308

Fixes include:

  • Dependencies are upgraded to the newest versions where applicable in order to close several CVEs. See #314

Clients released in the binary assets:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Publish Docker images for ARM and x86 architectures #308
  • Update Java Dependencies and Provide Maintenance Release for 0.5 #314

0.5.4 - CVE-2021-44228 Fix

10 Dec 17:43
v0.5.4
b8a12ae
Compare
Choose a tag to compare

General remarks:

  • Updating to version 0.5.4 is highly recommended as it closes CVE-2021-44228.
  • If an update is not possible, the following mitigation should be used: for the two services referred to as "app" (ghcr.io/highmed/fhir:0.5.3 and ghcr.io/highmed/bpe:0.5.3) in the docker-compose.yml files, an environment variable must be set to disable the incorrect function in Log4j2:
    EXTRA_JVM_ARGS: -Dlog4j2.formatMsgNoLookups=true
  • To Update, replace existing DSF docker containers with version 0.5.4. For more information on how to upgrade see the Wiki

Fixes include:

  • Log4j2 allowed remote code execution for versions prior to 2.15.0. See #297

Clients released in the binary assets:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

0.5.3 - Improvements and Library Upgrades

19 Oct 21:48
v0.5.3
5fa9133
Compare
Choose a tag to compare

General remarks:

  • This 0.5.3 release is a drop in replacement for 0.5.0, 0.5.1 and 0.5.2. To upgrade from 0.5.0, 0.5.1 or 0.5.2 to 0.5.3 modify the docker-compose.yml files to use the 0.5.3 versions of the DSF images and then upgrade your docker containers.
  • A NUM-CODEX installation guide can be found here: NUM‐CODEX DSF 0.5.3 Deployment
  • A HiGHmed installation guide can be found here: HiGHmed DSF 0.5.3 Deployment
  • Configuration parameter are described here: DSF-0.5.3-Configuration-Parameters
  • Defining thumbprints and process excludes within docker-compose files using YAML block scalars is now supported.
  • During startup of the fhir and bpe containers, the DB migration tool will now retry after 10 seconds when encountering a UnknownHostException.

Fixes include:

  • The Docker and VM based Test-Setups contained hardcoded thumbprints. See #275

Clients released in the binary assets:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Upgrade Dependencies and Release Version 0.5.3 #285
  • DbMigrator should try again on java.net.UnknownHostException #283
  • Add Support For YAML Block Scalars When Defining Thumbprints or Process Excludes #281
  • Hardcoded thumbprints in dsf-docker-test-setup-3medic-ttp bundles #275

0.5.2 - Bug Fix Release For Version 0.5.0, 0.5.1

07 Sep 01:17
v0.5.2
7656bef
Compare
Choose a tag to compare

General remarks:

Fixes include:

  • The BPE was unable to instantiate process after a restart if multiple versions of the same process are deployed. See #269

Clients released in the binary assets:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Unable to Instantiate Process After BPE Restart #269
  • Start New Development Cycle #268

0.5.1 - Bug Fix Release For Version 0.5.0

03 Sep 00:02
v0.5.1
769747a
Compare
Choose a tag to compare

Known Issues:

  • Unable to Instantiate Process After BPE Restart, Workaround see: #269

General remarks:

Fixes include:

  • The BPE was unable to instantiate versions of process that where not the latest version of the deployed process. See #264
  • If an organization was part of multiple consortia by having multiple OrganizationAffiliations, only the processes belonging to the first OrganizationAffiliation created in the DB could be started. See #256
  • The docker secrets reader read the entire content of a password file including all line-break characters. See #254

Clients released in the binary assets:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • BPE Unable to Instantiate Process With Non Latest Version #264
  • Start New Development Cycle #257
  • readActiveNotDeletedByMemberOrganizationIdentifierIncludingOrganizationIdentifiersWithTransaction always returns just 1 result #256
  • Docker Secrets Reader Should Ignore Whitespace Characters #254

0.5.0 - Multi Consortia Support

24 Aug 21:58
v0.5.0
d9daa3c
Compare
Choose a tag to compare

General remarks:

Features include:

  • Support for resources Library, Measure and MeasureReport from the Quality Reporting Framework.
  • Support for resource OrganizationAffiliation to define a organizations role within a consortium.
  • The release includes a new read access and process authorization implementation. The new read access implementation allows for specifying either ALL, LOCAL, ORGANIZATION or ROLE based tags. The new process authorization implementation allows for specifying the requester by REMOTE_ALL, LOCAL_ALL, LOCAL_ORGANIZATION, REMOTE_ORGANIZATION, LOCAL_ROLE and REMOTE_ROLE as well as the recipient by LOCAL_ALL, LOCAL_ORGANIZATION and LOCAL_ROLE. SecurityContext on Binary now works as intended and can be used to delegate the read access rule to any other resource.
  • OrganizationAffiliation resources are used to define roles of and associated FHIR Endpoints of Organizations in consortia (groups of organizations). Predefined organization types now include: TTP - Trusted Third Party, MeDIC - Medical Data Integration Center, DTS - Data Transfer Site, COS - Coordinating Site, CRR - Central Research Repository, and HRP - Health Research Platform.
  • The included NamingSystems now use the ../sid/.. schema for the uniqueId.value used as system in identifiers.
  • BPMN process names have been modified and now do no need to start with http://highmed.org.
  • A corporate internet-proxy server for accessing the local FHIR server via rest/websocket can now be defined.
  • A new docker based 3 MeDIC / TTP test setup was added. The new test setup uses a single database and a single nginx container as reverse proxy for all DSF FHIR and DSF BPE servers.
  • The VM based 3 MeDIC / TTP test setup now uses default ports mapping that allow access to the BPE only from localhost. Additionally, the link to the used Ubuntu release has been updated.
  • Source and JavaDoc jars are now generated and published.
  • Literal external references are only check and resolved if an Endpoint is known.
  • Logical references are only checked and resolved if they are based on a known NamingSystem using a uniqueId.modifierExtension with url http://highmed.org/fhir/StructureDefinition/extension-check-logical-reference and value true.
  • Binary resources can now be referenced as RelatesArtifact in ActivityDefinition, Library, Measure and ResearchStudy and created together with the referencing Artifact via a transaction Bundle.
  • A new operation was added to permanently delete resources from the database already marked as deleted. The $permanent-delete operation can be performed on resource instances via POST without parameters.
  • FHIR resource synchronization between BPE process plugins and the DSF FHIR server has been improved.
  • The openEHR stub client implementation has been extended to return a more complex ResultSet including lab values.
  • Additional openEHR ResultSet translators have been implemented which can be used for data sharing requests without record linkage.
  • The FHIR server now supports the _profile search parameter.
  • The trigger to start the execution of a process is no longer only dependent on the process ID but also on the message.
  • The repository now contains a CITATION.cff file containing citation information about our software in order to let others know how to correctly cite our software in Bibtex or APA style.
  • All dependencies have been upgraded to the newest applicable versions.
  • The DSF configuration has been simplified, most properties now have default values. Properties can be configured via environment variables and password properties can be configured via the content of files for example used with docker secrets.
  • Spring property substitution now works on the external FHIR Bundle, this allows for configuration of elements of the external Bundle via environment variables.

Fixes include:

  • A NullPointerException occurred while starting the BPE after a previous aborted startup with an excluded process without any links to FHIR Resource in BPE DB. #250
  • Task creation could not be authorization if the task used a non version specific profile and the associated ActivityDefinition defined a version specific Task profile #247
  • The client certificate password was not optional, omitting the environment variable resulted in a NullPointerException #245
  • The reverse proxy TLS configuration was not compatible with certificates from the DFN-PKI. See #241
  • The packaged log4j2 config used invalid Java package names for debug loggers. See #239
  • Password properties of process plugins could not be set via docker secret files. See #238
  • OpenEhrClientJersey returned null if the client could not be instantiated, e.g. due to configuration errors. See #236
  • The BPE was unable to detect process dependencies other than .jar or -SNAPSHOT.jar. See #234
  • Updating Organization and OrganizationAffiliation resource failed If a Binary resource existed with a read access tag to the corresponding Organization or OrganizationAffiliation. See #232
  • A NullPointerException occurred when using a process specific PrimitiveValue/PrimitiveValueSerializer not loaded via the classpath. See #210
  • A NullPointerException occurred in case of a communication problem with this single target while sending a Task resource. See #201
  • A NullPointerException occurred while falsely testing Java service Bean availability for BPMN ServiceTasks not using a Java class as implementation. See #194

Clients released in the binary assets:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • NPE While Deploying Processes If Excluded Process With Deleted Jar Has No Links to FHIR Resource in BPE DB #250
  • Task Authorization Not Allowing Tasks With Non Version Specific Profile if ActivityDefinition Uses Version Specific Task-Profile #247
  • Client Certificate Password Can Not Be NULL #245
  • Reverse Proxy TLS Configuration Not Compatible With Certificates from DFN-PKI #241
  • Packaged BPE loggers use invalid Java package names #239
  • Passwords cannot be set as docker secrets when using clients in (process) plugins #238
  • OpenEhrClientJersey returns null if the client could not be instantiated #236
  • BPE Is Unable to Detect Process Dependencies Other Than .jar or -SNAPSHOT.jar #234
  • Updating Organization Resource Fails If Binary Exists With Read Access Tag for That Organization #232
  • Validate ActivityDefinition Against BPMN During Deployment #231
  • Refactor validation of absolute and logical references #227
  • Add new Organization Types and new Consortium to ConstantsBase #225
  • Simplify Configuration #224
  • Create a CITATION.cff file documentation #220
  • Improve Literal Reference Cleanup for _history URLs #219
  • NPE in FallbackSerializerFactory #210
  • Starting a Process should be based as well on the Message #208
  • Add Not Null Check to AbstractTaskMessageSend #201
  • Update Maven Dependencies #200
  • Improve Handling of NamingSystems via Process Plugins #198
  • Reference Resolution Not Working for RelatedArtifacts in ResearchStudy #197
  • TaskAuthorizationRule Should Support Process URLs Other Than http://highmed.org... #196
  • Add _profile Search Parameter #195
  • NPE when Implementing ServiceTask With Something Other Than Java Class #194
  • Change Default Ports Config of BPE docker-compose Files #192
  • Create translators for data sharing without record-linkage #190
  • Add Source and Javadoc Jars to GitHub Package Registry #189
  • URL Not Found (Download Ubuntu Server 18.04.3 ISO) #187
  • Rework Process Execution Authorization #186
  • Fix extension-certificate-thumbprint Regex #185
  • Return more Complex ResultSet in OpenEhrClientStub #180
  • Rework Resource Authorization Read Access #179
  • Add formatter-maven-plugin and impsort-maven-plugin #178
  • Add Quality Reporting Resources #175
  • Fix Broken Validation Tests #173
  • Implement Custom FHIR Operation to Delete Resources Permanently #98

Special Thanks:
The maintainers would like to thank @alexanderkiel, @alhersh, @DiCanio and @nlangh for their contributions to this release
as well as @FloSeidel for testing.

Third Release Candidate for 0.5.0

23 Aug 12:44
v0.5.0-RC3
1374bbc
Compare
Choose a tag to compare
Pre-release

Features include:

  • Support for resources Library, Measure and MeasureReport from the Quality Reporting Framework.
  • Support for resource OrganizationAffiliation to define a organizations role within a consortium.
  • The release includes a new read access and process authorization implementation. The new read access implementation allows for specifying either ALL, LOCAL, ORGANIZATION or ROLE based tags. The new process authorization implementation allows for specifying the requester by REMOTE_ALL, LOCAL_ALL, LOCAL_ORGANIZATION, REMOTE_ORGANIZATION, LOCAL_ROLE and REMOTE_ROLE as well as the recipient by LOCAL_ALL, LOCAL_ORGANIZATION and LOCAL_ROLE. SecurityContext on Binary now works as intended and can be used to delegate the read access rule to any other resource.
  • OrganizationAffiliation resources are used to define roles of and associated FHIR Endpoints of Organizations in consortia (groups of organizations). Predefined organization types now include: TTP - Trusted Third Party, MeDIC - Medical Data Integration Center, DTS - Data Transfer Site, COS - Coordinating Site, CRR - Central Research Repository, and HRP - Health Research Platform.
  • The included NamingSystems now use the ../sid/.. schema for the uniqueId.value used as system in identifiers.
  • BPMN process names have been modified and now do no need to start with http://highmed.org.
  • A corporate internet-proxy server for accessing the local FHIR server via rest/websocket can now be defined.
  • A new docker based 3 MeDIC / TTP test setup was added. The new test setup uses a single database and a single nginx container as reverse proxy for all DSF FHIR and DSF BPE servers.
  • The VM based 3 MeDIC / TTP test setup now uses default ports mapping that allow access to the BPE only from localhost. Additionally, the link to the used Ubuntu release has been updated.
  • Source and JavaDoc jars are now generated and published.
  • Literal external references are only check and resolved if an Endpoint is known.
  • Logical references are only checked and resolved if they are based on a known NamingSystem using a uniqueId.modifierExtension with url http://highmed.org/fhir/StructureDefinition/extension-check-logical-reference and value true.
  • Binary resources can now be referenced as RelatesArtifact in ActivityDefinition, Library, Measure and ResearchStudy and created together with the referencing Artifact via a transaction Bundle.
  • A new operation was added to permanently delete resources from the database already marked as deleted. The $permanent-delete operation can be performed on resource instances via POST without parameters.
  • FHIR resource synchronization between BPE process plugins and the DSF FHIR server has been improved.
  • The openEHR stub client implementation has been extended to return a more complex ResultSet including lab values.
  • Additional openEHR ResultSet translators have been implemented which can be used for data sharing requests without record linkage.
  • The FHIR server now supports the _profile search parameter.
  • The trigger to start the execution of a process is no longer only dependent on the process ID but also on the message.
  • The repository now contains a CITATION.cff file containing citation information about our software in order to let others know how to correctly cite our software in Bibtex or APA style.
  • All dependencies have been upgraded to the newest applicable versions.
  • The DSF configuration has been simplified, most properties now have default values. Properties can be configured via environment variables and password properties can be configured via the content of files for example used with docker secrets.
  • Spring property substitution now works on the external FHIR Bundle, this allows for configuration of elements of the external Bundle via environment variables.

Fixes include:

  • The reverse proxy TLS configuration was not compatible with certificates from the DFN-PKI. See #241
  • The packaged log4j2 config used invalid Java package names for debug loggers. See #239
  • Password properties of process plugins could not be set via docker secret files. See #238
  • OpenEhrClientJersey returned null if the client could not be instantiated, e.g. due to configuration errors. See #236
  • The BPE was unable to detect process dependencies other than .jar or -SNAPSHOT.jar. See #234
  • Updating Organization and OrganizationAffiliation resource failed If a Binary resource existed with a read access tag to the corresponding Organization or OrganizationAffiliation. See #232
  • A NullPointerException occurred when using a process specific PrimitiveValue/PrimitiveValueSerializer not loaded via the classpath. See #210
  • A NullPointerException occurred in case of a communication problem with this single target while sending a Task resource. See #201
  • A NullPointerException occurred while falsely testing Java service Bean availability for BPMN ServiceTasks not using a Java class as implementation. See #194

General remarks:

  • This is a 0.5.0 pre-release, we recommend to not use this in production.

Clients released in the binary assets:

Docker containers for this release can be access via the GitHub Docker registry - ghcr.io:

Issues closed:

  • Reverse Proxy TLS Configuration Not Compatible With Certificates from DFN-PKI #241
  • Packaged BPE loggers use invalid Java package names #239
  • Passwords cannot be set as docker secrets when using clients in (process) plugins #238
  • OpenEhrClientJersey returns null if the client could not be instantiated #236
  • BPE Is Unable to Detect Process Dependencies Other Than .jar or -SNAPSHOT.jar #234
  • Updating Organization Resource Fails If Binary Exists With Read Access Tag for That Organization #232
  • Validate ActivityDefinition Against BPMN During Deployment #231
  • Refactor validation of absolute and logical references #227
  • Add new Organization Types and new Consortium to ConstantsBase #225
  • Simplify Configuration #224
  • Create a CITATION.cff file documentation #220
  • Improve Literal Reference Cleanup for _history URLs #219
  • NPE in FallbackSerializerFactory #210
  • Starting a Process should be based as well on the Message #208
  • Add Not Null Check to AbstractTaskMessageSend #201
  • Update Maven Dependencies #200
  • Improve Handling of NamingSystems via Process Plugins #198
  • Reference Resolution Not Working for RelatedArtifacts in ResearchStudy #197
  • TaskAuthorizationRule Should Support Process URLs Other Than http://highmed.org... #196
  • Add _profile Search Parameter #195
  • NPE when Implementing ServiceTask With Something Other Than Java Class #194
  • Change Default Ports Config of BPE docker-compose Files #192
  • Create translators for data sharing without record-linkage #190
  • Add Source and Javadoc Jars to GitHub Package Registry #189
  • URL Not Found (Download Ubuntu Server 18.04.3 ISO) #187
  • Rework Process Execution Authorization #186
  • Fix extension-certificate-thumbprint Regex #185
  • Return more Complex ResultSet in OpenEhrClientStub #180
  • Rework Resource Authorization Read Access #179
  • Add formatter-maven-plugin and impsort-maven-plugin #178
  • Add Quality Reporting Resources #175
  • Fix Broken Validation Tests #173
  • Implement Custom FHIR Operation to Delete Resources Permanently #98

Special Thanks:
The maintainers would like to thank @alexanderkiel, @alhersh, @DiCanio and @nlangh for their contributions to this pre-release.