From 6a93e1dd7fb94acf462c772019f3493b7089cce8 Mon Sep 17 00:00:00 2001 From: DiCanio Date: Tue, 2 Aug 2022 14:32:45 +0200 Subject: [PATCH 1/2] Switch to Obfuscation Set in Project Contract Drops the current obfuscation implementation for feasibility counts. Uses a new obfuscation implementation so that a random number within the range [-5,5] gets added to the actual feasibility count. Additionally, ensures that obfuscation results less than 5 get "discarded" by setting them to zero instead. --- .../FeasibilityCountObfuscator.java | 48 +++++++++++++-- .../feasibility_dsf_process/Obfuscator.java | 17 ++++++ .../RandomNumberGenerator.java | 15 +++++ .../service/ObfuscateEvaluationResult.java | 6 +- .../spring/config/FeasibilityConfig.java | 17 +----- .../FeasibilityCountObfuscatorTest.java | 60 ++++++++++--------- .../ObfuscateEvaluationResultTest.java | 38 ++++++++---- 7 files changed, 143 insertions(+), 58 deletions(-) create mode 100644 feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/Obfuscator.java create mode 100644 feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/RandomNumberGenerator.java diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityCountObfuscator.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityCountObfuscator.java index 88094ef..b16b771 100644 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityCountObfuscator.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityCountObfuscator.java @@ -1,17 +1,57 @@ package de.medizininformatik_initiative.feasibility_dsf_process; +import java.util.Random; + +import static java.util.Objects.requireNonNull; + /** * Obfuscator for obfuscating feasibility counts. */ -public class FeasibilityCountObfuscator { +public class FeasibilityCountObfuscator implements Obfuscator { + + private static final Integer MAX_RANDOM_OBFUSCATOR_VALUE = 10; + + // Obfuscated feasibility counts less than this value get discarded by setting + // the obfuscation result to 0. + private static final Integer MIN_ALLOWED_OBFUSCATED_RESULT = 5; + + // We can't use RandomGenerator of Java 17 since this plugin will run within a framework still + // using Java 11 and is built for this version. Thus, using a lightweight wrapper should be fine. + private final RandomNumberGenerator randomGenerator; + + public FeasibilityCountObfuscator(RandomNumberGenerator randomGenerator) { + this.randomGenerator = requireNonNull(randomGenerator, "random number generator must not be null"); + } /** - * Obfuscates the given feasibility count by calculating the same count rounded to the nearest ten. + * Obfuscates the given feasibility count by randomly adding a value in the range of [-5, 5] to it. + *

+ * Important: + * Returns 0, should the obfuscated result be less than 5. + *

* * @param feasibilityCount The feasibility count that shall be obfuscated. * @return The obfuscated feasibility count. */ - public int obfuscate(int feasibilityCount) { - return feasibilityCount - (feasibilityCount % 10) + 10; + public Integer obfuscate(Integer feasibilityCount) { + var obfuscationOffset = randomGenerator.generateRandomNumber(MAX_RANDOM_OBFUSCATOR_VALUE + 1) + - (MAX_RANDOM_OBFUSCATOR_VALUE / 2); + + var obfuscatedFeasibilityCount = feasibilityCount + obfuscationOffset; + return (obfuscatedFeasibilityCount < MIN_ALLOWED_OBFUSCATED_RESULT) ? 0 : obfuscatedFeasibilityCount; + } + + public static class ObfuscationRandomNumberGenerator implements RandomNumberGenerator { + + private final Random random; + + public ObfuscationRandomNumberGenerator() { + random = new Random(); + } + + @Override + public int generateRandomNumber(int bound) { + return random.nextInt(bound); + } } } diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/Obfuscator.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/Obfuscator.java new file mode 100644 index 0000000..4693793 --- /dev/null +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/Obfuscator.java @@ -0,0 +1,17 @@ +package de.medizininformatik_initiative.feasibility_dsf_process; + +/** + * Describes how values of a type T can get obfuscated. + * + * @param The type of the value that shall get obfuscated. + */ +public interface Obfuscator { + + /** + * Obfuscates the specified value and returns the result. + * + * @param value Gets obfuscated. + * @return The obfuscated value. + */ + T obfuscate(T value); +} diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/RandomNumberGenerator.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/RandomNumberGenerator.java new file mode 100644 index 0000000..becaf89 --- /dev/null +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/RandomNumberGenerator.java @@ -0,0 +1,15 @@ +package de.medizininformatik_initiative.feasibility_dsf_process; + +/** + * Describes a simple random number generator. + */ +public interface RandomNumberGenerator { + + /** + * Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive). + * + * @param bound The upper bound (must be positive). + * @return A pseudorandom, uniformly distributed int value between zero (inclusive) and bound (exclusive) + */ + int generateRandomNumber(int bound); +} diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/ObfuscateEvaluationResult.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/ObfuscateEvaluationResult.java index 371928b..c9f54b6 100644 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/ObfuscateEvaluationResult.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/service/ObfuscateEvaluationResult.java @@ -1,6 +1,6 @@ package de.medizininformatik_initiative.feasibility_dsf_process.service; -import de.medizininformatik_initiative.feasibility_dsf_process.FeasibilityCountObfuscator; +import de.medizininformatik_initiative.feasibility_dsf_process.Obfuscator; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.highmed.dsf.bpe.delegate.AbstractServiceDelegate; import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper; @@ -15,10 +15,10 @@ public class ObfuscateEvaluationResult extends AbstractServiceDelegate implements InitializingBean { - private final FeasibilityCountObfuscator obfuscator; + private final Obfuscator obfuscator; public ObfuscateEvaluationResult(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper, - ReadAccessHelper readAccessHelper, FeasibilityCountObfuscator obfuscator) { + ReadAccessHelper readAccessHelper, Obfuscator obfuscator) { super(clientProvider, taskHelper, readAccessHelper); this.obfuscator = obfuscator; } diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/spring/config/FeasibilityConfig.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/spring/config/FeasibilityConfig.java index 9d99600..cb909f6 100755 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/spring/config/FeasibilityConfig.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/spring/config/FeasibilityConfig.java @@ -9,19 +9,7 @@ import de.medizininformatik_initiative.feasibility_dsf_process.client.flare.FlareWebserviceClient; import de.medizininformatik_initiative.feasibility_dsf_process.message.SendDicRequest; import de.medizininformatik_initiative.feasibility_dsf_process.message.SendDicResponse; -import de.medizininformatik_initiative.feasibility_dsf_process.service.AggregateMeasureReports; -import de.medizininformatik_initiative.feasibility_dsf_process.service.DownloadFeasibilityResources; -import de.medizininformatik_initiative.feasibility_dsf_process.service.DownloadMeasureReport; -import de.medizininformatik_initiative.feasibility_dsf_process.service.EvaluateCqlMeasure; -import de.medizininformatik_initiative.feasibility_dsf_process.service.EvaluateStructuredQueryMeasure; -import de.medizininformatik_initiative.feasibility_dsf_process.service.ObfuscateEvaluationResult; -import de.medizininformatik_initiative.feasibility_dsf_process.service.PrepareForFurtherEvaluation; -import de.medizininformatik_initiative.feasibility_dsf_process.service.SelectRequestTargets; -import de.medizininformatik_initiative.feasibility_dsf_process.service.SelectResponseTarget; -import de.medizininformatik_initiative.feasibility_dsf_process.service.SetupEvaluationSettings; -import de.medizininformatik_initiative.feasibility_dsf_process.service.StoreFeasibilityResources; -import de.medizininformatik_initiative.feasibility_dsf_process.service.StoreLiveResult; -import de.medizininformatik_initiative.feasibility_dsf_process.service.StoreMeasureReport; +import de.medizininformatik_initiative.feasibility_dsf_process.service.*; import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper; import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider; import org.highmed.dsf.fhir.organization.EndpointProvider; @@ -71,7 +59,8 @@ public EnhancedFhirWebserviceClientProvider enhancedFhirClientProvider() { @Bean public FeasibilityCountObfuscator feasibilityCountObfuscator() { - return new FeasibilityCountObfuscator(); + var randomNumberGenerator = new FeasibilityCountObfuscator.ObfuscationRandomNumberGenerator(); + return new FeasibilityCountObfuscator(randomNumberGenerator); } // diff --git a/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityCountObfuscatorTest.java b/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityCountObfuscatorTest.java index 987905b..2a2714d 100644 --- a/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityCountObfuscatorTest.java +++ b/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityCountObfuscatorTest.java @@ -1,44 +1,50 @@ package de.medizininformatik_initiative.feasibility_dsf_process; -import de.medizininformatik_initiative.feasibility_dsf_process.FeasibilityCountObfuscator; -import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameter; -import org.junit.runners.Parameterized.Parameters; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; -import java.util.Arrays; -import java.util.Collection; +import java.util.ArrayList; +import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.Mockito.when; -@RunWith(Parameterized.class) +@RunWith(MockitoJUnitRunner.class) public class FeasibilityCountObfuscatorTest { - private FeasibilityCountObfuscator obfuscator; + @Mock + private RandomNumberGenerator randomNumberGenerator; - @Before - public void setUp() { - obfuscator = new FeasibilityCountObfuscator(); - } - - @Parameters - public static Collection data() { - return Arrays.asList(new Object[][]{ - {0, 10}, {5, 10}, {10, 20}, {20, 30}, {100, 110}, {113, 120} - }); - } + @InjectMocks + private FeasibilityCountObfuscator feasibilityCountObfuscator; - @Parameter - public int feasibilityCount; + @Test + public void testObfuscateFeasibility_ObfuscatedResultsLowerThanFiveGetReturnedAsZero() { + when(randomNumberGenerator.generateRandomNumber(anyInt())).thenReturn(1, 2, 3, 4); - @Parameter(1) - public int expectedObfuscatedFeasibilityCount; + int nonObfuscatedFeasibilityResult = 5; + List obfuscatedFeasibilityResults = new ArrayList<>(); + for (int i = 0; i < 4; i++) { + obfuscatedFeasibilityResults.add(feasibilityCountObfuscator.obfuscate(nonObfuscatedFeasibilityResult)); + } + assertIterableEquals(List.of(0, 0, 0, 0), obfuscatedFeasibilityResults); + } @Test - public void testObfuscateFeasibility() { - assertEquals(expectedObfuscatedFeasibilityCount, obfuscator.obfuscate(feasibilityCount)); + public void testObfuscateFeasibility_ObfustedResultsGreaterOrEqualToFiveAreKept() { + when(randomNumberGenerator.generateRandomNumber(anyInt())).thenReturn(0, 5, 10); + + int nonObfuscatedFeasibilityResult = 10; + List obfuscatedFeasibilityResults = new ArrayList<>(); + for (int i = 0; i < 3; i++) { + obfuscatedFeasibilityResults.add(feasibilityCountObfuscator.obfuscate(nonObfuscatedFeasibilityResult)); + } + + assertIterableEquals(List.of(5, 10, 15), obfuscatedFeasibilityResults); } } diff --git a/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/service/ObfuscateEvaluationResultTest.java b/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/service/ObfuscateEvaluationResultTest.java index b5c9dad..1145785 100644 --- a/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/service/ObfuscateEvaluationResultTest.java +++ b/feasibility-dsf-process/src/test/java/de/medizininformatik_initiative/feasibility_dsf_process/service/ObfuscateEvaluationResultTest.java @@ -1,8 +1,10 @@ package de.medizininformatik_initiative.feasibility_dsf_process.service; -import de.medizininformatik_initiative.feasibility_dsf_process.FeasibilityCountObfuscator; -import de.medizininformatik_initiative.feasibility_dsf_process.service.ObfuscateEvaluationResult; +import de.medizininformatik_initiative.feasibility_dsf_process.Obfuscator; 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.task.TaskHelper; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; import org.hl7.fhir.r4.model.MeasureReport; @@ -10,20 +12,18 @@ import org.hl7.fhir.r4.model.MeasureReport.MeasureReportGroupPopulationComponent; import org.hl7.fhir.r4.model.Period; import org.joda.time.LocalDate; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Captor; -import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import java.util.Date; import java.util.List; -import static de.medizininformatik_initiative.feasibility_dsf_process.variables.ConstantsFeasibility.CODESYSTEM_MEASURE_POPULATION; -import static de.medizininformatik_initiative.feasibility_dsf_process.variables.ConstantsFeasibility.CODESYSTEM_MEASURE_POPULATION_VALUE_INITIAL_POPULATION; -import static de.medizininformatik_initiative.feasibility_dsf_process.variables.ConstantsFeasibility.VARIABLE_MEASURE_REPORT; +import static de.medizininformatik_initiative.feasibility_dsf_process.variables.ConstantsFeasibility.*; import static org.hl7.fhir.r4.model.MeasureReport.MeasureReportStatus.COMPLETE; import static org.hl7.fhir.r4.model.MeasureReport.MeasureReportType.SUMMARY; import static org.junit.Assert.assertEquals; @@ -39,14 +39,26 @@ public class ObfuscateEvaluationResultTest { private ArgumentCaptor measureReportCaptor; @Mock - private FeasibilityCountObfuscator feasibilityCountObfuscator; + private FhirWebserviceClientProvider clientProvider; + + @Mock + private TaskHelper taskHelper; + + @Mock + private ReadAccessHelper readAccessHelper; @Mock private DelegateExecution execution; - @InjectMocks private ObfuscateEvaluationResult service; + @Before + public void setUp() { + var incrementFeasibilityCountObfuscator = new FeasibilityCountIncrementObfuscator(); + service = new ObfuscateEvaluationResult(clientProvider, taskHelper, readAccessHelper, + incrementFeasibilityCountObfuscator); + } + @Test public void testDoExecute() throws Exception { var feasibilityCount = 5; @@ -69,12 +81,11 @@ public void testDoExecute() throws Exception { .setPopulation(List.of(populationGroup))); when(execution.getVariable(VARIABLE_MEASURE_REPORT)).thenReturn(measureReport); - when(feasibilityCountObfuscator.obfuscate(feasibilityCount)).thenCallRealMethod(); service.execute(execution); verify(execution).setVariable(eq(VARIABLE_MEASURE_REPORT), measureReportCaptor.capture()); - var expectedFeasibilityCount = 10; + var expectedFeasibilityCount = feasibilityCount + 1; var expectedObfuscatedMeasureReport = measureReport.copy(); expectedObfuscatedMeasureReport.getGroupFirstRep().getPopulationFirstRep().setCount(expectedFeasibilityCount); @@ -83,4 +94,11 @@ public void testDoExecute() throws Exception { .getCount()); assertTrue(expectedObfuscatedMeasureReport.equalsDeep(obfuscatedMeasureReport)); } + + private static class FeasibilityCountIncrementObfuscator implements Obfuscator { + @Override + public Integer obfuscate(Integer value) { + return ++value; + } + } } From 4143b33f8967c4849b83dca924816e327d711673 Mon Sep 17 00:00:00 2001 From: DiCanio Date: Mon, 15 Aug 2022 14:51:55 +0200 Subject: [PATCH 2/2] Update Version Number --- .../data/feasibility-bundle.json | 2 +- .../docker-compose.yml | 4 ++-- .../feasibility-dsf-process-test-data-generator/pom.xml | 2 +- feasibility-dsf-process-tools/pom.xml | 2 +- feasibility-dsf-process/pom.xml | 4 ++-- .../FeasibilityProcessPluginDefinition.java | 2 +- .../src/main/resources/bpe/feasibilityExecute.bpmn | 6 +++--- .../src/main/resources/bpe/feasibilityRequest.bpmn | 6 +++--- pom.xml | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/feasibility-dsf-process-docker-test-setup/data/feasibility-bundle.json b/feasibility-dsf-process-docker-test-setup/data/feasibility-bundle.json index 9ea10e8..abec94c 100644 --- a/feasibility-dsf-process-docker-test-setup/data/feasibility-bundle.json +++ b/feasibility-dsf-process-docker-test-setup/data/feasibility-bundle.json @@ -11,7 +11,7 @@ "http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-request" ] }, - "instantiatesUri": "http://medizininformatik-initiative.de/bpe/Process/feasibilityRequest/0.2.0", + "instantiatesUri": "http://medizininformatik-initiative.de/bpe/Process/feasibilityRequest/0.3.0", "status": "requested", "intent": "order", "authoredOn": "2022", diff --git a/feasibility-dsf-process-docker-test-setup/docker-compose.yml b/feasibility-dsf-process-docker-test-setup/docker-compose.yml index 69c86ac..ec41903 100755 --- a/feasibility-dsf-process-docker-test-setup/docker-compose.yml +++ b/feasibility-dsf-process-docker-test-setup/docker-compose.yml @@ -447,7 +447,7 @@ services: ORG_HIGHMED_DSF_BPE_FHIR_SERVER_BASE_URL: https://dic-2/fhir DE_MEDIZININFORMATIK_INITIATIVE_FEASIBILITY_DSF_PROCESS_CLIENT_STORE_BASE_URL: http://dic-2-store:8080/fhir DE_MEDIZININFORMATIK_INITIATIVE_FEASIBILITY_DSF_PROCESS_EVALUATION_STRATEGY: cql - DE_MEDIZININFORMATIK_INITIATIVE_FEASIBILITY_DSF_PROCESS_EVALUATION_OBFUSCATE: "false" + DE_MEDIZININFORMATIK_INITIATIVE_FEASIBILITY_DSF_PROCESS_EVALUATION_OBFUSCATE: "true" networks: dic-2-bpe-frontend: dic-2-bpe-backend: @@ -459,7 +459,7 @@ services: # ---- DIC-2 - FHIR Data Store ---------------------------------------------- dic-2-store: - image: samply/blaze:0.16.4 + image: samply/blaze:0.17.12 restart: on-failure ports: - "127.0.0.1:8080:8080" diff --git a/feasibility-dsf-process-tools/feasibility-dsf-process-test-data-generator/pom.xml b/feasibility-dsf-process-tools/feasibility-dsf-process-test-data-generator/pom.xml index 2ed2de0..cdf6290 100755 --- a/feasibility-dsf-process-tools/feasibility-dsf-process-test-data-generator/pom.xml +++ b/feasibility-dsf-process-tools/feasibility-dsf-process-test-data-generator/pom.xml @@ -7,7 +7,7 @@ de.medizininformatik-initiative feasibility-dsf-process-tools - 0.2.0 + 0.3.0 MII Feasibility Process Test Data Generator diff --git a/feasibility-dsf-process-tools/pom.xml b/feasibility-dsf-process-tools/pom.xml index e34ddc7..5551d79 100755 --- a/feasibility-dsf-process-tools/pom.xml +++ b/feasibility-dsf-process-tools/pom.xml @@ -8,7 +8,7 @@ de.medizininformatik-initiative feasibility-dsf-process-parent - 0.2.0 + 0.3.0 diff --git a/feasibility-dsf-process/pom.xml b/feasibility-dsf-process/pom.xml index 4a11d9c..7f48d2b 100755 --- a/feasibility-dsf-process/pom.xml +++ b/feasibility-dsf-process/pom.xml @@ -4,12 +4,12 @@ 4.0.0 feasibility-dsf-process - 0.2.0 + 0.3.0 de.medizininformatik-initiative feasibility-dsf-process-parent - 0.2.0 + 0.3.0 MII Feasibility DSF Process diff --git a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityProcessPluginDefinition.java b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityProcessPluginDefinition.java index 7ffbd76..4f52429 100644 --- a/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityProcessPluginDefinition.java +++ b/feasibility-dsf-process/src/main/java/de/medizininformatik_initiative/feasibility_dsf_process/FeasibilityProcessPluginDefinition.java @@ -23,7 +23,7 @@ public class FeasibilityProcessPluginDefinition implements ProcessPluginDefinition { - public static final String VERSION = "0.2.0"; + public static final String VERSION = "0.3.0"; @Override public String getName() { diff --git a/feasibility-dsf-process/src/main/resources/bpe/feasibilityExecute.bpmn b/feasibility-dsf-process/src/main/resources/bpe/feasibilityExecute.bpmn index a7e3e0a..8aba7fa 100755 --- a/feasibility-dsf-process/src/main/resources/bpe/feasibilityExecute.bpmn +++ b/feasibility-dsf-process/src/main/resources/bpe/feasibilityExecute.bpmn @@ -1,6 +1,6 @@ - + SequenceFlow_14cn0vs @@ -14,8 +14,8 @@ feasibilitySingleDicResultMessage - http://medizininformatik-initiative.de/bpe/Process/feasibilityRequest/0.2.0 - http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-single-dic-result|0.2.0 + http://medizininformatik-initiative.de/bpe/Process/feasibilityRequest/0.3.0 + http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-single-dic-result|0.3.0 SequenceFlow_0ascyjc diff --git a/feasibility-dsf-process/src/main/resources/bpe/feasibilityRequest.bpmn b/feasibility-dsf-process/src/main/resources/bpe/feasibilityRequest.bpmn index 761697a..9f6d5c9 100755 --- a/feasibility-dsf-process/src/main/resources/bpe/feasibilityRequest.bpmn +++ b/feasibility-dsf-process/src/main/resources/bpe/feasibilityRequest.bpmn @@ -1,6 +1,6 @@ - + SequenceFlow_11k77gx @@ -12,9 +12,9 @@ - http://medizininformatik-initiative.de/bpe/Process/feasibilityExecute/0.2.0 + http://medizininformatik-initiative.de/bpe/Process/feasibilityExecute/0.3.0 feasibilityExecuteMessage - http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-execute|0.2.0 + http://medizininformatik-initiative.de/fhir/StructureDefinition/feasibility-task-execute|0.3.0 SequenceFlow_0b5s4ef diff --git a/pom.xml b/pom.xml index 5c56540..fecaf3f 100755 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ de.medizininformatik-initiative feasibility-dsf-process-parent - 0.2.0 + 0.3.0 pom