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" }
"1579717800000" is the number of milliseconds elapsed since Unix time Epoch on 23/01/2020 at 00:00:00 hrs UTC.
The number can be obtained from the sites like https://currentmillis.com/