Workflows (v9.0)


The workflow (task-manager) plugin allows you to design different SOPs with OpenSpecimen, which can be reused across collection protocols. Each workflow can contain multiple tasks associated with each processing step. Tasks can be assigned to specific user groups.

For example, EDTA Blood Processing can be defined as a workflow that consists of tasks to receive blood tubes, rest the tubes, spin at a specific speed & duration, process into plasma aliquots, and store.  

This is a paid plugin. Please get in touch with us if you are interested in getting a quote for this module.

Workflow Administration

Who can configure workflows?

  • By default, Super Admins can configure workflows for different groups based on their SOPs.

  • Institute admin can create and update any workflows created by users of their institute.

  • Additionally, all other users having manage workflows enabled in their profile can create or update workflows created by users of their institute:

Can a workflow be used across multiple CPs?

Yes, if the procedure is the same for various CPs, you can use the same workflow. For example, if two CPs process the serum tubes by following a standard SOP, both can have a single workflow.

What do you need to configure a workflow?

A workflow comprises of a JSON file and JS files. 

JSON file: The JSON file is named ‘workflow.json’. This file consists of all the tasks within the workflow. 

JS files: Each task has its own configuration regarding what fields should be displayed, setting default values for fields, etc. 

  1. If tasks in your workflow are related to adding specimen events like clotting, spun events, frozen events, etc., it can be configured within the JSON file.

  2. You need to have individual JS files for each task, like creating derivatives, aliquots, and storing aliquots. 

The above screenshot shows the list of files to configure the heparin blood processing workflow

What are the components of the JSON file?

The below tables explain the various components of the workflow JSON file:

Workflow Specific




Name of the workflow. This has to be unique across the system. 

Example: hep-process

You cannot change the workflow's name once you import it.


Title of the workflow. This will be displayed on the UI.


Short Code for the workflow. This will be displayed on UI.


  • Active


Name format to be used for the batches created within the workflow.


Configure all the tasks within this section.

Tasks Specific




Type of the task


Name of the task.

This must be unique within the workflow


Title of the task. This will be displayed on the UI.


Short description of the task that needs to be displayed along with the title.


  • Active


Detailed description of the task and steps to follow.


Indicates if the task is configured within the JSON file or not.

  • false

  • true 


Indicates if this is the first task in workflow or not.

  • false

  • true 


Indicates if this task is mandatory or not.

  • false

  • true 


Adds a skip button to the task. Using this button, you can skip the specific task by mentioning the reason for the deviation.

  • "COPY_INPUT" : Skips only that task, and the input is copied from the previous task over to the next task.

  • "SKIP_DEPENDENTS" : Skips the depending tasks too.


Specify the input for each task.

This needs to be configured for all tasks except the starter task.

For example, the input of the second task will be the first task. The input for the third task will be the second task, and so on.


You need to specify the user groups who would be using this workflow.

By default, only super admins have access to all the workflows within the system. To share it with user groups, you need to specify it in the workflow.

What are the components of the JS file?

The below table explains the various components of the workflow JS file:




To specify the default values within the task.


Fields to be displayed on the overview page for the task.


Name of the fields.


Label of the field to be displayed on UI.


Type of field (span, datePicker, etc.).


To display time.

Only available for datePicker.


Specify validations within the task.


To specify if the field is mandatory or not.


Message to be displayed if the user forgets to enter the value for mandatory fields.


Enable Copy First to all for the columns.


To make the fields read-only.

  • true

  • false

  • Currently, only specimen data entry is supported. 

  • The assumption is that the participants are already registered, and the primary specimens are collected (not yet received).

  • Every task in the workflow is configurable in terms of what data needs to be entered, the description of the tasks, the default for the fields, etc.

What are the different types of tasks in a workflow?

A workflow comprises multiple specimen actions, each of which has a specific type. The below table lists all the tasks that can be added within a workflow:






Any task that updates the existing default or custom field’s value of a specimen is considered as an update specimens task. Example: Updating received quality, storage location, specimen quantity, etc.


Allows you to create pooled specimens


Allows you to add specimen events or custom form fields


Create derivative task


Create aliquots task


Allows you to add an assigner where you can select the next steps for the specimens

Create Workflow

  • Navigate to the ‘Workflows’ module.

  • Click on the ‘Workflows’ button.

  • Import

  • Import a zip file that contains all the JS files and the main workflow JSON file. See below:

  • The JSON file should be named ‘workflow.json’.