This page describes how to add specimen status icons and fields in the CP workflow. It also talks about how to configure icons based on specimen classes and types.

Note: The default workflow comes with the specimen status field configured across the system. 

However, if your CP has JSON workflow configured, the color-coding must be configured within the CP workflow.

  {
        "name": "specimen-list-view",
        "data": {
            "icons": [
                "<os-specimen-status-icon specimen=\"row\"></os-specimen-status-icon>" //Displays availability status of specimen on specimen list view page
            ],
            "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 exists", // Make sure that you update the criteria
            "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"
                },
                {
                    "expr": "Specimen.availabilityStatus",    //Adds a 'Status' field in filters
                    "caption": "Status",
                    "values": [
                        "Available",
                        "Closed",
                        "Distributed",
                        "Missed Collection",
                        "Not Collected",
                        "Pending",
                        "Reserved"
                    ]
                }
            ]
        }
    },

Configure Icons based on Specimen Class/Type

You can configure icons based on specimen class or specimen types. For example, Buffy Coat should be displayed in turquoise and DNA in pink.

{
  "name" : "specimen-list-view",
  "view" : null,
  "ctrl" : null,
  "data" : {
    "icons" : [ 
    "<span style=\"display: inline-block; margin-left: 5px;\">", //Adds a space between the icon and checkbox
    "<os-specimen-status-icon ng-show = \"row.hidden.specimenType == 'DNA'\" style=\"color: pink;\"></os-specimen-status-icon>", // Displays DNA in pink
    "<os-specimen-status-icon ng-show = \"row.hidden.specimenType == 'Buffy Coat'\" style=\"color: turquoise;\"></os-specimen-status-icon>", // Displays Buffy Coat in turquoise
    "</span>" 
    ],
    "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 exists",
    "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"
    }, {
      "expr" : "Specimen.availabilityStatus",
      "caption" : "Status",
      "values" : [ "Available", "Closed", "Distributed", "Missed Collection", "Not Collected", "Pending", "Reserved" ]
    } ]
  }
}