github highmed/highmed-dsf v0.5.0
0.5.0 - Multi Consortia Support

latest releases: v0.9.3, v0.9.2, v0.9.1...
2 years ago

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.

Don't miss a new highmed-dsf release

NewReleases is sending notifications on new releases.