Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

  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.

Expand

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.

Order specimen list view page

...

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

...

titleClick here to view the example JSON
Code Block
languagejson
{
      "name": "reserved-specimens-list-view"

...

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

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.

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

...

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

...

,
      "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.

Expand
titleClick here to view the JSON example JSON
Code Block
 {
        "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,

Expand
titleClick here to view the exmple JSON
Code Block
{
        "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.

Expand
titleClick here to view the example JSON
Code Block
languagejson
	{
        "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.

Expand
titleClick here to view the example JSON
Code Block
languagejson
	{
      "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.

Expand
titleClick here to view the example JSON
Code Block
languagejson
{
    "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"
         }
     ]
    }
    }

Expand
titleClick here to view the example JSON
Code Block
languagejson
[    {
        "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"
                }
            ]
        }
    },
    {
      "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"
          }
        ]
      }
    },
    {
        "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"
                }
            ]
        }
    },
	{
      "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"
              }
          ]
      }
  	},
 	{
        "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"
                }
            ]
        }
    },
    {
    "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"
         }
     ]
    }
    }
]

...