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'.
The join function is not supported from v11.x onwards.
Click here to expand {
"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.
Click here to expand {
"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.
Click here to expand... {
"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.
Click here to expand... {
"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 )
Click here to expand... {
"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“.
Click here to expand... {
"name" : "visit.clinicalDiagnoses",
"caption" : "Clinical Diagnoses",
"type" : "pvs",
"attr" : "clinical_diagnosis",
"showInOverviewIf" : "!!visit.clinicalDiagnoses && visit.clinicalDiagnoses.length > 0 && (visit.clinicalDiagnoses.length != 1 || visit.clinicalDiagnoses != '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.
Click here to expand... {
"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. Screenshot 2: When CP name (Accreta Current) is not matched to the rule, then the field “Birth Date” is not shown or hide.
Example 7: Show custom field if the specimen type is ‘Fixed Tissue Block' or 'Fixed Tissue Slide’
Click here to expand... {
"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