Versions Compared

Key

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

By default, OpenSpecimen data entry pages display fields one field per line during add or edit operation. This takes lot of space for small fields like quantity. It is useful to group smaller fields together in one line. 

In v5.0, using Using REST API workflow configuration, uses users can:

  1. Group fields per row
  2. Group fields as sections with a section header
  3. Set criteria to show/hide sections 

...

Below code block has to be configured in workflow JSON within 'Dictionary' section after 'Fields'. The full sample JSON can be found here - v5Testing.json. 

Code Block
collapsetrue
"layout": [
        {
          "rows": [
         [
            "cpr.registrationDate",
            "cpr.participant.birthDate"
          ],
          [
            "cpr.participant.firstName",
            "cpr.participant.lastName"
         ],
         [
            "cpr.participant.gender",
            "cpr.participant.extensionDetail.attrsMap.NT3"
         ],
         [
           "cpr.participant.pmis"
         ],

         [
           "visit.name",
           "visit.surgicalPathologyNumber"
         ],
         [
           "visit.clinicalDiagnoses",
           "visit.extensionDetail.attrsMap.DD3"
         ],
         [
           "visit.site",
           "visit.extensionDetail.attrsMap.ST7"
         ],
         [
           "visit.visitDate",
           "visit.extensionDetail.attrsMap.DP5",
           "visit.extensionDetail.attrsMap.DP6"
         ],
         [
           "visit.eventLabel"
         ],
         [
           "visit.extensionDetail.attrsMap.TA4",
           "visit.comments"
         ],
         [
           "specimen.type"
         ],
         [
           "specimen.initialQty",
           "specimen.availableQty"
         ],
         [
           "specimen.extensionDetail.attrsMap.MLB4",
           "specimen.extensionDetail.attrsMap.DD20"
         ],
         [
            "specimen.comments"
         ]
       ]
     },
     {
       "title": "Tissue Details",
       "showIf": {
         "op": "AND",
         "rules": [
           {
             "field": "specimen.type",
             "op": "==",
             "value": "'Fresh Tissue'"
           }
         ]
       },
       "rows": [
         [
           "specimen.extensionDetail.attrsMap.NT8",
           "specimen.extensionDetail.attrsMap.NT9"
         ],
         [
           "specimen.anatomicSite",
           "specimen.pathology"
         ],
         [
           "specimen.extensionDetail.attrsMap.DD22",
           "specimen.laterality"
         ]
       ]
       },
       {
         "title": "Collection & Received Event Details",
         "rows": [
         [
           "specimen.collectionEvent.time",
           "specimen.extensionDetail.attrsMap.DP27",
           "specimen.receivedEvent.time",
           "specimen.createdOn"
         ],
         [
           "specimen.receivedEvent.user",
           "specimen.extensionDetail.attrsMap.DD29"
         ],
         [
          "specimen.extensionDetail.attrsMap.DD23",
           "specimen.extensionDetail.attrsMap.DD19",
           "specimen.extensionDetail.attrsMap.DD24"
         ],
         [
           "specimen.extensionDetail.attrsMap.FC3",
           "specimen.extensionDetail.attrsMap.DP5",
           "specimen.extensionDetail.attrsMap.TA2"
         ]
       ]
     }
   ]

Grouping on participant page based on above example:

Image RemovedImage Added

Grouping of fields on visit page:

Image RemovedImage Added

Grouping of fields on specimen page along with section(For example: Collection & Received Event section)

Image RemovedImage Added

Grouping of fields on specimen page along with conditional show/hide section(For example: Tissue Details section)

The section highlighted in red is displayed only when 'Fresh Tissue' is selected based on the code above:

Image RemovedImage Added

Example JSON

Download