This element describes the branching in a workflow from a source (start) structural element to 2 or more target structural elements, over a Transition element.

The conditions for following 1 branch or several of them are defined by the TargetTransition and DefaultTransition elements.

Element NameBranching
Parent ElementsWorkflowDef
Element XPath(s)

/ODM/Study/MetaDataVersion/Protocol/WorkflowDef/Branching 

Element Textual ValueNone
AttributesOID, Name,Type
Child Elements

(TargetTransition+, DefaultTransition?)

Usage/Business Rules
  • Business Rule(s):
    • If more than one TargetTransition element is provided, the conditionality tests must be executed in the order the elements are provided.
    • The DefaultTransition will be followed when none of the TargetTransitions can be executed due to not fulfilling their associated conditions.

AttributeSchema Datatype or EnumerationUsageDefinitionsBusiness Rule(s)
OIDoidRequiredUnique identifer for the Branching element.
  • The Branching/@OID attribute must be unique within the Study/MetaDataVersion.
NamenameRequiredHuman readable name for the Branching element.
  • The Branching/@Name attribute must be unique within the set of Study/MetaDataVersion/WorkflowDefs
Type(Exclusive | Parallel)Required

Specifies the type of Branching. 

The Type attribute defines whether only one branch of the branching ("Exclusive") can be followed, or that all branches of the branching can be followed in parallel ("Parallel"). In the case of "Exclusive", the conditions must be tested in the order that the TargetTransition elements are provided.

  • The TargetTransition element must provide a reference to a ConditionDef when the value of Type is  "Exclusive".

Example: Using an XSLT stylesheet on a BPMN-2 XML file

Physio_Underwater_Therapy_BPMN_to_ODMv2_Workflow_result.xml. This example was generated automatically from a BPMN-2 XML file using an XSLT stylesheet.


The example demonstrates the case that a subject can, after visit 1, take physiotherapy, underwater therapy, or both in parallel. This is then followed by visit 2, which is an evaluation visit.

Example: Branching

	<odm:WorkflowDef OID="WF.Process_1" Name="Process_1">
		<odm:WorkflowStart StartOID="StartEvent_1"/>
		<odm:Transition OID="TR.SequenceFlow_0zyw78x" Name="Transition from Start of Therapy to Visit 1" SourceOID="StartEvent_1" TargetOID="SE_0imo8x1"/>
		<odm:Transition OID="TR.SequenceFlow_00de882" Name="Transition from Visit 1 to Arm Branching" SourceOID="SE_0imo8x1" TargetOID="ExclusiveGateway_19rvqwk"/>
		<odm:Transition OID="TR.SequenceFlow_1sm9dlo" Name="Physio+underwater therapy arm" SourceOID="ExclusiveGateway_19rvqwk" TargetOID="ParallelGateway_12qduy7"/>
		<odm:Transition OID="TR.SequenceFlow_1hk2z8h" Name="Physiotherapy Arm" SourceOID="ExclusiveGateway_19rvqwk" TargetOID="SE_0m6x4je"/>
		<odm:Transition OID="TR.SequenceFlow_0z0iuws" Name="Underwater therapy arm" SourceOID="ExclusiveGateway_19rvqwk" TargetOID="SE_0stubbd"/>
		<odm:Transition OID="TR.SequenceFlow_0ao0p7m" Name="Transition from Physio+underwater therapy in parallel to Physiotherapy" SourceOID="ParallelGateway_12qduy7" TargetOID="SE_0m6x4je"/>
		<odm:Transition OID="TR.SequenceFlow_0dnupty" Name="Transition from Physio+underwater therapy in parallel to Underwater therapy" SourceOID="ParallelGateway_12qduy7" TargetOID="SE_0stubbd"/>
		<odm:Transition OID="TR.SequenceFlow_0mxsfta" Name="Transition from Physiotherapy to Visit 2: Evaluation" SourceOID="SE_0m6x4je" TargetOID="SE_0ltgyb8"/>
		<odm:Transition OID="TR.SequenceFlow_0ecqyq5" Name="Transition from Underwater therapy to Visit 2: Evaluation" SourceOID="SE_0stubbd" TargetOID="SE_0ltgyb8"/>
		<odm:Transition OID="TR.SequenceFlow_0yx6wvs" Name="Transition from Visit 2: Evaluation to End of Therapy" SourceOID="SE_0ltgyb8" TargetOID="EndEvent_1iomuxu"/>
		<!--Branching definition-->
		<odm:Branching OID="ExclusiveGateway_19rvqwk" Name="Arm Branching" Type="Exclusive">
			<odm:TargetTransition TargetTransitionOID="TR.SequenceFlow_1sm9dlo" ConditionOID="COND.SequenceFlow_1sm9dlo"/>
			<odm:TargetTransition TargetTransitionOID="TR.SequenceFlow_1hk2z8h" ConditionOID="COND.SequenceFlow_1hk2z8h"/>
			<odm:TargetTransition TargetTransitionOID="TR.SequenceFlow_0z0iuws" ConditionOID="COND.SequenceFlow_0z0iuws"/>
		</odm:Branching>
		<odm:Branching OID="ParallelGateway_12qduy7" Name="Physio+underwater therapy in parallel" Type="Parallel">
			<!--Remark that there is no Condition reference for parallel execution-->
			<odm:TargetTransition TargetTransitionOID="TR.SequenceFlow_0ao0p7m"/>
			<!--Remark that there is no Condition reference for parallel execution-->
			<odm:TargetTransition TargetTransitionOID="TR.SequenceFlow_0dnupty"/>
		</odm:Branching>
		<odm:WorkflowEnd EndOID="EndEvent_1iomuxu"/>
	</odm:WorkflowDef>

  • No labels