From 748f49e2a5a3017aa9be3f99578314da2bccfc82 Mon Sep 17 00:00:00 2001 From: Reto Wettstein Date: Tue, 6 Jun 2023 15:21:27 +0200 Subject: [PATCH 1/9] rename medic to dic, increase version to 1.0.0, add versions to valuesets --- pom.xml | 26 +++++++++---------- .../fhir/ValueSet/dsf-ping-status.xml | 1 + src/main/resources/fhir/ValueSet/dsf-ping.xml | 1 + .../fhir/ValueSet/dsf-pong-status.xml | 1 + ...ava => Ping3DicFromTtpExampleStarter.java} | 2 +- ...va => PingTtpsFromDic1ExampleStarter.java} | 8 +++--- ...tostartPing3DicFromTtpExampleStarter.java} | 2 +- ...tostartPing3DicFromTtpExampleStarter.java} | 2 +- .../ActivityDefinitionProfileTest.java | 24 ++++++++--------- .../dsf/fhir/profiles/TaskProfileTest.java | 8 +++--- 10 files changed, 39 insertions(+), 36 deletions(-) rename src/test/java/dev/dsf/bpe/start/{Ping3MedicFromTtpExampleStarter.java => Ping3DicFromTtpExampleStarter.java} (97%) rename src/test/java/dev/dsf/bpe/start/{PingTtpsFromMedic1ExampleStarter.java => PingTtpsFromDic1ExampleStarter.java} (91%) rename src/test/java/dev/dsf/bpe/start/{StartAutostartPing3MedicFromTtpExampleStarter.java => StartAutostartPing3DicFromTtpExampleStarter.java} (97%) rename src/test/java/dev/dsf/bpe/start/{StopAutostartPing3MedicFromTtpExampleStarter.java => StopAutostartPing3DicFromTtpExampleStarter.java} (97%) diff --git a/pom.xml b/pom.xml index 5dcb44d..378b2ab 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ 17 17 - 1.0.0-M1 + 1.0.0-SNAPSHOT ../dsf @@ -294,7 +294,7 @@ - copy-process-plugin-to-docker-test-setup-3medic-ttp/medic1 + copy-process-plugin-to-docker-test-setup-3dic-ttp/dic1 package copy @@ -307,11 +307,11 @@ ${project.version} - ${dsf.location}/dsf-docker-test-setup-3medic-ttp/medic1/bpe/process + ${dsf.location}/dsf-docker-test-setup-3dic-ttp/dic1/bpe/process - copy-process-plugin-to-docker-test-setup-3medic-ttp/medic2 + copy-process-plugin-to-docker-test-setup-3dic-ttp/dic2 package copy @@ -324,11 +324,11 @@ ${project.version} - ${dsf.location}/dsf-docker-test-setup-3medic-ttp/medic2/bpe/process + ${dsf.location}/dsf-docker-test-setup-3dic-ttp/dic2/bpe/process - copy-process-plugin-to-docker-test-setup-3medic-ttp/medic3 + copy-process-plugin-to-docker-test-setup-3dic-ttp/dic3 package copy @@ -341,11 +341,11 @@ ${project.version} - ${dsf.location}/dsf-docker-test-setup-3medic-ttp/medic3/bpe/process + ${dsf.location}/dsf-docker-test-setup-3dic-ttp/dic3/bpe/process - copy-process-plugin-to-docker-test-setup-3medic-ttp/ttp + copy-process-plugin-to-docker-test-setup-3dic-ttp/ttp package copy @@ -358,7 +358,7 @@ ${project.version} - ${dsf.location}/dsf-docker-test-setup-3medic-ttp/ttp/bpe/process + ${dsf.location}/dsf-docker-test-setup-3dic-ttp/ttp/bpe/process @@ -376,28 +376,28 @@ false - ${dsf.location}/dsf-docker-test-setup-3medic-ttp/medic1/bpe/process + ${dsf.location}/dsf-docker-test-setup-3dic-ttp/dic1/bpe/process ${project.artifactId}-${project.version}.jar false - ${dsf.location}/dsf-docker-test-setup-3medic-ttp/medic2/bpe/process + ${dsf.location}/dsf-docker-test-setup-3dic-ttp/dic2/bpe/process ${project.artifactId}-${project.version}.jar false - ${dsf.location}/dsf-docker-test-setup-3medic-ttp/medic3/bpe/process + ${dsf.location}/dsf-docker-test-setup-3dic-ttp/dic3/bpe/process ${project.artifactId}-${project.version}.jar false - ${dsf.location}/dsf-docker-test-setup-3medic-ttp/ttp/bpe/process + ${dsf.location}/dsf-docker-test-setup-3dic-ttp/ttp/bpe/process ${project.artifactId}-${project.version}.jar diff --git a/src/main/resources/fhir/ValueSet/dsf-ping-status.xml b/src/main/resources/fhir/ValueSet/dsf-ping-status.xml index 5c57f5d..0729a89 100644 --- a/src/main/resources/fhir/ValueSet/dsf-ping-status.xml +++ b/src/main/resources/fhir/ValueSet/dsf-ping-status.xml @@ -22,6 +22,7 @@ + diff --git a/src/main/resources/fhir/ValueSet/dsf-ping.xml b/src/main/resources/fhir/ValueSet/dsf-ping.xml index df496a0..0fef6db 100644 --- a/src/main/resources/fhir/ValueSet/dsf-ping.xml +++ b/src/main/resources/fhir/ValueSet/dsf-ping.xml @@ -21,6 +21,7 @@ + \ No newline at end of file diff --git a/src/main/resources/fhir/ValueSet/dsf-pong-status.xml b/src/main/resources/fhir/ValueSet/dsf-pong-status.xml index f54919e..0986058 100644 --- a/src/main/resources/fhir/ValueSet/dsf-pong-status.xml +++ b/src/main/resources/fhir/ValueSet/dsf-pong-status.xml @@ -21,6 +21,7 @@ + diff --git a/src/test/java/dev/dsf/bpe/start/Ping3MedicFromTtpExampleStarter.java b/src/test/java/dev/dsf/bpe/start/Ping3DicFromTtpExampleStarter.java similarity index 97% rename from src/test/java/dev/dsf/bpe/start/Ping3MedicFromTtpExampleStarter.java rename to src/test/java/dev/dsf/bpe/start/Ping3DicFromTtpExampleStarter.java index 2b6cdde..3778876 100644 --- a/src/test/java/dev/dsf/bpe/start/Ping3MedicFromTtpExampleStarter.java +++ b/src/test/java/dev/dsf/bpe/start/Ping3DicFromTtpExampleStarter.java @@ -11,7 +11,7 @@ import dev.dsf.bpe.v1.constants.CodeSystems.BpmnMessage; import dev.dsf.bpe.v1.constants.NamingSystems.OrganizationIdentifier; -public class Ping3MedicFromTtpExampleStarter +public class Ping3DicFromTtpExampleStarter { // Environment variable "DSF_CLIENT_CERTIFICATE_PATH" or args[0]: the path to the client-certificate // dsf/dsf-tools/dsf-tools-test-data-generator/cert/Webbrowser_Test_User/Webbrowser_Test_User_certificate.p12 diff --git a/src/test/java/dev/dsf/bpe/start/PingTtpsFromMedic1ExampleStarter.java b/src/test/java/dev/dsf/bpe/start/PingTtpsFromDic1ExampleStarter.java similarity index 91% rename from src/test/java/dev/dsf/bpe/start/PingTtpsFromMedic1ExampleStarter.java rename to src/test/java/dev/dsf/bpe/start/PingTtpsFromDic1ExampleStarter.java index 7bc70f0..180b015 100644 --- a/src/test/java/dev/dsf/bpe/start/PingTtpsFromMedic1ExampleStarter.java +++ b/src/test/java/dev/dsf/bpe/start/PingTtpsFromDic1ExampleStarter.java @@ -11,7 +11,7 @@ import dev.dsf.bpe.v1.constants.CodeSystems.BpmnMessage; import dev.dsf.bpe.v1.constants.NamingSystems.OrganizationIdentifier; -public class PingTtpsFromMedic1ExampleStarter +public class PingTtpsFromDic1ExampleStarter { // Environment variable "DSF_CLIENT_CERTIFICATE_PATH" or args[0]: the path to the client-certificate // dsf/dsf-tools/dsf-tools-test-data-generator/cert/Webbrowser_Test_User/Webbrowser_Test_User_certificate.p12 @@ -19,7 +19,7 @@ public class PingTtpsFromMedic1ExampleStarter // password public static void main(String[] args) throws Exception { - ExampleStarter.forServer(args, ConstantsExampleStarters.MEDIC_1_FHIR_BASE_URL).startWith(task()); + ExampleStarter.forServer(args, ConstantsExampleStarters.DIC_1_FHIR_BASE_URL).startWith(task()); } private static Task task() @@ -33,10 +33,10 @@ private static Task task() task.setIntent(Task.TaskIntent.ORDER); task.setAuthoredOn(new Date()); task.getRequester().setType(ResourceType.Organization.name()).setIdentifier(OrganizationIdentifier - .withValue(ConstantsExampleStarters.NAMINGSYSTEM_DSF_ORGANIZATION_IDENTIFIER_VALUE_MEDIC_1)); + .withValue(ConstantsExampleStarters.NAMINGSYSTEM_DSF_ORGANIZATION_IDENTIFIER_VALUE_DIC_1)); task.getRestriction().addRecipient().setType(ResourceType.Organization.name()) .setIdentifier(OrganizationIdentifier - .withValue(ConstantsExampleStarters.NAMINGSYSTEM_DSF_ORGANIZATION_IDENTIFIER_VALUE_MEDIC_1)); + .withValue(ConstantsExampleStarters.NAMINGSYSTEM_DSF_ORGANIZATION_IDENTIFIER_VALUE_DIC_1)); task.addInput().setValue(new StringType(ConstantsPing.PROFILE_DSF_TASK_START_PING_MESSAGE_NAME)).getType() .addCoding(BpmnMessage.messageName()); diff --git a/src/test/java/dev/dsf/bpe/start/StartAutostartPing3MedicFromTtpExampleStarter.java b/src/test/java/dev/dsf/bpe/start/StartAutostartPing3DicFromTtpExampleStarter.java similarity index 97% rename from src/test/java/dev/dsf/bpe/start/StartAutostartPing3MedicFromTtpExampleStarter.java rename to src/test/java/dev/dsf/bpe/start/StartAutostartPing3DicFromTtpExampleStarter.java index 39d5a86..f289607 100644 --- a/src/test/java/dev/dsf/bpe/start/StartAutostartPing3MedicFromTtpExampleStarter.java +++ b/src/test/java/dev/dsf/bpe/start/StartAutostartPing3DicFromTtpExampleStarter.java @@ -11,7 +11,7 @@ import dev.dsf.bpe.v1.constants.CodeSystems.BpmnMessage; import dev.dsf.bpe.v1.constants.NamingSystems.OrganizationIdentifier; -public class StartAutostartPing3MedicFromTtpExampleStarter +public class StartAutostartPing3DicFromTtpExampleStarter { // Environment variable "DSF_CLIENT_CERTIFICATE_PATH" or args[0]: the path to the client-certificate // dsf/dsf-tools/dsf-tools-test-data-generator/cert/Webbrowser_Test_User/Webbrowser_Test_User_certificate.p12 diff --git a/src/test/java/dev/dsf/bpe/start/StopAutostartPing3MedicFromTtpExampleStarter.java b/src/test/java/dev/dsf/bpe/start/StopAutostartPing3DicFromTtpExampleStarter.java similarity index 97% rename from src/test/java/dev/dsf/bpe/start/StopAutostartPing3MedicFromTtpExampleStarter.java rename to src/test/java/dev/dsf/bpe/start/StopAutostartPing3DicFromTtpExampleStarter.java index f476438..94bc4d3 100644 --- a/src/test/java/dev/dsf/bpe/start/StopAutostartPing3MedicFromTtpExampleStarter.java +++ b/src/test/java/dev/dsf/bpe/start/StopAutostartPing3DicFromTtpExampleStarter.java @@ -11,7 +11,7 @@ import dev.dsf.bpe.v1.constants.CodeSystems.BpmnMessage; import dev.dsf.bpe.v1.constants.NamingSystems.OrganizationIdentifier; -public class StopAutostartPing3MedicFromTtpExampleStarter +public class StopAutostartPing3DicFromTtpExampleStarter { // Environment variable "DSF_CLIENT_CERTIFICATE_PATH" or args[0]: the path to the client-certificate // dsf/dsf-tools/dsf-tools-test-data-generator/cert/Webbrowser_Test_User/Webbrowser_Test_User_certificate.p12 diff --git a/src/test/java/dev/dsf/fhir/profiles/ActivityDefinitionProfileTest.java b/src/test/java/dev/dsf/fhir/profiles/ActivityDefinitionProfileTest.java index ceae1e3..2d84ef6 100644 --- a/src/test/java/dev/dsf/fhir/profiles/ActivityDefinitionProfileTest.java +++ b/src/test/java/dev/dsf/fhir/profiles/ActivityDefinitionProfileTest.java @@ -28,18 +28,18 @@ public class ActivityDefinitionProfileTest @ClassRule public static final ValidationSupportRule validationRule = new ValidationSupportRule( PingProcessPluginDefinition.VERSION, PingProcessPluginDefinition.RELEASE_DATE, - Arrays.asList("dsf-activity-definition-0.5.0.xml", "dsf-extension-process-authorization-0.5.0.xml", - "dsf-extension-process-authorization-consortium-role-0.5.0.xml", - "dsf-extension-process-authorization-organization-0.5.0.xml", - "dsf-coding-process-authorization-local-all-0.5.0.xml", - "dsf-coding-process-authorization-local-consortium-role-0.5.0.xml", - "dsf-coding-process-authorization-local-organization-0.5.0.xml", - "dsf-coding-process-authorization-remote-all-0.5.0.xml", - "dsf-coding-process-authorization-remote-consortium-role-0.5.0.xml", - "dsf-coding-process-authorization-remote-organization-0.5.0.xml"), - Arrays.asList("dsf-read-access-tag-0.5.0.xml", "dsf-process-authorization-0.5.0.xml"), - Arrays.asList("dsf-read-access-tag-0.5.0.xml", "dsf-process-authorization-recipient-0.5.0.xml", - "dsf-process-authorization-requester-0.5.0.xml")); + Arrays.asList("dsf-activity-definition-1.0.0.xml", "dsf-extension-process-authorization-1.0.0.xml", + "dsf-extension-process-authorization-consortium-role-1.0.0.xml", + "dsf-extension-process-authorization-organization-1.0.0.xml", + "dsf-coding-process-authorization-local-all-1.0.0.xml", + "dsf-coding-process-authorization-local-consortium-role-1.0.0.xml", + "dsf-coding-process-authorization-local-organization-1.0.0.xml", + "dsf-coding-process-authorization-remote-all-1.0.0.xml", + "dsf-coding-process-authorization-remote-consortium-role-1.0.0.xml", + "dsf-coding-process-authorization-remote-organization-1.0.0.xml"), + Arrays.asList("dsf-read-access-tag-1.0.0.xml", "dsf-process-authorization-1.0.0.xml"), + Arrays.asList("dsf-read-access-tag-1.0.0.xml", "dsf-process-authorization-recipient-1.0.0.xml", + "dsf-process-authorization-requester-1.0.0.xml")); private final ResourceValidator resourceValidator = new ResourceValidatorImpl(validationRule.getFhirContext(), validationRule.getValidationSupport()); diff --git a/src/test/java/dev/dsf/fhir/profiles/TaskProfileTest.java b/src/test/java/dev/dsf/fhir/profiles/TaskProfileTest.java index 7fefe36..75c355a 100644 --- a/src/test/java/dev/dsf/fhir/profiles/TaskProfileTest.java +++ b/src/test/java/dev/dsf/fhir/profiles/TaskProfileTest.java @@ -42,9 +42,9 @@ public class TaskProfileTest Arrays.asList("dsf-task-base-1.0.0.xml", "dsf-extension-ping-status.xml", "dsf-task-ping.xml", "dsf-task-pong.xml", "dsf-task-start-ping.xml", "dsf-task-start-ping-autostart.xml", "dsf-task-stop-ping-autostart.xml"), - Arrays.asList("dsf-read-access-tag-0.5.0.xml", "dsf-bpmn-message-1.0.0.xml", "dsf-ping.xml", + Arrays.asList("dsf-read-access-tag-1.0.0.xml", "dsf-bpmn-message-1.0.0.xml", "dsf-ping.xml", "dsf-ping-status.xml"), - Arrays.asList("dsf-read-access-tag-0.5.0.xml", "dsf-bpmn-message-1.0.0.xml", "dsf-ping.xml", + Arrays.asList("dsf-read-access-tag-1.0.0.xml", "dsf-bpmn-message-1.0.0.xml", "dsf-ping.xml", "dsf-ping-status.xml", "dsf-pong-status.xml")); private ResourceValidator resourceValidator = new ResourceValidatorImpl(validationRule.getFhirContext(), @@ -368,7 +368,7 @@ private Task createValidTaskPing() task.getRequester().setType(ResourceType.Organization.name()) .setIdentifier(OrganizationIdentifier.withValue("TTP")); task.getRestriction().addRecipient().setType(ResourceType.Organization.name()) - .setIdentifier(OrganizationIdentifier.withValue("MeDIC 1")); + .setIdentifier(OrganizationIdentifier.withValue("DIC 1")); task.addInput().setValue(new StringType(ConstantsPing.PROFILE_DSF_TASK_PING_MESSAGE_NAME)).getType() .addCoding(BpmnMessage.messageName()); @@ -406,7 +406,7 @@ private Task createValidTaskPong() task.setIntent(TaskIntent.ORDER); task.setAuthoredOn(new Date()); task.getRequester().setType(ResourceType.Organization.name()) - .setIdentifier(OrganizationIdentifier.withValue("MeDIC 1")); + .setIdentifier(OrganizationIdentifier.withValue("DIC 1")); task.getRestriction().addRecipient().setType(ResourceType.Organization.name()) .setIdentifier(OrganizationIdentifier.withValue("TTP")); From 0a25daee5b52a8f5518e40dad4177447f700795a Mon Sep 17 00:00:00 2001 From: Hauke Hund Date: Mon, 26 Jun 2023 16:51:53 +0200 Subject: [PATCH 2/9] added practitioner configs --- .../ActivityDefinition/dsf-ping-autostart.xml | 26 ++++++++++++++++++- .../fhir/ActivityDefinition/dsf-ping.xml | 12 +++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src/main/resources/fhir/ActivityDefinition/dsf-ping-autostart.xml b/src/main/resources/fhir/ActivityDefinition/dsf-ping-autostart.xml index f553404..1ac37a1 100644 --- a/src/main/resources/fhir/ActivityDefinition/dsf-ping-autostart.xml +++ b/src/main/resources/fhir/ActivityDefinition/dsf-ping-autostart.xml @@ -18,6 +18,18 @@ + + + + + + + + + + + + @@ -38,6 +50,18 @@ + + + + + + + + + + + + @@ -48,7 +72,7 @@ - + <subtitle value="Autostart Communication Testing Process" /> <!-- status managed by bpe --> diff --git a/src/main/resources/fhir/ActivityDefinition/dsf-ping.xml b/src/main/resources/fhir/ActivityDefinition/dsf-ping.xml index 6136fea..367348a 100644 --- a/src/main/resources/fhir/ActivityDefinition/dsf-ping.xml +++ b/src/main/resources/fhir/ActivityDefinition/dsf-ping.xml @@ -18,6 +18,18 @@ <code value="LOCAL_ALL" /> </valueCoding> </extension> + <extension url="requester"> + <valueCoding> + <extension url="http://dsf.dev/fhir/StructureDefinition/extension-process-authorization-practitioner"> + <valueCoding> + <system value="http://dsf.dev/fhir/CodeSystem/practitioner-role" /> + <code value="DSF_ADMIN" /> + </valueCoding> + </extension> + <system value="http://dsf.dev/fhir/CodeSystem/process-authorization" /> + <code value="LOCAL_ALL_PRACTITIONER" /> + </valueCoding> + </extension> <extension url="recipient"> <valueCoding> <system value="http://dsf.dev/fhir/CodeSystem/process-authorization" /> From ea54264faa57939b756ea30431c481c9304c8123 Mon Sep 17 00:00:00 2001 From: Hauke Hund <hauke.hund@hs-heilbronn.de> Date: Mon, 26 Jun 2023 16:53:13 +0200 Subject: [PATCH 3/9] new draf Task resources for pingAutostart process --- .../dsf/bpe/PingProcessPluginDefinition.java | 9 +++-- .../Task/dsf-task-start-ping-autostart.xml | 38 +++++++++++++++++++ .../Task/dsf-task-stop-ping-autostart.xml | 38 +++++++++++++++++++ .../bpe/PingProcessPluginDefinitionTest.java | 2 +- 4 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/fhir/Task/dsf-task-start-ping-autostart.xml create mode 100644 src/main/resources/fhir/Task/dsf-task-stop-ping-autostart.xml diff --git a/src/main/java/dev/dsf/bpe/PingProcessPluginDefinition.java b/src/main/java/dev/dsf/bpe/PingProcessPluginDefinition.java index 6538d43..9761df6 100644 --- a/src/main/java/dev/dsf/bpe/PingProcessPluginDefinition.java +++ b/src/main/java/dev/dsf/bpe/PingProcessPluginDefinition.java @@ -61,16 +61,19 @@ public Map<String, List<String>> getFhirResourcesByProcessId() var sStopPingAutostart = "fhir/StructureDefinition/dsf-task-stop-ping-autostart.xml"; var tStartPing = "fhir/Task/dsf-task-start-ping.xml"; + var tStartPingAutoStart = "fhir/Task/dsf-task-start-ping-autostart.xml"; + var tStopPingAutoStart = "fhir/Task/dsf-task-stop-ping-autostart.xml"; var vPing = "fhir/ValueSet/dsf-ping.xml"; var vPingStatus = "fhir/ValueSet/dsf-ping-status.xml"; var vPongStatus = "fhir/ValueSet/dsf-pong-status.xml"; return Map.of(ConstantsPing.PROCESS_NAME_FULL_PING, - Arrays.asList(aPing, cPing, cPingStatus, sPingStatus, sStartPing, sPong, tStartPing, vPing, - vPingStatus), + Arrays.asList( + aPing, cPing, cPingStatus, sPingStatus, sStartPing, sPong, tStartPing, vPing, vPingStatus), ConstantsPing.PROCESS_NAME_FULL_PING_AUTOSTART, - Arrays.asList(aPingAutostart, cPing, sStartPingAutostart, sStopPingAutostart, vPing), + Arrays.asList(aPingAutostart, cPing, sStartPingAutostart, sStopPingAutostart, tStartPingAutoStart, + tStopPingAutoStart, vPing), ConstantsPing.PROCESS_NAME_FULL_PONG, Arrays.asList(aPong, cPing, cPingStatus, sPingStatus, sPing, vPing, vPongStatus)); } diff --git a/src/main/resources/fhir/Task/dsf-task-start-ping-autostart.xml b/src/main/resources/fhir/Task/dsf-task-start-ping-autostart.xml new file mode 100644 index 0000000..e8ccd4e --- /dev/null +++ b/src/main/resources/fhir/Task/dsf-task-start-ping-autostart.xml @@ -0,0 +1,38 @@ +<Task xmlns="http://hl7.org/fhir"> + <meta> + <profile value="http://dsf.dev/fhir/StructureDefinition/task-start-ping-autostart|#{version}"/> + </meta> + <identifier> + <system value="http://dsf.dev/sid/task-identifier"/> + <value value="http://dsf.dev/bpe/Process/pingAutostart/#{version}/task-start-ping-autostart"/> + </identifier> + <instantiatesCanonical value="http://dsf.dev/bpe/Process/pingAutostart|#{version}"/> + <status value="draft"/> + <intent value="order"/> + <authoredOn value="#{date}"/> + <requester> + <type value="Organization"/> + <identifier> + <system value="http://dsf.dev/sid/organization-identifier"/> + <value value="#{organization}"/> + </identifier> + </requester> + <restriction> + <recipient> + <type value="Organization"/> + <identifier> + <system value="http://dsf.dev/sid/organization-identifier"/> + <value value="#{organization}"/> + </identifier> + </recipient> + </restriction> + <input> + <type> + <coding> + <system value="http://dsf.dev/fhir/CodeSystem/bpmn-message"/> + <code value="message-name"/> + </coding> + </type> + <valueString value="startPingAutostart"/> + </input> +</Task> diff --git a/src/main/resources/fhir/Task/dsf-task-stop-ping-autostart.xml b/src/main/resources/fhir/Task/dsf-task-stop-ping-autostart.xml new file mode 100644 index 0000000..a0c2f83 --- /dev/null +++ b/src/main/resources/fhir/Task/dsf-task-stop-ping-autostart.xml @@ -0,0 +1,38 @@ +<Task xmlns="http://hl7.org/fhir"> + <meta> + <profile value="http://dsf.dev/fhir/StructureDefinition/task-stop-ping-autostart|#{version}"/> + </meta> + <identifier> + <system value="http://dsf.dev/sid/task-identifier"/> + <value value="http://dsf.dev/bpe/Process/pingAutostart/#{version}/task-stop-ping-autostart"/> + </identifier> + <instantiatesCanonical value="http://dsf.dev/bpe/Process/pingAutostart|#{version}"/> + <status value="draft"/> + <intent value="order"/> + <authoredOn value="#{date}"/> + <requester> + <type value="Organization"/> + <identifier> + <system value="http://dsf.dev/sid/organization-identifier"/> + <value value="#{organization}"/> + </identifier> + </requester> + <restriction> + <recipient> + <type value="Organization"/> + <identifier> + <system value="http://dsf.dev/sid/organization-identifier"/> + <value value="#{organization}"/> + </identifier> + </recipient> + </restriction> + <input> + <type> + <coding> + <system value="http://dsf.dev/fhir/CodeSystem/bpmn-message"/> + <code value="message-name"/> + </coding> + </type> + <valueString value="stopPingAutostart"/> + </input> +</Task> diff --git a/src/test/java/dev/dsf/bpe/PingProcessPluginDefinitionTest.java b/src/test/java/dev/dsf/bpe/PingProcessPluginDefinitionTest.java index d27e5de..978fd13 100644 --- a/src/test/java/dev/dsf/bpe/PingProcessPluginDefinitionTest.java +++ b/src/test/java/dev/dsf/bpe/PingProcessPluginDefinitionTest.java @@ -24,7 +24,7 @@ public void testResourceLoading() throws Exception var pingAutostart = resourcesByProcessId.get(ConstantsPing.PROCESS_NAME_FULL_PING_AUTOSTART); assertNotNull(pingAutostart); - assertEquals(5, pingAutostart.stream().filter(this::exists).count()); + assertEquals(7, pingAutostart.stream().filter(this::exists).count()); var pong = resourcesByProcessId.get(ConstantsPing.PROCESS_NAME_FULL_PONG); assertNotNull(pong); From ee0cdd8664a2accb028cb8e4810a6ba6da5b5a07 Mon Sep 17 00:00:00 2001 From: Hauke Hund <hauke.hund@hs-heilbronn.de> Date: Mon, 26 Jun 2023 16:53:43 +0200 Subject: [PATCH 4/9] modifications to reflect changes in dsf --- .../ActivityDefinitionProfileTest.java | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/test/java/dev/dsf/fhir/profiles/ActivityDefinitionProfileTest.java b/src/test/java/dev/dsf/fhir/profiles/ActivityDefinitionProfileTest.java index 2d84ef6..23e82bb 100644 --- a/src/test/java/dev/dsf/fhir/profiles/ActivityDefinitionProfileTest.java +++ b/src/test/java/dev/dsf/fhir/profiles/ActivityDefinitionProfileTest.java @@ -29,17 +29,25 @@ public class ActivityDefinitionProfileTest public static final ValidationSupportRule validationRule = new ValidationSupportRule( PingProcessPluginDefinition.VERSION, PingProcessPluginDefinition.RELEASE_DATE, Arrays.asList("dsf-activity-definition-1.0.0.xml", "dsf-extension-process-authorization-1.0.0.xml", - "dsf-extension-process-authorization-consortium-role-1.0.0.xml", "dsf-extension-process-authorization-organization-1.0.0.xml", + "dsf-extension-process-authorization-organization-practitioner-1.0.0.xml", + "dsf-extension-process-authorization-parent-organization-role-1.0.0.xml", + "dsf-extension-process-authorization-parent-organization-role-practitioner-1.0.0.xml", + "dsf-extension-process-authorization-practitioner-1.0.0.xml", "dsf-coding-process-authorization-local-all-1.0.0.xml", - "dsf-coding-process-authorization-local-consortium-role-1.0.0.xml", + "dsf-coding-process-authorization-local-all-practitioner-1.0.0.xml", "dsf-coding-process-authorization-local-organization-1.0.0.xml", + "dsf-coding-process-authorization-local-organization-practitioner-1.0.0.xml", + "dsf-coding-process-authorization-local-parent-organization-role-1.0.0.xml", + "dsf-coding-process-authorization-local-parent-organization-role-practitioner-1.0.0.xml", "dsf-coding-process-authorization-remote-all-1.0.0.xml", - "dsf-coding-process-authorization-remote-consortium-role-1.0.0.xml", + "dsf-coding-process-authorization-remote-parent-organization-role-1.0.0.xml", "dsf-coding-process-authorization-remote-organization-1.0.0.xml"), - Arrays.asList("dsf-read-access-tag-1.0.0.xml", "dsf-process-authorization-1.0.0.xml"), - Arrays.asList("dsf-read-access-tag-1.0.0.xml", "dsf-process-authorization-recipient-1.0.0.xml", - "dsf-process-authorization-requester-1.0.0.xml")); + Arrays.asList("dsf-organization-role-1.0.0.xml", "dsf-practitioner-role-1.0.0.xml", + "dsf-process-authorization-1.0.0.xml", "dsf-read-access-tag-1.0.0.xml"), + Arrays.asList("dsf-organization-role-1.0.0.xml", "dsf-practitioner-role-1.0.0.xml", + "dsf-process-authorization-recipient-1.0.0.xml", "dsf-process-authorization-requester-1.0.0.xml", + "dsf-read-access-tag-1.0.0.xml")); private final ResourceValidator resourceValidator = new ResourceValidatorImpl(validationRule.getFhirContext(), validationRule.getValidationSupport()); @@ -58,7 +66,8 @@ public void testAutostartValid() throws Exception assertEquals(0, result.getMessages().stream().filter(m -> ResultSeverityEnum.ERROR.equals(m.getSeverity()) || ResultSeverityEnum.FATAL.equals(m.getSeverity())).count()); - assertTrue(processAuthorizationHelper.isValid(ad, taskProfile -> true, orgIdentifier -> true, role -> true)); + assertTrue(processAuthorizationHelper.isValid(ad, taskProfile -> true, practitionerRole -> true, + orgIdentifier -> true, organizationRole -> true)); } @Test @@ -73,7 +82,8 @@ public void testPingValid() throws Exception assertEquals(0, result.getMessages().stream().filter(m -> ResultSeverityEnum.ERROR.equals(m.getSeverity()) || ResultSeverityEnum.FATAL.equals(m.getSeverity())).count()); - assertTrue(processAuthorizationHelper.isValid(ad, taskProfile -> true, orgIdentifier -> true, role -> true)); + assertTrue(processAuthorizationHelper.isValid(ad, taskProfile -> true, practitionerRole -> true, + orgIdentifier -> true, organizationRole -> true)); } @Test @@ -88,6 +98,7 @@ public void testPongValid() throws Exception assertEquals(0, result.getMessages().stream().filter(m -> ResultSeverityEnum.ERROR.equals(m.getSeverity()) || ResultSeverityEnum.FATAL.equals(m.getSeverity())).count()); - assertTrue(processAuthorizationHelper.isValid(ad, taskProfile -> true, orgIdentifier -> true, role -> true)); + assertTrue(processAuthorizationHelper.isValid(ad, taskProfile -> true, practitionerRole -> true, + orgIdentifier -> true, organizationRole -> true)); } } From 465e3263c988b3d07992cb798d96c6b87f43bfff Mon Sep 17 00:00:00 2001 From: Hauke Hund <hauke.hund@hs-heilbronn.de> Date: Mon, 26 Jun 2023 22:04:44 +0200 Subject: [PATCH 5/9] always filtering local endpoint, improved all endpoints query All endpoint query now only selects endpoint with DSF endpoint identifier (system: http://dsf.dev/sid/endpoint-identifier). --- .../java/dev/dsf/bpe/service/SelectPingTargets.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/dev/dsf/bpe/service/SelectPingTargets.java b/src/main/java/dev/dsf/bpe/service/SelectPingTargets.java index 3eaa0ab..ff52d00 100644 --- a/src/main/java/dev/dsf/bpe/service/SelectPingTargets.java +++ b/src/main/java/dev/dsf/bpe/service/SelectPingTargets.java @@ -52,7 +52,7 @@ public SelectPingTargets(ProcessPluginApi api) protected void doExecute(DelegateExecution execution, Variables variables) throws BpmnError, Exception { Stream<Endpoint> targetEndpoints = getTargetEndpointsSearchParameter(variables).map(this::searchForEndpoints) - .orElse(allEndpointsNotLocal()); + .orElse(allEndpoints()).filter(isLocalEndpoint().negate()); List<Organization> remoteOrganizations = api.getOrganizationProvider().getRemoteOrganizations(); Map<String, Identifier> organizationIdentifierByOrganizationId = remoteOrganizations.stream().collect( @@ -132,9 +132,9 @@ private Optional<Class<? extends Resource>> getResourceType(UriComponents search } } - private Stream<Endpoint> allEndpointsNotLocal() + private Stream<Endpoint> allEndpoints() { - return allEndpoints(1, 0).filter(isLocalEndpoint().negate()); + return allEndpoints(1, 0); } private Predicate<? super Endpoint> isLocalEndpoint() @@ -144,8 +144,10 @@ private Predicate<? super Endpoint> isLocalEndpoint() private Stream<Endpoint> allEndpoints(int page, int currentTotal) { - Bundle searchResult = api.getFhirWebserviceClientProvider().getLocalWebserviceClient() - .searchWithStrictHandling(Endpoint.class, Map.of("status", Collections.singletonList("active"), "_page", + Bundle searchResult = api.getFhirWebserviceClientProvider().getLocalWebserviceClient().searchWithStrictHandling( + Endpoint.class, + Map.of("status", Collections.singletonList("active"), "identifier", + Collections.singletonList("http://dsf.dev/sid/endpoint-identifier|"), "_page", Collections.singletonList(String.valueOf(page)))); if (searchResult.getTotal() > currentTotal + searchResult.getEntry().size()) From de88e5fe5dfd7cfad4773bb795de331d5c7b9045 Mon Sep 17 00:00:00 2001 From: Hauke Hund <hauke.hund@hs-heilbronn.de> Date: Mon, 26 Jun 2023 22:07:40 +0200 Subject: [PATCH 6/9] added standard input parameters --- .../Task/dsf-task-start-ping-autostart.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/main/resources/fhir/Task/dsf-task-start-ping-autostart.xml b/src/main/resources/fhir/Task/dsf-task-start-ping-autostart.xml index e8ccd4e..60d7e8f 100644 --- a/src/main/resources/fhir/Task/dsf-task-start-ping-autostart.xml +++ b/src/main/resources/fhir/Task/dsf-task-start-ping-autostart.xml @@ -35,4 +35,22 @@ </type> <valueString value="startPingAutostart"/> </input> + <input> + <type> + <coding> + <system value="http://dsf.dev/fhir/CodeSystem/ping"></system> + <code value="target-endpoints"></code> + </coding> + </type> + <valueString value="Endpoint?status=active&identifier=http://dsf.dev/sid/endpoint-identifier|"></valueString> + </input> + <input> + <type> + <coding> + <system value="http://dsf.dev/fhir/CodeSystem/ping"></system> + <code value="timer-interval"></code> + </coding> + </type> + <valueString value="PT24H"></valueString> + </input> </Task> From 8e99bc612f0c0938c0936bf0b25c0907524e1098 Mon Sep 17 00:00:00 2001 From: Reto Wettstein <Reto.Wettstein@med.uni-heidelberg.de> Date: Thu, 29 Jun 2023 09:25:21 +0200 Subject: [PATCH 7/9] update dependencies --- pom.xml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 378b2ab..8fa8b17 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ <compileSource>17</compileSource> <compileTarget>17</compileTarget> - <dsf.version>1.0.0-SNAPSHOT</dsf.version> + <dsf.version>1.0.0</dsf.version> <dsf.location>../dsf</dsf.location> </properties> @@ -45,7 +45,7 @@ <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> - <version>6.0.8</version> + <version>6.0.10</version> <scope>provided</scope> </dependency> @@ -92,7 +92,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> - <version>3.0.0</version> + <version>3.1.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -114,21 +114,22 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> - <version>3.4.1</version> + <version>3.5.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> - <version>3.5.0</version> + <version>3.6.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> - <version>3.2.0</version> + <version>3.3.1</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> + <!-- 3.1.0 not working, no git commit hash as buildnumber --> <version>1.4</version> <executions> <execution> @@ -146,7 +147,7 @@ <plugin> <groupId>net.revelc.code.formatter</groupId> <artifactId>formatter-maven-plugin</artifactId> - <version>2.22.0</version> + <version>2.23.0</version> <configuration> <configFile>eclipse-formatter-config.xml</configFile> </configuration> @@ -154,7 +155,7 @@ <plugin> <groupId>net.revelc.code</groupId> <artifactId>impsort-maven-plugin</artifactId> - <version>1.8.0</version> + <version>1.9.0</version> <configuration> <compliance>17</compliance> <groups>java.,javax.,org.,com.</groups> From d46203150f6eb786c7167b78a36e96291663b0c8 Mon Sep 17 00:00:00 2001 From: Hauke Hund <hauke.hund@hs-heilbronn.de> Date: Mon, 21 Aug 2023 02:08:26 +0200 Subject: [PATCH 8/9] added optional target-endpoints input parameter --- src/main/resources/fhir/Task/dsf-task-start-ping.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/resources/fhir/Task/dsf-task-start-ping.xml b/src/main/resources/fhir/Task/dsf-task-start-ping.xml index 4e7ff94..d8ef908 100644 --- a/src/main/resources/fhir/Task/dsf-task-start-ping.xml +++ b/src/main/resources/fhir/Task/dsf-task-start-ping.xml @@ -35,4 +35,13 @@ </type> <valueString value="startPing"/> </input> + <input> + <type> + <coding> + <system value="http://dsf.dev/fhir/CodeSystem/ping"></system> + <code value="target-endpoints"></code> + </coding> + </type> + <valueString value="Endpoint?status=active&identifier=http://dsf.dev/sid/endpoint-identifier|"></valueString> + </input> </Task> From d276c5babf0c328461f5db541d3c9fa17a7d6976 Mon Sep 17 00:00:00 2001 From: Hauke Hund <hauke.hund@hs-heilbronn.de> Date: Tue, 22 Aug 2023 14:17:22 +0200 Subject: [PATCH 9/9] 1.0.0.0 release --- pom.xml | 4 ++-- src/main/java/dev/dsf/bpe/PingProcessPluginDefinition.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 8fa8b17..b102735 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ <groupId>dev.dsf</groupId> <artifactId>dsf-process-ping-pong</artifactId> - <version>1.0.0.0-SNAPSHOT</version> + <version>1.0.0.0</version> <packaging>jar</packaging> <properties> @@ -13,7 +13,7 @@ <compileSource>17</compileSource> <compileTarget>17</compileTarget> - <dsf.version>1.0.0</dsf.version> + <dsf.version>1.1.0</dsf.version> <dsf.location>../dsf</dsf.location> </properties> diff --git a/src/main/java/dev/dsf/bpe/PingProcessPluginDefinition.java b/src/main/java/dev/dsf/bpe/PingProcessPluginDefinition.java index 9761df6..388e79c 100644 --- a/src/main/java/dev/dsf/bpe/PingProcessPluginDefinition.java +++ b/src/main/java/dev/dsf/bpe/PingProcessPluginDefinition.java @@ -11,7 +11,7 @@ public class PingProcessPluginDefinition implements ProcessPluginDefinition { public static final String VERSION = "1.0.0.0"; - public static final LocalDate RELEASE_DATE = LocalDate.of(2023, 5, 20); + public static final LocalDate RELEASE_DATE = LocalDate.of(2023, 8, 22); @Override public String getName()