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 deleted file mode 100644 index e5d47b4..0000000 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/AggregateMeasureReports.java +++ /dev/null @@ -1,51 +0,0 @@ -package de.medizininformatik_initiative.feasibility_dsf_process.service; - -import org.camunda.bpm.engine.delegate.DelegateExecution; -import org.highmed.dsf.bpe.delegate.AbstractServiceDelegate; -import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper; -import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider; -import org.highmed.dsf.fhir.task.TaskHelper; -import org.hl7.fhir.r4.model.MeasureReport; -import org.hl7.fhir.r4.model.Reference; -import org.hl7.fhir.r4.model.Task; -import org.springframework.beans.factory.InitializingBean; - -import java.util.HashMap; -import java.util.Map; - -import static de.medizininformatik_initiative.feasibility_dsf_process.variables.ConstantsFeasibility.VARIABLE_MEASURE_REPORT; -import static de.medizininformatik_initiative.feasibility_dsf_process.variables.ConstantsFeasibility.VARIABLE_MEASURE_REPORT_MAP; - -/** - * The type Aggregate measure reports - */ -public class AggregateMeasureReports extends AbstractServiceDelegate implements InitializingBean { - - /** - * Instantiates a new Aggregate measure reports. - * - * @param clientProvider the client provider - * @param taskHelper the task helper - */ - public AggregateMeasureReports(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper, - ReadAccessHelper readAccessHelper) { - super(clientProvider, taskHelper, readAccessHelper); - } - - @Override - protected void doExecute(DelegateExecution execution) { - Task task = getCurrentTaskFromExecutionVariables(execution); - Map measureReports = getMeasureReportMap(execution); - measureReports.put(task.getRequester(), getMeasureReport(execution)); - execution.setVariable(VARIABLE_MEASURE_REPORT_MAP, measureReports); - } - - private MeasureReport getMeasureReport(DelegateExecution execution) { - return (MeasureReport) execution.getVariable(VARIABLE_MEASURE_REPORT); - } - - private Map getMeasureReportMap(DelegateExecution execution) { - Map measureReports = (Map) execution.getVariable(VARIABLE_MEASURE_REPORT_MAP); - return measureReports != null ? measureReports : new HashMap<>(); - } -} diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/spring/config/FeasibilityConfig.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/spring/config/FeasibilityConfig.java index c79f596..dffa71e 100755 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/spring/config/FeasibilityConfig.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/spring/config/FeasibilityConfig.java @@ -11,7 +11,6 @@ import de.medizininformatik_initiative.feasibility_dsf_process.client.flare.FlareWebserviceClient; import de.medizininformatik_initiative.feasibility_dsf_process.message.SendDicRequest; import de.medizininformatik_initiative.feasibility_dsf_process.message.SendDicResponse; -import de.medizininformatik_initiative.feasibility_dsf_process.service.AggregateMeasureReports; import de.medizininformatik_initiative.feasibility_dsf_process.service.DownloadFeasibilityResources; import de.medizininformatik_initiative.feasibility_dsf_process.service.DownloadMeasureReport; import de.medizininformatik_initiative.feasibility_dsf_process.service.EvaluateCqlMeasure; @@ -103,11 +102,6 @@ public StoreLiveResult storeLiveResult() { return new StoreLiveResult(fhirClientProvider, taskHelper, readAccessHelper); } - @Bean - public AggregateMeasureReports aggregateMeasureReports() { - return new AggregateMeasureReports(fhirClientProvider, taskHelper, readAccessHelper); - } - // // process executeFeasibility implementations // diff --git a/feasibility-dsf-process/src/main/resources/bpe/feasibilityRequest.bpmn b/feasibility-dsf-process/src/main/resources/bpe/feasibilityRequest.bpmn index 2b841c2..87b6375 100755 --- a/feasibility-dsf-process/src/main/resources/bpe/feasibilityRequest.bpmn +++ b/feasibility-dsf-process/src/main/resources/bpe/feasibilityRequest.bpmn @@ -24,55 +24,27 @@ - Flow_1479yc4 - Flow_0wm2en5 - - Flow_0qqdr67 - Flow_0wm2en5 - - - - - ${target.correlationKey} - - - Flow_1iuvnle - Flow_1mxiy48 - - - Flow_1iuvnle - - - - - Flow_1mxiy48 - Flow_1oq6cy1 - - - - Flow_1oq6cy1 - Flow_1kiy9bc - - - - Flow_13dcknp - - - Flow_1kiy9bc - Flow_13dcknp - - - - - Flow_1479yc4 - - PT45S - - - - - + + + + Flow_0b1et2t + Flow_0xpflx6 + + + Flow_0xpflx6 + Flow_0yj01k2 + + + Flow_0yj01k2 + + + Flow_0b1et2t + + + + + @@ -102,54 +74,28 @@ - + - + - - - - - - - - - - + - - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + @@ -161,16 +107,19 @@ - + + + + + - - - - + + + - - - + + + diff --git a/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/service/AggregateMeasureReportsTest.java b/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/service/AggregateMeasureReportsTest.java deleted file mode 100644 index 0182392..0000000 --- a/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/service/AggregateMeasureReportsTest.java +++ /dev/null @@ -1,81 +0,0 @@ -package de.medizininformatik_initiative.feasibility_dsf_process.service; - -import org.camunda.bpm.engine.delegate.DelegateExecution; -import org.highmed.dsf.fhir.task.TaskHelper; -import org.hl7.fhir.r4.model.MeasureReport; -import org.hl7.fhir.r4.model.Reference; -import org.hl7.fhir.r4.model.Task; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.junit.jupiter.MockitoExtension; - -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; - -import static de.medizininformatik_initiative.feasibility_dsf_process.variables.ConstantsFeasibility.VARIABLE_MEASURE_REPORT; -import static de.medizininformatik_initiative.feasibility_dsf_process.variables.ConstantsFeasibility.VARIABLE_MEASURE_REPORT_MAP; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.when; - -@ExtendWith(MockitoExtension.class) -public class AggregateMeasureReportsTest { - - @Mock private DelegateExecution execution; - @Mock private TaskHelper taskHelper; - - @InjectMocks private AggregateMeasureReports service; - - @Test - public void testDoExecute_FirstMeasureReport() throws Exception { - Reference requester = new Reference("DIZ 1"); - Task task = new Task().setRequester(requester); - - when(taskHelper.getCurrentTaskFromExecutionVariables(execution)) - .thenReturn(task); - - Map measureReports = new HashMap<>(); - when(execution.getVariable(VARIABLE_MEASURE_REPORT_MAP)) - .thenReturn(measureReports); - - MeasureReport measureReport = new MeasureReport(); - when(execution.getVariable(VARIABLE_MEASURE_REPORT)) - .thenReturn(measureReport); - - service.execute(execution); - - assertEquals(1, measureReports.size()); - assertTrue(measureReports.containsKey(requester)); - assertTrue(measureReports.containsValue(measureReport)); - } - - @Test - public void testDoExecute_AdditionalMeasureReport() throws Exception { - Reference additionalRequester = new Reference("DIZ 2"); - Task additionalTask = new Task().setRequester(additionalRequester); - - when(taskHelper.getCurrentTaskFromExecutionVariables(execution)) - .thenReturn(additionalTask); - - Reference initialRequester = new Reference("DIZ 1"); - MeasureReport initialMeasureReport = new MeasureReport(); - - Map measureReports = new LinkedHashMap<>(); - measureReports.put(initialRequester, initialMeasureReport); - when(execution.getVariable(VARIABLE_MEASURE_REPORT_MAP)) - .thenReturn(measureReports); - - MeasureReport additionalMeasureReport = new MeasureReport(); - when(execution.getVariable(VARIABLE_MEASURE_REPORT)) - .thenReturn(additionalMeasureReport); - - service.execute(execution); - - assertEquals(2, measureReports.size()); - assertTrue(measureReports.containsKey(additionalRequester)); - assertTrue(measureReports.containsValue(additionalMeasureReport)); - } -}