From 5da3a32cb214d0a0a4ea8041226061c69dc0e609 Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Wed, 12 Oct 2022 11:43:41 +0200 Subject: [PATCH 01/12] versioned ValueSet bindings and Profile references --- .../num-codex-extension-error-metadata.xml | 4 ++-- .../num-codex-task-continue-data-send-with-error.xml | 2 +- ...x-task-continue-data-send-with-validation-error.xml | 2 +- ...m-codex-task-continue-data-translate-with-error.xml | 2 +- ...k-continue-data-translate-with-validation-error.xml | 2 +- .../num-codex-task-start-data-receive.xml | 6 +++--- .../num-codex-task-start-data-send.xml | 10 +++++----- .../num-codex-task-start-data-translate.xml | 8 ++++---- .../num-codex-task-start-data-trigger.xml | 4 ++-- 9 files changed, 20 insertions(+), 20 deletions(-) diff --git a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-extension-error-metadata.xml b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-extension-error-metadata.xml index d85ec35a..d1c93d5a 100644 --- a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-extension-error-metadata.xml +++ b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-extension-error-metadata.xml @@ -51,7 +51,7 @@ - + @@ -81,7 +81,7 @@ - + diff --git a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-send-with-error.xml b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-send-with-error.xml index 1c667e11..619ee583 100644 --- a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-send-with-error.xml +++ b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-send-with-error.xml @@ -73,7 +73,7 @@ - + diff --git a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-send-with-validation-error.xml b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-send-with-validation-error.xml index b63daf74..46e99010 100644 --- a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-send-with-validation-error.xml +++ b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-send-with-validation-error.xml @@ -58,7 +58,7 @@ - + diff --git a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-translate-with-error.xml b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-translate-with-error.xml index 58ed0dee..e367a2bb 100644 --- a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-translate-with-error.xml +++ b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-translate-with-error.xml @@ -73,7 +73,7 @@ - + diff --git a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-translate-with-validation-error.xml b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-translate-with-validation-error.xml index 15a7f1c2..04b4dcd1 100644 --- a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-translate-with-validation-error.xml +++ b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-continue-data-translate-with-validation-error.xml @@ -58,7 +58,7 @@ - + diff --git a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-receive.xml b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-receive.xml index d69cbd1f..38b6fb91 100644 --- a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-receive.xml +++ b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-receive.xml @@ -58,7 +58,7 @@ - + @@ -101,7 +101,7 @@ - + @@ -155,7 +155,7 @@ - + diff --git a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-send.xml b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-send.xml index 52328f3f..3bf33ac6 100644 --- a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-send.xml +++ b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-send.xml @@ -51,7 +51,7 @@ - + @@ -86,7 +86,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -154,7 +154,7 @@ - + @@ -199,7 +199,7 @@ - + diff --git a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-translate.xml b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-translate.xml index ffd9dfc1..51cdb3c5 100644 --- a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-translate.xml +++ b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-translate.xml @@ -58,7 +58,7 @@ - + @@ -101,7 +101,7 @@ - + @@ -155,7 +155,7 @@ - + @@ -169,7 +169,7 @@ - + diff --git a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-trigger.xml b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-trigger.xml index dae32234..ca1cd234 100644 --- a/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-trigger.xml +++ b/codex-process-data-transfer/src/main/resources/fhir/StructureDefinition/num-codex-task-start-data-trigger.xml @@ -58,7 +58,7 @@ - + @@ -91,7 +91,7 @@ - + From 5a6c94573aa27f916df0d5878b0b3ea0ed08d8de Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Wed, 12 Oct 2022 12:16:54 +0200 Subject: [PATCH 02/12] fixed mocking --- .../processes/data_transfer/service/send/ReadDataTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codex-process-data-transfer/src/test/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ReadDataTest.java b/codex-process-data-transfer/src/test/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ReadDataTest.java index 541a6512..fc50848f 100644 --- a/codex-process-data-transfer/src/test/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ReadDataTest.java +++ b/codex-process-data-transfer/src/test/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ReadDataTest.java @@ -5,10 +5,10 @@ import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER; import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_EXPORT_TO; import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.NAMING_SYSTEM_NUM_CODEX_DIC_PSEUDONYM; -import static org.highmed.dsf.bpe.ConstantsBase.BPMN_EXECUTION_VARIABLE_TASK; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verify; import java.io.FileNotFoundException; @@ -70,7 +70,7 @@ public void testExecuteWithBgaData() throws Exception Mockito.when(execution.getVariable(BPMN_EXECUTION_VARIABLE_PATIENT_REFERENCE)).thenReturn(PatientReference .from(new Identifier().setSystem(NAMING_SYSTEM_NUM_CODEX_DIC_PSEUDONYM).setValue("source/original"))); Task task = createTask(); - Mockito.when(execution.getVariable(BPMN_EXECUTION_VARIABLE_TASK)).thenReturn(task); + Mockito.when(taskHelper.getCurrentTaskFromExecutionVariables(any())).thenReturn(task); readData.execute(execution); From 88795c59741dba95925faf6c90e4bc6428a4ba0c Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Wed, 12 Oct 2022 12:18:41 +0200 Subject: [PATCH 03/12] removed last_event bind mounts --- .gitignore | 1 - .../crr/bpe/last_event/README.md | 1 - .../dic/bpe/last_event/README.md | 1 - codex-processes-ap1-docker-test-setup/docker-compose.yml | 9 --------- .../gth/bpe/last_event/README.md | 1 - 5 files changed, 13 deletions(-) delete mode 100644 codex-processes-ap1-docker-test-setup/crr/bpe/last_event/README.md delete mode 100644 codex-processes-ap1-docker-test-setup/dic/bpe/last_event/README.md delete mode 100644 codex-processes-ap1-docker-test-setup/gth/bpe/last_event/README.md diff --git a/.gitignore b/.gitignore index a0300533..1e256ff3 100644 --- a/.gitignore +++ b/.gitignore @@ -28,7 +28,6 @@ codex-processes-ap1-test-data-generator/rsa/*.pem ### codex-processes-ap1-docker-test-setup/**/bpe/log/*.log codex-processes-ap1-docker-test-setup/**/bpe/log/*.log.gz -codex-processes-ap1-docker-test-setup/**/bpe/last_event/time.file codex-processes-ap1-docker-test-setup/**/bpe/plugin/*.jar codex-processes-ap1-docker-test-setup/**/bpe/process/*.jar diff --git a/codex-processes-ap1-docker-test-setup/crr/bpe/last_event/README.md b/codex-processes-ap1-docker-test-setup/crr/bpe/last_event/README.md deleted file mode 100644 index 12fefbfa..00000000 --- a/codex-processes-ap1-docker-test-setup/crr/bpe/last_event/README.md +++ /dev/null @@ -1 +0,0 @@ -empty directory for last-event time.file \ No newline at end of file diff --git a/codex-processes-ap1-docker-test-setup/dic/bpe/last_event/README.md b/codex-processes-ap1-docker-test-setup/dic/bpe/last_event/README.md deleted file mode 100644 index 12fefbfa..00000000 --- a/codex-processes-ap1-docker-test-setup/dic/bpe/last_event/README.md +++ /dev/null @@ -1 +0,0 @@ -empty directory for last-event time.file \ No newline at end of file diff --git a/codex-processes-ap1-docker-test-setup/docker-compose.yml b/codex-processes-ap1-docker-test-setup/docker-compose.yml index e51ac4fa..b8896715 100644 --- a/codex-processes-ap1-docker-test-setup/docker-compose.yml +++ b/codex-processes-ap1-docker-test-setup/docker-compose.yml @@ -138,9 +138,6 @@ services: - type: bind source: ./dic/bpe/log target: /opt/bpe/log - - type: bind - source: ./dic/bpe/last_event - target: /opt/bpe/last_event - type: bind source: ./dic/bpe/cache target: /opt/bpe/cache @@ -274,9 +271,6 @@ services: - type: bind source: ./gth/bpe/log target: /opt/bpe/log - - type: bind - source: ./gth/bpe/last_event - target: /opt/bpe/last_event environment: TZ: Europe/Berlin EXTRA_JVM_ARGS: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5004 @@ -382,9 +376,6 @@ services: - type: bind source: ./crr/bpe/log target: /opt/bpe/log - - type: bind - source: ./crr/bpe/last_event - target: /opt/bpe/last_event environment: TZ: Europe/Berlin EXTRA_JVM_ARGS: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 diff --git a/codex-processes-ap1-docker-test-setup/gth/bpe/last_event/README.md b/codex-processes-ap1-docker-test-setup/gth/bpe/last_event/README.md deleted file mode 100644 index 12fefbfa..00000000 --- a/codex-processes-ap1-docker-test-setup/gth/bpe/last_event/README.md +++ /dev/null @@ -1 +0,0 @@ -empty directory for last-event time.file \ No newline at end of file From 57dcb551e267b4f08dde2352b3478498591ec7cf Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Thu, 13 Oct 2022 01:14:42 +0200 Subject: [PATCH 04/12] adds unique IDs to generated resources, fixes bad snomed ct code fixes #91 --- .../data_transfer/client/fhir/GeccoFhirClientStub.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/client/fhir/GeccoFhirClientStub.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/client/fhir/GeccoFhirClientStub.java index 78a77a7c..261cf61e 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/client/fhir/GeccoFhirClientStub.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/client/fhir/GeccoFhirClientStub.java @@ -33,7 +33,7 @@ public final class GeccoFhirClientStub implements GeccoFhirClient private static final Logger logger = LoggerFactory.getLogger(GeccoFhirClientStub.class); private static final String condition = "{\"resourceType\":\"Condition\",\"meta\":{\"profile\":[\"https://www.netzwerk-universitaetsmedizin.de/fhir/StructureDefinition/chronic-lung-diseases\"]},\"clinicalStatus\":{\"coding\":[{\"system\":\"http://terminology.hl7.org/CodeSystem/condition-clinical\",\"code\":\"active\",\"display\":\"Active\"}]},\"verificationStatus\":{\"coding\":[{\"system\":\"http://terminology.hl7.org/CodeSystem/condition-ver-status\",\"code\":\"confirmed\",\"display\":\"Confirmed\"},{\"system\":\"http://snomed.info/sct\",\"code\":\"410605003\",\"display\":\"Confirmed present (qualifier value)\"}]},\"category\":[{\"coding\":[{\"system\":\"http://snomed.info/sct\",\"code\":\"418112009\",\"display\":\"Pulmonary medicine\"}]}],\"code\":{\"coding\":[{\"system\":\"http://snomed.info/sct\",\"code\":\"413839001\",\"display\":\"Chronic lung disease\"}]},\"recordedDate\":\"2020-11-10T15:50:41.000+01:00\"}"; - private static final String patient = "{\"resourceType\":\"Patient\",\"meta\":{\"profile\":[\"https://www.netzwerk-universitaetsmedizin.de/fhir/StructureDefinition/Patient\"]},\"extension\":[{\"url\":\"https://www.netzwerk-universitaetsmedizin.de/fhir/StructureDefinition/ethnic-group\",\"valueCoding\":{\"system\":\"http://snomed.info/sct\",\"code\":\"186019001\",\"display\":\"Other ethnic, mixed origin\"}},{\"url\":\"https://www.netzwerk-universitaetsmedizin.de/fhir/StructureDefinition/age\",\"extension\":[{\"url\":\"dateTimeOfDocumentation\",\"valueDateTime\":\"2020-10-01\"},{\"url\":\"age\",\"valueAge\":{\"value\":67,\"unit\":\"years\",\"system\":\"http://unitsofmeasure.org\",\"code\":\"a\"}}]}],\"birthDate\":\"1953-09-30\"}"; + private static final String patient = "{\"resourceType\":\"Patient\",\"meta\":{\"profile\":[\"https://www.netzwerk-universitaetsmedizin.de/fhir/StructureDefinition/Patient\"]},\"extension\":[{\"url\":\"https://www.netzwerk-universitaetsmedizin.de/fhir/StructureDefinition/ethnic-group\",\"valueCoding\":{\"system\":\"http://snomed.info/sct\",\"code\":\"26242008\",\"display\":\"Mixed (qualifier value)\"}},{\"url\":\"https://www.netzwerk-universitaetsmedizin.de/fhir/StructureDefinition/age\",\"extension\":[{\"url\":\"dateTimeOfDocumentation\",\"valueDateTime\":\"2020-10-01\"},{\"url\":\"age\",\"valueAge\":{\"value\":67,\"unit\":\"years\",\"system\":\"http://unitsofmeasure.org\",\"code\":\"a\"}}]}],\"birthDate\":\"1953-09-30\"}"; private static final String observation = "{\"resourceType\":\"Observation\",\"meta\":{\"profile\":[\"https://www.netzwerk-universitaetsmedizin.de/fhir/StructureDefinition/sars-cov-2-rt-pcr\"]},\"identifier\":[{\"type\":{\"coding\":[{\"system\":\"http://terminology.hl7.org/CodeSystem/v2-0203\",\"code\":\"OBI\"}]}}],\"status\":\"final\",\"category\":[{\"coding\":[{\"system\":\"http://loinc.org\",\"code\":\"26436-6\"},{\"system\":\"http://terminology.hl7.org/CodeSystem/observation-category\",\"code\":\"laboratory\"}]}],\"code\":{\"coding\":[{\"system\":\"http://loinc.org\",\"code\":\"94500-6\",\"display\":\"SARS-CoV-2 (COVID-19) RNA [Presence] in Respiratory specimen by NAA with probe detection\"}],\"text\":\"SARS-CoV-2-RNA (PCR)\"},\"effectiveDateTime\":\"2020-11-10T15:50:41.000+01:00\",\"valueCodeableConcept\":{\"coding\":[{\"system\":\"http://snomed.info/sct\",\"code\":\"260373001\",\"display\":\"Detected (qualifier value)\"}],\"text\":\"SARS-CoV-2-RNA positiv\"}}"; private final GeccoClient geccoClient; @@ -82,15 +82,18 @@ public Stream getNewData(String pseudonym, DateWithPrecision exp logger.warn("Returning demo resources for {}", pseudonym); Patient p = geccoClient.getFhirContext().newJsonParser().parseResource(Patient.class, patient); + p.setIdElement(new IdType(UUID.randomUUID().toString())); p.addIdentifier().setSystem(NAMING_SYSTEM_NUM_CODEX_DIC_PSEUDONYM).setValue(pseudonym).getType() .getCodingFirstRep().setSystem(IDENTIFIER_NUM_CODEX_DIC_PSEUDONYM_TYPE_SYSTEM) .setCode(IDENTIFIER_NUM_CODEX_DIC_PSEUDONYM_TYPE_CODE); p.setIdElement(new IdType("Patient", UUID.randomUUID().toString())); Condition c = geccoClient.getFhirContext().newJsonParser().parseResource(Condition.class, condition); + c.setIdElement(new IdType(UUID.randomUUID().toString())); c.setSubject(new Reference(p.getIdElement())); Observation o = geccoClient.getFhirContext().newJsonParser().parseResource(Observation.class, observation); + o.setIdElement(new IdType(UUID.randomUUID().toString())); o.setSubject(new Reference(p.getIdElement())); return Stream.of(p, c, o); From c866eaa96ab7e130e742424b1a78433b7f2a9673 Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Thu, 13 Oct 2022 01:20:43 +0200 Subject: [PATCH 05/12] changes needed for breaking changes in DSF --- .../message/ContinueSendProcess.java | 20 ++-------------- .../message/ContinueSendProcessWithError.java | 2 +- ...ontinueSendProcessWithValidationError.java | 2 +- .../message/ContinueTranslateProcess.java | 21 ++--------------- .../ContinueTranslateProcessWithError.java | 2 +- ...ueTranslateProcessWithValidationError.java | 2 +- .../message/StartReceiveProcess.java | 11 +++++---- .../message/StartSendProcess.java | 6 ++--- .../message/StartTranslateProcess.java | 2 +- .../service/receive/DecryptData.java | 2 +- .../service/receive/DownloadDataFromGth.java | 2 +- .../service/receive/LogError.java | 6 ++--- .../service/receive/LogValidationError.java | 6 ++--- .../service/send/CheckDryRun.java | 2 +- .../service/send/CheckForError.java | 23 ++++++++++--------- .../send/DownloadValidationErrorFromGth.java | 2 +- .../service/send/ExtractPatientReference.java | 4 ++-- .../data_transfer/service/send/LogError.java | 6 ++--- .../service/send/LogValidationError.java | 10 ++++---- .../data_transfer/service/send/ReadData.java | 2 +- .../service/send/ValidateData.java | 18 ++++++++------- .../service/translate/CheckForError.java | 23 ++++++++++--------- .../translate/DownloadDataFromDic.java | 4 ++-- .../DownloadValidationErrorFromCrr.java | 2 +- .../service/translate/LogError.java | 6 ++--- .../service/translate/LogValidationError.java | 6 ++--- .../service/translate/ReplacePseudonym.java | 2 +- .../translate/StoreValidationErrorForDic.java | 2 +- .../service/trigger/FindNewData.java | 2 +- .../service/trigger/SaveLastExportTo.java | 6 ++--- pom.xml | 2 +- 31 files changed, 88 insertions(+), 118 deletions(-) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcess.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcess.java index ca48fb0e..840a9f40 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcess.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcess.java @@ -2,24 +2,18 @@ import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_RETURN_TARGET; -import java.util.stream.Stream; - +import org.camunda.bpm.engine.delegate.DelegateExecution; import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper; import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider; import org.highmed.dsf.fhir.organization.OrganizationProvider; import org.highmed.dsf.fhir.task.AbstractTaskMessageSend; import org.highmed.dsf.fhir.task.TaskHelper; import org.highmed.dsf.fhir.variables.Target; -import org.hl7.fhir.r4.model.Task.ParameterComponent; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import ca.uhn.fhir.context.FhirContext; public class ContinueSendProcess extends AbstractTaskMessageSend { - private static final Logger logger = LoggerFactory.getLogger(ContinueSendProcess.class); - public ContinueSendProcess(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper, ReadAccessHelper readAccessHelper, OrganizationProvider organizationProvider, FhirContext fhirContext) { @@ -27,18 +21,8 @@ public ContinueSendProcess(FhirWebserviceClientProvider clientProvider, TaskHelp } @Override - protected Target getTarget() + protected Target getTarget(DelegateExecution execution) { return (Target) execution.getVariable(BPMN_EXECUTION_VARIABLE_RETURN_TARGET); } - - @Override - protected void sendTask(Target target, String instantiatesUri, String messageName, String businessKey, - String profile, Stream additionalInputParameters) - { - // TODO implement continue send - logger.debug("implement continue send"); - - super.sendTask(target, instantiatesUri, messageName, businessKey, profile, additionalInputParameters); - } } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcessWithError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcessWithError.java index d3691201..1c2de759 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcessWithError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcessWithError.java @@ -43,7 +43,7 @@ public void afterPropertiesSet() throws Exception } @Override - protected Target getTarget() + protected Target getTarget(DelegateExecution execution) { return (Target) execution.getVariable(BPMN_EXECUTION_VARIABLE_RETURN_TARGET); } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcessWithValidationError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcessWithValidationError.java index eababd11..fd121da3 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcessWithValidationError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueSendProcessWithValidationError.java @@ -29,7 +29,7 @@ public ContinueSendProcessWithValidationError(FhirWebserviceClientProvider clien } @Override - protected Target getTarget() + protected Target getTarget(DelegateExecution execution) { return (Target) execution.getVariable(BPMN_EXECUTION_VARIABLE_RETURN_TARGET); } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcess.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcess.java index 6957fda9..e9896c18 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcess.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcess.java @@ -2,24 +2,18 @@ import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_RETURN_TARGET; -import java.util.stream.Stream; - +import org.camunda.bpm.engine.delegate.DelegateExecution; import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper; import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider; import org.highmed.dsf.fhir.organization.OrganizationProvider; import org.highmed.dsf.fhir.task.AbstractTaskMessageSend; import org.highmed.dsf.fhir.task.TaskHelper; import org.highmed.dsf.fhir.variables.Target; -import org.hl7.fhir.r4.model.Task.ParameterComponent; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import ca.uhn.fhir.context.FhirContext; public class ContinueTranslateProcess extends AbstractTaskMessageSend { - private static final Logger logger = LoggerFactory.getLogger(ContinueTranslateProcess.class); - public ContinueTranslateProcess(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper, ReadAccessHelper readAccessHelper, OrganizationProvider organizationProvider, FhirContext fhirContext) { @@ -27,19 +21,8 @@ public ContinueTranslateProcess(FhirWebserviceClientProvider clientProvider, Tas } @Override - protected Target getTarget() + protected Target getTarget(DelegateExecution execution) { return (Target) execution.getVariable(BPMN_EXECUTION_VARIABLE_RETURN_TARGET); } - - @Override - protected void sendTask(Target target, String instantiatesUri, String messageName, String businessKey, - String profile, Stream additionalInputParameters) - { - - // TODO implement continue translate - logger.debug("implement continue translate"); - - super.sendTask(target, instantiatesUri, messageName, businessKey, profile, additionalInputParameters); - } } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcessWithError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcessWithError.java index 9e7b46ad..8d10f3ba 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcessWithError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcessWithError.java @@ -43,7 +43,7 @@ public void afterPropertiesSet() throws Exception } @Override - protected Target getTarget() + protected Target getTarget(DelegateExecution execution) { return (Target) execution.getVariable(BPMN_EXECUTION_VARIABLE_RETURN_TARGET); } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcessWithValidationError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcessWithValidationError.java index 58d5e0a6..c0e45e58 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcessWithValidationError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/ContinueTranslateProcessWithValidationError.java @@ -30,7 +30,7 @@ public ContinueTranslateProcessWithValidationError(FhirWebserviceClientProvider } @Override - protected Target getTarget() + protected Target getTarget(DelegateExecution execution) { return (Target) execution.getVariable(BPMN_EXECUTION_VARIABLE_RETURN_TARGET); } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartReceiveProcess.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartReceiveProcess.java index ad6bdd00..c5b467b3 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartReceiveProcess.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartReceiveProcess.java @@ -44,14 +44,15 @@ protected Stream getAdditionalInputParameters(DelegateExecut } @Override - protected void sendTask(Target target, String instantiatesUri, String messageName, String businessKey, - String profile, Stream additionalInputParameters) + protected void sendTask(DelegateExecution execution, Target target, String instantiatesUri, String messageName, + String businessKey, String profile, Stream additionalInputParameters) { - String crrBusinessKey = createAndSaveAlternativeBusinessKey(); + String crrBusinessKey = createAndSaveAlternativeBusinessKey(execution); logger.debug("DIC businessKey {}, CRR businessKey {}", businessKey, crrBusinessKey); - super.sendTask(target, instantiatesUri, messageName, crrBusinessKey, profile, additionalInputParameters); + super.sendTask(execution, target, instantiatesUri, messageName, crrBusinessKey, profile, + additionalInputParameters); } private ParameterComponent pseudonymParameter(DelegateExecution execution) @@ -82,7 +83,7 @@ private ParameterComponent dataReferenceParameter(DelegateExecution execution) } @Override - protected void handleSendTaskError(Exception exception, String errorMessage) + protected void handleSendTaskError(DelegateExecution execution, Exception exception, String errorMessage) { throw new BpmnError(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_CRR_NOT_REACHABLE, "Error while sending Task to CRR: " + exception.getMessage()); diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartSendProcess.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartSendProcess.java index 07ea816c..61366cd5 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartSendProcess.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartSendProcess.java @@ -46,11 +46,11 @@ public StartSendProcess(FhirWebserviceClientProvider clientProvider, TaskHelper } @Override - protected void sendTask(Target target, String instantiatesUri, String messageName, String businessKey, - String profile, Stream additionalInputParameters) + protected void sendTask(DelegateExecution execution, Target target, String instantiatesUri, String messageName, + String businessKey, String profile, Stream additionalInputParameters) { // can't use same business key as trigger process - super.sendTask(target, instantiatesUri, messageName, UUID.randomUUID().toString(), profile, + super.sendTask(execution, target, instantiatesUri, messageName, UUID.randomUUID().toString(), profile, additionalInputParameters); } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartTranslateProcess.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartTranslateProcess.java index 96bdb0cb..5001d009 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartTranslateProcess.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartTranslateProcess.java @@ -68,7 +68,7 @@ private ParameterComponent dataReferenceParameter(DelegateExecution execution) } @Override - protected void handleSendTaskError(Exception exception, String errorMessage) + protected void handleSendTaskError(DelegateExecution execution, Exception exception, String errorMessage) { throw new BpmnError(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_GTH_NOT_REACHABLE, "Error while sending Task to GTH: " + exception.getMessage()); diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DecryptData.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DecryptData.java index 15423e4c..8c898039 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DecryptData.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DecryptData.java @@ -85,7 +85,7 @@ private void decryptGeccoData(DelegateExecution execution) throws InvalidKeyException, BadPaddingException, IllegalBlockSizeException, NoSuchPaddingException, NoSuchAlgorithmException, InvalidAlgorithmParameterException, IOException { - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); Optional pseudonym = getPseudonym(task); byte[] encrypted = (byte[]) execution.getVariable(BPMN_EXECUTION_VARIABLE_BUNDLE); diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DownloadDataFromGth.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DownloadDataFromGth.java index 3bb2ef72..a93a5fb1 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DownloadDataFromGth.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DownloadDataFromGth.java @@ -70,7 +70,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio TargetValues.create(Target.createUniDirectionalTarget(gthIdentifierValue, getEndpointIdentifier(targetEndpoint), targetEndpoint.getAddress()))); - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); IdType id = getDataReference(task).map(ref -> new IdType(ref)).get(); diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogError.java index a54fc219..61a10b80 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogError.java @@ -55,7 +55,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio { logger.debug("Setting Task.status failed, adding error"); - Task task = getLeadingTaskFromExecutionVariables(); + Task task = getLeadingTaskFromExecutionVariables(execution); task.setStatus(TaskStatus.FAILED); String errorCode = (String) execution.getVariable(BPMN_EXECUTION_VARIABLE_ERROR_CODE); @@ -76,10 +76,10 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio logger.error("Error while executing process at {}; code: '{}', message: {}", errorSource, errorCode, errorMessage); - errorLogger.logDataReceiveFailed(getLeadingTaskFromExecutionVariables().getIdElement() + errorLogger.logDataReceiveFailed(getLeadingTaskFromExecutionVariables(execution).getIdElement() .withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name())); } - updateLeadingTaskInExecutionVariables(task); + updateLeadingTaskInExecutionVariables(execution, task); } } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogValidationError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogValidationError.java index 08459f25..9378ed3c 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogValidationError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogValidationError.java @@ -52,12 +52,12 @@ public void afterPropertiesSet() throws Exception protected void doExecute(DelegateExecution execution) throws BpmnError, Exception { logger.info("Validation error while adding resources to CRR FHIR repository"); - errorLogger.logValidationFailed(getLeadingTaskFromExecutionVariables().getIdElement() + errorLogger.logValidationFailed(getLeadingTaskFromExecutionVariables(execution).getIdElement() .withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name())); logger.debug("Setting Task.status failed, adding validation errors"); - Task task = getLeadingTaskFromExecutionVariables(); + Task task = getLeadingTaskFromExecutionVariables(execution); task.setStatus(TaskStatus.FAILED); Bundle bundle = (Bundle) execution.getVariable(BPMN_EXECUTION_VARIABLE_BUNDLE); @@ -74,6 +74,6 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio errorOutputParameterGenerator.createCrrValidationError(outcome).forEach(task::addOutput); }); - updateLeadingTaskInExecutionVariables(task); + updateLeadingTaskInExecutionVariables(execution, task); } } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/CheckDryRun.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/CheckDryRun.java index 27baeb84..032267e8 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/CheckDryRun.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/CheckDryRun.java @@ -26,7 +26,7 @@ public CheckDryRun(FhirWebserviceClientProvider clientProvider, TaskHelper taskH @Override protected void doExecute(DelegateExecution execution) throws BpmnError, Exception { - Task task = getLeadingTaskFromExecutionVariables(); + Task task = getLeadingTaskFromExecutionVariables(execution); Optional dryRun = getTaskHelper().getFirstInputParameterBooleanValue(task, CODESYSTEM_NUM_CODEX_DATA_TRANSFER, CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DRY_RUN); diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/CheckForError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/CheckForError.java index 4714af2b..87ff2efd 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/CheckForError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/CheckForError.java @@ -50,23 +50,24 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio ContinueStatus continueStatus; // continue OK - if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND + "|" + VERSION)) + if (currentTaskHasProfile(execution, PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND + "|" + VERSION)) { continueStatus = ContinueStatus.SUCCESS; - updateContinueTask(); + updateContinueTask(execution); } // continue Validation ERROR - else if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND_WITH_VALIDATION_ERROR + "|" + VERSION)) + else if (currentTaskHasProfile(execution, + PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND_WITH_VALIDATION_ERROR + "|" + VERSION)) { continueStatus = ContinueStatus.VALIDATION_ERROR; - updateContinueTask(); + updateContinueTask(execution); } // continue ERROR - else if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND_WITH_ERROR + "|" + VERSION)) + else if (currentTaskHasProfile(execution, PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND_WITH_ERROR + "|" + VERSION)) { - Task continueWithErrorTask = getCurrentTaskFromExecutionVariables(); + Task continueWithErrorTask = getCurrentTaskFromExecutionVariables(execution); String errorCode = getErrorCode(continueWithErrorTask) .orElse(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_UNKNOWN); @@ -79,7 +80,7 @@ else if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND_WITH_ER execution.setVariable(BPMN_EXECUTION_VARIABLE_ERROR_SOURCE, errorSource); continueStatus = ContinueStatus.ERROR; - updateContinueTask(); + updateContinueTask(execution); } // Timeout @@ -89,11 +90,11 @@ else if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND_WITH_ER execution.setVariable(BPMN_EXECUTION_VARIABLE_CONTINUE_STATUS, continueStatus); } - private void updateContinueTask() + private void updateContinueTask(DelegateExecution execution) { try { - Task continueTask = getCurrentTaskFromExecutionVariables(); + Task continueTask = getCurrentTaskFromExecutionVariables(execution); continueTask.setStatus(TaskStatus.COMPLETED); getFhirWebserviceClientProvider().getLocalWebserviceClient().update(continueTask); } @@ -103,9 +104,9 @@ private void updateContinueTask() } } - private boolean currentTaskHasProfile(String profile) + private boolean currentTaskHasProfile(DelegateExecution execution, String profile) { - Task currentTask = getCurrentTaskFromExecutionVariables(); + Task currentTask = getCurrentTaskFromExecutionVariables(execution); return currentTask.getMeta().getProfile().stream().anyMatch(p -> profile.equals(p.getValue())); } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DownloadValidationErrorFromGth.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DownloadValidationErrorFromGth.java index 140bb815..b5c679fd 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DownloadValidationErrorFromGth.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DownloadValidationErrorFromGth.java @@ -70,7 +70,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio TargetValues.create(Target.createUniDirectionalTarget(gthIdentifierValue, getEndpointIdentifier(targetEndpoint), targetEndpoint.getAddress()))); - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); IdType id = getDataReference(task).map(ref -> new IdType(ref)).get(); FhirWebserviceClient client = getFhirWebserviceClientProvider().getWebserviceClient(id.getBaseUrl()); diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ExtractPatientReference.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ExtractPatientReference.java index 97698e0a..973dfacb 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ExtractPatientReference.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ExtractPatientReference.java @@ -34,7 +34,7 @@ public ExtractPatientReference(FhirWebserviceClientProvider clientProvider, Task @Override protected void doExecute(DelegateExecution execution) throws Exception { - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); Reference patient = getPatientReference(task); if (patient.hasIdentifier() && NAMING_SYSTEM_NUM_CODEX_DIC_PSEUDONYM.equals(patient.getIdentifier().getSystem()) @@ -48,7 +48,7 @@ else if (patient.hasReference()) { execution.setVariable(BPMN_EXECUTION_VARIABLE_PATIENT_REFERENCE, PatientReferenceValues.create(PatientReference.from(patient.getReference()))); - logger.info("Task contains absolut patient reference {}", patient.getReference()); + logger.info("Task contains absolute patient reference {}", patient.getReference()); } else { diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogError.java index 6c0759ac..2cf782b6 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogError.java @@ -55,7 +55,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio { logger.debug("Setting Task.status failed, adding error"); - Task task = getLeadingTaskFromExecutionVariables(); + Task task = getLeadingTaskFromExecutionVariables(execution); task.setStatus(TaskStatus.FAILED); String errorCode = (String) execution.getVariable(BPMN_EXECUTION_VARIABLE_ERROR_CODE); @@ -77,10 +77,10 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio logger.error("Error while executing process at {}; code: '{}', message: {}", errorSource, errorCode, errorMessage); - errorLogger.logDataReceiveFailed(getLeadingTaskFromExecutionVariables().getIdElement() + errorLogger.logDataSendFailed(getLeadingTaskFromExecutionVariables(execution).getIdElement() .withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name())); } - updateLeadingTaskInExecutionVariables(task); + updateLeadingTaskInExecutionVariables(execution, task); } } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogValidationError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogValidationError.java index 344ce38b..45d95f26 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogValidationError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogValidationError.java @@ -65,17 +65,17 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio Map sourceIdsByBundleUuid = (Map) execution .getVariable(BPMN_EXECUTION_VARIABLE_SOURCE_IDS_BY_BUNDLE_UUID); - errorLogger.logValidationFailedRemote(getLeadingTaskFromExecutionVariables().getIdElement() + errorLogger.logValidationFailedRemote(getLeadingTaskFromExecutionVariables(execution).getIdElement() .withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name())); logValidationDetails(bundle, sourceIdsByBundleUuid); - addErrorsToTask(bundle, sourceIdsByBundleUuid); + addErrorsToTask(execution, bundle, sourceIdsByBundleUuid); } - private void addErrorsToTask(Bundle bundle, Map sourceIdsByBundleUuid) + private void addErrorsToTask(DelegateExecution execution, Bundle bundle, Map sourceIdsByBundleUuid) { logger.debug("Setting Task.status failed, adding validation errors"); - Task task = getLeadingTaskFromExecutionVariables(); + Task task = getLeadingTaskFromExecutionVariables(execution); task.setStatus(TaskStatus.FAILED); bundle.getEntry().stream() @@ -93,7 +93,7 @@ private void addErrorsToTask(Bundle bundle, Map sourceIdsByBundl errorOutputParameterGenerator.createCrrValidationError(sourceId, outcome).forEach(task::addOutput); }); - updateLeadingTaskInExecutionVariables(task); + updateLeadingTaskInExecutionVariables(execution, task); } private void logValidationDetails(Bundle bundle, Map sourceIdsByBundleUuid) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ReadData.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ReadData.java index f1ce45a6..5b8caa64 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ReadData.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ReadData.java @@ -114,7 +114,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio String pseudonym = getPseudonym(execution) .orElseThrow(() -> new IllegalStateException("Patient reference does not contain identifier")); - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); DateTimeType exportFrom = getExportFrom(task).orElse(null); InstantType exportTo = getExportTo(task).orElseThrow(() -> new IllegalStateException("No export-to in Task")); diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ValidateData.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ValidateData.java index 205323cb..5dc90e7f 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ValidateData.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ValidateData.java @@ -71,7 +71,8 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio Bundle bundle = (Bundle) execution.getVariable(BPMN_EXECUTION_VARIABLE_BUNDLE); - Map sourceIdsByBundleUuid = removeValidationResultsCollectSourceIdsIntoMap(bundle); + Map sourceIdsByBundleUuid = removeValidationResultsCollectSourceIdsIntoMap(execution, + bundle); execution.setVariable(BPMN_EXECUTION_VARIABLE_SOURCE_IDS_BY_BUNDLE_UUID, sourceIdsByBundleUuid); return; @@ -112,9 +113,9 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio logger.error("Validation of transfer bundle failed, {} resource{} with error", resourcesWithErrorCount, resourcesWithErrorCount != 1 ? "s" : ""); - addErrorsToTask(bundle); + addErrorsToTask(execution, bundle); errorLogger.logValidationFailedLocal( - getLeadingTaskFromExecutionVariables().getIdElement().withServerBase( + getLeadingTaskFromExecutionVariables(execution).getIdElement().withServerBase( getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name())); throw new BpmnError(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_VALIDATION_FAILED, @@ -124,7 +125,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio else { Map sourceIdsByBundleUuid = removeValidationResultsCollectSourceIdsIntoMap( - bundle); + execution, bundle); execution.setVariable(BPMN_EXECUTION_VARIABLE_SOURCE_IDS_BY_BUNDLE_UUID, sourceIdsByBundleUuid); } } @@ -136,7 +137,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio }, () -> { logger.warn( - "{} not initialized, skipping validation. This is likley due to an error during startup of the process plugin", + "{} not initialized, skipping validation. This is likely due to an error during startup of the process plugin", BundleValidatorFactory.class.getSimpleName()); }); } @@ -191,9 +192,9 @@ private void logValidationDetails(IdType sourceId, OperationOutcomeIssueComponen } } - private void addErrorsToTask(Bundle bundle) + private void addErrorsToTask(DelegateExecution execution, Bundle bundle) { - Task task = getLeadingTaskFromExecutionVariables(); + Task task = getLeadingTaskFromExecutionVariables(execution); bundle.getEntry().stream() .filter(e -> e.hasResponse() && e.getResponse().hasOutcome() @@ -211,7 +212,8 @@ private void addErrorsToTask(Bundle bundle) }); } - private Map removeValidationResultsCollectSourceIdsIntoMap(Bundle bundle) + private Map removeValidationResultsCollectSourceIdsIntoMap(DelegateExecution execution, + Bundle bundle) { Map sourceIdByBundleUuid = new HashMap<>(); bundle.getEntry().stream().forEach(e -> diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/CheckForError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/CheckForError.java index 81f3e3a2..e327034d 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/CheckForError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/CheckForError.java @@ -50,24 +50,25 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio ContinueStatus continueStatus; // continue OK - if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_TRANSLATE + "|" + VERSION)) + if (currentTaskHasProfile(execution, PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_TRANSLATE + "|" + VERSION)) { continueStatus = ContinueStatus.SUCCESS; - updateContinueTask(); + updateContinueTask(execution); } // continue Validation ERROR - else if (currentTaskHasProfile( + else if (currentTaskHasProfile(execution, PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_TRANSLATE_WITH_VALIDATION_ERROR + "|" + VERSION)) { continueStatus = ContinueStatus.VALIDATION_ERROR; - updateContinueTask(); + updateContinueTask(execution); } // continue ERROR - else if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_TRANSLATE_WITH_ERROR + "|" + VERSION)) + else if (currentTaskHasProfile(execution, + PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_TRANSLATE_WITH_ERROR + "|" + VERSION)) { - Task continueWithErrorTask = getCurrentTaskFromExecutionVariables(); + Task continueWithErrorTask = getCurrentTaskFromExecutionVariables(execution); String errorCode = getErrorCode(continueWithErrorTask) .orElse(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_UNKNOWN); @@ -80,7 +81,7 @@ else if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_TRANSLATE_WI execution.setVariable(BPMN_EXECUTION_VARIABLE_ERROR_SOURCE, errorSource); continueStatus = ContinueStatus.ERROR; - updateContinueTask(); + updateContinueTask(execution); } // Timeout @@ -90,11 +91,11 @@ else if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_TRANSLATE_WI execution.setVariable(BPMN_EXECUTION_VARIABLE_CONTINUE_STATUS, continueStatus); } - private void updateContinueTask() + private void updateContinueTask(DelegateExecution execution) { try { - Task continueTask = getCurrentTaskFromExecutionVariables(); + Task continueTask = getCurrentTaskFromExecutionVariables(execution); continueTask.setStatus(TaskStatus.COMPLETED); getFhirWebserviceClientProvider().getLocalWebserviceClient().update(continueTask); } @@ -104,9 +105,9 @@ private void updateContinueTask() } } - private boolean currentTaskHasProfile(String profile) + private boolean currentTaskHasProfile(DelegateExecution execution, String profile) { - Task currentTask = getCurrentTaskFromExecutionVariables(); + Task currentTask = getCurrentTaskFromExecutionVariables(execution); return currentTask.getMeta().getProfile().stream().anyMatch(p -> profile.equals(p.getValue())); } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadDataFromDic.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadDataFromDic.java index 2687d9f8..f8c90ba0 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadDataFromDic.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadDataFromDic.java @@ -68,7 +68,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio * need to use leading task not current task, since changes to current task variable will not survive * intermediate message catch events later in the process flow */ - Task task = getLeadingTaskFromExecutionVariables(); + Task task = getLeadingTaskFromExecutionVariables(execution); String dicIdentifierValue = task.getRequester().getIdentifier().getValue(); Endpoint targetEndpoint = getEndpoint(CODESYSTEM_HIGHMED_ORGANIZATION_ROLE_VALUE_MEDIC, dicIdentifierValue); @@ -97,7 +97,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio } // see comment above on leading vs current task - updateLeadingTaskInExecutionVariables(task); + updateLeadingTaskInExecutionVariables(execution, task); } private Optional getDataReference(Task task) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadValidationErrorFromCrr.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadValidationErrorFromCrr.java index 063886fd..25bcb3b0 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadValidationErrorFromCrr.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadValidationErrorFromCrr.java @@ -39,7 +39,7 @@ public DownloadValidationErrorFromCrr(FhirWebserviceClientProvider clientProvide @Override protected void doExecute(DelegateExecution execution) throws BpmnError, Exception { - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); IdType id = getDataReference(task).map(ref -> new IdType(ref)).get(); FhirWebserviceClient client = getFhirWebserviceClientProvider().getWebserviceClient(id.getBaseUrl()); diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/LogError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/LogError.java index 5794392d..7a2e38dc 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/LogError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/LogError.java @@ -55,7 +55,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio { logger.debug("Setting Task.status failed, adding error"); - Task task = getLeadingTaskFromExecutionVariables(); + Task task = getLeadingTaskFromExecutionVariables(execution); String errorCode = (String) execution.getVariable(BPMN_EXECUTION_VARIABLE_ERROR_CODE); String errorMessage = (String) execution.getVariable(BPMN_EXECUTION_VARIABLE_ERROR_MESSAGE); @@ -79,10 +79,10 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio logger.warn("Error while executing process at {}; code: '{}', message: {}", errorSource, errorCode, errorMessage); - errorLogger.logDataReceiveFailed(getLeadingTaskFromExecutionVariables().getIdElement() + errorLogger.logDataTranslateFailed(getLeadingTaskFromExecutionVariables(execution).getIdElement() .withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name())); } - updateLeadingTaskInExecutionVariables(task); + updateLeadingTaskInExecutionVariables(execution, task); } } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/LogValidationError.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/LogValidationError.java index a9ecd689..de04cc04 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/LogValidationError.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/LogValidationError.java @@ -50,15 +50,15 @@ public void afterPropertiesSet() throws Exception protected void doExecute(DelegateExecution execution) throws BpmnError, Exception { logger.warn("Validation error while adding resources to CRR FHIR repository"); - errorLogger.logValidationFailedRemote(getLeadingTaskFromExecutionVariables().getIdElement() + errorLogger.logValidationFailedRemote(getLeadingTaskFromExecutionVariables(execution).getIdElement() .withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name())); - Task task = getLeadingTaskFromExecutionVariables(); + Task task = getLeadingTaskFromExecutionVariables(execution); TaskOutputComponent output = errorOutputParameterGenerator.createError( CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE_VALUE_CRR, CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_VALIDATION_FAILED, "Validation failed while inserting into CRR"); task.addOutput(output); - updateLeadingTaskInExecutionVariables(task); + updateLeadingTaskInExecutionVariables(execution, task); } } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/ReplacePseudonym.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/ReplacePseudonym.java index dbd18ea1..7a3d037c 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/ReplacePseudonym.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/ReplacePseudonym.java @@ -45,7 +45,7 @@ public void afterPropertiesSet() throws Exception @Override protected void doExecute(DelegateExecution execution) throws BpmnError, Exception { - Task task = getCurrentTaskFromExecutionVariables(); + Task task = getCurrentTaskFromExecutionVariables(execution); String dicPseudonym = getPseudonym(task).get(); diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/StoreValidationErrorForDic.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/StoreValidationErrorForDic.java index ca2e73cc..223a58ad 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/StoreValidationErrorForDic.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/StoreValidationErrorForDic.java @@ -63,7 +63,7 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio { byte[] encrypted = (byte[]) execution.getVariable(BPMN_EXECUTION_VARIABLE_BUNDLE); - Task leadingTask = getLeadingTaskFromExecutionVariables(); + Task leadingTask = getLeadingTaskFromExecutionVariables(execution); String medicIdentifierValue = leadingTask.getRequester().getIdentifier().getValue(); String downloadUrl = saveBinary(encrypted, medicIdentifierValue); diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/trigger/FindNewData.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/trigger/FindNewData.java index 5e4256e4..afed3d88 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/trigger/FindNewData.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/trigger/FindNewData.java @@ -108,7 +108,7 @@ protected Optional getExportFrom(DelegateExecution execution) if (lastExportTo != null) return Optional.of(new DateWithPrecision(lastExportTo, TemporalPrecisionEnum.MILLI)); - Optional exportFromInput = getExportFromInput(getCurrentTaskFromExecutionVariables()); + Optional exportFromInput = getExportFromInput(getCurrentTaskFromExecutionVariables(execution)); return exportFromInput.map(d -> new DateWithPrecision(d.getValue(), d.getPrecision())); } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/trigger/SaveLastExportTo.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/trigger/SaveLastExportTo.java index 1375e7ef..0b4c0cac 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/trigger/SaveLastExportTo.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/trigger/SaveLastExportTo.java @@ -3,7 +3,6 @@ import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_LAST_EXPORT_TO; import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER; import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_EXPORT_TO; -import static org.highmed.dsf.bpe.ConstantsBase.BPMN_EXECUTION_VARIABLE_TASK; import java.util.Date; @@ -30,10 +29,9 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio { Date lastExportTo = (Date) execution.getVariable(BPMN_EXECUTION_VARIABLE_LAST_EXPORT_TO); - Task task = getLeadingTaskFromExecutionVariables(); + Task task = getLeadingTaskFromExecutionVariables(execution); task.addOutput(exportToParameter(lastExportTo)); - - execution.setVariable(BPMN_EXECUTION_VARIABLE_TASK, task); + updateLeadingTaskInExecutionVariables(execution, task); } private TaskOutputComponent exportToParameter(Date exportTo) diff --git a/pom.xml b/pom.xml index 05bea0bf..f57da612 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ ${project.basedir} 5.1.0 - 0.7.0 + 0.9.0-RC1 Business processes for the NUM CODEX project (AP1) as plugins for the HiGHmed Data Sharing Framework. From 2971b4623ff17ccb676c7899a50c03d022541ccc Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Wed, 12 Oct 2022 12:38:35 +0200 Subject: [PATCH 06/12] added DSF MailService impl for validation errors and failed processes Auto generated mails include a links to the Task resource that started the process instance. Mails for validation errors and failed processes can be enabled by corresponding config variables. Fixed wrong logData...Failed method called by the LogError classes of the send and translate processes. --- .../data_transfer/logging/ErrorLogger.java | 63 ++++++++++++++++--- .../spring/config/TransferDataConfig.java | 18 +++++- 2 files changed, 73 insertions(+), 8 deletions(-) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/logging/ErrorLogger.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/logging/ErrorLogger.java index d9eee869..9dfa1138 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/logging/ErrorLogger.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/logging/ErrorLogger.java @@ -1,41 +1,90 @@ package de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.logging; +import java.util.Objects; + +import org.highmed.dsf.bpe.service.MailService; import org.hl7.fhir.r4.model.IdType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; -public class ErrorLogger +public class ErrorLogger implements InitializingBean { private static final Logger validationLogger = LoggerFactory.getLogger("validation-error-logger"); private static final Logger errorLogger = LoggerFactory.getLogger("error-logger"); + private final MailService mailService; + + private final boolean sendValidationFailedMail; + private final boolean sendProcessFailedMail; + + public ErrorLogger(MailService mailService, boolean sendValidationFailedMail, boolean sendProcessFailedMail) + { + this.mailService = mailService; + + this.sendValidationFailedMail = sendValidationFailedMail; + this.sendProcessFailedMail = sendProcessFailedMail; + } + + @Override + public void afterPropertiesSet() throws Exception + { + Objects.requireNonNull(mailService, "mailService"); + } + public void logValidationFailed(IdType taskId) { - validationLogger.debug("Validation of FHIR resources failed, started by Task {}", taskId.getValue()); + validationLogger.debug("Validation of FHIR resources failed in process started by {}", + taskId.toVersionless().getValue()); + + if (sendValidationFailedMail) + mailService.send("Validation Error", + "Validation of FHIR resources failed in process started by " + taskId.toVersionless().getValue()); } public void logValidationFailedLocal(IdType taskId) { - validationLogger.debug("Local validation of FHIR resources failed, started by Task {}", taskId.getValue()); + validationLogger.debug("Local validation of FHIR resources failed in process started by {}", + taskId.toVersionless().getValue()); + + if (sendValidationFailedMail) + mailService.send("Validation Error", "Local validation of FHIR resources failed in process started by " + + taskId.toVersionless().getValue()); } public void logValidationFailedRemote(IdType taskId) { - validationLogger.debug("Remote validation of FHIR resources failed, started by Task {}", taskId.getValue()); + validationLogger.debug("Remote validation of FHIR resources failed in process started by {}", + taskId.toVersionless().getValue()); + + if (sendValidationFailedMail) + mailService.send("Validation Error", "Remote validation of FHIR resources failed in process started by " + + taskId.toVersionless().getValue()); } public void logDataSendFailed(IdType taskId) { - errorLogger.debug("Send process failed, started by Task {}", taskId.getValue()); + errorLogger.debug("Send process failed started by {}", taskId.toVersionless().getValue()); + + if (sendProcessFailedMail) + mailService.send("Proccess Failed", "Send process failed started by " + taskId.toVersionless().getValue()); } public void logDataTranslateFailed(IdType taskId) { - errorLogger.debug("Translate process failed, started by Task {}", taskId.getValue()); + errorLogger.debug("Translate process failed started by {}", taskId.toVersionless().getValue()); + + if (sendProcessFailedMail) + mailService.send("Proccess Failed", + "Translate process failed started by " + taskId.toVersionless().getValue()); } public void logDataReceiveFailed(IdType taskId) { - errorLogger.debug("Receive process failed, started by Task {}", taskId.getValue()); + errorLogger.debug("Receive process failed started by {}", taskId.toVersionless().getValue()); + + if (sendProcessFailedMail) + mailService.send("Proccess Failed", + "Receive process failed started by " + taskId.toVersionless().getValue()); } } diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/spring/config/TransferDataConfig.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/spring/config/TransferDataConfig.java index 36222ef6..9e6ae833 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/spring/config/TransferDataConfig.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/spring/config/TransferDataConfig.java @@ -5,6 +5,7 @@ import java.nio.file.Paths; import java.util.List; +import org.highmed.dsf.bpe.service.MailService; import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper; import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider; import org.highmed.dsf.fhir.organization.EndpointProvider; @@ -53,6 +54,9 @@ public class TransferDataConfig @Autowired private BundleValidatorFactory bundleValidatorFactory; + @Autowired + private MailService mailService; + @ProcessDocumentation(description = "PEM encoded file with trusted certificates to validate the server-certificate of the GECCO FHIR server", processNames = { "wwwnetzwerk-universitaetsmedizinde_dataSend", "wwwnetzwerk-universitaetsmedizinde_dataReceive" }, recommendation = "Use docker secret file to configure", example = "/run/secrets/gecco_fhir_server_ca.pem") @@ -278,6 +282,18 @@ public class TransferDataConfig @Value("${de.netzwerk.universitaetsmedizin.codex.fttp.proxy.password:#{null}}") private String fttpProxyPassword; + @ProcessDocumentation(description = "To enable mails being send on validation errors, set to 'true'. This requires the SMPT mail service client to be configured in the DSF", processNames = { + "wwwnetzwerk-universitaetsmedizinde_dataSend", "wwwnetzwerk-universitaetsmedizinde_dataTranslate", + "wwwnetzwerk-universitaetsmedizinde_dataReceive" }) + @Value("${de.netzwerk.universitaetsmedizin.codex.mail.sendValidationFailedMails:false}") + private boolean sendValidationFailedMail; + + @ProcessDocumentation(description = "To enable a mail being send if a 'send', 'translate' or 'receive' process instance fails, set to 'true'. This requires the SMPT mail service client to be configured in the DSF", processNames = { + "wwwnetzwerk-universitaetsmedizinde_dataSend", "wwwnetzwerk-universitaetsmedizinde_dataTranslate", + "wwwnetzwerk-universitaetsmedizinde_dataReceive" }) + @Value("${de.netzwerk.universitaetsmedizin.codex.mail.sendProcessFailedMails:false}") + private boolean sendProcessFailedMail; + @Value("${org.highmed.dsf.bpe.fhir.server.organization.identifier.value}") private String localIdentifierValue; @@ -422,6 +438,6 @@ public ErrorOutputParameterGenerator errorOutputParameterGenerator() @Bean public ErrorLogger errorLogger() { - return new ErrorLogger(); + return new ErrorLogger(mailService, sendValidationFailedMail, sendProcessFailedMail); } } From 6493d10282bf8c052a490152a2b7f887af52975c Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Thu, 13 Oct 2022 17:31:50 +0200 Subject: [PATCH 07/12] upgrade to DSF 0.9.0-RC1 Upgrade to DSF 0.9.0 when the final 0.9.0 release is out. --- .../docker-compose.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/codex-processes-ap1-docker-test-setup/docker-compose.yml b/codex-processes-ap1-docker-test-setup/docker-compose.yml index b8896715..63d8410e 100644 --- a/codex-processes-ap1-docker-test-setup/docker-compose.yml +++ b/codex-processes-ap1-docker-test-setup/docker-compose.yml @@ -66,7 +66,7 @@ services: dic-fhir: - image: ghcr.io/highmed/fhir:0.7.0 + image: ghcr.io/highmed/fhir:0.9.0-RC1 restart: "no" ports: - 127.0.0.1:5000:5000 @@ -113,7 +113,7 @@ services: - db - proxy dic-bpe: - image: ghcr.io/highmed/bpe:0.7.0 + image: ghcr.io/highmed/bpe:0.9.0-RC1 restart: "no" ports: - 127.0.0.1:5003:5003 @@ -200,7 +200,7 @@ services: gth-fhir: - image: ghcr.io/highmed/fhir:0.7.0 + image: ghcr.io/highmed/fhir:0.9.0-RC1 restart: "no" ports: - 127.0.0.1:5001:5001 @@ -247,7 +247,7 @@ services: - db - proxy gth-bpe: - image: ghcr.io/highmed/bpe:0.7.0 + image: ghcr.io/highmed/bpe:0.9.0-RC1 restart: "no" ports: - 127.0.0.1:5004:5004 @@ -304,7 +304,7 @@ services: crr-fhir: - image: ghcr.io/highmed/fhir:0.7.0 + image: ghcr.io/highmed/fhir:0.9.0-RC1 restart: "no" ports: - 127.0.0.1:5002:5002 @@ -351,7 +351,7 @@ services: - db - proxy crr-bpe: - image: ghcr.io/highmed/bpe:0.7.0 + image: ghcr.io/highmed/bpe:0.9.0-RC1 restart: "no" ports: - 127.0.0.1:5005:5005 From 5170933c37c393361ae53367772805053678fc49 Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Fri, 14 Oct 2022 12:43:46 +0200 Subject: [PATCH 08/12] Version to 0.6.0.1-SNAPSHOT, process version remains at 0.6.0 --- codex-process-data-transfer/pom.xml | 2 +- .../data_transfer/DataTransferProcessPluginDefinition.java | 2 +- codex-processes-ap1-test-data-generator/pom.xml | 2 +- pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/codex-process-data-transfer/pom.xml b/codex-process-data-transfer/pom.xml index d27efad7..356ff0a3 100644 --- a/codex-process-data-transfer/pom.xml +++ b/codex-process-data-transfer/pom.xml @@ -6,7 +6,7 @@ de.netzwerk-universitaetsmedizin.codex codex-processes-ap1 - 0.6.0 + 0.6.0.1-SNAPSHOT diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/DataTransferProcessPluginDefinition.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/DataTransferProcessPluginDefinition.java index 74a6a966..e8d37e41 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/DataTransferProcessPluginDefinition.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/DataTransferProcessPluginDefinition.java @@ -37,7 +37,7 @@ public class DataTransferProcessPluginDefinition implements ProcessPluginDefinit private static final Logger logger = LoggerFactory.getLogger(DataTransferProcessPluginDefinition.class); public static final String VERSION = "0.6.0"; - public static final LocalDate DATE = LocalDate.of(2022, 7, 12); + public static final LocalDate DATE = LocalDate.of(2022, 10, 17); @Override public String getName() diff --git a/codex-processes-ap1-test-data-generator/pom.xml b/codex-processes-ap1-test-data-generator/pom.xml index 5040491c..fb1c02af 100644 --- a/codex-processes-ap1-test-data-generator/pom.xml +++ b/codex-processes-ap1-test-data-generator/pom.xml @@ -6,7 +6,7 @@ de.netzwerk-universitaetsmedizin.codex codex-processes-ap1 - 0.6.0 + 0.6.0.1-SNAPSHOT diff --git a/pom.xml b/pom.xml index f57da612..7e244905 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ de.netzwerk-universitaetsmedizin.codex codex-processes-ap1 - 0.6.0 + 0.6.0.1-SNAPSHOT pom From ea874ef79c0c48dff9b2bab48b7beb1dd300b317 Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Mon, 17 Oct 2022 23:06:44 +0200 Subject: [PATCH 09/12] DSF to 0.9.0 (final) --- .../docker-compose.yml | 12 ++++++------ pom.xml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/codex-processes-ap1-docker-test-setup/docker-compose.yml b/codex-processes-ap1-docker-test-setup/docker-compose.yml index 63d8410e..295c159f 100644 --- a/codex-processes-ap1-docker-test-setup/docker-compose.yml +++ b/codex-processes-ap1-docker-test-setup/docker-compose.yml @@ -66,7 +66,7 @@ services: dic-fhir: - image: ghcr.io/highmed/fhir:0.9.0-RC1 + image: ghcr.io/highmed/fhir:0.9.0 restart: "no" ports: - 127.0.0.1:5000:5000 @@ -113,7 +113,7 @@ services: - db - proxy dic-bpe: - image: ghcr.io/highmed/bpe:0.9.0-RC1 + image: ghcr.io/highmed/bpe:0.9.0 restart: "no" ports: - 127.0.0.1:5003:5003 @@ -200,7 +200,7 @@ services: gth-fhir: - image: ghcr.io/highmed/fhir:0.9.0-RC1 + image: ghcr.io/highmed/fhir:0.9.0 restart: "no" ports: - 127.0.0.1:5001:5001 @@ -247,7 +247,7 @@ services: - db - proxy gth-bpe: - image: ghcr.io/highmed/bpe:0.9.0-RC1 + image: ghcr.io/highmed/bpe:0.9.0 restart: "no" ports: - 127.0.0.1:5004:5004 @@ -304,7 +304,7 @@ services: crr-fhir: - image: ghcr.io/highmed/fhir:0.9.0-RC1 + image: ghcr.io/highmed/fhir:0.9.0 restart: "no" ports: - 127.0.0.1:5002:5002 @@ -351,7 +351,7 @@ services: - db - proxy crr-bpe: - image: ghcr.io/highmed/bpe:0.9.0-RC1 + image: ghcr.io/highmed/bpe:0.9.0 restart: "no" ports: - 127.0.0.1:5005:5005 diff --git a/pom.xml b/pom.xml index 7e244905..51d71bd4 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ ${project.basedir} 5.1.0 - 0.9.0-RC1 + 0.9.0 Business processes for the NUM CODEX project (AP1) as plugins for the HiGHmed Data Sharing Framework. From 526e4e5a96f9d01e82661f09f1d5e51d3d85d4dd Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Tue, 18 Oct 2022 01:08:21 +0200 Subject: [PATCH 10/12] dependency version upgrades, code formatting --- .../crypto/CrrKeyProviderImpl.java | 2 +- .../service/receive/DecryptData.java | 2 +- .../service/receive/DownloadDataFromGth.java | 2 +- .../send/DownloadValidationErrorFromGth.java | 2 +- .../service/send/ExtractPatientReference.java | 2 +- .../translate/DownloadDataFromDic.java | 2 +- .../DownloadValidationErrorFromCrr.java | 2 +- .../service/translate/ReplacePseudonym.java | 2 +- .../AbstractFhirResourceFileSystemCache.java | 2 +- .../validation/AbstractFileSystemCache.java | 2 +- .../validation/BundleValidator.java | 2 +- ...nSnapshotGeneratorWithFileSystemCache.java | 2 +- ...ationPackageClientWithFileSystemCache.java | 2 +- .../validation/ValidationPackageEntry.java | 2 +- .../validation/ValidationPackageManager.java | 10 +++++----- .../ValueSetExpanderWithFileSystemCache.java | 2 +- ...SetExpansionClientWithFileSystemCache.java | 2 +- pom.xml | 20 +++++++++---------- 18 files changed, 31 insertions(+), 31 deletions(-) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/crypto/CrrKeyProviderImpl.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/crypto/CrrKeyProviderImpl.java index da4751d8..1309e5b2 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/crypto/CrrKeyProviderImpl.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/crypto/CrrKeyProviderImpl.java @@ -26,7 +26,7 @@ public class CrrKeyProviderImpl implements CrrKeyProvider /** * One or both parameters should be null - * + * * @param crrPrivateKeyFile * @param crrPublicKeyFile * @return diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DecryptData.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DecryptData.java index 8c898039..1af12b25 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DecryptData.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DecryptData.java @@ -108,7 +108,7 @@ private Optional getPseudonym(Task task) { return getInputParameterValues(task, CODESYSTEM_NUM_CODEX_DATA_TRANSFER, CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_PSEUDONYM, Identifier.class).findFirst() - .map(Identifier::getValue); + .map(Identifier::getValue); } private Stream getInputParameterValues(Task task, String system, String code, Class type) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DownloadDataFromGth.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DownloadDataFromGth.java index a93a5fb1..0bf20561 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DownloadDataFromGth.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DownloadDataFromGth.java @@ -93,7 +93,7 @@ private Optional getDataReference(Task task) { return getInputParameterValues(task, CODESYSTEM_NUM_CODEX_DATA_TRANSFER, CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DATA_REFERENCE, Reference.class).findFirst() - .map(Reference::getReference); + .map(Reference::getReference); } private Stream getInputParameterValues(Task task, String system, String code, Class type) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DownloadValidationErrorFromGth.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DownloadValidationErrorFromGth.java index b5c679fd..fab92d25 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DownloadValidationErrorFromGth.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DownloadValidationErrorFromGth.java @@ -92,7 +92,7 @@ private Optional getDataReference(Task task) { return getInputParameterValues(task, CODESYSTEM_NUM_CODEX_DATA_TRANSFER, CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DATA_REFERENCE, Reference.class).findFirst() - .map(Reference::getReference); + .map(Reference::getReference); } private Stream getInputParameterValues(Task task, String system, String code, Class type) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ExtractPatientReference.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ExtractPatientReference.java index 973dfacb..e7e123f8 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ExtractPatientReference.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ExtractPatientReference.java @@ -63,7 +63,7 @@ private Reference getPatientReference(Task task) { return getInputParameterValues(task, CODESYSTEM_NUM_CODEX_DATA_TRANSFER, CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_PATIENT, Reference.class).findFirst() - .orElseThrow(() -> new RuntimeException("No patient reference input parameter found")); + .orElseThrow(() -> new RuntimeException("No patient reference input parameter found")); } private Stream getInputParameterValues(Task task, String system, String code, Class type) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadDataFromDic.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadDataFromDic.java index f8c90ba0..e25036c1 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadDataFromDic.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadDataFromDic.java @@ -104,7 +104,7 @@ private Optional getDataReference(Task task) { return getInputParameterValues(task, CODESYSTEM_NUM_CODEX_DATA_TRANSFER, CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DATA_REFERENCE, Reference.class).findFirst() - .map(Reference::getReference); + .map(Reference::getReference); } private Stream getInputParameterValues(Task task, String system, String code, Class type) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadValidationErrorFromCrr.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadValidationErrorFromCrr.java index 25bcb3b0..93d359c2 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadValidationErrorFromCrr.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/DownloadValidationErrorFromCrr.java @@ -61,7 +61,7 @@ private Optional getDataReference(Task task) { return getInputParameterValues(task, CODESYSTEM_NUM_CODEX_DATA_TRANSFER, CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DATA_REFERENCE, Reference.class).findFirst() - .map(Reference::getReference); + .map(Reference::getReference); } private Stream getInputParameterValues(Task task, String system, String code, Class type) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/ReplacePseudonym.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/ReplacePseudonym.java index 7a3d037c..d6187aac 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/ReplacePseudonym.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/ReplacePseudonym.java @@ -61,7 +61,7 @@ private Optional getPseudonym(Task task) { return getInputParameterValues(task, CODESYSTEM_NUM_CODEX_DATA_TRANSFER, CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_PSEUDONYM, Identifier.class).findFirst() - .map(Identifier::getValue); + .map(Identifier::getValue); } private Stream getInputParameterValues(Task task, String system, String code, Class type) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/AbstractFhirResourceFileSystemCache.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/AbstractFhirResourceFileSystemCache.java index 0ae7fcfc..3971c5ac 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/AbstractFhirResourceFileSystemCache.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/AbstractFhirResourceFileSystemCache.java @@ -22,7 +22,7 @@ public abstract class AbstractFhirResourceFileSystemCache /** * For JSON content with gzip compression using the .json.gz file name suffix. - * + * * @param cacheFolder * not null * @param resourceType diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/AbstractFileSystemCache.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/AbstractFileSystemCache.java index 9a234665..ce538c22 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/AbstractFileSystemCache.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/AbstractFileSystemCache.java @@ -49,7 +49,7 @@ public interface BiConsumerWithIoException /** * For JSON content with gzip compression using the .json.gz file name suffix. - * + * * @param cacheFolder * not null * @see #FILENAME_SUFFIX diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/BundleValidator.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/BundleValidator.java index b2d88d02..0f7baa0f 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/BundleValidator.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/BundleValidator.java @@ -9,7 +9,7 @@ public interface BundleValidator extends ResourceValidator /** * Validated all bundle entries with a entry.resource. The validation result will be added as a * {@link OperationOutcome} resource to the corresponding entry.response.outcome property. - * + * * @param bundle * not null * @return given bundle with added entry.response.outcome properties diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/PluginSnapshotGeneratorWithFileSystemCache.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/PluginSnapshotGeneratorWithFileSystemCache.java index bebd67a1..6c930847 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/PluginSnapshotGeneratorWithFileSystemCache.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/PluginSnapshotGeneratorWithFileSystemCache.java @@ -27,7 +27,7 @@ public class PluginSnapshotGeneratorWithFileSystemCache /** * For JSON content with gzip compression using the .json.xz file name suffix. - * + * * @param cacheFolder * not null * @param fhirContext diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageClientWithFileSystemCache.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageClientWithFileSystemCache.java index 85f0615b..b8f57398 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageClientWithFileSystemCache.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageClientWithFileSystemCache.java @@ -20,7 +20,7 @@ public class ValidationPackageClientWithFileSystemCache extends AbstractFileSyst /** * For JSON content with gzip compression using the .json.xz file name suffix. - * + * * @param cacheFolder * not null * @param mapper diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageEntry.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageEntry.java index 3ec33d73..b35e6630 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageEntry.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageEntry.java @@ -16,7 +16,7 @@ public class ValidationPackageEntry { /** * Does not close the input stream. - * + * * @param entry * not null * @param in diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageManager.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageManager.java index d402e5fe..cd976441 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageManager.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValidationPackageManager.java @@ -10,7 +10,7 @@ public interface ValidationPackageManager { /** * Downloads the given FHIR package and all its dependencies. - * + * * @param name * not null * @param version @@ -24,7 +24,7 @@ default ValidationPackageWithDepedencies downloadPackageWithDependencies(String /** * Downloads the given FHIR package and all its dependencies. - * + * * @param name * not null * @param version @@ -38,7 +38,7 @@ default ValidationPackageWithDepedencies downloadPackageWithDependencies(String * will try to expand all {@link ValueSet}s with binding strength {@link BindingStrength#EXTENSIBLE}, * {@link BindingStrength#PREFERRED} or {@link BindingStrength#REQUIRED} used by the {@link StructureDefinition} of * the root package or their dependencies, before returning a {@link IValidationSupport}. - * + * * @param packageWithDependencies * not null * @return validation support for the validator @@ -63,7 +63,7 @@ BundleValidator createBundleValidator(IValidationSupport validationSupport, * {@link ValueSet}s with binding strength {@link BindingStrength#EXTENSIBLE}, {@link BindingStrength#PREFERRED} or * {@link BindingStrength#REQUIRED} used by the {@link StructureDefinition} of the specified (root) package or their * dependencies, before returning a {@link IValidationSupport}. - * + * * @param name * not null * @param version @@ -81,7 +81,7 @@ default BundleValidator createBundleValidator(String name, String version) * {@link ValueSet}s with binding strength {@link BindingStrength#EXTENSIBLE}, {@link BindingStrength#PREFERRED} or * {@link BindingStrength#REQUIRED} used by the {@link StructureDefinition} of the specified (root) package or their * dependencies, before returning a {@link IValidationSupport}. - * + * * @param identifier * not null * @return {@link BundleValidator} for the specified FHIR package diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValueSetExpanderWithFileSystemCache.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValueSetExpanderWithFileSystemCache.java index b33c1077..a220034c 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValueSetExpanderWithFileSystemCache.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValueSetExpanderWithFileSystemCache.java @@ -26,7 +26,7 @@ public class ValueSetExpanderWithFileSystemCache /** * For JSON content with gzip compression using the .json.xz file name suffix. - * + * * @param cacheFolder * not null * @param resourceType diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValueSetExpansionClientWithFileSystemCache.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValueSetExpansionClientWithFileSystemCache.java index 9f74d38b..8f43e671 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValueSetExpansionClientWithFileSystemCache.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/validation/ValueSetExpansionClientWithFileSystemCache.java @@ -27,7 +27,7 @@ public class ValueSetExpansionClientWithFileSystemCache extends AbstractFhirReso /** * For JSON content with gzip compression using the .json.xz file name suffix. - * + * * @param cacheFolder * not null * @param fhirContext diff --git a/pom.xml b/pom.xml index 51d71bd4..915add1a 100644 --- a/pom.xml +++ b/pom.xml @@ -104,12 +104,12 @@ de.hs-heilbronn.mi log4j2-utils - 0.13.0 + 0.14.0 de.hs-heilbronn.mi crypto-utils - 3.3.0 + 3.4.0 @@ -134,7 +134,7 @@ org.mockito mockito-core - 4.5.1 + 4.8.0 @@ -145,7 +145,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${compileSource} ${compileTarget} @@ -154,12 +154,12 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 3.0.0-M7 org.apache.maven.plugins maven-jar-plugin - 3.2.0 + 3.3.0 @@ -178,22 +178,22 @@ org.apache.maven.plugins maven-dependency-plugin - 3.2.0 + 3.3.0 org.apache.maven.plugins maven-clean-plugin - 3.1.0 + 3.2.0 net.revelc.code.formatter formatter-maven-plugin - 2.17.1 + 2.20.0 net.revelc.code impsort-maven-plugin - 1.6.2 + 1.7.0 org.codehaus.mojo From 69a4c8e1a6ffb6fe681503ad5619d91ac644a70c Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Tue, 18 Oct 2022 01:13:04 +0200 Subject: [PATCH 11/12] release date to 2022-10-18 --- .../data_transfer/DataTransferProcessPluginDefinition.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/DataTransferProcessPluginDefinition.java b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/DataTransferProcessPluginDefinition.java index e8d37e41..4435585b 100644 --- a/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/DataTransferProcessPluginDefinition.java +++ b/codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/DataTransferProcessPluginDefinition.java @@ -37,7 +37,7 @@ public class DataTransferProcessPluginDefinition implements ProcessPluginDefinit private static final Logger logger = LoggerFactory.getLogger(DataTransferProcessPluginDefinition.class); public static final String VERSION = "0.6.0"; - public static final LocalDate DATE = LocalDate.of(2022, 10, 17); + public static final LocalDate DATE = LocalDate.of(2022, 10, 18); @Override public String getName() From 315fb57248cde2e048d7602035bd1656f6ef20d2 Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Tue, 18 Oct 2022 01:13:18 +0200 Subject: [PATCH 12/12] 0.6.0.1 release --- codex-process-data-transfer/pom.xml | 2 +- codex-processes-ap1-test-data-generator/pom.xml | 2 +- pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/codex-process-data-transfer/pom.xml b/codex-process-data-transfer/pom.xml index 356ff0a3..42fb51ef 100644 --- a/codex-process-data-transfer/pom.xml +++ b/codex-process-data-transfer/pom.xml @@ -6,7 +6,7 @@ de.netzwerk-universitaetsmedizin.codex codex-processes-ap1 - 0.6.0.1-SNAPSHOT + 0.6.0.1 diff --git a/codex-processes-ap1-test-data-generator/pom.xml b/codex-processes-ap1-test-data-generator/pom.xml index fb1c02af..700823ed 100644 --- a/codex-processes-ap1-test-data-generator/pom.xml +++ b/codex-processes-ap1-test-data-generator/pom.xml @@ -6,7 +6,7 @@ de.netzwerk-universitaetsmedizin.codex codex-processes-ap1 - 0.6.0.1-SNAPSHOT + 0.6.0.1 diff --git a/pom.xml b/pom.xml index 915add1a..134b8886 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ de.netzwerk-universitaetsmedizin.codex codex-processes-ap1 - 0.6.0.1-SNAPSHOT + 0.6.0.1 pom