Introduction
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.
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.
You need to have individual JS files for each task, like creating derivatives, aliquots, and storing aliquots.
What are the components of the JSON file?
The below tables explain the various components of the workflow JSON file:
Workflow Specific
Attribute | Description |
"name" | 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" | Title of the workflow. This will be displayed on the UI. |
"shortCode" | Short Code for the workflow. This will be displayed on UI. |
"activityStatus" |
|
"instanceNameFormat" | Name format to be used for the batches created within the workflow. |
"tasks" | Configure all the tasks within this section. |
Tasks Specific
Attribute | Description |
"type" | Type of the task |
"name" | Name of the task. This must be unique within the workflow |
"title" | Title of the task. This will be displayed on the UI. |
"shortDescription" | Short description of the task to be displayed along with the title. |
"activityStatus" |
|
"longDescription" | Detailed description of the task and steps to follow. |
"jsonConfig" | Indicates if the task is configured within the JSON file or not.
|
"starterTask" | Indicates if this is the first task in workflow or not.
|
"optional" | Indicates if this task is mandatory or not.
|
"onSkipAction" | Adds a skip button to the task. Using this button, you can skip the specific task by mentioning the reason for the deviation.
|
"inputs" | 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. |
"userGroups" | 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:
Attribute | Description |
defaultValues | To specify the default values within the task. |
fields | Fields to be displayed on the overview page for the task. |
"name" | Name of the fields. |
"label" | Label of the field to be displayed on UI. |
"type" | Type of field (span, datePicker, etc.). |
"showTime" | To display time. Only available for datePicker. |
"validations" | Specify validations within the task. |
"required" | To specify if the field is mandatory or not. |
"message" | Message to be displayed if the user forgets to enter the value for mandatory fields. |
"enableCopyFirstToAll" | Enable Copy First to all for the columns. |
readOnly | To make the fields read-only.
|
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:
Type | Description |
---|---|
update-specimens | Any task that updates the existing default or custom fields of a specimen are considered as update specimens task. Example: Updating received quality, storage location, specimen quantity, etc. |
create-pooled | Allows you to create pooled specimens |
form-data-entry | Allows you to add specimen events or custom form fields |
create-derivatives | Create derivative task |
create-aliquots | Create aliquots task |
group-assigner | Allows you to add an assigner where you can select next steps for the specimens |
Create Workflow
Examples
1. Heparin Processing
This example is for whole blood specimens collected in a heparin tube and further processing.
2. Serum Processing
This example is for whole blood specimens collected in a serum separator vacutainer and further processing.
3. Whole Blood Processing in Citrate Tube
This example is for whole blood specimens collected in a citrate tube and further processing.
4. Tissue Processing
This example is for tissue specimen processing.