Skip to main content

Modeling Workflow Chains

Goals

  • Understand what Workflow Chains are and when they are used.

  • Understand design considerations and best practices for modeling Workflow Chains.

  • Know how to create new Workflow Chains using:

    • Workflow Library

    • Node Editors

    • Swim Lanes

  • Understand what Transition Strategies are and how to use them.

  • Understand what Transition Rules are and how to use them.

  • Understand the difference between virtual and non-virtual transitions.

Key Terms

Table 21. 

Term

Definition

Workflow Chain

Ordered collection of Workflows, representing an end-to-end business process.

Workflow Library

List of all Workflows registered in the system.

Node

Visual representation of a Workflow in a Workflow Chain.

Swim Lane

Provide a way to visually organize nodes into discrete categories.

Transition Strategy

Dictates which Entities will transition to the next Workflow in a Workflow Chain.

Transition Rule

Determines when Entities will transition to the next Workflow in a Workflow Chain.



What are Workflow Chains?

Workflow Chains are an ordered collection of Workflows, representing an end-to-end business process. They are flexible and powerful tools that allow an organization to track the resources (Entities, Containers, Items, Files, etc.) associated with these complex processes.

master_what_are_workflow_chains_3_3.png

How to model Workflow Chains

Workflow Chains connect individual units of operation (Workflows) into complex end-to-end business process.

When to create a new Workflow Chain:

  • Discrete business processes.

  • Entity hand-offs (interdepartmental).

    • Provenance should capture who executed the Experiment, and the details of that Experiment.

Design considerations:

  • Where can Experiments start in this Workflow Chain?

  • Who should have access to this Workflow Chain?

  • What version(s) should End Users have access to?

How to create new Workflow Chains

Go to: L7|MasterWorkflow Chains+ New Workflow Chain

master_new_workflow_chain_3_3.png

Workflow Chain Details

master_workflow_chain_details_3_3.png
  • Use in manufacturing – should be set to “No” for Workflow Chains that will be used in L7 LIMS.

  • Require Execution Plan – ensures a Dynamic Execution Plan (DEP) is selected when creating a new Experiment.

    • DEPs provide alternative parameters for custom fields without changing the underlying Protocols in the Workflow Chain.

  • Version – a new version of the Workflow Chain is created each time it is saved.

    • Pin – locks the Workflow Chain into a previously saved collection of Workflows and Protocols.

      • Pinned versions can be retired, which will remove them from the list of versions when creating a new Experiment.

      • Retired versions can be re-activated or included in this list by selecting "list retired versions".

  • Duration (hours) – the time it takes to complete each Workflow and transition in the Workflow Chain.

    • These details are used in L7 Scheduling.

  • Workgroups – restricts who has access to the Workflow Chain in L7|Master and L7 Projects.

Workflow Library

The Workflow Library displays all Workflows registered in the system. Once a Workflow is moved into the main viewing window, it can be connected to other Workflows to form a Workflow Chain.

Note

Workflows in the Workflow Chain builder are referred to as Nodes.

Using the Workflow Library, you can:

  • Create new Workflows (+ Create New Workflow)

    • Placeholders can be added to the Workflow Chain using “New Empty Workflow”. When ready, you can edit this node to build the Workflow and its Protocols.

  • Construct the WorkflowChain by selecting a Workflow from the Library, then drag and drop it into the main viewing window. As additional Workflows are added, you can rearrange their position.

    • Drag and drop Workflows back into the Library to remove them from the Workflow Chain.

master_add_workflow_to_workflow_chain_3_3.png

To create a Workflow Chain, drag and drop the first Workflow in the main viewing window. If this is a Workflow where the End User will begin processing their Workflow Chain Experiment, right-click the Workflow (node) and select “Edit Node”.

In the Workflow Node Editor, select the startable checkbox.

master_workflow_node_editor_3_3.png

Once a node has been marked as startable, a dropdown menu will appear in the top-right corner of the main viewing window to select the Default Start Node.

Note

Workflow Chains can have more than one (1) startable node, but one of them must be assigned the Default Start Node.

The Display Name, ID, and version of each node can also be changed in the Workflow Node Editor.

  • By changing the Display Name, the same Workflow can be used more than once in the same Workflow Chain, or a generic Workflow can be given a process-specific name.

Note

If a Workflow is used more than once in the same Workflow Chain, the same version of that Workflow must always be used. By default, the latest version will be used, but all pinned versions will also be available.

To continue building the Workflow Chain, hover over the first Workflow and …

master_extending_workflow_chain_3_3.png

Select the light blue dot at the top of the node and drag the arrow to an empty space in the builder.

master_rapid_add_node_editor_3_3.png

Then select the next Workflow from the dropdown menu in the Rapid Add Node Editor.

master_extended_workflow_chain_3_3.png

Alternatively, drag the next Workflow into the main viewing window and connect it to the first by selecting the blue dot at the top of the first node and connecting the arrow to the second Workflow.

Manually connecting nodes already present in the Workflow Chain builder will open the Transition Editor.

How to edit Workflow Chains

To edit a Workflow in a Workflow Chain, right-click the Workflow and select the appropriate action:

  • Edit – opens the Workflow builder, where both the Workflow and its Protocols can be edited.

    • Double-click a Protocol in the Workflow builder to edit its details in the Protocol builder.

  • Replace – opens the Replace Workflow modal displaying all registered Workflows.

    • Select the desired Workflow as a replacement.

Note

Replacing a Workflow in the Workflow Chain will not update the Workflow’s Display Name or ID.

Double-click on the node to update these values.

  • Delete – removes the Workflow from the Workflow Chain.

Alternatively, after selecting a node, you will see the Delete, Replace, and Edit buttons appear in the top-right corner of the screen.

Swim Lanes

Swim lanes provide a way to visually organize nodes into discrete categories. To create a swim lane, select the Add Swimlane button in the top-right corner of the main viewing window.

In the modal, enter a display name, and select a color and position for the lane.

Each node in the Workflow Chain can then be assigned to a lane.

master_add_swimlane_3_3.png

Workflow Chain Transitions

What is the Transition Editor?

The Transition Editor is the modal used to define how Entities move through a Workflow Chain. To access the Transition Editor, select a transition (arrow) in the Workflow Chain.

The Transition Editor has two key components: strategy and rule. Think of the strategy as the “who” and the rule as the “when” - which Entities will be transitioned and when will they be transitioned.

master_transition_editor_3_3.png

Transition Strategies

L7|ESP has three (3) out-of-box strategies:

master_transition_strategy_3_3.png
  1. Identity – transitions the final Sample Set in the upstream Workflow.

  2. Resubmit – transitions the starting Sample Set for the selected Workflow.

  3. Createsample – creates Samples from the selected Sample Type as children of the final Sample Set in the upstream Workflow.

    1. This transition strategy is not as flexible as a Sample Protocol, and is typically used for in-flight Sample creation, as Workflows cannot begin with a Sample Protocol.

Note

Developers can create custom Transition Strategies, which is a topic of the Server-Side Developer MasterClass.

Section 7.2.3 of the User Documentation provides an example of a custom Transition Strategy.

Transition Rules

The two (2) most common rules are:

  • User selection – transitions the Entities set by the strategy to the Workflow(s) selected in the Next Step field. This rule supports the dynamic nature of branching Workflow Chains, and is the default rule assigned to all transitions.

    • The Next Step field can be renamed in the Transition Editor, and will be added at runtime to the last Protocol in the Workflow. If added at runtime, this field will always be the last field in the Workflow.

    • Alternatively, this field can be added to the corresponding Protocol to customize its details and position if:

      • The field needs to be required (this is best practice).

      • The field needs to be a single-select picklist.

      • Finished needs to be removed from the list of options (see the note below).

      • A default value needs to be assigned.

      • A Signature Flow auto-completes the Protocol.

        • Auto-completion requires the Signature Flow to be the last field in the Protocol.

Note

Next Step must be a picklist with options set by the L7|ESP Expression {{ next_node_choices() }}

To drop "finished" from the list of options: {{ next_node_choices(drop=None) }}

master_next_step_field_3_3.png
  • Always transition – transitions all Entities set by the strategy when the upstream Workflow is completed.

    • This rule can be made the default_wfc_transition in the esp Configuration.

      • default_wfc_transition:always_transition

Note

This rule will transition all Entities to each Workflow connected to the upstream Workflow in the Workflow Chain.

Custom rules can be configured in Python using the ESP expression option. Common examples include:

  • Evaluating an Entity value:

    • {{ entity_value('Field Name') == 'Value' }}

  • Evaluating a boolean (checkbox) value:

    • {{ str(cell('Field ID')).lower() == 'true' }}

  • Evaluating a picklist value:

    • {{ cell('Field ID', 'Protocol ID') == 'Value' }}

  • Evaluating more than one (1) picklist value:

    • {{ cell('Field ID', 'Protocol ID') in ['Value 1', 'Value 2'] }}

Note

By default, only User selection excludes failed Entities in the transition, unless paired with the Resubmit transition strategy.

To exclude failed Entities, include and not sample['failed'] in all other rules.

Virtual and Non-Virtual Transitions

The “this is a virtual transition” checkbox converts the solid grey arrow to an orange dashed arrow. There is no functional difference between a virtual and non-virtual transition. Virtual transitions are typically seen as optional, whereas non-virtual transitions serve as the consistent path for Entities to take across the Workflow Chain.

master_virtual_transition_3_3.png