diff --git a/pom.xml b/pom.xml index 5dcb44d..8fa8b17 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ 17 17 - 1.0.0-M1 + 1.0.0 ../dsf @@ -45,7 +45,7 @@ org.springframework spring-web - 6.0.8 + 6.0.10 provided @@ -92,7 +92,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0 + 3.1.2 org.apache.maven.plugins @@ -114,21 +114,22 @@ org.apache.maven.plugins maven-shade-plugin - 3.4.1 + 3.5.0 org.apache.maven.plugins maven-dependency-plugin - 3.5.0 + 3.6.0 org.apache.maven.plugins maven-clean-plugin - 3.2.0 + 3.3.1 org.codehaus.mojo buildnumber-maven-plugin + 1.4 @@ -146,7 +147,7 @@ net.revelc.code.formatter formatter-maven-plugin - 2.22.0 + 2.23.0 eclipse-formatter-config.xml @@ -154,7 +155,7 @@ net.revelc.code impsort-maven-plugin - 1.8.0 + 1.9.0 17 java.,javax.,org.,com. @@ -294,7 +295,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 +308,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 +325,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 +342,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 +359,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 +377,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/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> 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/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 targetEndpoints = getTargetEndpointsSearchParameter(variables).map(this::searchForEndpoints) - .orElse(allEndpointsNotLocal()); + .orElse(allEndpoints()).filter(isLocalEndpoint().negate()); List remoteOrganizations = api.getOrganizationProvider().getRemoteOrganizations(); Map organizationIdentifierByOrganizationId = remoteOrganizations.stream().collect( @@ -132,9 +132,9 @@ private Optional> getResourceType(UriComponents search } } - private Stream allEndpointsNotLocal() + private Stream allEndpoints() { - return allEndpoints(1, 0).filter(isLocalEndpoint().negate()); + return allEndpoints(1, 0); } private Predicate isLocalEndpoint() @@ -144,8 +144,10 @@ private Predicate isLocalEndpoint() private Stream 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()) 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" /> 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..60d7e8f --- /dev/null +++ b/src/main/resources/fhir/Task/dsf-task-start-ping-autostart.xml @@ -0,0 +1,56 @@ +<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> + <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> 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/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 @@ <compose> <include> <system value="http://dsf.dev/fhir/CodeSystem/ping-status" /> + <version value="#{version}" /> <concept> <code value="not-allowed" /> <display value="Not allowed" /> 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 @@ <compose> <include> <system value="http://dsf.dev/fhir/CodeSystem/ping" /> + <version value="#{version}" /> </include> </compose> </ValueSet> \ 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 @@ <compose> <include> <system value="http://dsf.dev/fhir/CodeSystem/ping-status" /> + <version value="#{version}" /> <concept> <code value="not-allowed" /> <display value="Not allowed" /> 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); 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..23e82bb 100644 --- a/src/test/java/dev/dsf/fhir/profiles/ActivityDefinitionProfileTest.java +++ b/src/test/java/dev/dsf/fhir/profiles/ActivityDefinitionProfileTest.java @@ -28,18 +28,26 @@ 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-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-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-parent-organization-role-1.0.0.xml", + "dsf-coding-process-authorization-remote-organization-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)); } } 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"));