Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com

Show Fields Based on the Value in the Dropdown

You can show fields based on the dropdown values for a specific study.

'Contains' Condition

Example: Show the custom field 'Any complications' at the visit level only if the 'Clinical Diagnosis' field contains the word 'pregnancy'.

{ "name" : "visit.extensionDetail.attrsMap.TA2", "caption" : "Any complications", "type" : "textarea", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.clinicalDiagnoses", "op" : ".join(',').indexOf('pregnancy')", "value" : "> -1" } ] }, "showInOverviewIf": "useShowIf" }

"op" : ".join(',').indexOf('pregnancy')": means show 'TA2' field when clinical diagnosis has 'pregnancy' word in the selected option.

'Is one of the value' Condition

Example 1: Shows the field 'Any complications' at the visit level if 'Clinical Diagnosis' has '10 weeks gestation of pregnancy' in it.

{ "name" : "visit.extensionDetail.attrsMap.TA2", "caption" : "Any complications", "type" : "textarea", "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.clinicalDiagnoses", "op" : ".indexOf('10 weeks gestation of pregnancy')", "value" : "> -1" } ] }, "showInOverviewIf": "useShowIf" }

"op": ".indexOf('10 weeks gestation of pregnancy')": means show 'TA2' field when clinical diagnosis has '10 weeks gestation of pregnancy' value.

 

Example 2: Suppose you want to display fields on the nth step page when only specified specimen types are selected.

{ "name" : "specimenCollection", "view" : null, "ctrl" : null, "data" : { "fieldGroups" : [ { "title" : "Processing Event for Frozen Samples", "criteria" : { "op" : "AND", "rules" : [ { "field" : "specimen.lineage", "op" : "==", "value" : "'Derived'" }, { "field" : "['Frozen Tissue', 'Frozen Tissue Slide', 'Frozen Tissue Block','Embedded in OCT', 'Swiss Role in OCT'].indexOf(specimen.type)", "op" : "!=", "value" : "-1" } ] }, "fields" : [ { "name" : "specimen.label", "baseField" : "specimen.label", "type" : "span" }, { "name" : "specimen.type", "baseField" : "specimen.type", "type" : "span" }, { "name" : "specimen.createdOn", "baseField" : "specimen.createdOn", "caption" : "Processing Date and Time" } ] } ] } }

Example 3: Show field on overview and hide on the data entry page.

{ "name" : "cpr.participant.extensionDetail.attrsMap.ST10", "caption" : "Kindred ID", "type" : "text", "showIf" : { "op" : "AND", "rules" : [ { "field" : "cpr.participant.extensionDetail.attrsMap.ST10", "op" : "==", "value" : "'xxx" } ] }, "optional" : true }

 

Example 4: Show field on overview only if the value is present. (Check showinOverviewIf)

{ "name" : "cpr.participant.extensionDetail.attrsMap.DP3", "caption" : "Estimated Date of Delivery", "showInOverviewIf" : "!!cpr.participant.extensionDetail.attrsMap.DP3", "type" : "date", "optional" : true },

 

Example 5: Don’t show field on overview if the value present is “Not Specified“ or “Null“.

{ "name" : "visit.clinicalDiagnoses", "caption" : "Clinical Diagnoses", "type" : "pvs", "attr" : "clinical_diagnosis", "showInOverviewIf" : "!!visit.clinicalDiagnoses && visit.clinicalDiagnoses.length > 0 && (visit.clinicalDiagnoses.length != 1 || visit.clinicalDiagnoses[0] != 'Not Specified')", "optional" : true, "multiple" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.status", "op" : "!=", "value" : "'Missed Collection'" } ] } }

Example 6: Show the Birth Date field based on collection protocol name.

{ "name": "cpr.participant.birthDate", "caption": "Birth Date", "type": "date", "dateOnly": true, "optional": true, "showIf": { "rules": [ { "field": "['(UAHS) [BW] Brain Health', 'AmolT1'].indexOf(cp.shortTitle)", "op": "!=", "value": "-1" } ] }, "showInOverviewIf": "useShowIf" },

 

Screenshot 1: When CP name ((UAHS) [BW] Brain Health) is matched to the rule, then the field “Birth Date” is shown.

image-20240417-074449.png

Screenshot 2: When CP name (Accreta Current) is not matched to the rule, then the field “Birth Date” is not shown or hide.

 

image-20240417-075833.png

 

Example 7: Show custom field if the specimen type is ‘Fixed Tissue Block' or 'Fixed Tissue Slide’

{ "name" : "specimen.extensionDetail.attrsMap.clinical_block_identifier", "caption" : "Clinical Block Identifier", "type" : "text", "optional" : true, "showInOverviewIf" : "useShowIf", "showIf" : { "op" : "OR", "rules" : [ { "field" : "specimen.type", "op" : "==", "value" : "'Fixed Tissue Block'" }, { "field" : "specimen.type", "op" : "==", "value" : "'Fixed Tissue Slide'" } ] } }

Example JSON

Download

Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com