Leave a comment at the end of this page or email contact@krishagni.com
Additional Data Entry Modes (RDE/SDE)
Rapid Data Entry (RDE)
Introduction
The RDE plugin is designed for clinical study based collections where the type of specimens and collection schedule is well defined. It is dependent on well-defined label formats for participants, visits and specimens, which can be preprinted either from OpenSpecimen or generated outside.
The RDE plugin allows you to do the following:
- Specimen collection based on barcode scanning
- Process multiple participants in one-go
- Process aliquots in bulk
It is meant for high-throughput clinical studies or trials where 5-10 patients visit the clinic every day.
Workflow Configuration
The typical workflow of clinical studies is: A participant visits a clinic where the primary specimens are collected (e.g. whole blood, tissue, urine, etc.) based on the event time point (e.g. day 0 - screening, day 30 - pre-op, etc.). These primary specimens are then sent to the lab for further processing like DNA, RNA, and/or aliquoting.
RDE can be configured to mimic this workflow. Once RDE is configured, the 'Rapid Collection' button is visible on the CP's 'View Participants' list page.
Steps to register the multiple participants in one go along with specimens
Step 1: Register participants
Data fields required for this step is configurable. Multiple participants can be registered at once. Existing participants can be entered in this step to add specimens for follow-up visits.
Step 2: Select visit under which the specimens needs to be accessioned
The visit selected can be different per participant. If existing participants are entered in the first step, the matching participants are populated in this step.
Step 3: Enter details about primary samples collected
Based on the protocol definition, the primary samples to be collected is shown for each participant and visit. You can select the ones that are collected and mark the ones that are missed.
Step 4 (Option 1): Scan aliquots in the box view- this is useful if a box scanner is used and the order of scanning the aliquots is fixed
Different box layouts can be defined per type, CP, etc. The order of scanning the aliquots is determined by order of requirements defined in the CP. If some samples are not processed as per CP, those slots can be left empty.
Example JSON
URL | http://<host>:<port>/ openspecimen/rest/ng/collection-protocols/{id}/workflows |
Method | PUT |
Request | application/json |
Example json |
Example Code Expand source
[{ "name": "dictionary", "data": { "fields": [{ "name": "cpr.ppid", "caption": "Registration ID", "type": "text", "optional": true, "showIf": { "op": "OR", "rules": [{ "field": "cp.ppidFmt", "op": "not_exist" }, { "field": "cp.manualPpidEnabled", "op": "exists" }] } },{ "name": "cpr.registrationDate", "caption": "Enrollment Date", "type": "date", "optional": false, "defaultValue": "current_date" },{ "name": "cpr.participant.empi", "caption": "Master Patient ID", "type": "text", "optional": true, "showIf": { "rules": [{ "field": "mpiFmt", "op": "not_exist" }] } },{ "name": "cpr.participant.gender", "caption": "Gender", "type": "pvs", "attr": "gender", "optional": true, "options": [{ "value": "Male", "conceptCode": "M" }, { "value": "Female", "conceptCode": "F" } ] }, { "name": "cpr.participant.ethnicities", "caption": "Ethnicity", "type": "pvs", "attr": "ethnicity", "multiple": true, "optional": true },{ "name": "cpr.participant.races", "caption": "Race", "type": "pvs", "attr": "race", "multiple": true, "optional": true }, { "name": "cpr.participant.extensionDetail.attrsMap.NT2", "caption": "Age", "type": "text", "pattern": "/^[1-9][0-9]*$/", "optional": "true" }, { "name": "visit.eventLabel", "caption": "Event Label", "type": "dropdown", "multiple": false, "defaultValue": "Week Two", "listSource": { "apiUrl": "collection-protocol-events", "displayProp": "eventLabel", "selectProp": "eventLabel", "queryParams": { "dynamic": { "cpId": "visit.cpId" }, "static": {} } } }, { "name": "visit.site", "caption": "Visit Site", "type": "dropdown", "multiple": false, "optional": false, "listSource": { "apiUrl": "sites", "displayProp": "name", "selectProp": "name", "queryParams": { "dynamic": {}, "static": { "listAll": true } } } }, { "name": "visit.visitDate", "caption": "Visit Date", "type": "datetime", "defaultValue": "current_date", "optional": false }, { "name": "visit.clinicalDiagnoses", "caption": "Clinical Diagnoses", "type": "pvs", "attr": "clinical_diagnosis", "optional": true, "defaultValue": "Not Specified", "multiple": true }, { "name": "visit.comments", "caption": "Comments", "type": "textarea", "optional": true }, { "name": "specimen.lineage", "caption": "Lineage", "type": "radio", "optional": false, "defaultValue": "Derived", "options": [{ "value": "New", "caption": "Primary" }, { "value": "Derived", "caption": "Derivative" }, { "value": "Aliquot", "caption": "Aliquots" } ] }, { "name": "specimen.label", "caption": "Sample ID", "type": "text", "optional": false, "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "!=", "value": "'Aliquot'" }] } }, { "name": "specimen.barcode", "caption": "Tube Barcode", "type": "text", "optional": true }, { "name": "specimen.parentLabel", "caption": "Parent Sample ID", "type": "text", "optional": false, "url": "specimen({specimenId: specimen.parentId})", "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "!=", "value": "'New'" }] }, "modelOpts": { "updateOn": "blur" } }, { "name": "specimen.createdOn", "caption": "Created On", "type": "datetime", "optional": false, "defaultValue": "current_date" }, { "name": "specimen.type", "caption": "Type", "type": "specimen-type", "specimen": "specimen", "optional": false, "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "!=", "value": "'Aliquot'" }] } }, { "name": "specimen.initialQty", "caption": "Initial Quantity", "type": "specimen-quantity", "specimen": "specimen", "optional": false, "defaultValue": 10 }, { "name": "specimen.availableQty", "caption": "Available Quantity", "type": "specimen-quantity", "specimen": "specimen", "optional": false, "defaultValue": 10 }, { "name": "events.SpecimenFrozenEvent.time", "caption": "Frozen Time", "type": "date", "optional": false, "defaultValue": "current_date" }, { "name": "events.SpecimenFrozenEvent.user", "caption": "Frozen By", "type": "user", "defaultValue": "current_user", "optional": false }, { "name": "events.SpecimenFrozenEvent.frozenMethod", "caption": "Frozen Method", "type": "dropdown", "optional": false, "listSource": { "apiUrl": "forms/permissible-values", "selectProp": "value", "displayProp": "value", "queryParams": { "dynamic": {}, "static": { "formName": "SpecimenFrozenEvent", "controlName": "frozenMethod" } } }, "defaultValue": "Liquid Nitrogen" }, { "name": "specimen.storageLocation", "caption": "Location", "type": "storage-position", "optional": true, "cpId": "specimen.cpId", "entity": "specimen", "url": "container-detail.locations({containerId: specimen.storageLocation.id})", "subFields": [{ "name": "name", "caption": "Container Name" }, { "name": "positionY", "caption": "Container Row" }, { "name": "positionX", "caption": "Container Column" } ] }, { "name": "specimen.pathology", "caption": "Pathological Status", "type": "pvs", "attr": "pathology_status", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "!=", "value": "'Aliquot'" }] } }, { "name": "specimen.biohazards", "caption": "Biohazards", "type": "pvs", "attr": "specimen-biohazard", "optional": true, "multiple": true, "defaultValue": "[\"A\", \"Z\"]", "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "!=", "value": "'Aliquot'" }] } }, { "name": "specimen.collectionEvent.user", "caption": "Collection User", "type": "user", "defaultValue": "current_user", "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'New'" }] }, "subFields": [{ "name": "emailAddress", "caption": "Collector Email Address" }] }, { "name": "specimen.collectionEvent.container", "caption": "Collection Container", "type": "pvs", "attr": "collection-container", "optional": true, "defaultValue": "Not Specified", "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'New'" }] } }, { "name": "specimen.collectionEvent.procedure", "caption": "Collection Procedure", "type": "pvs", "attr": "collection-procedure", "defaultValue": "Not Specified", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'New'" }] } },{ "name": "specimen.receivedEvent.user", "caption": "Processing User", "type": "user", "defaultValue": "current_user", "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'New'" }] }, "subFields": [{ "name": "emailAddress", "caption": "Processor Email Address" }] }, { "name": "specimen.receivedEvent.receivedQuality", "caption": "Processing Quality", "type": "pvs", "attr": "received-quality", "defaultValue": "Acceptable", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'New'" }] } }, { "name": "specimen.events.SpecimenTissueReviewEvent.lymphocyticPct", "caption": "Lymphocytic Percentage", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Tissue'" }] } }, { "name": "specimen.events.SpecimenTissueReviewEvent.necrosisPct", "caption": "Necrosis Percentage", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Tissue'" }] } }, { "name": "specimen.events.SpecimenTissueReviewEvent.totalCellularityPct", "caption": "Total Cellularity Percentage", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Tissue'" }] } }, { "name": "specimen.events.SpecimenCellReviewEvent.viableCellPct", "caption": "Viable Cell Percentage", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Cell'" }] } }, { "name": "specimen.events.SpecimenFluidEvent.cellCount", "caption": "Cell Count", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Fluid'" }] } }, { "name": "specimen.events.SpecimenMolecularReviewEvent.absorbanceAt260", "caption": "Absorbance at 260", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Molecular'" }] } }, { "name": "specimen.events.SpecimenMolecularReviewEvent.absorbanceAt280", "caption": "Absorbance at 280", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Molecular'" }] } } ] } }, { "name": "rde", "data": { "regFields": [{ "name": "cpr.ppid", "baseField": "cpr.ppid" },{ "name": "cpr.registrationDate", "baseField": "cpr.registrationDate" }, { "name": "cpr.participant.empi", "baseField": "cpr.participant.empi" }, { "name": "cpr.participant.gender", "baseField": "cpr.participant.gender" }, { "name": "cpr.participant.ethnicities", "baseField": "cpr.participant.ethnicities" }, { "name": "cpr.participant.races", "baseField": "cpr.participant.races" },{ "name": "cpr.participant.extensionDetail.attrsMap.NT2", "baseField": "cpr.participant.extensionDetail.attrsMap.NT2" } ], "visitFields": [ [{ "name": "visit.site", "baseField": "visit.site" }, { "name": "visit.visitDate", "baseField": "visit.visitDate" } ], [{ "name": "visit.clinicalDiagnoses", "baseField": "visit.clinicalDiagnoses" }, { "name": "visit.comments", "baseField": "visit.comments", "width": "100%" }] ], "specimenFields": [ { "title": "Serum Aliquots", "criteria": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'Aliquot'" }, { "field": "specimen.type", "op": "==", "value": "'Serum'" } ] }, "fields": [{ "name": "specimen.label", "baseField": "specimen.label", "type": "span" }, { "name": "specimen.barcode", "baseField": "specimen.barcode", "type": "span" }, { "name": "specimen.parentLabel", "baseField": "specimen.parentLabel", "type": "span" }, { "name": "specimen.createdOn", "baseField": "specimen.createdOn" },{ "name": "specimen.storageLocation", "baseField": "specimen.storageLocation" } ] }, { "title": "Plasma Aliquots", "criteria": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'Aliquot'" }, { "field": "specimen.type", "op": "==", "value": "'Plasma'" } ] }, "fields": [{ "name": "specimen.label", "baseField": "specimen.label", "type": "span" }, { "name": "specimen.barcode", "baseField": "specimen.barcode", "type": "span" }, { "name": "specimen.parentLabel", "baseField": "specimen.parentLabel", "type": "span" }, { "name": "specimen.createdOn", "baseField": "specimen.createdOn" },{ "name": "specimen.storageLocation", "baseField": "specimen.storageLocation" } ] }, { "title": "Urine Aliquots", "criteria": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'Aliquot'" }, { "field": "specimen.type", "op": "==", "value": "'Urine'" } ] }, "fields": [{ "name": "specimen.label", "baseField": "specimen.label", "type": "span" }, { "name": "specimen.barcode", "baseField": "specimen.barcode", "type": "span" }, { "name": "specimen.parentLabel", "baseField": "specimen.parentLabel", "type": "span" }, { "name": "specimen.createdOn", "baseField": "specimen.createdOn" },{ "name": "specimen.storageLocation", "baseField": "specimen.storageLocation" } ] } ], "showPrintLabels": false, "missedReasonReq": false, "boxScanning": true, "boxLayouts": [ { "rows": 8, "columns": 12, "newRowOnChange": ["ppid", "type"], "cellWidth": "200px", "criteria": { "op": "OR", "rules": [ { "field": "specimen.type", "op": "==", "value": "'Plasma'" }, { "field": "specimen.type", "op": "==", "value": "'Serum'" } ] } },{ "rows": 8, "columns": 6, "newRowOnChange": ["ppid", "type"], "cellWidth": "200px", "criteria": { "op": "AND", "rules": [ { "field": "specimen.type", "op": "==", "value": "'Urine'" } ] } } ], "emailNotifs": {} } },{ "name": "participant-list-view", "data": { "columns": [ { "expr": "Participant.ppid", "caption": "Participant Protocol ID", "metainfo": { "showLink": "true" } }, { "expr": "Participant.empi", "caption": "Master Patient Index" }, { "expr": "Participant.regDate", "caption": "Registration Date" } ], "criteria": "Participant.id exists", "orderBy": [ { "expr": "Participant.regDate", "direction": "desc" } ], "filters": [ { "expr": "Participant.ppid", "caption": "Participant Protocol ID", "searchType": "contains" }, { "expr": "Participant.empi", "caption": "Master Patient Index", "searchType": "contains", "metainfo": { "phi": "true" } }, { "expr": "Participant.regDate", "caption": "Registration Date" } ] } } ] |
Step 4 (Option 2): Processing aliquots: Scan aliquots directly in actual container boxes
The system will show a list of available storage boxes. You can select specific boxes and scan labels or barcodes. This will mark the aliquots as collected and store them in specific boxes.
For this option to work, the CP should have pre-defined label formats and pre-print options checked so that the labels are auto-generated for pending aliquots.
Example JSON
Example json |
Example Code Expand source
[{ "name": "dictionary", "data": { "fields": [{ "name": "cpr.ppid", "caption": "Registration ID", "type": "text", "optional": true, "showIf": { "op": "OR", "rules": [{ "field": "cp.ppidFmt", "op": "not_exist" }, { "field": "cp.manualPpidEnabled", "op": "exists" }] } },{ "name": "cpr.registrationDate", "caption": "Enrollment Date", "type": "date", "optional": false, "defaultValue": "current_date" },{ "name": "cpr.participant.empi", "caption": "Master Patient ID", "type": "text", "optional": true, "showIf": { "rules": [{ "field": "mpiFmt", "op": "not_exist" }] } },{ "name": "cpr.participant.gender", "caption": "Gender", "type": "pvs", "attr": "gender", "optional": true, "options": [{ "value": "Male", "conceptCode": "M" }, { "value": "Female", "conceptCode": "F" } ] }, { "name": "cpr.participant.ethnicities", "caption": "Ethnicity", "type": "pvs", "attr": "ethnicity", "multiple": true, "optional": true },{ "name": "cpr.participant.races", "caption": "Race", "type": "pvs", "attr": "race", "multiple": true, "optional": true }, { "name": "cpr.participant.extensionDetail.attrsMap.NT2", "caption": "Age", "type": "text", "pattern": "/^[1-9][0-9]*$/", "optional": "true" }, { "name": "visit.eventLabel", "caption": "Event Label", "type": "dropdown", "multiple": false, "defaultValue": "Week Two", "listSource": { "apiUrl": "collection-protocol-events", "displayProp": "eventLabel", "selectProp": "eventLabel", "queryParams": { "dynamic": { "cpId": "visit.cpId" }, "static": {} } } }, { "name": "visit.site", "caption": "Visit Site", "type": "dropdown", "multiple": false, "optional": false, "listSource": { "apiUrl": "sites", "displayProp": "name", "selectProp": "name", "queryParams": { "dynamic": {}, "static": { "listAll": true } } } }, { "name": "visit.visitDate", "caption": "Visit Date", "type": "datetime", "defaultValue": "current_date", "optional": false }, { "name": "visit.clinicalDiagnoses", "caption": "Clinical Diagnoses", "type": "pvs", "attr": "clinical_diagnosis", "optional": true, "defaultValue": "Not Specified", "multiple": true }, { "name": "visit.comments", "caption": "Comments", "type": "textarea", "optional": true }, { "name": "specimen.lineage", "caption": "Lineage", "type": "radio", "optional": false, "defaultValue": "Derived", "options": [{ "value": "New", "caption": "Primary" }, { "value": "Derived", "caption": "Derivative" }, { "value": "Aliquot", "caption": "Aliquots" } ] }, { "name": "specimen.label", "caption": "Sample ID", "type": "text", "optional": false, "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "!=", "value": "'Aliquot'" }] } }, { "name": "specimen.barcode", "caption": "Tube Barcode", "type": "text", "optional": true }, { "name": "specimen.parentLabel", "caption": "Parent Sample ID", "type": "text", "optional": false, "url": "specimen({specimenId: specimen.parentId})", "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "!=", "value": "'New'" }] }, "modelOpts": { "updateOn": "blur" } }, { "name": "specimen.createdOn", "caption": "Created On", "type": "datetime", "optional": false, "defaultValue": "current_date" }, { "name": "specimen.type", "caption": "Type", "type": "specimen-type", "specimen": "specimen", "optional": false, "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "!=", "value": "'Aliquot'" }] } }, { "name": "specimen.initialQty", "caption": "Initial Quantity", "type": "specimen-quantity", "specimen": "specimen", "optional": false, "defaultValue": 10 }, { "name": "specimen.availableQty", "caption": "Available Quantity", "type": "specimen-quantity", "specimen": "specimen", "optional": false, "defaultValue": 10 }, { "name": "events.SpecimenFrozenEvent.time", "caption": "Frozen Time", "type": "date", "optional": false, "defaultValue": "current_date" }, { "name": "events.SpecimenFrozenEvent.user", "caption": "Frozen By", "type": "user", "defaultValue": "current_user", "optional": false }, { "name": "events.SpecimenFrozenEvent.frozenMethod", "caption": "Frozen Method", "type": "dropdown", "optional": false, "listSource": { "apiUrl": "forms/permissible-values", "selectProp": "value", "displayProp": "value", "queryParams": { "dynamic": {}, "static": { "formName": "SpecimenFrozenEvent", "controlName": "frozenMethod" } } }, "defaultValue": "Liquid Nitrogen" }, { "name": "specimen.storageLocation", "caption": "Location", "type": "storage-position", "optional": true, "cpId": "specimen.cpId", "entity": "specimen", "url": "container-detail.locations({containerId: specimen.storageLocation.id})", "subFields": [{ "name": "name", "caption": "Container Name" }, { "name": "positionY", "caption": "Container Row" }, { "name": "positionX", "caption": "Container Column" } ] }, { "name": "specimen.pathology", "caption": "Pathological Status", "type": "pvs", "attr": "pathology_status", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "!=", "value": "'Aliquot'" }] } }, { "name": "specimen.biohazards", "caption": "Biohazards", "type": "pvs", "attr": "specimen-biohazard", "optional": true, "multiple": true, "defaultValue": "[\"A\", \"Z\"]", "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "!=", "value": "'Aliquot'" }] } }, { "name": "specimen.collectionEvent.user", "caption": "Collection User", "type": "user", "defaultValue": "current_user", "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'New'" }] }, "subFields": [{ "name": "emailAddress", "caption": "Collector Email Address" }] }, { "name": "specimen.collectionEvent.container", "caption": "Collection Container", "type": "pvs", "attr": "collection-container", "optional": true, "defaultValue": "Not Specified", "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'New'" }] } }, { "name": "specimen.collectionEvent.procedure", "caption": "Collection Procedure", "type": "pvs", "attr": "collection-procedure", "defaultValue": "Not Specified", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'New'" }] } },{ "name": "specimen.receivedEvent.user", "caption": "Processing User", "type": "user", "defaultValue": "current_user", "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'New'" }] }, "subFields": [{ "name": "emailAddress", "caption": "Processor Email Address" }] }, { "name": "specimen.receivedEvent.receivedQuality", "caption": "Processing Quality", "type": "pvs", "attr": "received-quality", "defaultValue": "Acceptable", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'New'" }] } }, { "name": "specimen.events.SpecimenTissueReviewEvent.lymphocyticPct", "caption": "Lymphocytic Percentage", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Tissue'" }] } }, { "name": "specimen.events.SpecimenTissueReviewEvent.necrosisPct", "caption": "Necrosis Percentage", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Tissue'" }] } }, { "name": "specimen.events.SpecimenTissueReviewEvent.totalCellularityPct", "caption": "Total Cellularity Percentage", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Tissue'" }] } }, { "name": "specimen.events.SpecimenCellReviewEvent.viableCellPct", "caption": "Viable Cell Percentage", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Cell'" }] } }, { "name": "specimen.events.SpecimenFluidEvent.cellCount", "caption": "Cell Count", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Fluid'" }] } }, { "name": "specimen.events.SpecimenMolecularReviewEvent.absorbanceAt260", "caption": "Absorbance at 260", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Molecular'" }] } }, { "name": "specimen.events.SpecimenMolecularReviewEvent.absorbanceAt280", "caption": "Absorbance at 280", "type": "text", "optional": true, "showIf": { "op": "AND", "rules": [{ "field": "specimen.specimenClass", "op": "==", "value": "'Molecular'" }] } } ] } }, { "name": "rde", "data": { "regFields": [{ "name": "cpr.ppid", "baseField": "cpr.ppid" },{ "name": "cpr.registrationDate", "baseField": "cpr.registrationDate" }, { "name": "cpr.participant.empi", "baseField": "cpr.participant.empi" }, { "name": "cpr.participant.gender", "baseField": "cpr.participant.gender" }, { "name": "cpr.participant.ethnicities", "baseField": "cpr.participant.ethnicities" }, { "name": "cpr.participant.races", "baseField": "cpr.participant.races" },{ "name": "cpr.participant.extensionDetail.attrsMap.NT2", "baseField": "cpr.participant.extensionDetail.attrsMap.NT2" } ], "visitFields": [ [{ "name": "visit.site", "baseField": "visit.site" }, { "name": "visit.visitDate", "baseField": "visit.visitDate" } ], [{ "name": "visit.clinicalDiagnoses", "baseField": "visit.clinicalDiagnoses" }, { "name": "visit.comments", "baseField": "visit.comments", "width": "100%" }] ], "specimenFields": [ { "title": "Serum Aliquots", "criteria": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'Aliquot'" }, { "field": "specimen.type", "op": "==", "value": "'Serum'" } ] }, "fields": [{ "name": "specimen.label", "baseField": "specimen.label", "type": "span" }, { "name": "specimen.barcode", "baseField": "specimen.barcode", "type": "span" }, { "name": "specimen.parentLabel", "baseField": "specimen.parentLabel", "type": "span" }, { "name": "specimen.createdOn", "baseField": "specimen.createdOn" },{ "name": "specimen.storageLocation", "baseField": "specimen.storageLocation" } ] }, { "title": "Plasma Aliquots", "criteria": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'Aliquot'" }, { "field": "specimen.type", "op": "==", "value": "'Plasma'" } ] }, "fields": [{ "name": "specimen.label", "baseField": "specimen.label", "type": "span" }, { "name": "specimen.barcode", "baseField": "specimen.barcode", "type": "span" }, { "name": "specimen.parentLabel", "baseField": "specimen.parentLabel", "type": "span" }, { "name": "specimen.createdOn", "baseField": "specimen.createdOn" },{ "name": "specimen.storageLocation", "baseField": "specimen.storageLocation" } ] }, { "title": "Urine Aliquots", "criteria": { "op": "AND", "rules": [{ "field": "specimen.lineage", "op": "==", "value": "'Aliquot'" }, { "field": "specimen.type", "op": "==", "value": "'Urine'" } ] }, "fields": [{ "name": "specimen.label", "baseField": "specimen.label", "type": "span" }, { "name": "specimen.barcode", "baseField": "specimen.barcode", "type": "span" }, { "name": "specimen.parentLabel", "baseField": "specimen.parentLabel", "type": "span" }, { "name": "specimen.createdOn", "baseField": "specimen.createdOn" },{ "name": "specimen.storageLocation", "baseField": "specimen.storageLocation" } ] } ], "showPrintLabels": false, "missedReasonReq": false, "boxScanning": false, "emailNotifs": {}, "spmnScanning" : { } } }, { "name": "participant-list-view", "data": { "columns": [ { "expr": "Participant.ppid", "caption": "Participant Protocol ID", "metainfo": { "showLink": "true" } }, { "expr": "Participant.empi", "caption": "Master Patient Index" }, { "expr": "Participant.regDate", "caption": "Registration Date" } ], "criteria": "Participant.id exists", "orderBy": [ { "expr": "Participant.regDate", "direction": "desc" } ], "filters": [ { "expr": "Participant.ppid", "caption": "Participant Protocol ID", "searchType": "contains" }, { "expr": "Participant.empi", "caption": "Master Patient Index", "searchType": "contains", "metainfo": { "phi": "true" } }, { "expr": "Participant.regDate", "caption": "Registration Date" } ] } } ] |
Step 5: Configurable to add additional details about the aliquots- any fields like frozen time, spun time etc. can be entered for all aliquots on this page
This is an optional step and can be configured to show specific fields per aliquot.
Add visit name on participant and visit registration in RDE
Previously on the RDE visit screen, the only visit field was 'Event name'. The system used to autogenerate the visit names according to the default format or the one provided by the user. Now the visit name can be taken as user input and used as a part of the specimen labels.
Add the below-mentioned code block in the section 'regFields' of the JSON to add the visit name field on the 'Collect Visit Details' page. Refer to page Configuring RDE for details on JSON configuration.
{ "name": "visit.name", "caption": "Requisition ID", "type": "text", "regVisit": true }
The 'Collect Visit Details' page would look like the screenshot mentioned below, where the field 'Requisition ID' is the visit name
Enable standard tree-view/nth-step specimen collection within RDE (v7.1)
This feature allows you to:
- Show the tree-view/nth step collection page.
- Collection of specimens for multiple patients one after another in a loop
- Data entry screens look similar to single entry mode
- Skip the RDE configuration: If "collectionWorkflow": "standard", it shows the standard collection page
... { "name": "rde", "data": { ... "collectionWorkflow": "standard" ... } } ...
[ { "name" : "specimenCollection", "view" : null, "ctrl" : null, "data" : { "showVisitDetails" : true, "showCollectionEvent" : false, "showReceivedEvent" : false, "defReceiveQuality" : "Acceptable", "fieldGroups" : [ { "title" : "Primary Specimen Details", "criteria" : { "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" } ] }, "enableCofrc" : false, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.receivedEvent.receivedQuality", "baseField" : "specimen.receivedEvent.receivedQuality" }, { "name" : "specimen.biohazards", "baseField" : "specimen.biohazards" }, { "name" : "specimen.extensionDetail.attrsMap.DD5", "baseField" : "specimen.extensionDetail.attrsMap.DD5" }, { "name" : "specimen.collectionEvent.procedure", "baseField" : "specimen.collectionEvent.procedure" }, { "name" : "specimen.collectionEvent.time", "baseField" : "specimen.collectionEvent.time" }, { "name" : "specimen.extensionDetail.attrsMap.DD6", "baseField" : "specimen.extensionDetail.attrsMap.DD6" }, { "name" : "specimen.receivedEvent.time", "baseField" : "specimen.receivedEvent.time" }, { "name" : "specimen.extensionDetail.attrsMap.DD8", "baseField" : "specimen.extensionDetail.attrsMap.DD8" }, { "name" : "specimen.createdBy", "baseField" : "specimen.createdBy", "caption" : "Processed By User" }, { "name" : "specimen.createdOn", "baseField" : "specimen.createdOn", "caption" : "Processed Time" }, { "name" : "specimen.extensionDetail.attrsMap.DD9", "baseField" : "specimen.extensionDetail.attrsMap.DD9" } ] }, { "title" : "Derived: Processing details", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Derived'" } ] }, "enableCofrc" : false, "hideTable" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.createdOn", "baseField" : "specimen.createdOn", "caption" : "Processed Time" }, { "name" : "specimen.extensionDetail.attrsMap.DD9", "baseField" : "specimen.extensionDetail.attrsMap.DD9" }, { "name" : "specimen.createdBy", "baseField" : "specimen.createdBy", "caption" : "Processed By User" } ] }, { "title" : "Frozen Details: Blood Samples", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" }, { "field" : "specimen.type", "op" : ".search('CBMC|Cord Blood, Arterial|Cord Blood, venous|Granulocytes|PBMC|Plasma, Lith Hep|Plasma, spun once, EDTA Potassium|Serum|Whole Blood|Whole blood, Clot activated|Whole Blood, EDTA|Whole Blood, FACS|Whole Blood, Lith Hep|Whole Blood, NH Trace|Whole Blood, PAX|Whole Blood, RPMI') != ", "value" : "-1" } ] }, "enableCofrc" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "events.SpecimenFrozenEvent.time", "baseField" : "specimen.events.SpecimenFrozenEvent.time" }, { "name" : "events.SpecimenFrozenEvent.user", "baseField" : "specimen.events.SpecimenFrozenEvent.user", "caption" : "Frozen By" }, { "name" : "events.SpecimenFrozenEvent.comments", "baseField" : "specimen.events.SpecimenFrozenEvent.comments" }, { "name" : "events.SpecimenFrozenEvent.frozenMethod", "baseField" : "specimen.events.SpecimenFrozenEvent.frozenMethod", "caption" : "Frozen Method", "defaultValue" : "Not Specified", "hideColumn" : true } ] }, { "title" : "Frozen Details: Other Samples", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" }, { "field" : "specimen.type", "op" : ".search('CBMC|Cord Blood, Arterial|Cord Blood, venous|Granulocytes|PBMC|Plasma, Lith Hep|Plasma, spun once, EDTA Potassium|Serum|Whole Blood|Whole blood, Clot activated|Whole Blood, EDTA|Whole Blood, FACS|Whole Blood, Lith Hep|Whole Blood, NH Trace|Whole Blood, PAX|Whole Blood, RPMI|Placenta, MR|Placenta, MM|Placenta, MRNA|Placenta|Placenta, MB|Placenta, PVC|Placenta, PV|Placenta, PVRNA|Placenta, PD|Placenta, membrane|Placenta, biopsy') == ", "value" : "-1" } ] }, "enableCofrc" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "events.SpecimenFrozenEvent.time", "baseField" : "specimen.events.SpecimenFrozenEvent.time" }, { "name" : "events.SpecimenFrozenEvent.user", "baseField" : "specimen.events.SpecimenFrozenEvent.user", "caption" : "Frozen By" }, { "name" : "events.SpecimenFrozenEvent.comments", "baseField" : "specimen.events.SpecimenFrozenEvent.comments" }, { "name" : "events.SpecimenFrozenEvent.frozenMethod", "baseField" : "specimen.events.SpecimenFrozenEvent.frozenMethod", "caption" : "Frozen Method", "defaultValue" : "Not Specified", "hideColumn" : true } ] }, { "title" : "Viability for CBMC/PBMC", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" }, { "field" : "specimen.type", "op" : ".search('CBMC|PBMC') != ", "value" : "-1" } ] }, "enableCofrc" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.extensionDetail.attrsMap.NT4", "baseField" : "specimen.extensionDetail.attrsMap.NT4", "caption" : "Viability" } ] }, { "title" : "Aliquot: Processing details", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" } ] }, "enableCofrc" : true, "hideTable" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.createdOn", "baseField" : "specimen.createdOn", "caption" : "Processed Time" }, { "name" : "specimen.createdBy", "baseField" : "specimen.createdBy", "caption" : "Processed By User" } ] } ] } }, { "name" : "rde", "view" : null, "ctrl" : null, "data" : { "lookupVisit" : "true", "collectionWorkflow" : "standard", "regFields" : [ { "name" : "cpr.ppid", "baseField" : "cpr.ppid", "caption" : "ORIGINS Pregnancy Number" }, { "name" : "cpr.participant.birthDate", "baseField" : "cpr.participant.birthDate", "caption" : "Date Of Birth", "width" : "40px" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD5", "baseField" : "cpr.participant.extensionDetail.attrsMap.DD5", "caption" : "Origins Study Status", "width" : "40px", "type" : "span" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD15", "baseField" : "cpr.participant.extensionDetail.attrsMap.DD15", "caption" : "Mother Consent Form Level", "width" : "40px", "type" : "span" }, { "name" : "cpr.participant.extensionDetail.attrsMap.MLB16", "baseField" : "cpr.participant.extensionDetail.attrsMap.MLB16", "caption" : "Is the mother part of Nested Study?", "width" : "40px", "type" : "span" } ], "visitFields" : [ [ { "name" : "visit.visitDate", "baseField" : "visit.visitDate" } ] ], "specimenFields" : [ { "title" : "Collection Event", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" } ] }, "enableCofrc" : false, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.initialQty", "baseField" : "specimen.initialQty" }, { "name" : "specimen.collectionEvent.user", "baseField" : "specimen.collectionEvent.user" }, { "name" : "specimen.collectionEvent.time", "baseField" : "specimen.collectionEvent.time" } ] }, { "title" : "Maternal Urine Type", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.type", "op" : "==", "value" : "'Urine, random'" } ] }, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.extensionDetail.attrsMap.DD2", "baseField" : "specimen.extensionDetail.attrsMap.DD2" } ] }, { "title" : "Maternal Breast Expression Type", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.type", "op" : "==", "value" : "'Breast Milk'" } ] }, "enableCofrc" : false, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.extensionDetail.attrsMap.DD3", "baseField" : "specimen.extensionDetail.attrsMap.DD3" } ] }, { "title" : "Urine Aliquot Details", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" }, { "field" : "specimen.type", "op" : "==", "value" : "'Urine, random'" } ] }, "enableCofrc" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.initialQty", "baseField" : "specimen.initialQty" }, { "name" : "specimen.storageLocation", "baseField" : "specimen.storageLocation" }, { "name" : "events.SpecimenFrozenEvent.frozenMethod", "baseField" : "specimen.events.SpecimenFrozenEvent.frozenMethod", "hideColumn" : true }, { "name" : "events.SpecimenFrozenEvent.time", "baseField" : "specimen.events.SpecimenFrozenEvent.time" } ] }, { "title" : "Breast Milk Aliquot Details", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" }, { "field" : "specimen.type", "op" : "==", "value" : "'Breast Milk'" } ] }, "enableCofrc" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.initialQty", "baseField" : "specimen.initialQty" }, { "name" : "specimen.storageLocation", "baseField" : "specimen.storageLocation" }, { "name" : "events.SpecimenFrozenEvent.frozenMethod", "baseField" : "specimen.events.SpecimenFrozenEvent.frozenMethod", "hideColumn" : true }, { "name" : "events.SpecimenFrozenEvent.time", "baseField" : "specimen.events.SpecimenFrozenEvent.time" } ] } ], "showPrintLabels" : false, "missedReasonReq" : false, "boxScanning" : true, "boxLayouts" : [ { "rows" : 8, "columns" : 12, "newRowOnChange" : [ "ppid" ], "cellWidth" : "200px", "criteria" : { "op" : "OR", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Serum'" } ] } }, { "rows" : 6, "columns" : 8, "newRowOnChange" : [ "ppid" ], "cellWidth" : "200px", "criteria" : { "op" : "OR", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Plasma, Lith Hep'" } ] } }, { "rows" : 8, "columns" : 8, "newRowOnChange" : [ "ppid" ], "cellWidth" : "200px", "criteria" : { "op" : "OR", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Breast Milk'" } ] } }, { "rows" : 10, "columns" : 10, "newRowOnChange" : [ "ppid" ], "cellWidth" : "200px", "criteria" : { "op" : "OR", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Urine, random'" } ] } } ], "emailNotifs" : { }, "spmnScanning" : { } } }, { "name" : "dictionary", "view" : null, "ctrl" : null, "data" : { "fields" : [ { "name" : "cpr.ppid", "caption" : "ORIGINS Pregnancy Number", "type" : "text", "optional" : false, "showIf" : { "op" : "OR", "rules" : [ { "field" : "cp.ppidFmt", "op" : "not_exist" }, { "field" : "cp.manualPpidEnabled", "op" : "exists" } ] } }, { "name" : "cpr.participant.extensionDetail.attrsMap.NT28", "caption" : "ORIGINS Unique ID", "type" : "text", "optional" : true }, { "name" : "cpr.participant.birthDate", "caption" : "Date of Birth", "type" : "date", "dateOnly" : true, "optional" : true }, { "name" : "cpr.registrationDate", "caption" : "Registration Date", "type" : "date", "dateOnly" : true, "optional" : true, "defaultValue" : "current_date" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DP3", "caption" : "Estimated Date of Delivery", "type" : "date", "optional" : true }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD20", "caption" : "Birthing Hospital", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD20" } } } }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST29", "caption" : "Please specify other Hospital", "type" : "text", "optional" : true }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD13", "caption" : "Obstetrician", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD13" } } }, "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.extensionDetail.attrsMap.DD20", "op" : "==", "value" : "'JHC Private'" } ] } }, { "name" : "cpr.participant.deathDate", "caption" : "Deceased Date", "type" : "date", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.vitalStatus", "op" : "==", "value" : "'Deceased'" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD5", "caption" : "ORIGINS Study Status", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD5" } } } }, { "name" : "cpr.participant.extensionDetail.attrsMap.DP6", "caption" : "Date of withdrawal", "type" : "date", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.extensionDetail.attrsMap.DD5", "op" : "==", "value" : "'Withdrawn'" } ] }, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.DP6" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD7", "caption" : "Level of Withdrawal", "type" : "dropdown", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.extensionDetail.attrsMap.DD5", "op" : "==", "value" : "'Withdrawn'" } ] }, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD7" } } }, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.DD7" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DP8", "caption" : "Date Samples Destroyed", "type" : "date", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.extensionDetail.attrsMap.DD5", "op" : "==", "value" : "'Withdrawn'" }, { "field" : "cpr.participant.extensionDetail.attrsMap.DD7", "op" : "==", "value" : "'No further follow-up with samples destroyed'" } ] }, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.DP8" }, { "name" : "cpr.participant.extensionDetail.attrsMap.RB9", "caption" : "Has the mother consented to DNA analysis?", "type" : "radio", "optional" : true, "options" : [ "Yes", "No" ] }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD11", "caption" : "Enrolment Gestation", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD11" } } } }, { "name" : "cpr.participant.extensionDetail.attrsMap.TA14", "caption" : "Comments", "type" : "textarea", "optional" : true }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD15", "caption" : "Mother Consent Form Level", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD15" } } } }, { "name" : "cpr.participant.extensionDetail.attrsMap.MLB16", "caption" : "Is the mother part of Nested Study?", "type" : "dropdown", "multiple" : true, "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "MLB16" } } } }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST30", "caption" : "SYMBA ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST30" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST31", "caption" : "BENEFIT ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST31" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST32", "caption" : "TALK ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST32" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST33", "caption" : "ENGAGE ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST33" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST34", "caption" : "AERIAL ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST34" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST35", "caption" : "PREGGNUT ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST35" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST36", "caption" : "EARLYMOVES ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST36" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST37", "caption" : "SCREENS ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST37" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST38", "caption" : "SUNPREG ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST38" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST39", "caption" : "ACE ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST39" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST40", "caption" : "MMM ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST40" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST41", "caption" : "CUB ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST41" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST42", "caption" : "COCOON ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST42" }, { "name" : "visit.name", "caption" : "Visit Name", "type" : "text", "optional" : true, "showIf" : { "op" : "OR", "rules" : [ { "field" : "cp.visitNameFmt", "op" : "not_exist" }, { "field" : "cp.manualVisitNameEnabled", "op" : "exists" } ] } }, { "name" : "visit.status", "caption" : "Status", "type" : "dropdown", "optional" : true, "listSource" : { "options" : [ { "value" : "Pending" }, { "value" : "Missed Collection" }, { "value" : "Complete" } ], "displayProp" : "value", "selectProp" : "value" } }, { "name" : "visit.missedBy", "caption" : "Missed By", "type" : "user", "defaultValue" : "current_user", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "==", "value" : "'Missed Collection'" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "visit.missedReason", "caption" : "Missed Reason", "type" : "pvs", "attr" : "missed-visit-reason", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "==", "value" : "'Missed Collection'" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "visit.visitDate", "caption" : "Visit Date", "type" : "date", "defaultValue" : "current_date", "optional" : false }, { "name" : "visit.site", "caption" : "Site", "type" : "dropdown", "multiple" : false, "optional" : false, "listSource" : { "apiUrl" : "sites", "displayProp" : "name", "selectProp" : "name", "queryParams" : { "dynamic" : { }, "static" : { "listAll" : true } } }, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "!=", "value" : "'Missed Collection'" } ] } }, { "name" : "visit.clinicalDiagnoses", "caption" : "Clinical Diagnoses", "type" : "pvs", "attr" : "clinical_diagnosis", "optional" : true, "multiple" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "!=", "value" : "'Missed Collection'" } ] } }, { "name" : "visit.clinicalStatus", "caption" : "Clinical Status", "type" : "pvs", "attr" : "clinical-status", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "!=", "value" : "'Missed Collection'" } ] } }, { "name" : "visit.surgicalPathologyNumber", "caption" : "Surgical Pathology Number", "type" : "text", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "!=", "value" : "'Missed Collection'" } ] } }, { "name" : "visit.comments", "caption" : "Comments", "type" : "textarea", "optional" : true }, { "name" : "specimen.label", "caption" : "Label", "type" : "text", "optional" : true, "showIf" : { "op" : "OR", "rules" : [ { "field" : "specimen.labelFmt", "op" : "not_exist" }, { "field" : "cp.manualSpecLabelEnabled", "op" : "exists" } ] } }, { "name" : "specimen.barcode", "caption" : "Barcode", "type" : "text", "optional" : true }, { "name" : "specimen.lineage", "caption" : "Lineage", "type" : "radio", "optional" : false, "options" : [ { "value" : "New", "caption" : "New" }, { "value" : "Derived", "caption" : "Derived" }, { "value" : "Aliquot", "caption" : "Aliquot" } ] }, { "name" : "specimen.status", "caption" : "Collection Status", "type" : "dropdown", "optional" : true, "listSource" : { "selectProp" : "value", "displayProp" : "value", "options" : [ { "value" : "Collected" }, { "value" : "Missed Collection" }, { "value" : "Pending" } ] } }, { "name" : "specimen.type", "caption" : "Type", "type" : "specimen-type", "specimen" : "specimen", "optional" : false, "defaultValue" : "Not Specified", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "!=", "value" : "'Aliquot'" } ] } }, { "name" : "specimen.initialQty", "caption" : "Initial Quantity", "type" : "specimen-quantity", "specimen" : "specimen", "optional" : true }, { "name" : "specimen.availableQty", "caption" : "Available Quantity", "type" : "specimen-quantity", "showInOverviewIf" : "useShowIf", "specimen" : "specimen", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" } ] }, "optional" : true }, { "name" : "specimen.concentration", "caption" : "Concentration", "type" : "specimen-quantity", "specimen" : "specimen", "measure" : "concentration", "pattern" : "/^([0-9]+|[0-9]*\\.?[0-9]+[e]?[+-]?[0-9]*)$/", "optional" : true }, { "name" : "specimen.parentLabel", "caption" : "Parent Specimen", "type" : "text", "optional" : false, "url" : "specimen({specimenId: specimen.parentId})", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "!=", "value" : "'New'" } ] }, "modelOpts" : { "updateOn" : "blur" }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.biohazards", "caption" : "Biohazards", "type" : "pvs", "multiple" : true, "attr" : "specimen-biohazard", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.extensionDetail.attrsMap.DD5", "caption" : "Method of transport", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD5" } } } }, { "name" : "specimen.extensionDetail.attrsMap.DD6", "caption" : "Collection Details", "type" : "dropdown", "showInOverviewIf" : "!!specimen.extensionDetail.attrsMap.DD6", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD6" } } } }, { "name" : "specimen.extensionDetail.attrsMap.DD8", "caption" : "Received Details", "type" : "dropdown", "showInOverviewIf" : "!!specimen.extensionDetail.attrsMap.DD8", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD8" } } } }, { "name" : "specimen.extensionDetail.attrsMap.DD9", "caption" : "Processing Details", "type" : "dropdown", "showInOverviewIf" : "!!specimen.extensionDetail.attrsMap.DD9", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD9" } } } }, { "name" : "specimen.storageLocation", "caption" : "Location", "type" : "storage-position", "optional" : true, "cpId" : "specimen.cpId", "entity" : "specimen", "url" : "container-detail.locations({containerId: specimen.storageLocation.id})", "subFields" : [ { "name" : "name", "caption" : "Container Name" }, { "name" : "positionY", "caption" : "Container Row" }, { "name" : "positionX", "caption" : "Container Column" } ] }, { "name" : "specimen.createdOn", "caption" : "Created On", "type" : "datetime", "optional" : false, "copyValueFn" : "function(firstRowVal, currentVal) { if (!!currentVal) { return currentVal; } else { return ''; } }", "defaultValue" : "current_date", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "!=", "value" : "'New'" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.createdBy", "caption" : "Created By", "type" : "user", "defaultValue" : "current_user", "optional" : true, "copyValueFn" : "function(firstRowVal, currentVal) { if (!!currentVal) { return currentVal; } else { return ''; } }", "listSource" : { "queryParams" : { "static" : { "excludeType" : "CONTACT" } } } }, { "name" : "specimen.freezeThawCycles", "caption" : "Freeze Thaw Cycles", "type" : "text", "optional" : true, "pattern" : "/^[0-9][0-9]*$/" }, { "name" : "specimen.incrParentFreezeThaw", "caption" : "Increment parent specimen's Freeze/Thaw cycles?", "type" : "radio", "optional" : true, "options" : [ { "caption" : "Yes", "value" : 1 }, { "caption" : "No", "value" : 0 } ], "showInOverviewIf" : "!!specimen.incrParentFreezeThaw" }, { "name" : "specimen.comments", "caption" : "Comments", "type" : "textarea", "optional" : true }, { "name" : "specimen.collectionEvent.time", "caption" : "Collection Date & Time", "type" : "datetime", "defaultValue" : "current_date", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.collectionEvent.user", "caption" : "Collector", "type" : "user", "defaultValue" : "current_user", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf", "subFields" : [ { "name" : "emailAddress", "caption" : "Collector Email Address" } ] }, { "name" : "specimen.collectionEvent.container", "caption" : "Collection Container", "type" : "pvs", "attr" : "collection-container", "optional" : true, "defaultValue" : "Not Specified", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.collectionEvent.procedure", "caption" : "Collection Procedure", "type" : "pvs", "attr" : "collection-procedure", "copyValueFn" : "function(firstRowVal, currentVal) { if (!!currentVal) { return currentVal; } else { return ''; } }", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.receivedEvent.user", "caption" : "Receiver", "type" : "user", "defaultValue" : "current_user", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf", "subFields" : [ { "name" : "emailAddress", "caption" : "Collector Email Address" } ] }, { "name" : "specimen.receivedEvent.time", "caption" : "Received Date & Time", "type" : "datetime", "defaultValue" : "current_date", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.receivedEvent.receivedQuality", "caption" : "Received Quality", "type" : "pvs", "attr" : "received-quality", "defaultValue" : "Acceptable", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.externalIds", "type" : "collection", "fields" : [ { "name" : "name", "caption" : "External Name", "type" : "text", "optional" : true }, { "name" : "value", "caption" : "External Value", "type" : "text", "optional" : true } ] }, { "name" : "specimen.extensionDetail.attrsMap.DD2", "caption" : "Urine Type", "type" : "dropdown", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Urine'" } ] }, "showInOverviewIf" : "useShowIf", "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD2" } } } }, { "name" : "specimen.extensionDetail.attrsMap.DD3", "caption" : "Breast Milk Expression Type", "type" : "dropdown", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Breast Milk'" } ] }, "showInOverviewIf" : "useShowIf", "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD3" } } } }, { "name" : "specimen.extensionDetail.attrsMap.NT4", "caption" : "Viability", "type" : "text", "optional" : true, "showInOverviewIf" : "!!specimen.extensionDetail.attrsMap.NT4", "pattern" : "/^[1-9][0-9]*$/" }, { "name" : "specimen.events.SpecimenFrozenEvent.time", "caption" : "Frozen Time", "type" : "datetime", "defaultValue" : "current_date" }, { "name" : "specimen.events.SpecimenFrozenEvent.user", "caption" : "Frozen By", "type" : "user", "defaultValue" : "current_user" }, { "name" : "specimen.events.SpecimenFrozenEvent.frozenMethod", "caption" : "Frozen Method", "type" : "pvs", "attr" : "frozen_method", "defaultValue" : "Not Specified" }, { "name" : "specimen.events.SpecimenFrozenEvent.comments", "caption" : "Frozen Comments", "type" : "textarea" } ], "onValueChange" : { "specimen.createdBy" : [ "function(opts) {", " var user = opts.fns.get(opts.object, opts.field); ", " opts.viewCtx.setToAllChildren(opts.object, opts.field, user, true); ", "}" ], "specimen.createdOn" : [ "function(opts) {", " var user = opts.fns.get(opts.object, opts.field); ", " opts.viewCtx.setToAllChildren(opts.object, opts.field, user, true); ", "}" ], "specimen.extensionDetail.attrsMap.DD9" : [ "function(opts) {", " var user = opts.fns.get(opts.object, opts.field); ", " opts.viewCtx.setToAllChildren(opts.object, opts.field, user, true); ", "}" ] } } }, { "name" : "visitsTab", "view" : null, "ctrl" : null, "data" : { "occurred" : [ { "field" : "visit.name", "baseField" : "visit.name", "width" : "150px" }, { "field" : "visit.visitDate", "baseField" : "visit.visitDate", "width" : "100px" } ], "anticipatedEvents" : [ { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('SYMBA') > -1 && cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('PREGGNUT') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Sym4Mnth", "Preg4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('SYMBA') > -1 && cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('BENEFIT') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Sym4Mnth", "Ben4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('PREGGNUT') > -1 && cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('BENEFIT') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Preg4Mnth", "Ben4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('SYMBA') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Sym4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('PREGGNUT') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Preg4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('BENEFIT') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Ben4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.DD15 == 'Full ORIGINS Project Participation'", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.DD15 == 'Routine Data Collection'", "events" : [ "30WK" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.DD15 == 'Release of Australian Govt Data only'", "events" : [ "None" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.DD15 == null && cpr.participant.extensionDetail.attrsMap.MLB16== null", "events" : [ "None" ] } ] } }, { "name" : "participant-list-view", "view" : null, "ctrl" : null, "data" : { "columns" : [ { "expr" : "Participant.ppid", "caption" : "ORIGINS Pregnancy Number", "metainfo" : { "showLink" : "true" } }, { "expr" : "Participant.customFields.participantInfoForm.oRIGINSUniqueID", "caption" : "ORIGINS Unique ID" }, { "expr" : "Participant.regDate", "caption" : "Registration Date" }, { "expr" : "Participant.customFields.participantInfoForm.participantStudyStatus", "caption" : "Participant Study Status" }, { "expr" : "Participant.customFields.participantInfoForm.participantConsentFormLevel", "caption" : "Participant Consent Form Level" }, { "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" : "ORIGINS Pregnancy Number", "searchType" : "contains" }, { "expr" : "Participant.customFields.participantInfoForm.oRIGINSUniqueID", "caption" : "Unique ID" }, { "expr" : "Participant.customFields.participantInfoForm.participantStudyStatus", "caption" : "Participant Study Status" }, { "expr" : "Participant.customFields.participantInfoForm.participantConsentFormLevel", "caption" : "Participant Consent Form Level" }, { "expr" : "Participant.regDate", "caption" : "Registration Date" }, { "expr" : "years_between(current_date(), Participant.dateOfBirth)", "caption" : "Age", "temporal" : "true", "metainfo" : { "phi" : "true" } } ] } }, { "name" : "specimenTree", "view" : null, "ctrl" : null, "data" : { "defaultExpandDepth" : 0, "fields" : [ { "name" : "specimen", "caption" : "Description", "type" : "specimen-description", "width" : "30%" }, { "name" : "specimen.label", "baseField" : "specimen.label", "width" : "20%" }, { "name" : "specimen.storageLocation", "baseField" : "specimen.storageLocation", "width" : "20%" }, { "name" : "specimen.availableQty", "baseField" : "specimen.availableQty", "caption" : "Volume", "width" : "10%" } ] } }, { "name" : "specimen-list-view", "view" : null, "ctrl" : null, "data" : { "columns" : [ { "expr" : "Specimen.label", "caption" : "Label", "metainfo" : { "showLink" : "true" } }, { "expr" : "Specimen.createdOn", "caption" : "Created On" }, { "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 = \"Active\"", "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.availableQty", "caption" : "Quantity" } ] } } ]
Screenshots:
- Add multiple patients with event timepoints → Proceed to Collect Specimens.
2. Patient-1 (RDE-TST-001): Shows standard specimen collection page based on the above JSON configuration, and it skips the RDE layout.
3. Shows nth steps if present in the JSON workflow as below,
4. Once submitted, it navigates to the collection page for the second patient (RDE-TST-002)
Configuration to use the existing visit (v7.1)
To reuse the existing visit for the timepoint selected during RDE data entry instead of creating a new visit, the following attribute should be added to the RDE section of the workflow JSON:
... ... { "name": "rde", "data": { ... "lookupVisit": "true" ... } } ...
Use-cases: During RDE data entry, if the above flag(lookupVisit) is set to true, below are different use cases of how it will work when a time point is selected and you can proceed to collect specimens:
Sr No. | Test Case | Results |
---|---|---|
1 | Only one visit exist for the time point selected | Uses the same visit and show all the pending specimen to collect |
2 | No visit exists | Create new visit |
3 | More than one complete visit exists - with different visit dates | Choose the latest visit for collection |
4 | One complete and one pending visit exists | Uses the Pending visit |
5 | One complete and one missed visit exists | Uses the complete visit to collect the pending specimens |
6 | Only 1 missed visit exists | Create new visit |
7 | Visit exist with few specimens collected | Throw error saying, No pending specimens to collect in this visit. |
[ { "name" : "specimenCollection", "view" : null, "ctrl" : null, "data" : { "showVisitDetails" : true, "showCollectionEvent" : false, "showReceivedEvent" : false, "defReceiveQuality" : "Acceptable", "fieldGroups" : [ { "title" : "Primary Specimen Details", "criteria" : { "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" } ] }, "enableCofrc" : false, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.receivedEvent.receivedQuality", "baseField" : "specimen.receivedEvent.receivedQuality" }, { "name" : "specimen.biohazards", "baseField" : "specimen.biohazards" }, { "name" : "specimen.extensionDetail.attrsMap.DD5", "baseField" : "specimen.extensionDetail.attrsMap.DD5" }, { "name" : "specimen.collectionEvent.procedure", "baseField" : "specimen.collectionEvent.procedure" }, { "name" : "specimen.collectionEvent.time", "baseField" : "specimen.collectionEvent.time" }, { "name" : "specimen.extensionDetail.attrsMap.DD6", "baseField" : "specimen.extensionDetail.attrsMap.DD6" }, { "name" : "specimen.receivedEvent.time", "baseField" : "specimen.receivedEvent.time" }, { "name" : "specimen.extensionDetail.attrsMap.DD8", "baseField" : "specimen.extensionDetail.attrsMap.DD8" }, { "name" : "specimen.createdBy", "baseField" : "specimen.createdBy", "caption" : "Processed By User" }, { "name" : "specimen.createdOn", "baseField" : "specimen.createdOn", "caption" : "Processed Time" }, { "name" : "specimen.extensionDetail.attrsMap.DD9", "baseField" : "specimen.extensionDetail.attrsMap.DD9" } ] }, { "title" : "Derived: Processing details", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Derived'" } ] }, "enableCofrc" : false, "hideTable" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.createdOn", "baseField" : "specimen.createdOn", "caption" : "Processed Time" }, { "name" : "specimen.extensionDetail.attrsMap.DD9", "baseField" : "specimen.extensionDetail.attrsMap.DD9" }, { "name" : "specimen.createdBy", "baseField" : "specimen.createdBy", "caption" : "Processed By User" } ] }, { "title" : "Frozen Details: Blood Samples", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" }, { "field" : "specimen.type", "op" : ".search('CBMC|Cord Blood, Arterial|Cord Blood, venous|Granulocytes|PBMC|Plasma, Lith Hep|Plasma, spun once, EDTA Potassium|Serum|Whole Blood|Whole blood, Clot activated|Whole Blood, EDTA|Whole Blood, FACS|Whole Blood, Lith Hep|Whole Blood, NH Trace|Whole Blood, PAX|Whole Blood, RPMI') != ", "value" : "-1" } ] }, "enableCofrc" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "events.SpecimenFrozenEvent.time", "baseField" : "specimen.events.SpecimenFrozenEvent.time" }, { "name" : "events.SpecimenFrozenEvent.user", "baseField" : "specimen.events.SpecimenFrozenEvent.user", "caption" : "Frozen By" }, { "name" : "events.SpecimenFrozenEvent.comments", "baseField" : "specimen.events.SpecimenFrozenEvent.comments" }, { "name" : "events.SpecimenFrozenEvent.frozenMethod", "baseField" : "specimen.events.SpecimenFrozenEvent.frozenMethod", "caption" : "Frozen Method", "defaultValue" : "Not Specified", "hideColumn" : true } ] }, { "title" : "Frozen Details: Other Samples", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" }, { "field" : "specimen.type", "op" : ".search('CBMC|Cord Blood, Arterial|Cord Blood, venous|Granulocytes|PBMC|Plasma, Lith Hep|Plasma, spun once, EDTA Potassium|Serum|Whole Blood|Whole blood, Clot activated|Whole Blood, EDTA|Whole Blood, FACS|Whole Blood, Lith Hep|Whole Blood, NH Trace|Whole Blood, PAX|Whole Blood, RPMI|Placenta, MR|Placenta, MM|Placenta, MRNA|Placenta|Placenta, MB|Placenta, PVC|Placenta, PV|Placenta, PVRNA|Placenta, PD|Placenta, membrane|Placenta, biopsy') == ", "value" : "-1" } ] }, "enableCofrc" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "events.SpecimenFrozenEvent.time", "baseField" : "specimen.events.SpecimenFrozenEvent.time" }, { "name" : "events.SpecimenFrozenEvent.user", "baseField" : "specimen.events.SpecimenFrozenEvent.user", "caption" : "Frozen By" }, { "name" : "events.SpecimenFrozenEvent.comments", "baseField" : "specimen.events.SpecimenFrozenEvent.comments" }, { "name" : "events.SpecimenFrozenEvent.frozenMethod", "baseField" : "specimen.events.SpecimenFrozenEvent.frozenMethod", "caption" : "Frozen Method", "defaultValue" : "Not Specified", "hideColumn" : true } ] }, { "title" : "Viability for CBMC/PBMC", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" }, { "field" : "specimen.type", "op" : ".search('CBMC|PBMC') != ", "value" : "-1" } ] }, "enableCofrc" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.extensionDetail.attrsMap.NT4", "baseField" : "specimen.extensionDetail.attrsMap.NT4", "caption" : "Viability" } ] }, { "title" : "Aliquot: Processing details", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" } ] }, "enableCofrc" : true, "hideTable" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.createdOn", "baseField" : "specimen.createdOn", "caption" : "Processed Time" }, { "name" : "specimen.createdBy", "baseField" : "specimen.createdBy", "caption" : "Processed By User" } ] } ] } }, { "name" : "rde", "view" : null, "ctrl" : null, "data" : { "lookupVisit" : "true", "collectionWorkflow" : "standard", "regFields" : [ { "name" : "cpr.ppid", "baseField" : "cpr.ppid", "caption" : "ORIGINS Pregnancy Number" }, { "name" : "cpr.participant.birthDate", "baseField" : "cpr.participant.birthDate", "caption" : "Date Of Birth", "width" : "40px" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD5", "baseField" : "cpr.participant.extensionDetail.attrsMap.DD5", "caption" : "Origins Study Status", "width" : "40px", "type" : "span" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD15", "baseField" : "cpr.participant.extensionDetail.attrsMap.DD15", "caption" : "Mother Consent Form Level", "width" : "40px", "type" : "span" }, { "name" : "cpr.participant.extensionDetail.attrsMap.MLB16", "baseField" : "cpr.participant.extensionDetail.attrsMap.MLB16", "caption" : "Is the mother part of Nested Study?", "width" : "40px", "type" : "span" } ], "visitFields" : [ [ { "name" : "visit.visitDate", "baseField" : "visit.visitDate" } ] ], "specimenFields" : [ { "title" : "Collection Event", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" } ] }, "enableCofrc" : false, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.initialQty", "baseField" : "specimen.initialQty" }, { "name" : "specimen.collectionEvent.user", "baseField" : "specimen.collectionEvent.user" }, { "name" : "specimen.collectionEvent.time", "baseField" : "specimen.collectionEvent.time" } ] }, { "title" : "Maternal Urine Type", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.type", "op" : "==", "value" : "'Urine, random'" } ] }, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.extensionDetail.attrsMap.DD2", "baseField" : "specimen.extensionDetail.attrsMap.DD2" } ] }, { "title" : "Maternal Breast Expression Type", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.type", "op" : "==", "value" : "'Breast Milk'" } ] }, "enableCofrc" : false, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.extensionDetail.attrsMap.DD3", "baseField" : "specimen.extensionDetail.attrsMap.DD3" } ] }, { "title" : "Urine Aliquot Details", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" }, { "field" : "specimen.type", "op" : "==", "value" : "'Urine, random'" } ] }, "enableCofrc" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.initialQty", "baseField" : "specimen.initialQty" }, { "name" : "specimen.storageLocation", "baseField" : "specimen.storageLocation" }, { "name" : "events.SpecimenFrozenEvent.frozenMethod", "baseField" : "specimen.events.SpecimenFrozenEvent.frozenMethod", "hideColumn" : true }, { "name" : "events.SpecimenFrozenEvent.time", "baseField" : "specimen.events.SpecimenFrozenEvent.time" } ] }, { "title" : "Breast Milk Aliquot Details", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" }, { "field" : "specimen.type", "op" : "==", "value" : "'Breast Milk'" } ] }, "enableCofrc" : true, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.initialQty", "baseField" : "specimen.initialQty" }, { "name" : "specimen.storageLocation", "baseField" : "specimen.storageLocation" }, { "name" : "events.SpecimenFrozenEvent.frozenMethod", "baseField" : "specimen.events.SpecimenFrozenEvent.frozenMethod", "hideColumn" : true }, { "name" : "events.SpecimenFrozenEvent.time", "baseField" : "specimen.events.SpecimenFrozenEvent.time" } ] } ], "showPrintLabels" : false, "missedReasonReq" : false, "boxScanning" : true, "boxLayouts" : [ { "rows" : 8, "columns" : 12, "newRowOnChange" : [ "ppid" ], "cellWidth" : "200px", "criteria" : { "op" : "OR", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Serum'" } ] } }, { "rows" : 6, "columns" : 8, "newRowOnChange" : [ "ppid" ], "cellWidth" : "200px", "criteria" : { "op" : "OR", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Plasma, Lith Hep'" } ] } }, { "rows" : 8, "columns" : 8, "newRowOnChange" : [ "ppid" ], "cellWidth" : "200px", "criteria" : { "op" : "OR", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Breast Milk'" } ] } }, { "rows" : 10, "columns" : 10, "newRowOnChange" : [ "ppid" ], "cellWidth" : "200px", "criteria" : { "op" : "OR", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Urine, random'" } ] } } ], "emailNotifs" : { }, "spmnScanning" : { } } }, { "name" : "dictionary", "view" : null, "ctrl" : null, "data" : { "fields" : [ { "name" : "cpr.ppid", "caption" : "ORIGINS Pregnancy Number", "type" : "text", "optional" : false, "showIf" : { "op" : "OR", "rules" : [ { "field" : "cp.ppidFmt", "op" : "not_exist" }, { "field" : "cp.manualPpidEnabled", "op" : "exists" } ] } }, { "name" : "cpr.participant.extensionDetail.attrsMap.NT28", "caption" : "ORIGINS Unique ID", "type" : "text", "optional" : true }, { "name" : "cpr.participant.birthDate", "caption" : "Date of Birth", "type" : "date", "dateOnly" : true, "optional" : true }, { "name" : "cpr.registrationDate", "caption" : "Registration Date", "type" : "date", "dateOnly" : true, "optional" : true, "defaultValue" : "current_date" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DP3", "caption" : "Estimated Date of Delivery", "type" : "date", "optional" : true }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD20", "caption" : "Birthing Hospital", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD20" } } } }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST29", "caption" : "Please specify other Hospital", "type" : "text", "optional" : true }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD13", "caption" : "Obstetrician", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD13" } } }, "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.extensionDetail.attrsMap.DD20", "op" : "==", "value" : "'JHC Private'" } ] } }, { "name" : "cpr.participant.deathDate", "caption" : "Deceased Date", "type" : "date", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.vitalStatus", "op" : "==", "value" : "'Deceased'" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD5", "caption" : "ORIGINS Study Status", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD5" } } } }, { "name" : "cpr.participant.extensionDetail.attrsMap.DP6", "caption" : "Date of withdrawal", "type" : "date", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.extensionDetail.attrsMap.DD5", "op" : "==", "value" : "'Withdrawn'" } ] }, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.DP6" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD7", "caption" : "Level of Withdrawal", "type" : "dropdown", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.extensionDetail.attrsMap.DD5", "op" : "==", "value" : "'Withdrawn'" } ] }, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD7" } } }, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.DD7" }, { "name" : "cpr.participant.extensionDetail.attrsMap.DP8", "caption" : "Date Samples Destroyed", "type" : "date", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.extensionDetail.attrsMap.DD5", "op" : "==", "value" : "'Withdrawn'" }, { "field" : "cpr.participant.extensionDetail.attrsMap.DD7", "op" : "==", "value" : "'No further follow-up with samples destroyed'" } ] }, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.DP8" }, { "name" : "cpr.participant.extensionDetail.attrsMap.RB9", "caption" : "Has the mother consented to DNA analysis?", "type" : "radio", "optional" : true, "options" : [ "Yes", "No" ] }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD11", "caption" : "Enrolment Gestation", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD11" } } } }, { "name" : "cpr.participant.extensionDetail.attrsMap.TA14", "caption" : "Comments", "type" : "textarea", "optional" : true }, { "name" : "cpr.participant.extensionDetail.attrsMap.DD15", "caption" : "Mother Consent Form Level", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "DD15" } } } }, { "name" : "cpr.participant.extensionDetail.attrsMap.MLB16", "caption" : "Is the mother part of Nested Study?", "type" : "dropdown", "multiple" : true, "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "participantInfoForm", "controlName" : "MLB16" } } } }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST30", "caption" : "SYMBA ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST30" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST31", "caption" : "BENEFIT ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST31" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST32", "caption" : "TALK ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST32" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST33", "caption" : "ENGAGE ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST33" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST34", "caption" : "AERIAL ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST34" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST35", "caption" : "PREGGNUT ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST35" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST36", "caption" : "EARLYMOVES ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST36" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST37", "caption" : "SCREENS ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST37" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST38", "caption" : "SUNPREG ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST38" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST39", "caption" : "ACE ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST39" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST40", "caption" : "MMM ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST40" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST41", "caption" : "CUB ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST41" }, { "name" : "cpr.participant.extensionDetail.attrsMap.ST42", "caption" : "COCOON ID", "type" : "date", "optional" : true, "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.ST42" }, { "name" : "visit.name", "caption" : "Visit Name", "type" : "text", "optional" : true, "showIf" : { "op" : "OR", "rules" : [ { "field" : "cp.visitNameFmt", "op" : "not_exist" }, { "field" : "cp.manualVisitNameEnabled", "op" : "exists" } ] } }, { "name" : "visit.status", "caption" : "Status", "type" : "dropdown", "optional" : true, "listSource" : { "options" : [ { "value" : "Pending" }, { "value" : "Missed Collection" }, { "value" : "Complete" } ], "displayProp" : "value", "selectProp" : "value" } }, { "name" : "visit.missedBy", "caption" : "Missed By", "type" : "user", "defaultValue" : "current_user", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "==", "value" : "'Missed Collection'" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "visit.missedReason", "caption" : "Missed Reason", "type" : "pvs", "attr" : "missed-visit-reason", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "==", "value" : "'Missed Collection'" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "visit.visitDate", "caption" : "Visit Date", "type" : "date", "defaultValue" : "current_date", "optional" : false }, { "name" : "visit.site", "caption" : "Site", "type" : "dropdown", "multiple" : false, "optional" : false, "listSource" : { "apiUrl" : "sites", "displayProp" : "name", "selectProp" : "name", "queryParams" : { "dynamic" : { }, "static" : { "listAll" : true } } }, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "!=", "value" : "'Missed Collection'" } ] } }, { "name" : "visit.clinicalDiagnoses", "caption" : "Clinical Diagnoses", "type" : "pvs", "attr" : "clinical_diagnosis", "optional" : true, "multiple" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "!=", "value" : "'Missed Collection'" } ] } }, { "name" : "visit.clinicalStatus", "caption" : "Clinical Status", "type" : "pvs", "attr" : "clinical-status", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "!=", "value" : "'Missed Collection'" } ] } }, { "name" : "visit.surgicalPathologyNumber", "caption" : "Surgical Pathology Number", "type" : "text", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "!=", "value" : "'Missed Collection'" } ] } }, { "name" : "visit.comments", "caption" : "Comments", "type" : "textarea", "optional" : true }, { "name" : "specimen.label", "caption" : "Label", "type" : "text", "optional" : true, "showIf" : { "op" : "OR", "rules" : [ { "field" : "specimen.labelFmt", "op" : "not_exist" }, { "field" : "cp.manualSpecLabelEnabled", "op" : "exists" } ] } }, { "name" : "specimen.barcode", "caption" : "Barcode", "type" : "text", "optional" : true }, { "name" : "specimen.lineage", "caption" : "Lineage", "type" : "radio", "optional" : false, "options" : [ { "value" : "New", "caption" : "New" }, { "value" : "Derived", "caption" : "Derived" }, { "value" : "Aliquot", "caption" : "Aliquot" } ] }, { "name" : "specimen.status", "caption" : "Collection Status", "type" : "dropdown", "optional" : true, "listSource" : { "selectProp" : "value", "displayProp" : "value", "options" : [ { "value" : "Collected" }, { "value" : "Missed Collection" }, { "value" : "Pending" } ] } }, { "name" : "specimen.type", "caption" : "Type", "type" : "specimen-type", "specimen" : "specimen", "optional" : false, "defaultValue" : "Not Specified", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "!=", "value" : "'Aliquot'" } ] } }, { "name" : "specimen.initialQty", "caption" : "Initial Quantity", "type" : "specimen-quantity", "specimen" : "specimen", "optional" : true }, { "name" : "specimen.availableQty", "caption" : "Available Quantity", "type" : "specimen-quantity", "showInOverviewIf" : "useShowIf", "specimen" : "specimen", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Aliquot'" } ] }, "optional" : true }, { "name" : "specimen.concentration", "caption" : "Concentration", "type" : "specimen-quantity", "specimen" : "specimen", "measure" : "concentration", "pattern" : "/^([0-9]+|[0-9]*\\.?[0-9]+[e]?[+-]?[0-9]*)$/", "optional" : true }, { "name" : "specimen.parentLabel", "caption" : "Parent Specimen", "type" : "text", "optional" : false, "url" : "specimen({specimenId: specimen.parentId})", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "!=", "value" : "'New'" } ] }, "modelOpts" : { "updateOn" : "blur" }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.biohazards", "caption" : "Biohazards", "type" : "pvs", "multiple" : true, "attr" : "specimen-biohazard", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.extensionDetail.attrsMap.DD5", "caption" : "Method of transport", "type" : "dropdown", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD5" } } } }, { "name" : "specimen.extensionDetail.attrsMap.DD6", "caption" : "Collection Details", "type" : "dropdown", "showInOverviewIf" : "!!specimen.extensionDetail.attrsMap.DD6", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD6" } } } }, { "name" : "specimen.extensionDetail.attrsMap.DD8", "caption" : "Received Details", "type" : "dropdown", "showInOverviewIf" : "!!specimen.extensionDetail.attrsMap.DD8", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD8" } } } }, { "name" : "specimen.extensionDetail.attrsMap.DD9", "caption" : "Processing Details", "type" : "dropdown", "showInOverviewIf" : "!!specimen.extensionDetail.attrsMap.DD9", "optional" : true, "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD9" } } } }, { "name" : "specimen.storageLocation", "caption" : "Location", "type" : "storage-position", "optional" : true, "cpId" : "specimen.cpId", "entity" : "specimen", "url" : "container-detail.locations({containerId: specimen.storageLocation.id})", "subFields" : [ { "name" : "name", "caption" : "Container Name" }, { "name" : "positionY", "caption" : "Container Row" }, { "name" : "positionX", "caption" : "Container Column" } ] }, { "name" : "specimen.createdOn", "caption" : "Created On", "type" : "datetime", "optional" : false, "copyValueFn" : "function(firstRowVal, currentVal) { if (!!currentVal) { return currentVal; } else { return ''; } }", "defaultValue" : "current_date", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "!=", "value" : "'New'" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.createdBy", "caption" : "Created By", "type" : "user", "defaultValue" : "current_user", "optional" : true, "copyValueFn" : "function(firstRowVal, currentVal) { if (!!currentVal) { return currentVal; } else { return ''; } }", "listSource" : { "queryParams" : { "static" : { "excludeType" : "CONTACT" } } } }, { "name" : "specimen.freezeThawCycles", "caption" : "Freeze Thaw Cycles", "type" : "text", "optional" : true, "pattern" : "/^[0-9][0-9]*$/" }, { "name" : "specimen.incrParentFreezeThaw", "caption" : "Increment parent specimen's Freeze/Thaw cycles?", "type" : "radio", "optional" : true, "options" : [ { "caption" : "Yes", "value" : 1 }, { "caption" : "No", "value" : 0 } ], "showInOverviewIf" : "!!specimen.incrParentFreezeThaw" }, { "name" : "specimen.comments", "caption" : "Comments", "type" : "textarea", "optional" : true }, { "name" : "specimen.collectionEvent.time", "caption" : "Collection Date & Time", "type" : "datetime", "defaultValue" : "current_date", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.collectionEvent.user", "caption" : "Collector", "type" : "user", "defaultValue" : "current_user", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf", "subFields" : [ { "name" : "emailAddress", "caption" : "Collector Email Address" } ] }, { "name" : "specimen.collectionEvent.container", "caption" : "Collection Container", "type" : "pvs", "attr" : "collection-container", "optional" : true, "defaultValue" : "Not Specified", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.collectionEvent.procedure", "caption" : "Collection Procedure", "type" : "pvs", "attr" : "collection-procedure", "copyValueFn" : "function(firstRowVal, currentVal) { if (!!currentVal) { return currentVal; } else { return ''; } }", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.receivedEvent.user", "caption" : "Receiver", "type" : "user", "defaultValue" : "current_user", "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf", "subFields" : [ { "name" : "emailAddress", "caption" : "Collector Email Address" } ] }, { "name" : "specimen.receivedEvent.time", "caption" : "Received Date & Time", "type" : "datetime", "defaultValue" : "current_date", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.receivedEvent.receivedQuality", "caption" : "Received Quality", "type" : "pvs", "attr" : "received-quality", "defaultValue" : "Acceptable", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'New'" }, { "field" : "specimen.reqId", "op" : "not_exist" } ] }, "showInOverviewIf" : "useShowIf" }, { "name" : "specimen.externalIds", "type" : "collection", "fields" : [ { "name" : "name", "caption" : "External Name", "type" : "text", "optional" : true }, { "name" : "value", "caption" : "External Value", "type" : "text", "optional" : true } ] }, { "name" : "specimen.extensionDetail.attrsMap.DD2", "caption" : "Urine Type", "type" : "dropdown", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Urine'" } ] }, "showInOverviewIf" : "useShowIf", "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD2" } } } }, { "name" : "specimen.extensionDetail.attrsMap.DD3", "caption" : "Breast Milk Expression Type", "type" : "dropdown", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Breast Milk'" } ] }, "showInOverviewIf" : "useShowIf", "listSource" : { "apiUrl" : "forms/permissible-values", "selectProp" : "value", "displayProp" : "value", "queryParams" : { "dynamic" : { }, "static" : { "formName" : "maternalUrineAndBreastMilk", "controlName" : "DD3" } } } }, { "name" : "specimen.extensionDetail.attrsMap.NT4", "caption" : "Viability", "type" : "text", "optional" : true, "showInOverviewIf" : "!!specimen.extensionDetail.attrsMap.NT4", "pattern" : "/^[1-9][0-9]*$/" }, { "name" : "specimen.events.SpecimenFrozenEvent.time", "caption" : "Frozen Time", "type" : "datetime", "defaultValue" : "current_date" }, { "name" : "specimen.events.SpecimenFrozenEvent.user", "caption" : "Frozen By", "type" : "user", "defaultValue" : "current_user" }, { "name" : "specimen.events.SpecimenFrozenEvent.frozenMethod", "caption" : "Frozen Method", "type" : "pvs", "attr" : "frozen_method", "defaultValue" : "Not Specified" }, { "name" : "specimen.events.SpecimenFrozenEvent.comments", "caption" : "Frozen Comments", "type" : "textarea" } ], "onValueChange" : { "specimen.createdBy" : [ "function(opts) {", " var user = opts.fns.get(opts.object, opts.field); ", " opts.viewCtx.setToAllChildren(opts.object, opts.field, user, true); ", "}" ], "specimen.createdOn" : [ "function(opts) {", " var user = opts.fns.get(opts.object, opts.field); ", " opts.viewCtx.setToAllChildren(opts.object, opts.field, user, true); ", "}" ], "specimen.extensionDetail.attrsMap.DD9" : [ "function(opts) {", " var user = opts.fns.get(opts.object, opts.field); ", " opts.viewCtx.setToAllChildren(opts.object, opts.field, user, true); ", "}" ] } } }, { "name" : "visitsTab", "view" : null, "ctrl" : null, "data" : { "occurred" : [ { "field" : "visit.name", "baseField" : "visit.name", "width" : "150px" }, { "field" : "visit.visitDate", "baseField" : "visit.visitDate", "width" : "100px" } ], "anticipatedEvents" : [ { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('SYMBA') > -1 && cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('PREGGNUT') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Sym4Mnth", "Preg4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('SYMBA') > -1 && cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('BENEFIT') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Sym4Mnth", "Ben4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('PREGGNUT') > -1 && cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('BENEFIT') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Preg4Mnth", "Ben4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('SYMBA') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Sym4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('PREGGNUT') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Preg4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.MLB16.indexOf('BENEFIT') > -1", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y", "Ben4Mnth" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.DD15 == 'Full ORIGINS Project Participation'", "events" : [ "30WK", "20WK", "28WK", "36WK", "Birth", "2M", "4M", "6M", "1Y", "3Y", "5Y" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.DD15 == 'Routine Data Collection'", "events" : [ "30WK" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.DD15 == 'Release of Australian Govt Data only'", "events" : [ "None" ] }, { "rule" : "cpr.participant.extensionDetail.attrsMap.DD15 == null && cpr.participant.extensionDetail.attrsMap.MLB16== null", "events" : [ "None" ] } ] } }, { "name" : "participant-list-view", "view" : null, "ctrl" : null, "data" : { "columns" : [ { "expr" : "Participant.ppid", "caption" : "ORIGINS Pregnancy Number", "metainfo" : { "showLink" : "true" } }, { "expr" : "Participant.customFields.participantInfoForm.oRIGINSUniqueID", "caption" : "ORIGINS Unique ID" }, { "expr" : "Participant.regDate", "caption" : "Registration Date" }, { "expr" : "Participant.customFields.participantInfoForm.participantStudyStatus", "caption" : "Participant Study Status" }, { "expr" : "Participant.customFields.participantInfoForm.participantConsentFormLevel", "caption" : "Participant Consent Form Level" }, { "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" : "ORIGINS Pregnancy Number", "searchType" : "contains" }, { "expr" : "Participant.customFields.participantInfoForm.oRIGINSUniqueID", "caption" : "Unique ID" }, { "expr" : "Participant.customFields.participantInfoForm.participantStudyStatus", "caption" : "Participant Study Status" }, { "expr" : "Participant.customFields.participantInfoForm.participantConsentFormLevel", "caption" : "Participant Consent Form Level" }, { "expr" : "Participant.regDate", "caption" : "Registration Date" }, { "expr" : "years_between(current_date(), Participant.dateOfBirth)", "caption" : "Age", "temporal" : "true", "metainfo" : { "phi" : "true" } } ] } }, { "name" : "specimenTree", "view" : null, "ctrl" : null, "data" : { "defaultExpandDepth" : 0, "fields" : [ { "name" : "specimen", "caption" : "Description", "type" : "specimen-description", "width" : "30%" }, { "name" : "specimen.label", "baseField" : "specimen.label", "width" : "20%" }, { "name" : "specimen.storageLocation", "baseField" : "specimen.storageLocation", "width" : "20%" }, { "name" : "specimen.availableQty", "baseField" : "specimen.availableQty", "caption" : "Volume", "width" : "10%" } ] } }, { "name" : "specimen-list-view", "view" : null, "ctrl" : null, "data" : { "columns" : [ { "expr" : "Specimen.label", "caption" : "Label", "metainfo" : { "showLink" : "true" } }, { "expr" : "Specimen.createdOn", "caption" : "Created On" }, { "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 = \"Active\"", "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.availableQty", "caption" : "Quantity" } ] } } ]
Simple Data Entry (SDE)
Create planned specimens using SDE
SDE deposit mode allows the user to create multiple specimens in one go. This can even be across patients and visits. For creating planned specimens (as per requirements defined in collection protocol), you must include the 'Requirement Code' within the deposit screen. This will allow the system to map the specimen being created to the requirement in the CP.
Define the requirement code in the dictionary as below, which will be displayed as a dropdown of existing codes within that event of the CP:
{ "name": "specimen.reqCode", "caption": "Requirement", "type": "dropdown", "listSource": { "apiUrl": "specimen-requirements", "selectProp": "code", "displayProp": "code", "queryParams": { "dynamic": { "eventId": "visit.eventId" }, "static": { "includeChildReqs": false } } }, "optional": false }
The below example shows how the requirement code can be used within the deposit table of SDE. The fields defined in the requirement can be skipped here so that the value has defaulted from the requirement. For example, the specimen type is not included in the below example so that the system will take it from the corresponding requirement.
Screenshot:
Create container along with specimen
In the screen where specimens are collected, you have an option to create containers like boxes too. This is useful for a workflow where a lab receives a box of specimens, and they want to store the box as is in their freezers. This workflow reduces the step of creating the empty box first.
Example JSON to create container and specimens in one go:
[ { "name": "dictionary", "data": { "fields": [ { "name": "cpr.registrationDate", "caption": "Registration Date", "type": "date", "optional": true }, { "name": "visit.eventLabel", "caption": "Event Label", "type": "dropdown", "multiple": false, "optional": false, "listSource": { "apiUrl": "collection-protocol-events", "displayProp": "eventLabel", "selectProp": "eventLabel", "queryParams": { "dynamic": { "cpId": "visit.cpId" }, "static": {} } } }, { "name": "visit.site", "caption": "Site", "type": "dropdown", "multiple": false, "optional": true, "listSource": { "apiUrl": "sites", "displayProp": "name", "selectProp": "name", "queryParams": { "dynamic": {}, "static": { "listAll": true } } } }, { "name": "visit.visitDate", "caption": "Visit Date", "type": "date", "optional": false }, { "name": "specimen.lineage", "caption": "Lineage", "type": "radio", "optional": false, "options": [ "New", "Derived", "Aliquot" ] }, { "name": "specimen.label", "caption": "Sample ID", "type": "text", "optional": false, "showIf": { "op": "AND", "rules": [ { "field": "specimen.lineage", "op": "!=", "value": "'Aliquot'" } ] } }, { "name": "specimen.parentLabel", "caption": "Parent Sample ID", "type": "text", "optional": false, "showIf": { "op": "AND", "rules": [ { "field": "specimen.lineage", "op": "!=", "value": "'New'" } ] }, "modelOpts": { "updateOn": "blur" } }, { "name": "specimen.createdOn", "caption": "Created On", "type": "date", "optional": false }, { "name": "specimen.type", "caption": "Type", "type": "specimen-type", "optional": false, "specimen": "specimen", "showIf": { "op": "AND", "rules": [ { "field": "specimen.lineage", "op": "!=", "value": "'Aliquot'" } ] } }, { "name": "specimen.initialQty", "caption": "Initial Quantity", "type": "specimen-quantity", "specimen": "specimen", "optional": false }, { "name": "specimen.availableQty", "caption": "Available Quantity", "type": "specimen-quantity", "specimen": "specimen", "optional": false }, { "name": "specimen.comments", "caption": "Comments", "type": "text", "optional": true }, { "name": "specimen.containerLocation", "caption": "Parent Container", "type": "storage-position", "optional": true, "cpId": "specimen.cpId", "entity": "specimen", "subFields": [ { "name": "name", "caption": "Parent Container Name" }, { "name": "positionY", "caption": "Parent Container Row" }, { "name": "positionX", "caption": "Parent Container Column" } ] }, { "name": "specimen.containerTypeName", "caption": "Container Type", "type": "dropdown", "optional": true, "listSource": { "apiUrl": "container-types", "selectProp": "name", "displayProp": "name", "queryParams": { "dynamic": {}, "static": {} } } }, { "name": "specimen.storageLocation", "caption": "Location", "type": "storage-position", "optional": true, "cpId": "specimen.cpId", "entity": "specimen", "subFields": [ { "name": "name", "caption": "Container Name" }, { "name": "positionY", "caption": "Container Row" }, { "name": "positionX", "caption": "Container Column" } ] }, { "name": "specimen.collectionEvent.user", "caption": "Collector", "type": "user", "optional": false, "showIf": { "op": "AND", "rules": [ { "field": "specimen.lineage", "op": "==", "value": "'New'" } ] }, "subFields": [ { "name": "emailAddress", "caption": "Collector Email Address" } ] }, { "name": "specimen.collectionEvent.time", "caption": "Collection Date", "type": "datetime", "optional": false }, { "name": "specimen.collectionEvent.container", "caption": "Collection Container", "type": "pvs", "attr": "collection-container", "optional": true, "showIf": { "op": "AND", "rules": [ { "field": "specimen.lineage", "op": "==", "value": "'New'" } ] } }, { "name": "specimen.collectionEvent.procedure", "caption": "Collection Procedure", "type": "pvs", "attr": "collection-procedure", "optional": true, "showIf": { "op": "AND", "rules": [ { "field": "specimen.lineage", "op": "==", "value": "'New'" } ] } }, { "name": "specimen.receivedEvent.user", "caption": "Receiver", "type": "user", "optional": false, "showIf": { "op": "AND", "rules": [ { "field": "specimen.lineage", "op": "==", "value": "'New'" } ] }, "subFields": [ { "name": "emailAddress", "caption": "Receiver Email Address" } ] }, { "name": "specimen.receivedEvent.time", "caption": "Received Date", "type": "datetime", "optional": false }, { "name": "specimen.receivedEvent.receivedQuality", "caption": "Received Quality", "type": "pvs", "attr": "receive_quality", "optional": true, "showIf": { "op": "AND", "rules": [ { "field": "specimen.lineage", "op": "==", "value": "'New'" } ] } } ] } }, { "name": "common", "view": null, "ctrl": null, "data": { "listView": "cp-specimens" } }, { "name": "sde", "data": { "enableDeposits": "true", "singlePatientSamples": [ { "name": "specimen.storageLocation.name", "caption": "Boxid", "type": "text", "optional": true }, { "name": "specimen.storageLocation.positionY", "caption": "Row", "type": "text", "optional": true }, { "name": "specimen.storageLocation.positionX", "caption": "Column", "type": "text", "optional": true }, { "name": "specimen.label", "baseField": "specimen.label" }, { "name": "specimen.containerLocation", "baseField": "specimen.containerLocation" }, { "name": "specimen.containerTypeName", "baseField": "specimen.containerTypeName" }, { "name": "visit.site", "baseField": "visit.site" }, { "name": "specimen.type", "baseField": "specimen.type" }, { "name": "specimen.initialQty", "baseField": "specimen.initialQty" }, { "name": "specimen.comments", "baseField": "specimen.comments" }, { "name": "specimen.collectionEvent.user", "baseField": "specimen.collectionEvent.user" }, { "name": "specimen.collectionEvent.time", "baseField": "specimen.collectionEvent.time" }, { "name": "specimen.receivedEvent.user", "baseField": "specimen.receivedEvent.user" }, { "name": "specimen.receivedEvent.time", "baseField": "specimen.receivedEvent.time" } ], "multiplePatientSamples": { "enableFilter": true, "groups": [ { "title": "Collection Details", "fields": [ [ { "name": "specimen.collectionEvent.user", "baseField": "specimen.collectionEvent.user", "width": "20%" }, { "name": "specimen.collectionEvent.time", "baseField": "specimen.collectionEvent.time", "width": "20%" }, { "name": "visit.site", "baseField": "visit.site", "width": "20%" } ] ] }, { "title": "Receive Details", "fields": [ [ { "name": "specimen.receivedEvent.user", "baseField": "specimen.receivedEvent.user", "width": "20%" }, { "name": "specimen.receivedEvent.time", "baseField": "specimen.receivedEvent.time", "width": "20%" } ] ] } ], "table": [ { "name": "specimen.label", "baseField": "specimen.label" }, { "name": "specimen.type", "baseField": "specimen.type", "minWidth": "180px" }, { "name": "specimen.initialQty", "baseField": "specimen.initialQty", "minWidth": "100px" }, { "name": "specimen.containerLocation.name", "caption": "Parent Container Name", "type": "text", "optional": true, "minWidth": "200px" }, { "name": "specimen.containerTypeName", "baseField": "specimen.containerTypeName" }, { "name": "specimen.storageLocation.name", "caption": "Container Name", "type": "text", "optional": true, "minWidth": "200px" }, { "name": "specimen.storageLocation.positionY", "caption": "Container Row", "type": "text", "optional": true, "minWidth": "50px" }, { "name": "specimen.storageLocation.positionX", "caption": "Container Column", "type": "text", "optional": true, "minWidth": "50px" }, { "name": "specimen.comments", "baseField": "specimen.comments", "width": "20%" } ] } } }, { "name": "participant-list-view", "view": null, "ctrl": null, "data": { "columns": [ { "expr": "Participant.ppid", "caption": "Participant Protocol ID", "metainfo": { "showLink": "true" } }, { "expr": "concat_ws(\" \", 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_ws(\" \", 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", "view": null, "ctrl": null, "data": { "columns": [ { "expr": "Specimen.label", "caption": "Label", "metainfo": { "showLink": "true" } }, { "expr": "Specimen.createdOn", "caption": "Created On" }, { "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\"", "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.availableQty", "caption": "Quantity" } ] } } ]
Leave a comment at the end of this page or email contact@krishagni.com