Skip to content
This repository was archived by the owner on Oct 6, 2025. It is now read-only.

Commit 00db3c1

Browse files
committed
fixed errors found during testing of RC1 release
Fixed bad error handling, Added error cases for failed decryption at CRR. Switched from intermediate message throw events to message send task for startDataTranslate and startDataReceice messages to add error boundary events in case GTH or CRR is not reachable or throws error during post of Task.
1 parent 493e283 commit 00db3c1

19 files changed

Lines changed: 784 additions & 510 deletions

File tree

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/ConstantsDataTransfer.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,20 @@ public interface ConstantsDataTransfer
8989
String HAPI_USER_DATA_SOURCE_ID_ELEMENT = "source-id";
9090

9191
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR = "http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer-error";
92+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_UNKNOWN = "unknown";
9293
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_PATIENT_NOT_FOUND = "patient-not-found";
9394
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_BAD_PATIENT_REFERENCE = "bad-patient-reference";
9495
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_FTTP_NOT_REACHABLE = "fttp-not-reachable";
9596
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_NO_DIC_PSEUDONYM_FOR_BLOOMFILTER = "no-dic-pseudonym-for-bloomfilter";
9697
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_VALIDATION_FAILED = "validation-failed";
98+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_GTH_NOT_REACHABLE = "gth-not-reachable";
9799
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_TIMEOUT_WAITING_FOR_RESPONSE_FROM_CRR = "timeout-waiting-for-response-from-crr";
100+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_CRR_NOT_REACHABLE = "crr-not-reachable";
98101
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_DATA_FROM_DIC_FAILED = "download-data-from-dic-failed";
99102
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_NO_CRR_PSEUDONYM_FOR_DIC_PSEUDONYM = "no-crr-pseudonym-for-dic-pseudonym";
100103
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_TIMEOUT_WAITING_FOR_RESPONSE_FROM_GTH = "timeout-waiting-for-response-from-gth";
101104
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DOWNLOAD_DATA_FROM_GTH_FAILED = "download-data-from-gth-failed";
105+
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_DATA_FROM_DIC_FAILED = "decryption-of-data-from-dic-failed";
102106
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_INSERT_INTO_CRR_FHIR_REPOSITORY_FAILED = "insert-into-crr-fhir-respository-failed";
103107

104108
String CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE = "http://www.netzwerk-universitaetsmedizin.de/fhir/CodeSystem/data-transfer-error-source";

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartReceiveProcess.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BINARY_URL;
44
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_PSEUDONYM;
55
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER;
6+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_CRR_NOT_REACHABLE;
67
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DATA_REFERENCE;
78
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_PSEUDONYM;
89

910
import java.util.Objects;
1011
import java.util.stream.Stream;
1112

13+
import org.camunda.bpm.engine.delegate.BpmnError;
1214
import org.camunda.bpm.engine.delegate.DelegateExecution;
1315
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1416
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
@@ -78,4 +80,11 @@ private ParameterComponent dataReferenceParameter(DelegateExecution execution)
7880
param.setValue(new Reference().setReference(binaryReference));
7981
return param;
8082
}
83+
84+
@Override
85+
protected void handleSendTaskError(Exception exception, String errorMessage)
86+
{
87+
throw new BpmnError(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_CRR_NOT_REACHABLE,
88+
"Error while sending Task to CRR: " + exception.getMessage());
89+
}
8190
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/message/StartTranslateProcess.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BINARY_URL;
44
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_PATIENT_REFERENCE;
55
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER;
6+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_GTH_NOT_REACHABLE;
67
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_DATA_REFERENCE;
78
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_PSEUDONYM;
89

910
import java.util.Objects;
1011
import java.util.stream.Stream;
1112

13+
import org.camunda.bpm.engine.delegate.BpmnError;
1214
import org.camunda.bpm.engine.delegate.DelegateExecution;
1315
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1416
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
@@ -64,4 +66,11 @@ private ParameterComponent dataReferenceParameter(DelegateExecution execution)
6466
param.setValue(new Reference().setReference(binaryReference));
6567
return param;
6668
}
69+
70+
@Override
71+
protected void handleSendTaskError(Exception exception, String errorMessage)
72+
{
73+
throw new BpmnError(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_GTH_NOT_REACHABLE,
74+
"Error while sending Task to GTH: " + exception.getMessage());
75+
}
6776
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/ContinueStatus.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
public enum ContinueStatus
44
{
5-
SUCCESS, ERROR, VALIDATION_ERROR
5+
SUCCESS, ERROR, VALIDATION_ERROR, TIMEOUT
66
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/DecryptData.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,23 @@
44
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BUNDLE;
55
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_PSEUDONYM;
66
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER;
7+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_DATA_FROM_DIC_FAILED;
78
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_VALUE_PSEUDONYM;
89
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.PSEUDONYM_PLACEHOLDER;
910

1011
import java.io.IOException;
1112
import java.nio.charset.StandardCharsets;
13+
import java.security.InvalidAlgorithmParameterException;
14+
import java.security.InvalidKeyException;
15+
import java.security.NoSuchAlgorithmException;
1216
import java.util.Objects;
1317
import java.util.Optional;
1418
import java.util.stream.Stream;
1519

20+
import javax.crypto.BadPaddingException;
21+
import javax.crypto.IllegalBlockSizeException;
22+
import javax.crypto.NoSuchPaddingException;
23+
1624
import org.camunda.bpm.engine.delegate.BpmnError;
1725
import org.camunda.bpm.engine.delegate.DelegateExecution;
1826
import org.camunda.bpm.engine.variable.Variables;
@@ -55,6 +63,22 @@ public void afterPropertiesSet() throws Exception
5563

5664
@Override
5765
protected void doExecute(DelegateExecution execution) throws BpmnError, Exception
66+
{
67+
try
68+
{
69+
decryptGeccoData(execution);
70+
}
71+
catch (InvalidKeyException | BadPaddingException | IllegalBlockSizeException | NoSuchPaddingException
72+
| NoSuchAlgorithmException | InvalidAlgorithmParameterException | IOException e)
73+
{
74+
throw new BpmnError(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_DECRYPTION_OF_DATA_FROM_DIC_FAILED,
75+
"Error while decrypting GECCO data from DIC");
76+
}
77+
}
78+
79+
private void decryptGeccoData(DelegateExecution execution)
80+
throws InvalidKeyException, BadPaddingException, IllegalBlockSizeException, NoSuchPaddingException,
81+
NoSuchAlgorithmException, InvalidAlgorithmParameterException, IOException
5882
{
5983
Task task = getCurrentTaskFromExecutionVariables();
6084
Optional<String> pseudonym = getPseudonym(task);

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogError.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,17 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
6464

6565
if (!CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_VALIDATION_FAILED.equals(errorCode))
6666
{
67-
TaskOutputComponent output = errorOutputParameterGenerator.createError(
68-
errorSource != null ? errorSource : CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE_VALUE_CRR,
69-
errorCode, errorMessage);
67+
errorSource = errorSource != null ? errorSource : CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE_VALUE_CRR;
68+
TaskOutputComponent output = errorOutputParameterGenerator.createError(errorSource, errorCode,
69+
errorMessage);
7070

7171
task.addOutput(output);
7272

73-
logger.warn("Error while transfering data to CRR: {} - {}", errorCode, errorMessage);
73+
if (CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE_VALUE_CRR.equals(errorSource))
74+
logger.warn("Error while executing local process: code: '{}', message: {}", errorCode, errorMessage);
75+
else
76+
logger.warn("Error while executing process at {}: code: '{}', message: {}", errorSource, errorCode,
77+
errorMessage);
7478

7579
errorLogger.logDataReceiveFailed(getLeadingTaskFromExecutionVariables().getIdElement()
7680
.withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name()));

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/CheckForError.java

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,33 @@
11
package de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send;
22

33
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_CONTINUE_STATUS;
4+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_ERROR_CODE;
5+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_ERROR_MESSAGE;
6+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_ERROR_SOURCE;
7+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE_VALUE_MEDIC;
8+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_UNKNOWN;
9+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.EXTENSION_ERROR_METADATA;
10+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.EXTENSION_ERROR_METADATA_SOURCE;
11+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.EXTENSION_ERROR_METADATA_TYPE;
412
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND;
13+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND_WITH_ERROR;
514
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND_WITH_VALIDATION_ERROR;
615
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.DataTransferProcessPluginDefinition.VERSION;
16+
import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_BPMN;
17+
import static org.highmed.dsf.bpe.ConstantsBase.CODESYSTEM_HIGHMED_BPMN_VALUE_ERROR;
18+
19+
import java.util.Optional;
720

821
import org.camunda.bpm.engine.delegate.BpmnError;
922
import org.camunda.bpm.engine.delegate.DelegateExecution;
1023
import org.highmed.dsf.bpe.delegate.AbstractServiceDelegate;
1124
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1225
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1326
import org.highmed.dsf.fhir.task.TaskHelper;
27+
import org.hl7.fhir.r4.model.Coding;
28+
import org.hl7.fhir.r4.model.StringType;
1429
import org.hl7.fhir.r4.model.Task;
30+
import org.hl7.fhir.r4.model.Task.ParameterComponent;
1531
import org.hl7.fhir.r4.model.Task.TaskStatus;
1632
import org.slf4j.Logger;
1733
import org.slf4j.LoggerFactory;
@@ -35,18 +51,46 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
3551

3652
// continue OK
3753
if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND + "|" + VERSION))
54+
{
3855
continueStatus = ContinueStatus.SUCCESS;
56+
updateContinueTask();
57+
}
3958

4059
// continue Validation ERROR
4160
else if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND_WITH_VALIDATION_ERROR + "|" + VERSION))
61+
{
4262
continueStatus = ContinueStatus.VALIDATION_ERROR;
63+
updateContinueTask();
64+
}
65+
66+
// continue ERROR
67+
else if (currentTaskHasProfile(PROFILE_NUM_CODEX_TASK_CONTINUE_DATA_SEND_WITH_ERROR + "|" + VERSION))
68+
{
69+
Task continueWithErrorTask = getCurrentTaskFromExecutionVariables();
70+
71+
String errorCode = getErrorCode(continueWithErrorTask)
72+
.orElse(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_UNKNOWN);
73+
String errorMessage = getErrorMessage(continueWithErrorTask).orElse("Unknown Error");
74+
String errorSource = getErrorSource(continueWithErrorTask)
75+
.orElse(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE_VALUE_MEDIC);
76+
77+
execution.setVariable(BPMN_EXECUTION_VARIABLE_ERROR_CODE, errorCode);
78+
execution.setVariable(BPMN_EXECUTION_VARIABLE_ERROR_MESSAGE, errorMessage);
79+
execution.setVariable(BPMN_EXECUTION_VARIABLE_ERROR_SOURCE, errorSource);
4380

44-
// continue ERROR / Timeout
45-
else
4681
continueStatus = ContinueStatus.ERROR;
82+
updateContinueTask();
83+
}
84+
85+
// Timeout
86+
else
87+
continueStatus = ContinueStatus.TIMEOUT;
4788

4889
execution.setVariable(BPMN_EXECUTION_VARIABLE_CONTINUE_STATUS, continueStatus);
90+
}
4991

92+
private void updateContinueTask()
93+
{
5094
try
5195
{
5296
Task continueTask = getCurrentTaskFromExecutionVariables();
@@ -64,4 +108,36 @@ private boolean currentTaskHasProfile(String profile)
64108
Task currentTask = getCurrentTaskFromExecutionVariables();
65109
return currentTask.getMeta().getProfile().stream().anyMatch(p -> profile.equals(p.getValue()));
66110
}
111+
112+
private Optional<String> getErrorCode(Task task)
113+
{
114+
return getErrorInputParameter(task).map(i -> i.getExtensionByUrl(EXTENSION_ERROR_METADATA))
115+
.map(e -> e.getExtensionByUrl(EXTENSION_ERROR_METADATA_TYPE)).map(e -> e.getValue())
116+
.map(v -> (Coding) v).map(Coding::getCode);
117+
}
118+
119+
private Optional<String> getErrorSource(Task task)
120+
{
121+
return getErrorInputParameter(task).map(i -> i.getExtensionByUrl(EXTENSION_ERROR_METADATA))
122+
.map(e -> e.getExtensionByUrl(EXTENSION_ERROR_METADATA_SOURCE)).map(e -> e.getValue())
123+
.map(v -> (Coding) v).map(Coding::getCode);
124+
}
125+
126+
private Optional<String> getErrorMessage(Task task)
127+
{
128+
return getErrorInputParameter(task).filter(ParameterComponent::hasValue)
129+
.filter(i -> i.getValue() instanceof StringType).map(i -> (StringType) i.getValue())
130+
.map(StringType::getValue);
131+
}
132+
133+
private Optional<ParameterComponent> getErrorInputParameter(Task task)
134+
{
135+
if (task != null && task.hasInput())
136+
{
137+
return getTaskHelper().getInputParameterWithExtension(task, CODESYSTEM_HIGHMED_BPMN,
138+
CODESYSTEM_HIGHMED_BPMN_VALUE_ERROR, EXTENSION_ERROR_METADATA).findFirst();
139+
}
140+
else
141+
return Optional.empty();
142+
}
67143
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/DeleteDataForGth.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.send;
22

33
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_BINARY_URL;
4+
import static de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.ConstantsDataTransfer.BPMN_EXECUTION_VARIABLE_CONTINUE_STATUS;
45

56
import org.camunda.bpm.engine.delegate.BpmnError;
67
import org.camunda.bpm.engine.delegate.DelegateExecution;
@@ -13,6 +14,8 @@
1314
import org.slf4j.Logger;
1415
import org.slf4j.LoggerFactory;
1516

17+
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.service.ContinueStatus;
18+
1619
public class DeleteDataForGth extends AbstractServiceDelegate
1720
{
1821
private static final Logger logger = LoggerFactory.getLogger(DeleteDataForGth.class);
@@ -26,6 +29,9 @@ public DeleteDataForGth(FhirWebserviceClientProvider clientProvider, TaskHelper
2629
@Override
2730
protected void doExecute(DelegateExecution execution) throws BpmnError, Exception
2831
{
32+
ContinueStatus continueStatus = (ContinueStatus) execution.getVariable(BPMN_EXECUTION_VARIABLE_CONTINUE_STATUS);
33+
logger.info("Continue status: {}", continueStatus);
34+
2935
String binaryUrl = (String) execution.getVariable(BPMN_EXECUTION_VARIABLE_BINARY_URL);
3036
IdType binaryId = new IdType(binaryUrl);
3137

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogError.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,18 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
6464

6565
if (!CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_VALIDATION_FAILED.equals(errorCode))
6666
{
67-
TaskOutputComponent output = errorOutputParameterGenerator.createError(
68-
errorSource != null ? errorSource : CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE_VALUE_MEDIC,
69-
errorCode, errorMessage);
67+
errorSource = errorSource != null ? errorSource
68+
: CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE_VALUE_MEDIC;
69+
TaskOutputComponent output = errorOutputParameterGenerator.createError(errorSource, errorCode,
70+
errorMessage);
7071

7172
task.addOutput(output);
7273

73-
logger.warn("Error while transfering data to CRR: {} - {}", errorCode, errorMessage);
74+
if (CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_SOURCE_VALUE_MEDIC.equals(errorSource))
75+
logger.warn("Error while executing local process: code: '{}', message: {}", errorCode, errorMessage);
76+
else
77+
logger.warn("Error while executing process at {}: code: '{}', message: {}", errorSource, errorCode,
78+
errorMessage);
7479

7580
errorLogger.logDataReceiveFailed(getLeadingTaskFromExecutionVariables().getIdElement()
7681
.withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name()));

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogValidationError.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void afterPropertiesSet() throws Exception
5757
@Override
5858
protected void doExecute(DelegateExecution execution) throws BpmnError, Exception
5959
{
60-
logger.info("Validation error while adding resources to CRR FHIR repository");
60+
logger.warn("Validation error while adding resources to CRR FHIR repository");
6161

6262
Bundle bundle = (Bundle) execution.getVariable(BPMN_EXECUTION_VARIABLE_BUNDLE);
6363

0 commit comments

Comments
 (0)