Using custom configuration, users can set fields to show or hide based on value selected in another field.
The rules added for skip logic is only reflected on add/edit pages. Overview page is superset of all fields described in data dictionary.
Example 1: Show custom field(Relation to Proband) if value selected in 'Proband'(RB10) field is 'No'
{ "name": "cpr.participant.extensionDetail.attrsMap.DD15", "caption": "Relation To Proband", "type": "dropdown", "optional": true, "showIf": { "op": "AND", "rules": [ { "field": "cpr.participant.extensionDetail.attrsMap.RB10", "op": "==", "value": "'No'" } ] }, "listSource": { "apiUrl": "forms/permissible-values", "selectProp": "value", "displayProp": "value", "queryParams": { "dynamic": {}, "static": { "formName": "kMCParticipantExtension", "controlName": "DD15" } } } }
Screenshot when field is hidden:
Screenshot when field is shown:
Example 2: Show 'Storage tube' custom field only during creation of aliquots.
{ "name": "specimen.extensionDetail.attrsMap.ST3", "caption": "Storage tube", "type": "text", "optional": "true", "showIf": { "op": "AND", "rules": [ { "field": "specimen.lineage", "op": "==", "value": "'Aliquot'" } ] } },
Example 3: Show 'COVID-19 Test Date' visit custom field when the visit date is after '23 January 2020'
{ "name" : "visit.extensionDetail.attrsMap.DP13", "caption" : "COVID-19 Test Date", "type" : "date", "dateOnly" : true, "optional" : true, "showIf" : { "op" : "AND", "rules" : [ { "field" : "visit.visitDate", "op" : ">=", "value" : "1579717800000" } ] }, "showInOverviewIf" : "useShowIf" }
Example 4: Show 'Upload image' specimen custom field when it's primary specimen (lineage is 'New') and type is 'Whole Blood'.
{ "name" : "specimen.extensionDetail.attrsMap.FU2", "caption" : "Upload image", "type" : "file", "optional" : true, "showInOverviewIf" : "useShowIf", "showIf" : { "op" : "AND", "rules" : [ { "field": "specimen.lineage", "op": "==", "value": "'New'" },{ "field" : "Specimen.type", "op" : "==", "value" : "'Whole Blood'" } ] } },