Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

In OpenSpecimen, two new tabs are added to view specimens across visits - specimen table and tree view. The table helps in getting a summary of all specimens for a participant irrespective of visits. The tree is displayed on the left side of the participant, visit and specimen overview pages.

...

The specimens that are displayed in the table view are arranged according to their lineage. The fields that are displayed in the specimen table in this tab are configurable. The same table is displayed on visit and specimen overview pages. Using JSON below can be configured:

  1. Fields to be displayed in the table.
  2. Content of the description column.
  3. To what level should the tree be expanded or collapsed.

Specimen Tree

The specimen tree can be opened by clicking on the tree icon. By default, the tree displays <label> (<barcode>) and can be configured as needed. 

Configure Specimen Tree and Table

In the example below, the fields included in the table are 'Description', 'Location' and 'Lab Number'. In the tree on the left, the fields displayed are specimen labels and specimen type abbreviations in the bracket. The specimen hierarchy is displayed in a collapsed view. That is, it shows only the first level of specimens like primary and its children. Any hierarchy below this will be collapsed.

Info
  1. One single block "specimenTree" can be used to configure the tree and the table.
  2. The code has to be configured in workflow JSON in the new section "specimenTree".

...

Code Block
{
  "name": "specimenTree",
  "data": {
 
    "defaultExpandDepth": 0,
    "summaryDescTmpl" : "<span><span ng-if=\"!specimen.status || specimen.status == 'Pending'\">{{specimen.reqLabel}} </span><span ng-if=\"!!specimen.label\">{{specimen.label}}</span><span ng-if=\"!!specimen.barcode\">({{specimen.barcode}})</span></span></span>",
   "fields": [
     {
       "name": "specimen",
       "caption": "Description",
       "type": "specimen-description",
       "width": "40%"
     },{
       "name": "specimen.type",
       "baseField": "specimen.type"
     },
     {
       "name": "specimen.label",
       "baseField": "specimen.label"
     }
   ]
  }
}

...

Example: On using the above JSON, below are pages where the changes will be reflected:

1. Specimens tab on the participant detail page with all the specimens for that particular participant:

2. Visit overview page: 

3. Specimen overview page:

...