Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com

Customize Screens (JSON)

Introduction

In OpenSpecimen, there are standard fields for participant, visit, and specimen pages. However, these fields must not be relevant for your study, or you would want to create new fields based on the CP requirements. Using this feature, super administrators can configure the user interface.

This is possible using JSON configuration at a CP level or system level.

Which pages can be configured?

Data Entry

This includes the overview, add, and edit pages.

  • Participant

  • Visit

  • All specimen pages like add new fields during collection, aliquot, derive, etc.

List View

The list view page is the table displayed when you click on any object.

  • Participant

  • Specimen

  • Specimen cart

  • Reserved specimen

  • Order specimens

What can be configured?

  1. Fields to be displayed, i.e., remove unwanted fields or add additional fields.

  2. Making fields mandatory/optional.

  3. Default values for fields.

  4. Populate values in a field based on a value in another field.

  5. Subsetting dropdown values based on the value of another field.

  6. Adding skip logic (i.e., hide/unhide fields based on the value of another field).

  7. Display calculated fields in overview pages or tables.

  8. Reorder fields.

  9. Group fields in the same line under headers.

  10. Validation rules (Refer to Data Validations(Edit Checks)).

Workflow Configuration

This configuration can be done at three levels:

  1. System-wide - applies to all protocols

  2. Collection Protocol Group level - applies to all protocols in the group and overrides system setting for them.

  3. Collection Protocol level - overrides the system and/or CP group setting for that protocol

Collection Protocol Level

To import/export workflows:

  1. Go to the collection protocols overview page.

  2. Click on the 'More' button.

  3. Select Export Workflows or Import Workflows.

Collection Group Protocol Level

To import/export workflows:

  1. Go to the collection protocol group overview page.

  2. Click on the 'Workflows'.

  3. Select ‘Export' or 'Import’.

System Level

JSON can be set for all CPs at the system level. When OpenSpecimen is installed, there is already a default system-level JSON set in the Settings. This contains the list view and aliquot/derivative creation screen configurations. Refer to the steps to edit system JSON:

  1. Navigate to 'Settings'.

  2. Under 'Biospecimen', set the 'System Workflows' property with the new JSON.

  3. Refresh the browser to take effect of the settings.

You can configure different pages of OpenSpecimen through System JSON. The different sections of JSON are mentioned below:

Section Name

Description

CP List View

Configures the collection protocol list view and filters.

Participant List View

Configures the participant list view and filters of the CP.

Specimen List View

Configures the specimen list view and filters of the CP.

Dictionary

This defines all the fields that will be used for biospecimen data entry in the CP.

The system JSON doesn’t contain a dictionary section and uses default configuration. You can copy and paste the dictionary section from the Participant-centric CP workflow to configure the system JSON dictionary. This is useful only if same set of data fields apply to all current and future CPs. For e.g., if you want to remove default field like SSN for all CPs, you can use the dictionary section at system level JSON to achieve this.

Refer to the Default JSON section files from the wiki page for the JSON.

Common Specimen List View

Configures the specimen list view across the system, e.g., reserved specimen list view, cart specimen list view, etc.

Order Specimen List View

Configures the specimen list view and filter of order created during the distribution.

For more details, please refer to the System lists -> Order specimen list view page section of the wiki page.

 

Order Specimens Add and Edit

Configures the add and edit page of order during distribution.

For more details, please refer to the System lists -> Order specimen add and edit page section of the wiki page.

Common

Configure the unplanned aliquot and derivative creation page.

Container Specimen List View

Configures the specimen list view and filter in the container pages.

Bulk Update Dictionary

Configures the dropdown list of bulk update of participants and specimens from UI.

Reserved Specimen List View

Configures the specimen list view and filter of the reserved specimen tab in the distribution Protocol.

If this section is not used, the fields configured in the Common Specimen List View are used.

For more details, please refer to the System lists -> Reserved Specimen List Page section of the wiki page.

Specimen Cart Page

Configures under the Specimens-list-view section of the cart.For more details, please refer to the System lists -> Specimen Cart Page section of the wiki page.

Remove Workflow Configuration

CP Level

  1. Go to CP Overview → More → Import workflows

  2. Choose the file EmptyWorkflow.json and import it. Once you import this, the CP-level workflow will be erased.

System Level

If you want to replace the file uploaded at the system level with the default file attached: Navigate to Settings → Biospecimen→ System Workflows

  1. System-wide - applies to all protocols

  2. Collection Protocol Group level - applies to all protocols in the group.

Custom Fields Configuration

This feature is supported at the below levels:

  1. Collection Protocol Custom Fields

  2. Registration Custom fields

  3. Visit Custom fields

  4. Specimen Custom fields

Custom Fields Display

Form attachment

System JSON

CP level JSON

Description

Form attachment

System JSON

CP level JSON

Description

Form is associated to all CPs

Yes

No

System-level JSON is enhanced to show the custom field in any CP to avoid the CP-specific JSON dictionary configuration for custom fields. This is subject to the condition that the system-level dictionary doesn't have any custom fields in it.

CP should not have any CP level workflow attached so that it will use the system level workflow as default.

Form is attached to specific CP

Yes

No

CP-specific custom fields are displayed on respective add/edit/overview pages. This is to avoid any additional configuration for custom fields within the dictionary of CP JSON. 

This allows you to define a system-wide dictionary and yet define CP-specific custom fields without requiring to create/maintain a CP dictionary.

This will only work if you have not manually configured the custom fields within the “dictionary” section of the system level JSON.

Form is attached to specific CP

Yes

Yes

CP-specific custom fields are displayed on respective add/edit/overview pages. This is to avoid any additional configuration for custom fields within the dictionary. 

This will only work if you have not manually configured the custom fields within the “dictionary” section of the CP level JSON.

If you define custom fields in system or CP level JSON, any changes to the form needs changes in respective JSONs too.

The feature where custom fields automatically appear without JSON configuration was implemented in v9.0.

Default JSON Files

Default JSON files for the configuration that contains - the dictionary (all fields for the participant, visit, and specimen), default participant-list, and specimen-list columns and filters are added below

Files:

  1. Participant centric CP workflow

  2. Specimen centric CP workflow

You can download the default JSON from the user interface. The URLs to download the default JSON's are:

  1. Participant centric workflow:<your openspecimen domain>/rest/ng/docs?filename=participant-centric-workflow.json

Example: test.openspecimen.org/rest/ng/docs?filename=participant-centric-workflow.json

  1. Specimen centric workflow: <your openspecimen domain>/rest/ng/docs?filename=specimen-centric-workflow.json

Example: test.openspecimen.org/rest/ng/docs?filename=specimen-centric-workflow.json

 

 

Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com