diff --git a/.gitignore b/.gitignore index 3a27a09..64fca32 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ /feasibility-dsf-process-docker-test-setup/secrets/*.pem /feasibility-dsf-process-docker-test-setup/secrets/*.p12 -/feasibility-dsf-process-docker-test-setup/dic-1/bpe/last_event/time.file /feasibility-dsf-process-docker-test-setup/dic-1/bpe/log/*.log /feasibility-dsf-process-docker-test-setup/dic-1/bpe/log/*.log.gz /feasibility-dsf-process-docker-test-setup/dic-1/bpe/plugin/*.jar @@ -18,7 +17,6 @@ /feasibility-dsf-process-docker-test-setup/dic-1/fhir/log/*.log /feasibility-dsf-process-docker-test-setup/dic-1/fhir/log/*.log.gz -/feasibility-dsf-process-docker-test-setup/dic-2/bpe/last_event/time.file /feasibility-dsf-process-docker-test-setup/dic-2/bpe/log/*.log /feasibility-dsf-process-docker-test-setup/dic-2/bpe/log/*.log.gz /feasibility-dsf-process-docker-test-setup/dic-2/bpe/plugin/*.jar @@ -28,7 +26,6 @@ /feasibility-dsf-process-docker-test-setup/dic-2/fhir/log/*.log /feasibility-dsf-process-docker-test-setup/dic-2/fhir/log/*.log.gz -/feasibility-dsf-process-docker-test-setup/dic-3/bpe/last_event/time.file /feasibility-dsf-process-docker-test-setup/dic-3/bpe/log/*.log /feasibility-dsf-process-docker-test-setup/dic-3/bpe/log/*.log.gz /feasibility-dsf-process-docker-test-setup/dic-3/bpe/plugin/*.jar @@ -38,7 +35,6 @@ /feasibility-dsf-process-docker-test-setup/dic-3/fhir/log/*.log /feasibility-dsf-process-docker-test-setup/dic-3/fhir/log/*.log.gz -/feasibility-dsf-process-docker-test-setup/zars/bpe/last_event/time.file /feasibility-dsf-process-docker-test-setup/zars/bpe/log/*.log /feasibility-dsf-process-docker-test-setup/zars/bpe/log/*.log.gz /feasibility-dsf-process-docker-test-setup/zars/bpe/plugin/*.jar diff --git a/feasibility-dsf-process-docker-test-setup/dic-1/bpe/last_event/README.md b/feasibility-dsf-process-docker-test-setup/dic-1/bpe/last_event/README.md deleted file mode 100644 index db72590..0000000 --- a/feasibility-dsf-process-docker-test-setup/dic-1/bpe/last_event/README.md +++ /dev/null @@ -1 +0,0 @@ -Empty folder for event.time file \ No newline at end of file diff --git a/feasibility-dsf-process-docker-test-setup/dic-2/bpe/last_event/README.md b/feasibility-dsf-process-docker-test-setup/dic-2/bpe/last_event/README.md deleted file mode 100644 index db72590..0000000 --- a/feasibility-dsf-process-docker-test-setup/dic-2/bpe/last_event/README.md +++ /dev/null @@ -1 +0,0 @@ -Empty folder for event.time file \ No newline at end of file diff --git a/feasibility-dsf-process-docker-test-setup/dic-3/bpe/last_event/README.md b/feasibility-dsf-process-docker-test-setup/dic-3/bpe/last_event/README.md deleted file mode 100644 index db72590..0000000 --- a/feasibility-dsf-process-docker-test-setup/dic-3/bpe/last_event/README.md +++ /dev/null @@ -1 +0,0 @@ -Empty folder for event.time file \ No newline at end of file diff --git a/feasibility-dsf-process-docker-test-setup/docker-compose.yml b/feasibility-dsf-process-docker-test-setup/docker-compose.yml index d9dc2e8..e637458 100755 --- a/feasibility-dsf-process-docker-test-setup/docker-compose.yml +++ b/feasibility-dsf-process-docker-test-setup/docker-compose.yml @@ -73,7 +73,7 @@ services: # ---- ZARS - FHIR Inbox ---------------------------------------------------- zars-fhir-app: - image: ghcr.io/highmed/fhir:0.7.0 + image: ghcr.io/highmed/fhir:0.9.0 restart: on-failure healthcheck: test: [ "CMD", "java", "-cp", "dsf_fhir.jar", "org.highmed.dsf.fhir.StatusClient" ] @@ -124,7 +124,7 @@ services: # ---- ZARS - BPE ----------------------------------------------------------- zars-bpe-app: - image: ghcr.io/highmed/bpe:0.7.0 + image: ghcr.io/highmed/bpe:0.9.0 restart: on-failure healthcheck: test: [ "CMD", "java", "-cp", "dsf_bpe.jar", "org.highmed.dsf.bpe.StatusClient" ] @@ -151,9 +151,6 @@ services: - type: bind source: ./zars/bpe/log target: /opt/bpe/log - - type: bind - source: ./zars/bpe/last_event - target: /opt/bpe/last_event - type: bind source: ./zars/bpe/cache target: /opt/bpe/cache @@ -183,7 +180,7 @@ services: # ---- DIC-1 - FHIR --------------------------------------------------------- dic-1-fhir-app: - image: ghcr.io/highmed/fhir:0.7.0 + image: ghcr.io/highmed/fhir:0.9.0 restart: on-failure healthcheck: test: [ "CMD", "java", "-cp", "dsf_fhir.jar", "org.highmed.dsf.fhir.StatusClient" ] @@ -234,7 +231,7 @@ services: # ---- DIC-1 - BPE ---------------------------------------------------------- dic-1-bpe-app: - image: ghcr.io/highmed/bpe:0.7.0 + image: ghcr.io/highmed/bpe:0.9.0 restart: on-failure healthcheck: test: [ "CMD", "java", "-cp", "dsf_bpe.jar", "org.highmed.dsf.bpe.StatusClient" ] @@ -261,9 +258,6 @@ services: - type: bind source: ./dic-1/bpe/log target: /opt/bpe/log - - type: bind - source: ./dic-1/bpe/last_event - target: /opt/bpe/last_event - type: bind source: ./dic-1/bpe/cache target: /opt/bpe/cache @@ -345,7 +339,7 @@ services: # ---- DIC-2 - FHIR --------------------------------------------------------- dic-2-fhir-app: - image: ghcr.io/highmed/fhir:0.7.0 + image: ghcr.io/highmed/fhir:0.9.0 restart: on-failure healthcheck: test: [ "CMD", "java", "-cp", "dsf_fhir.jar", "org.highmed.dsf.fhir.StatusClient" ] @@ -396,7 +390,7 @@ services: # ---- DIC-2 - BPE ---------------------------------------------------------- dic-2-bpe-app: - image: ghcr.io/highmed/bpe:0.7.0 + image: ghcr.io/highmed/bpe:0.9.0 restart: on-failure healthcheck: test: [ "CMD", "java", "-cp", "dsf_bpe.jar", "org.highmed.dsf.bpe.StatusClient" ] @@ -423,9 +417,6 @@ services: - type: bind source: ./dic-2/bpe/log target: /opt/bpe/log - - type: bind - source: ./dic-2/bpe/last_event - target: /opt/bpe/last_event - type: bind source: ./dic-2/bpe/cache target: /opt/bpe/cache @@ -477,7 +468,7 @@ services: # ---- DIC-3 - FHIR --------------------------------------------------------- dic-3-fhir-app: - image: ghcr.io/highmed/fhir:0.7.0 + image: ghcr.io/highmed/fhir:0.9.0 restart: on-failure healthcheck: test: [ "CMD", "java", "-cp", "dsf_fhir.jar", "org.highmed.dsf.fhir.StatusClient" ] @@ -528,7 +519,7 @@ services: # ---- DIC-3 - BPE ---------------------------------------------------------- dic-3-bpe-app: - image: ghcr.io/highmed/bpe:0.7.0 + image: ghcr.io/highmed/bpe:0.9.0 restart: on-failure healthcheck: test: [ "CMD", "java", "-cp", "dsf_bpe.jar", "org.highmed.dsf.bpe.StatusClient" ] @@ -556,9 +547,6 @@ services: - type: bind source: ./dic-3/bpe/log target: /opt/bpe/log - - type: bind - source: ./dic-3/bpe/last_event - target: /opt/bpe/last_event - type: bind source: ./dic-3/bpe/cache target: /opt/bpe/cache diff --git a/feasibility-dsf-process-docker-test-setup/set-rights.sh b/feasibility-dsf-process-docker-test-setup/set-rights.sh index 02bf34d..fad25b5 100755 --- a/feasibility-dsf-process-docker-test-setup/set-rights.sh +++ b/feasibility-dsf-process-docker-test-setup/set-rights.sh @@ -1,17 +1,13 @@ #!/usr/bin/env sh chmod a+w dic-1/bpe/log -chmod a+w dic-1/bpe/last_event chmod a+w dic-1/fhir/log chmod a+w dic-2/bpe/log -chmod a+w dic-2/bpe/last_event chmod a+w dic-2/fhir/log chmod a+w dic-3/bpe/log -chmod a+w dic-3/bpe/last_event chmod a+w dic-3/fhir/log chmod a+w zars/bpe/log -chmod a+w zars/bpe/last_event chmod a+w zars/fhir/log diff --git a/feasibility-dsf-process-docker-test-setup/zars/bpe/last_event/README.md b/feasibility-dsf-process-docker-test-setup/zars/bpe/last_event/README.md deleted file mode 100644 index db72590..0000000 --- a/feasibility-dsf-process-docker-test-setup/zars/bpe/last_event/README.md +++ /dev/null @@ -1 +0,0 @@ -Empty folder for event.time file \ No newline at end of file diff --git a/feasibility-dsf-process-tools/pom.xml b/feasibility-dsf-process-tools/pom.xml index 5551d79..e62a4b4 100755 --- a/feasibility-dsf-process-tools/pom.xml +++ b/feasibility-dsf-process-tools/pom.xml @@ -30,12 +30,12 @@ org.highmed.dsf dsf-fhir-rest-adapter - 0.7.0 + 0.9.0 org.highmed.dsf dsf-fhir-server - 0.7.0 + 0.9.0 diff --git a/feasibility-dsf-process/README.md b/feasibility-dsf-process/README.md index 5f6a743..7d98b10 100644 --- a/feasibility-dsf-process/README.md +++ b/feasibility-dsf-process/README.md @@ -130,12 +130,12 @@ Besides the [common DSF settings controlled by different environment variables][ This version of the process is compatible with the following components: -| Component | Compatible Version(s) | -|-----------|---------------------------| -| DSF FHIR | `0.5.x`, `0.6.0`, `0.7.0` | -| DSF BPE | `0.5.x`, `0.6.0`, `0.7.0` | -| Blaze | `>= 0.12` | -| Flare | `1.0` | +| Component | Compatible Version(s) | +|-----------|-----------------------| +| DSF FHIR | `0.9.0` | +| DSF BPE | `0.9.0` | +| Blaze | `>= 0.12` | +| Flare | `1.0` | **Note:** Flare got rewritten. Only the [new project][9] is supported. diff --git a/feasibility-dsf-process/pom.xml b/feasibility-dsf-process/pom.xml index 7f48d2b..dac37a4 100755 --- a/feasibility-dsf-process/pom.xml +++ b/feasibility-dsf-process/pom.xml @@ -18,7 +18,7 @@ org.highmed.dsf dsf-bpe-process-base - 0.7.0 + 0.9.0 provided @@ -82,7 +82,7 @@ org.highmed.dsf dsf-fhir-validation - 0.7.0 + 0.9.0 test diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/message/SendDicRequest.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/message/SendDicRequest.java index ea82e2e..d7842cb 100755 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/message/SendDicRequest.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/message/SendDicRequest.java @@ -27,7 +27,7 @@ public SendDicRequest(FhirWebserviceClientProvider clientProvider, TaskHelper ta } protected Stream getAdditionalInputParameters(DelegateExecution execution) { - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); String measureId = getFhirWebserviceClientProvider().getLocalBaseUrl() + "/" + getMeasureId(task); logger.debug("measureId = {}", measureId); diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/AggregateMeasureReports.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/AggregateMeasureReports.java index 26c7db9..e5d47b4 100644 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/AggregateMeasureReports.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/AggregateMeasureReports.java @@ -34,7 +34,7 @@ public AggregateMeasureReports(FhirWebserviceClientProvider clientProvider, Task @Override protected void doExecute(DelegateExecution execution) { - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); Map measureReports = getMeasureReportMap(execution); measureReports.put(task.getRequester(), getMeasureReport(execution)); execution.setVariable(VARIABLE_MEASURE_REPORT_MAP, measureReports); diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/DownloadFeasibilityResources.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/DownloadFeasibilityResources.java index 437c047..e479937 100644 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/DownloadFeasibilityResources.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/DownloadFeasibilityResources.java @@ -43,7 +43,7 @@ public void afterPropertiesSet() throws Exception { @Override protected void doExecute(DelegateExecution execution) { - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); IdType measureId = getMeasureId(task); FhirWebserviceClient client = ((EnhancedFhirWebserviceClientProvider) getFhirWebserviceClientProvider()) diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/DownloadMeasureReport.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/DownloadMeasureReport.java index f0a190b..e297245 100644 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/DownloadMeasureReport.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/DownloadMeasureReport.java @@ -42,7 +42,7 @@ public void afterPropertiesSet() throws Exception { @Override protected void doExecute(DelegateExecution execution) { - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); IdType measureReportId = getMeasureReportId(task); FhirWebserviceClient client = ((EnhancedFhirWebserviceClientProvider) getFhirWebserviceClientProvider()) .getWebserviceClientByReference(measureReportId); diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/PrepareForFurtherEvaluation.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/PrepareForFurtherEvaluation.java index d1de02f..93e217d 100644 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/PrepareForFurtherEvaluation.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/PrepareForFurtherEvaluation.java @@ -39,7 +39,7 @@ public PrepareForFurtherEvaluation(FhirWebserviceClientProvider clientProvider, @Override protected void doExecute(DelegateExecution execution) { for (Map.Entry entry : getMeasureReportMap(execution).entrySet()) { - getLeadingTaskFromExecutionVariables().addOutput( + getLeadingTaskFromExecutionVariables(execution).addOutput( addOrganizationReference(createMeasureReportReferenceOutput(entry.getValue()), entry.getKey())); } } diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/SelectResponseTarget.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/SelectResponseTarget.java index f7bea07..d9d0ccb 100755 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/SelectResponseTarget.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/SelectResponseTarget.java @@ -15,9 +15,7 @@ import java.util.Objects; -import static org.highmed.dsf.bpe.ConstantsBase.BPMN_EXECUTION_VARIABLE_TARGET; -import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_BPMN; -import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_BPMN_VALUE_CORRELATION_KEY; +import static org.highmed.dsf.bpe.ConstantsBase.*; public class SelectResponseTarget extends AbstractServiceDelegate implements InitializingBean { @@ -41,7 +39,7 @@ public void afterPropertiesSet() throws Exception { @Override protected void doExecute(DelegateExecution execution) { - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); String correlationKey = getTaskHelper() .getFirstInputParameterStringValue(task, CODESYSTEM_HIGHMED_BPMN, @@ -50,6 +48,7 @@ protected void doExecute(DelegateExecution execution) { execution.setVariable(BPMN_EXECUTION_VARIABLE_TARGET, TargetValues .create(Target.createBiDirectionalTarget(targetOrganizationIdentifier.getValue(), + null, endpointProvider.getFirstDefaultEndpointAddress(targetOrganizationIdentifier.getValue()).get(), correlationKey))); } diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/StoreLiveResult.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/StoreLiveResult.java index a6625d0..11d395e 100644 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/StoreLiveResult.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/StoreLiveResult.java @@ -33,7 +33,7 @@ public StoreLiveResult(FhirWebserviceClientProvider clientProvider, TaskHelper t @Override protected void doExecute(DelegateExecution execution) { - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); MeasureReport measureReport = getMeasureReport(execution); addReadAccessTag(measureReport); diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/StoreMeasureReport.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/StoreMeasureReport.java index bdde193..f85da4c 100755 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/StoreMeasureReport.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/StoreMeasureReport.java @@ -8,6 +8,7 @@ import org.hl7.fhir.r4.model.IdType; import org.hl7.fhir.r4.model.Measure; import org.hl7.fhir.r4.model.MeasureReport; +import org.hl7.fhir.r4.model.Task; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; @@ -30,10 +31,12 @@ public StoreMeasureReport(FhirWebserviceClientProvider clientProvider, TaskHelpe @Override protected void doExecute(DelegateExecution execution) { - MeasureReport measureReport = (MeasureReport) execution.getVariable(VARIABLE_MEASURE_REPORT); + var leadingTask = getLeadingTaskFromExecutionVariables(execution); + + MeasureReport measureReport = (MeasureReport) execution.getVariable(VARIABLE_MEASURE_REPORT); Measure associatedMeasure = (Measure) execution.getVariable(VARIABLE_MEASURE); - addReadAccessTag(measureReport); + addReadAccessTag(measureReport, leadingTask); referenceZarsMeasure(measureReport, associatedMeasure); stripEvaluatedResources(measureReport); @@ -43,9 +46,9 @@ protected void doExecute(DelegateExecution execution) execution.setVariable(VARIABLE_MEASURE_REPORT_ID, measureReportId.getValue()); } - private void addReadAccessTag(MeasureReport measureReport) + private void addReadAccessTag(MeasureReport measureReport, Task leadingTask) { - String identifier = getLeadingTaskFromExecutionVariables().getRequester().getIdentifier().getValue(); + String identifier = leadingTask.getRequester().getIdentifier().getValue(); getReadAccessHelper().addOrganization(measureReport, identifier); }