Introduction

Below are the pages with lists like the view across the application. These list views can be configurable:

List view pages do not support the Custom Form fields. Eg: Forms attached at Registration Form Level, Specimen Form level etc.

What can be configured?

  1. Columns

  2. Sorting order

  3. Filters (on the right-hand side)

  4. Conditional data display: Fixed criteria can be set to display only specific participants and specimens. For example, display only aliquots.

How to configure the system-level list view?

A default view is shipped with the installation package and applies to all protocols. Super admins can change the default system-level list view configuration by uploading a new configuration file through 'Settings->Biospecimen→System Workflows'.

How to configure the CP level list view?

To configure the list view for a specific CP, go to the CP overview → More → Import Workflows.

JSON Examples

Participant and Specimen List View

 For participants and specimens, this configuration can be done at two levels:

  1. System-wide - applies to all protocols

  2. Protocol-level - overrides the system setting for that protocol

There is a separate section for each list view in the JSON, as shown below.

[
  {
    "name": "common",
    "data": {
      "listView": "cp-specimens"
    }
  },
  {
    "name":"participant-list-view",
    "data":{
      "columns":[
        {
          "expr":"Participant.ppid",
          "caption":"Participant Protocol ID",
          "metainfo":{
            "showLink":"true"
          }
        },
        {
          "expr":"concat(Participant.firstName, \" \", Participant.lastName)",
          "caption":"Name"
        },
        {
          "expr":"Participant.regDate",
          "caption":"Registration Date"
        },
        {
          "expr":"concat(years_between(current_date(), Participant.dateOfBirth), \" yrs\")",
          "caption":"Age"
        }
      ],
      "criteria":"Participant.id exists",
      "orderBy":[
        {
          "expr":"Participant.regDate",
          "direction":"desc"
        }
      ],
      "filters":[
        {
          "expr":"Participant.ppid",
          "caption":"Participant Protocol ID",
          "searchType":"contains"
        },
        {
          "expr":"concat(Participant.firstName, \" \", Participant.lastName)",
          "caption":"Name",
          "metainfo":{
            "phi":"true"
          }
        },
        {
          "expr":"Participant.regDate",
          "caption":"Registration Date"
        },
        {
          "expr":"years_between(current_date(), Participant.dateOfBirth)",
          "caption":"Age",
          "temporal":"true",
          "metainfo":{
            "phi":"true"
          }
        }
      ]
    }
  },
  {
    "name":"specimen-list-view",
    "data":{
      "columns":[
        {
          "expr":"Specimen.label",
          "caption":"Label",
          "metainfo":{
            "showLink":"true"
          }
        },
        {
          "expr":"Specimen.createdOn",
          "caption":"Created On"
        },
        {
          "expr":"Specimen.type",
          "caption":"Type"
        },
        {
          "expr":"Specimen.tissueSite",
          "caption":"Anatomic Site"
        },
        {
          "expr":"Specimen.pathologicalStatus",
          "caption":"Pathology Status"
        },
        {
          "expr":"Specimen.availableQty",
          "caption":"Quantity",
          "metainfo":{
            "showUnit":"true",
            "measure":"quantity"
          }
        },
        {
          "expr":"concat(Specimen.specimenPosition.containerName, \" (\", Specimen.specimenPosition.positionDimensionTwoString, \", \", Specimen.specimenPosition.positionDimensionOneString, \")\")",
          "caption":"Location"
        }
      ],
      "criteria":"Specimen.availableQty > 0 and Specimen.collectionStatus = \"Collected\"",
      "orderBy":[
        {
          "expr":"Specimen.createdOn",
          "direction":"desc"
        }
      ],
      "filters":[
        {
          "expr":"Specimen.label",
          "caption":"Label",
          "searchType":"contains"
        },
        {
          "expr":"Specimen.lineage",
          "caption":"Lineage"
        },
        {
          "expr":"Specimen.createdOn",
          "caption":"Created On"
        },
        {
          "expr":"Specimen.type",
          "caption":"Type"
        },
        {
          "expr":"Specimen.tissueSite",
          "caption":"Anatomic Site"
        },
        {
          "expr":"Specimen.pathologicalStatus",
          "caption":"Pathology Status"
        },
        {
          "expr":"Specimen.availableQty",
          "caption":"Quantity"
        }
      ]
    }
  }
]

Screenshots

Participants list view: 

This is a list of all registered participants of a protocol.

Specimen list view:

This is a list of all specimens collected under a protocol.

You can sort the list view based on specimen ID, location, etc. 

{
       "name": "specimen-list-view",
       "data": {
           "columns": [
               {
                   "expr": "Specimen.label",
                   "caption": "Label",
                   "metainfo": {
                       "showLink": "true"
                   }
               },
               {
                   "expr": "Specimen.createdOn",
                   "caption": "Created On"
               },
               {
                   "expr": "Specimen.type",
                   "caption": "Type"
               },
               {
                   "expr": "Specimen.tissueSite",
                   "caption": "Anatomic Site"
               },
               {
                   "expr": "Specimen.pathologicalStatus",
                   "caption": "Pathology Status"
               },
               {
                   "expr": "Specimen.availableQty",
                   "caption": "Quantity",
                   "metainfo": {
                       "showUnit": "true",
                       "measure": "quantity"
                   }
               },
               {
                   "expr": "concat(Specimen.specimenPosition.containerName, concat_ws(\"\", concat(\" (\", Specimen.specimenPosition.formattedPos, \")\")))",
                   "caption": "Location"
               }
           ],
           "criteria": "Specimen.collectionStatus = \"Collected\" and Specimen.activityStatus = \"Active\"",
           "orderBy": [
               {
                   "expr": "Specimen.id",
                   "direction": "asce"
               }
           ],
           "filters": [
               {
                   "expr": "Specimen.label",
                   "caption": "Label",
                   "searchType": "contains"
               },
               {
                   "expr": "Specimen.lineage",
                   "caption": "Lineage"
               },
               {
                   "expr": "Specimen.createdOn",
                   "caption": "Created On"
               },
               {
                   "expr": "Specimen.type",
                   "caption": "Type"
               },
               {
                   "expr": "Specimen.tissueSite",
                   "caption": "Anatomic Site"
               },
               {
                   "expr": "Specimen.pathologicalStatus",
                   "caption": "Pathology Status"
               },
               {
                   "expr": "Specimen.availableQty",
                   "caption": "Quantity"
               }
           ]
       }
   },


{
       "name": "specimen-list-view",
       "data": {
           "columns": [
               {
                   "expr": "Specimen.label",
                   "caption": "Label",
                   "metainfo": {
                       "showLink": "true"
                   }
               },
               {
                   "expr": "Specimen.createdOn",
                   "caption": "Created On"
               },
               {
                   "expr": "Specimen.type",
                   "caption": "Type"
               },
               {
                   "expr": "Specimen.tissueSite",
                   "caption": "Anatomic Site"
               },
               {
                   "expr": "Specimen.pathologicalStatus",
                   "caption": "Pathology Status"
               },
               {
                   "expr": "Specimen.availableQty",
                   "caption": "Quantity",
                   "metainfo": {
                       "showUnit": "true",
                       "measure": "quantity"
                   }
               },
               {
                   "expr": "concat(Specimen.specimenPosition.containerName, concat_ws(\"\", concat(\" (\", Specimen.specimenPosition.formattedPos, \")\")))",
                   "caption": "Location"
               }
           ],
           "criteria": "Specimen.collectionStatus = \"Collected\" and Specimen.activityStatus = \"Active\"",
           "orderBy": [
               {
                   "expr": "concat(Specimen.specimenPosition.containerName, concat_ws(\"\", concat(\" (\", Specimen.specimenPosition.formattedPos, \")\")))",
                   "direction": "asce"
               }
           ],
           "filters": [
               {
                   "expr": "Specimen.label",
                   "caption": "Label",
                   "searchType": "contains"
               },
               {
                   "expr": "Specimen.lineage",
                   "caption": "Lineage"
               },
               {
                   "expr": "Specimen.createdOn",
                   "caption": "Created On"
               },
               {
                   "expr": "Specimen.type",
                   "caption": "Type"
               },
               {
                   "expr": "Specimen.tissueSite",
                   "caption": "Anatomic Site"
               },
               {
                   "expr": "Specimen.pathologicalStatus",
                   "caption": "Pathology Status"
               },
               {
                   "expr": "Specimen.availableQty",
                   "caption": "Quantity"
               }
           ]
       }
   },


System-Level Lists

These lists can be configured at the system level only via Settings → System Workflows:

Reserved specimen list page

  1. Configured under the 'reserved-specimens-list-view' section of the JSON

  2. If there is no section for reserved specimens added, then the 'common-specimens-list-view' (if specified) else 'specimen-list-view' is used.

{
      "name": "reserved-specimens-list-view",
      "view": null,
      "ctrl": null,
      "data": {
        "columns": [
          {
            "expr": "Participant.empi",
            "caption": "MRN"
          },
          {
            "expr": "concat_ws(\" \", Participant.firstName, Participant.lastName)",
            "caption": "Name"
          },
          {
            "expr": "Specimen.label",
            "caption": "Label",
            "metainfo": {
            "showLink": "true"
            }
          },
          {
            "expr": "Specimen.type",
            "caption": "Type"
          },
          {
            "expr": "Specimen.tissueSite",
            "caption": "Anatomic Site"
          },
          {
            "expr": "Specimen.pathologicalStatus",
            "caption": "Category"
          },
		  {
            "expr": "Specimen.creationEvent.createdBy",
            "caption": "Created By"
          },
          {
            "expr": "concat(Specimen.specimenPosition.containerName, concat_ws(\"\", concat(\" (\", Specimen.specimenPosition.formattedPos, \")\")))",
            "caption": "Box Location"
          }
        ],
        "criteria": "Specimen.availableQty > 0 and Specimen.collectionStatus = \"Collected\"",
        "orderBy": [
          {
            "expr": "Specimen.createdOn",
            "direction": "desc"
          }
        ],
        "filters": [
          {
            "expr": "Specimen.label",
            "caption": "Label",
            "searchType": "contains"
          },
          {
            "expr": "Specimen.lineage",
            "caption": "Lineage"
          },

          {
            "expr": "Specimen.type",
            "caption": "Type"
          },
          {
            "expr": "Specimen.tissueSite",
            "caption": "Anatomic Site"
          },
          {
            "expr": "Specimen.pathologicalStatus",
            "caption": "Pathology Status"
          }
        ]
      }
    }

Specimen cart page

  1. Configured under the 'cart-specimens-list-view' section of the JSON

  2. The configuration for cart specimens list view is picked from system workflow in the following order of preference: cart-specimens-list-view -> common-specimens-list-view -> specimen-list-view.

  3. The configuration detail is the same as that for specimen-list-view specifying the columns to display in the table, filters, ordering, additional restrictions, etc.

 {
        "name": "cart-specimens-list-view",
        "data": {
            "columns": [
                {
                    "expr": "Specimen.label",
                    "caption": "Label",
                    "metainfo": {
                        "showLink": "true"
                    }
                },
                {
                        "expr": "Specimen.id",
                        "caption": "Specimen ID"
                },
                {
                    "expr": "Specimen.createdOn",
                    "caption": "Created On"
                },
				{
                   "expr": "Specimen.creationEvent.createdBy",
                   "caption": "Created By"
                },
                {
                    "expr": "Specimen.type",
                    "caption": "Type"
                },
                {
                    "expr": "Specimen.availableQty",
                    "caption": "Quantity",
                    "metainfo": {
                        "showUnit": "true",
                        "measure": "quantity"
                    }
                },
                {
                    "expr": "concat(Specimen.specimenPosition.containerName, concat_ws(\"\", concat(\" (\", Specimen.specimenPosition.formattedPos, \")\")))",
                    "caption": "Location"
                }
            ],
            "criteria": "Specimen.collectionStatus = \"Collected\" and Specimen.activityStatus != \"Disabled\"",
            "orderBy": [
                {
                    "expr": "Specimen.createdOn",
                    "direction": "desc"
                }
            ],
            "filters": [
                {
                    "expr": "Specimen.label",
                    "caption": "Label",
                    "searchType": "contains"
                },
                {
                    "expr": "Specimen.lineage",
                    "caption": "Lineage"
                },
                {
                    "expr": "Specimen.createdOn",
                    "caption": "Created On"
                },
                {
                    "expr": "Specimen.type",
                    "caption": "Type"
                },
                {
                    "expr": "Specimen.tissueSite",
                    "caption": "Anatomic Site"
                },
                {
                    "expr": "Specimen.pathologicalStatus",
                    "caption": "Pathology Status"
                },
                {
                    "expr": "Specimen.availableQty",
                    "caption": "Quantity"
                }
            ]
        }
    }

Order specimen list view page

  1. Configured under the "order-specimens-list-view" section of the JSON

  2. If the user is not configured any "order-specimens-list-view" in the system workflow, then OpenSpecimen uses the default configuration.

  3. Added an option to hide the empty columns by specifying the property "hideEmptyColumns": true,

{
        "name": "order-specimens-list-view",
        "data": {
            "columns": [
                {
                    "expr": "Specimen.specimenOrders.label",
                    "caption": "Distribution Label"
                },
                {
                    "expr": "Specimen.label",
                    "caption": "Label",
                    "metainfo": {
                        "showLink": "true"
                    }
                },
                {
                    "expr": "Specimen.type",
                    "caption": "Type"
                },
                {
                  "expr": "Specimen.pathologicalStatus",
                  "caption": "Pathology Status"
                },
		 		{
                  "expr": "Specimen.creationEvent.createdBy",
                  "caption": "Created By"
                },
                {
                    "expr": "CollectionProtocol.shortTitle",
                    "caption": "Collection Protocol"
                }
            ],
            "hideEmptyColumns": true,
            "criteria": "",
            "orderBy": [
                {
                    "expr": "Specimen.specimenOrders.itemId",
                    "direction": "asc"
                }
            ],
            "filters": [
                {
                    "expr": "Specimen.label",
                    "caption": "Label",
                    "searchType": "contains"
                },
                {
                    "expr": "Specimen.type",
                    "caption": "Type"
                },
                {
                    "expr": "CollectionProtocol.shortTitle",
                    "caption": "Collection Protocol"
                }
            ]
        }
    }

Order specimens add and edit page

  1. Configured under "order-addedit-specimens" of the JSON

  2. If the user has not configured any "order-addedit-specimens" in the system workflow, then OpenSpecimen uses the default configuration.

	{
        "name": "order-addedit-specimens",
        "data": {
            "columns": [
                {
                    "name": "specimen.label",
                    "caption": "Label",
                    "type": "text",
                    "width": "140px"
                },
                {
                    "name": "specimen",
                    "caption": "Description",
                    "type": "specimen-description",
                    "width": "140px"
                },
                {
                    "name": "specimen.cpShortTitle",
                    "caption": "Collection Protocol",
                    "type": "text",
                    "width": "140px"
                },
                {
                    "name": "specimen.ppid",
                    "caption": "Participant ID",
                    "type": "text",
                    "width": "120px"
                },
                {
                    "name": "specimen.collectionEvent.procedure",
                    "caption": "Collection Procedure",
                    "type": "text",
                    "width": "140px"
                },
                {
                    "name": "specimen.storageLocation",
                    "caption": "Location",
                    "type": "storage-position",
                    "width": "140px"
                },
                {
                    "name": "specimen.availableQty",
                    "caption": "Available",
                    "type": "specimen-quantity",
                    "specimen": "specimen",
                    "width": "100px"
                },
				{
                    "name": "specimen.createdBy",
                    "caption": "Created By",
                    "type": "user",
                    "width": "100px"
                }
            ]
        }
    }

Collection protocol list page (Implemented from v6.3 onwards) 

  1. Configured under "cp-list-view" of the JSON

  2. If the user is not configured any "cp-list-view" in the system workflow, then OpenSpecimen uses the default configuration.

	{
      "name": "cp-list-view",
      "data": {
          "columns": [
              {
                  "expr": "CollectionProtocol.shortTitle",
                  "caption": "Title",
                  "metainfo": {
                      "showLink": "true"
                  }
              },
              {
                  "expr": "CollectionProtocol.principalInvestigator.investigatorName",
                  "caption": "Principal Investigator"
              },
              {
                  "expr": "CollectionProtocol.startDate",
                  "caption": "Start Date"
              },
              {
                  "expr": "CollectionProtocol.endDate",
                  "caption": "End Date"
              },
              {
                "expr": "CollectionProtocol.customFields.cPCustomField.type",
                "caption": "CP Type"
              }

          ],
          "criteria": "CollectionProtocol.id exists",
          "orderBy": [
              {
                  "expr": "CollectionProtocol.shortTitle",
                  "direction": "asc"
              }
          ],
          "filters": [
              {
                  "expr": "CollectionProtocol.shortTitle",
                  "caption": "Title",
                  "searchType": "contains"
              },
              {
                  "expr": "CollectionProtocol.Title",
                  "caption": "Long Title",
                  "searchType": "contains"
              },
              {
                  "expr": "CollectionProtocol.principalInvestigator.investigatorName",
                  "caption": "Principal Investigator"
              },
              {
                  "expr": "CollectionProtocol.cpSites.siteName",
                  "caption": "Repository"
              }
          ]
      }
  	},

Container Specimen List

  1. Configured under the "container-specimens-list-view" section of the JSON

  2. If the user has not configured any "container-specimens-list-view" in the system workflow, then OpenSpecimen uses the default configuration.

{
    "name": "container-specimens-list-view",
    "data": {
       "columns": [
         {
             "expr": "Participant.ppid",
             "caption": "PPID",
             "metainfo": {
                 "showLink": "true"
             }
         },{
             "expr": "Specimen.label",
             "caption": "Label",
             "metainfo": {
                 "showLink": "true"
             }
         },{
             "expr": "Specimen.barcode",
             "caption": "Barcode"
         },{
             "expr": "Specimen.lineage",
             "caption": "Lineage"
         },
         {
             "expr": "Specimen.type",
             "caption": "Type"
         },
         {
             "expr": "Specimen.tissueSite",
             "caption": "Anatomic Site"
         },{
             "expr": "CollectionProtocol.shortTitle",
             "caption": "Collection Protocol",
             "metainfo": {
                 "showLink": "true"
             }
         },
         {
             "expr": "Specimen.availableQty",
             "caption": "Quantity",
             "metainfo": {
                 "showUnit": "true",
                 "measure": "quantity"
             }
         },
         {
             "expr": "concat(Specimen.specimenPosition.containerName, concat_ws(\"\", concat(\" (\", Specimen.specimenPosition.formattedPos, \")\")))",
             "caption": "Location"
         },{
             "expr": "Specimen.createdOn",
             "caption": "Created On"
         }
     ],
     "criteria": "Specimen.collectionStatus = \"Collected\" and Specimen.activityStatus = \"Active\"",
     "orderBy": [
         {
             "expr": "Specimen.createdOn",
             "direction": "desc"
         }
     ],
     "filters": [
       {
           "expr": "Participant.ppid",
           "caption": "PPID",
           "searchType": "contains"
       },{
             "expr": "Specimen.label",
             "caption": "Label",
             "searchType": "contains"
         },{
             "expr": "Specimen.barcode",
             "caption": "Barcode"
         },
         {
             "expr": "Specimen.lineage",
             "caption": "Lineage"
         },
         {
             "expr": "Specimen.type",
             "caption": "Type"
         },
         {
             "expr": "Specimen.tissueSite",
             "caption": "Anatomic Site"
         },{
             "expr": "CollectionProtocol.shortTitle",
             "caption": "Collection Protocol"
         },
         {
             "expr": "Specimen.availableQty",
             "caption": "Quantity"
         },{
             "expr": "concat(Specimen.specimenPosition.containerName, concat_ws(\"\", concat(\" (\", Specimen.specimenPosition.formattedPos, \")\")))",
             "caption": "Location"
         },{
             "expr": "Specimen.createdOn",
             "caption": "Created On"
         }
     ]
    }
    }

Screenshots

Reserved Specimens List: 

This is a list of reserved specimens of a distribution protocol. It is displayed as a separate tab within the distribution protocol.

Specimen Cart:

This is a list of specimens added to a cart. This is accessible via 'Carts' from the menu.

Specimen Order Overview List:

This is a list of specimens distributed under a specific order. This is displayed as a separate tab within an Order.

Specimen Order Add/Edit List:

While performing a distribution, the specimens being distributed are displayed in this list. 

Collection Protocol(CP) List View:

This is a list of all protocols created in the system. This is accessible via the 'Collection Protocols' menu.

Container Specimen list view:

This is a list of all specimens stored in the container.


JSON Attributes and Uses

Attribute

Usage

name

Name of the list configuration.
Ex: participant-list-view or specimen-list-view or common.

data

listview

Used to configure default landing page (either participant-list-view or specimen-list-view)

Default is participant-list-view, if data property is not specified.

To configure specimen list-view as default configure it as: "listView": "cp-specimens".

columns

Columns to be displayed in list view.

expr

Property of an object to be displayed in list.

Ex: Participant.ppid or Specimen.label

  • Here, also you can specify combination of 2 fields as below:
    concat(Participant.firstName, \" \", Participant.lastName)
    years_between(current_date(), Participant.dateOfBirth)
captionCaption of the column which will be displayed in the table header.
metainfo

Meta data about the column/field to be displayed.

Ex: "showLink":"true" // This will show hyperlink on field to redirect to that particular object.


criteria

Specify the criteria which should be fulfilled to display records in list.

Ex: "Participant.id exists" // Means this will show such records which are having valid participant id.

orderBy


exprName of the property in object. Ex: Participant.regDate
directionWhether order by in ascending or descending order.
Ex: desc // To order in descending order.
If nothing specified then ascending order. 


filters

To configure the filters on which the filtering of data should be performed.

expr

Property of an object to be displayed in list.

Ex: Participant.ppid or Specimen.label

captionCaption of the column which will be displayed in the table header.
metainfo

Meta data about the column/field for the filters.

Ex: "phi":"true" //This will hide this field from filter for users who are not having phi acesss.



Expressions for other fields that can be added to the list view

List Page

Field Name

Expression

1.

Participant List

MRN Site

{
"expr": "Participant.medicalRecord.mrnSiteName",
"caption": "Site"
}

2.

Participant List

MRN

{
"expr": "Participant.medicalRecord.medicalRecordNumber",
"caption": "MRN"
}

3.

Participant List

External Subject ID

(Supported version V5.1 and onwards)

{
"expr": "Participant.externalSubjectId",
"caption": "External Subject ID"
}

4.

Participant List

Date formatting("participant-list-view")

(Supported version V5.2 and onwards)

Refer to wiki for 'Date Formats'

{
  "expr": "Participant.dateOfBirth",
  "caption": "Date Of Birth",
  "expr": "date_format(Participant.dateOfBirth, \"%month2%-%month_day%-%year4%\")"
}

5.

Participant List

Consent Document Title

{
      "expr" : "Participant.econsents.docTitle",
      "caption" : "eConsent Doc Title"
}

6.

Participant List

Consent Version

{
      "expr" : "Participant.econsents.docVersion",
      "caption" : "Version"
}

7.

Participant List

Consent Statement

{
      "expr" : "Participant.econsents.stmtResponses.statement",
      "caption" : "Consent Statement"
}

8.

Participant List

Consent Response

{
      "expr" : "Participant.econsents.stmtResponses.response",
      "caption" : "Response"
}

9.

Participant List

Consent Custom Field

{
      "expr" : "Participant.econsent.customFields.additionalRegistration.preferredLanguage",
      "caption" : "Preferred Language"
}

10.

Participant List

Consent Date

{
  "expr": "Participant.consentSignDate",
  "caption": "Date of Consent",
  "datatype": "date"
}

11.

Participant List

Custom Fields (Participant level)

Syntax: Participant.customFields.<formName>.<attributeName>

<formName>: Replace it with the 'Form Name' of the custom form

<attributeName>: Replace it with the 'Attribute Name' of the custom form field

Note: Ensure that the custom fields are defined in the dictionary section before configuring them in list view columns or filter section.

{
  "expr": "Participant.customFields.smokingHistoryForm.dateOfSigning",
  "caption": "Signing Date of Smoking History Form",
  "datatype": "date"
}

12.

Participant List

Add Custom field of any type dropdown, text, text field

  1. "Participant.customFields" → Default syntax to call participant custom field 

  2. "patient_details_form"→ Custom form name

  3. "patient_initials"→ Field udn present in a custom form XML

Example:

Patient initials

{
"expr": "Participant.customFields.patient_details_form.patient_initials",
"caption": "Patient Initials"
}

13.

Specimen List

Date formatting ("specimen-list-view")

(Supported version V5.2 and onwards)

Refer to wiki for 'Date Formats'

{
  "expr": "Specimen.createdOn",
  "caption": "Created On",
  "expr": "date_format(Specimen.createdOn, \"%month3%-%month_day%-%year4%\")"
}

14.

Specimen List

Add Custom field of any type dropdown, text, number, fancy control, etc

  1. "Specimen.customFields" → Default syntax to call specimen custom field 

  2. "wCMCSpecimenFields"→ Custom form name

  3. "diseaseStatus"→ Field udn present in a custom form XML

Eg:1

Disease Status

{
"expr":"Specimen.customFields.wCMCSpecimenFields.diseaseStatus",
  "caption" : "Disease Status"
}

Eg:2

Technician(User Fancy Control)

{
 "expr" : "Specimen.customFields.wCMCSpecimenFields.technician",
 "caption" : "Technician"
},

15.

Specimen List

Collection Date and Time

{
 "expr" : "Specimen.spmnCollRecvDetails.collTime",
  "caption" : "Collection Date"
}

16.

Specimen List

Collection Container

{
 "expr" : "Specimen.spmnCollRecvDetails.collContainer",
  "caption" : "Collection Container"
}

17.

Specimen List

Collection Procedure

{
 "expr" : "Specimen.spmnCollRecvDetails.collProcedure",
      "caption" : "Collection Procedure"
}

18.

Specimen List

Received Date and Time

{
"expr": "Specimen.spmnCollRecvDetails.recvTime",
"caption": "Received on"
}

19.

Specimen List

Specimen Laterality

{
      "expr" : "Specimen.tissueSide",
      "caption" : "Laterality"
}

20.

Specimen List

Visit Name

 {
      "expr" : "SpecimenCollectionGroup.name",
      "caption" : "Visit Name"
 }

21.

Specimen List

Clinical Diagnoses

 {
      "expr" : "SpecimenCollectionGroup.clinicalDiagnoses.value",
      "caption" : "Clinical Diagnoses"
 }

22.

Specimen List

Visit Custom Field

Add visit custom fields to the specimen list view page:

  1. “SpecimenCollectionGroup.customFields”: Default syntax to call visit custom field

  2. “visit_data_extension“: Custom form name

  3. “sequence_number“: Field udn present in a custom form XML

{
"expr":"SpecimenCollectionGroup.customFields.visit_data_extension.sequence_number",
  "caption" : "Sequence Number"
}

23.

Specimen List

Participant Registration Site

{
      "expr" : "Participant.site",
      "caption" : "Registration Site"
    }

24.

Specimen List

Participant Registration Date

{
      "expr" : "Participant.regDate",
      "caption" : "Registration Date"
    }, 

25.

CP List View

Add: Collection Protocol Code in list view page(Supported from v9.0)

 {
   "expr": "CollectionProtocol.code",
   "caption": "CP Code"
  },

26.

CP List View

Custom Field:

In 'expr', 'cPCustomFields' is a Form Name, 'type' is an attribute name.

{
  "expr": "CollectionProtocol.customFields.cPCustomField.type",
  "caption": "CP Type"
}

27.

Participant List

Registration Site

{
      "expr" : "Participant.site",
      "caption" : "Registration Site"
    }

28

Specimen List

Collection Protocol Event Label

{
      "expr" : "SpecimenCollectionGroup.collectionProtocolEvent.collectionPointLabel",
      "caption" : "Event Label"
    }

29

Participant List

Participant Creation Date and Time

{
      "expr" : "Participant.creationTime",
      "caption" : "Creation Date"
    },