You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/oldstable/tutorial/exercise1-simpleProcess.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ Java code for the `tutorial-process` project is located at `src/main/java`, FHIR
22
22
23
23
The most imported Java class used to specify the process plugin for the DSF BPE server is a class that implements the `org.highmed.dsf.bpe.ProcessPluginDefinition` interface from the DSF [dsf-bpe-process-base](https://github.com/highmed/highmed-dsf/packages/503054) module. The DSF BPE server searches for classes implementing this interface using the Java [ServiceLoader](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/ServiceLoader.html) mechanism. For this tutorial the `TutorialProcessPluginDefinition` class implements this interface. It is appropriately specified in the `src/main/resources/META-INF/services/org.highmed.dsf.bpe`.ProcessPluginDefinition file. The `TutorialProcessPluginDefinition` class is used to specify name and version of the process plugin, what BPMN processes are to be deployed and what FHIR resources and required by the BPMN processes. For the implementation of service task and message events of the processes a special Spring context is used for every process plugin. The `TutorialProcessPluginDefinition` class specifies what via [Spring-Framework configuration class](https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-java-basic-concepts) with Spring Beans are used for the process plugin specific Spring Context. For this plugin the `TutorialConfig` cass is used to define Spring Beans.
24
24
25
-
The business process engine used by the DSF BPE server is based on the OpenSource Camunda Process Engine 7. In order to specify what Java code should be executed for a BPMN [ServiceTask](https://docs.camunda.org/manual/7.21/reference/bpmn20/tasks/service-task/) you need to specify the fully-qualified Java class name in the ServiceTask inside the BPMN model. To be executable the Java class needs to extend the `org.highmed.dsf.bpe.delegate.AbstractServiceDelegate` from the DSF [dsf-bpe-process-base](https://github.com/highmed/highmed-dsf/packages/503054) module and the class needs to be defined as as Spring Bean.
25
+
The business process engine used by the DSF BPE server is based on the OpenSource Camunda Process Engine 7. In order to specify what Java code should be executed for a BPMN [ServiceTask](https://docs.camunda.org/manual/7.18/reference/bpmn20/tasks/service-task/) you need to specify the fully-qualified Java class name in the ServiceTask inside the BPMN model. To be executable the Java class needs to extend the `org.highmed.dsf.bpe.delegate.AbstractServiceDelegate` from the DSF [dsf-bpe-process-base](https://github.com/highmed/highmed-dsf/packages/503054) module and the class needs to be defined as as Spring Bean.
Every time message flow is used in a BPMN process for the DSF, a corresponding FHIR [Task](http://hl7.org/fhir/R4/task.html) profile needs to be specified for every interaction. This profile specifies which process should be started or continued and what the message name is when correlating the appropriate [Message Start Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-start-event) or [Intermediate Message Catch Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-intermediate-catching-event). A *Business Key* and a *Correlation Key* are specified if different process instances need to be linked to a single execution, for example to be able to send a message back.
22
+
Every time message flow is used in a BPMN process for the DSF, a corresponding FHIR [Task](http://hl7.org/fhir/R4/task.html) profile needs to be specified for every interaction. This profile specifies which process should be started or continued and what the message name is when correlating the appropriate [Message Start Event](https://docs.camunda.org/manual/7.18/reference/bpmn20/events/message-events/#message-start-event) or [Intermediate Message Catch Event](https://docs.camunda.org/manual/7.18/reference/bpmn20/events/message-events/#message-intermediate-catching-event). A *Business Key* and a *Correlation Key* are specified if different process instances need to be linked to a single execution, for example to be able to send a message back.
23
23
24
24
#### BPMN Process Definition Key vs. FHIR Task.instantiatesUri and ActivityDefinition.url / version
25
25
@@ -48,7 +48,7 @@ The authorization extension needs to be configured at least once and has four su
48
48
49
49
##### message-name [1..1]
50
50
51
-
String value specifying the message name of [Message Start Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-start-event), [Intermediate Message Catch Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-intermediate-catching-event) or [Message Receive Task](https://docs.camunda.org/manual/7.21/reference/bpmn20/tasks/receive-task/) this authorization rule should match. Can only be specified once per authorization rule extension.
51
+
String value specifying the message name of [Message Start Event](https://docs.camunda.org/manual/7.18/reference/bpmn20/events/message-events/#message-start-event), [Intermediate Message Catch Event](https://docs.camunda.org/manual/7.18/reference/bpmn20/events/message-events/#message-intermediate-catching-event) or [Message Receive Task](https://docs.camunda.org/manual/7.18/reference/bpmn20/tasks/receive-task/) this authorization rule should match. Can only be specified once per authorization rule extension.
52
52
53
53
##### task-profile [1..1]
54
54
@@ -122,9 +122,9 @@ The following example specifies that process execution can only be requested by
122
122
123
123
### Exercise Tasks
124
124
---
125
-
1. Modify the ``highmedorg_helloDic`` process in the ``hello-dic.bpmn`` file and replace the [End Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/none-events/#none-end-event) with a [Message End Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-end-event). Configure input parameters ``instantiatesUri``, ``profile`` and ``messageName`` in the BPMN model for the [Message End Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-end-event). Set the message name of the [Message End Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-end-event) and configure it to be executed using the HelloCosMessage class.
125
+
1. Modify the ``highmedorg_helloDic`` process in the ``hello-dic.bpmn`` file and replace the [End Event](https://docs.camunda.org/manual/7.18/reference/bpmn20/events/none-events/#none-end-event) with a [Message End Event](https://docs.camunda.org/manual/7.18/reference/bpmn20/events/message-events/#message-end-event). Configure input parameters ``instantiatesUri``, ``profile`` and ``messageName`` in the BPMN model for the [Message End Event](https://docs.camunda.org/manual/7.18/reference/bpmn20/events/message-events/#message-end-event). Set the message name of the [Message End Event](https://docs.camunda.org/manual/7.18/reference/bpmn20/events/message-events/#message-end-event) and configure it to be executed using the HelloCosMessage class.
126
126
Use http://highmed.org/fhir/StructureDefinition/task-hello-cos|#{version} as the profile and ``helloCos`` as the message name. Figure out what the appropriate ``instantiatesUri`` value is, based on the name (process definition key) of the process to be triggered.
127
-
2. Modify the ``highmedorg_helloCos`` process in the ``hello-cos.bpmn`` file and configure the message name of the [Message Start Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-start-event) with the same value as the message name of the [Message End Event](https://docs.camunda.org/manual/7.21/reference/bpmn20/events/message-events/#message-end-event) in the ``highmedorg_helloDic`` process.
127
+
2. Modify the ``highmedorg_helloCos`` process in the ``hello-cos.bpmn`` file and configure the message name of the [Message Start Event](https://docs.camunda.org/manual/7.18/reference/bpmn20/events/message-events/#message-start-event) with the same value as the message name of the [Message End Event](https://docs.camunda.org/manual/7.18/reference/bpmn20/events/message-events/#message-end-event) in the ``highmedorg_helloDic`` process.
128
128
3. Create a new [StructureDefinition](http://hl7.org/fhir/R4/structuredefinition.html) with a [Task](http://hl7.org/fhir/R4/task.html) profile for the ``helloCos`` message.
129
129
4. Create a new [ActivityDefinition](http://hl7.org/fhir/R4/activitydefinition.html) resource for the ``highmedorg_helloCos`` process and configure the authorization extension to allow the ``Test_DIC`` organization as the requester and the ``Test_COS`` organization as the recipient.
130
130
5. Add the ``highmedorg_helloCos`` process and its resources to the ``TutorialProcessPluginDefinition`` class.
Copy file name to clipboardExpand all lines: docs/src/oldstable/tutorial/exercise4-exclusiveGateways.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,11 +11,11 @@ Different execution paths in a process based on the state of process variables c
11
11
---
12
12
#### Exclusive Gateways
13
13
14
-
Different sequence flows during the execution of a process instance can be modeled using BPMN [Exclusive Gateways](https://docs.camunda.org/manual/7.4/reference/bpmn20/gateways/exclusive-gateway/). For each outgoing sequence flow of the gateway, a BPMN [Condition Expression](https://docs.camunda.org/manual/7.21/user-guide/process-engine/expression-language/#conditions) can be added to the process model, deciding whether a sequence flow should be followed. Thereby, all condition decisions must be in an XOR relationship to each other.
14
+
Different sequence flows during the execution of a process instance can be modeled using BPMN [Exclusive Gateways](https://docs.camunda.org/manual/7.18/reference/bpmn20/gateways/exclusive-gateway/). For each outgoing sequence flow of the gateway, a BPMN [Condition Expression](https://docs.camunda.org/manual/7.18/user-guide/process-engine/expression-language/#conditions) can be added to the process model, deciding whether a sequence flow should be followed. Thereby, all condition decisions must be in an XOR relationship to each other.
15
15
16
16
#### Condition Expressions
17
17
18
-
A BPMN [Condition Expression](https://docs.camunda.org/manual/7.21/user-guide/process-engine/expression-language/#conditions) uses the ``${..}`` notation. Within the curly braces all execution variables of a process instance can be accessed, e.g. the ones that were stored in a previous Java implementation of a BPMN [ServiceTask](https://docs.camunda.org/manual/7.21/reference/bpmn20/tasks/service-task/). For example, the BPMN [Condition Expression](https://docs.camunda.org/manual/7.21/user-guide/process-engine/expression-language/#conditions)``${cohortSize > 100}`` checks whether the value in the execution variable *cohortSize* is greater than 100.
18
+
A BPMN [Condition Expression](https://docs.camunda.org/manual/7.18/user-guide/process-engine/expression-language/#conditions) uses the ``${..}`` notation. Within the curly braces all execution variables of a process instance can be accessed, e.g. the ones that were stored in a previous Java implementation of a BPMN [ServiceTask](https://docs.camunda.org/manual/7.18/reference/bpmn20/tasks/service-task/). For example, the BPMN [Condition Expression](https://docs.camunda.org/manual/7.18/user-guide/process-engine/expression-language/#conditions)``${cohortSize > 100}`` checks whether the value in the execution variable *cohortSize* is greater than 100.
19
19
20
20
#### Storing / Modifying Process Variables
21
21
@@ -26,7 +26,7 @@ Via the ``DelegateExecution execution`` parameter of the ``doExecute`` method of
0 commit comments