Versions Compared

Key

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

Table of Contents

...

Expand

The specimens that are displayed in the table view are arranged according to their lineage. The fields that are displayed in the specimen table are configurable. The same table is displayed on the visit and specimen overview pages.

Using JSON workflow 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.

As you have seen in the above screenshot, you can configure the fields (Add/remove) in the specimen table. Refer to the below code to add/remove fields.

Note
titleDescription Field

Description Field: To configure this field, you have to use code in spmnDescTmpl from the Common section. You can add any field information you want in the description.


Note
titleDescription Field

Fields In Table: To add the fields in the above specimen table, you need to define them in specimenTree under fields sections.(Refer below Code)


Code Block
{
    "name": "common",
    "view": null,
		"ctrl": null,
    "data": {
     "spmnDescTmpl": "<span><span ng-if=\"specimen.lineage == 'New'\">{{specimen.type}} </span> <span ng-if=\"specimen.lineage == 'Derived'\"> Derived {{specimen.type}} </span> <span ng-if=\"specimen.lineage == 'Aliquot'\"> Aliquot {{specimen.type}}</span></span> "
   }
},
{
  "name": "specimenTree",
  "data": {
    "defaultExpandDepth": 0,
   "fields": [
     {
       "name": "specimen",
       "caption": "Description",
       "type": "specimen-description",
       "width": "40%"
     },{
       "name": "specimen.type",
       "baseField": "specimen.type"
     },
     {
       "name": "specimen.label",
       "baseField": "specimen.label"
     },
     {
       "name": "specimen.barcode",
       "baseField": "specimen.barcode"
     }
   ]
  }
}


Download: Specimen Table Configuration.json


...

Expand

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

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".
  3. "summaryDescTmpl" is used to configure the specimen tree.

Example 1: To include Specimen Type in the specimen tree

Expand


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 ng-if=\"!!specimen.type\">({{specimen.type}})</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 2: To include a Custom Field in the specimen tree

Expand


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 ng-if=\"!!specimen.extensionDetail.attrsMap.tumor_id\">({{specimen.extensionDetail.attrsMap.tumor_id}})</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"
     }
   ]
  }
}


Setting Display of Hierarchy

Expand

Based on the property 'defaultExpandDepth', specimen table and tree hierarchy will be collapsed or expanded to a certain level. Refer to the code above to know how to use this property.

Info
  1. If it is set to the '1', it shows the primary specimen, and only one level below it will be displayed. The rest of the specimens under the hierarchy below it will be collapsed.

  2. If it is set to the '0', it shows the primary specimen only in a table or tree.

This way, it can be set to display any level. The number indicates the level you wish to display. If there are 6 levels then the code will be "defaultExpandDepth":6. Thus, depending upon the level, the value can be inserted.

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:

4. Visit page:

5. Specimen tree on the left with label and type abbreviation:

For a detailed description about the specimen tree, refer to https://openspecimen.atlassian.net/wiki/x/MIDsC

...