Skip logic (Hide/unhide fields based on value selected in another field)
...
Table of Contents |
---|
Introduction
You can set fields to show or hide based on value values selected in another field .
Example: Show custom field(Relation to Proband) if value selected in 'Proband'(RB10) field is 'No'
...
using a custom configuration.
Note |
---|
The rules added for skip logic are only reflected on add/edit pages. The overview page is a superset of all fields described in the data dictionary. |
Below are some examples of how this feature can be used.
Examples
Show custom field based on the value of another custom field
Show the field 'Relation To Proband' only if the value of field 'Proband' is equal to 'No'.
Expand | ||
---|---|---|
Example code
Screenshot when the field is hidden: |
...
Screenshot when the field is shown: |
...
Note |
---|
The rules added for skip logic is only reflected on add/edit pages. Overview page is superset of all fields described in data dictionary. |
Show custom field only on create aliquots page
Display the custom field 'Storage tube' field while creating the aliquots
Expand | ||
---|---|---|
Example code
|
Show custom field when the visit date is greater than specified date
Show the 'COVID-19 Test Date' custom field only when the visit date is after 23 January 2020.
Expand | |||||||
---|---|---|---|---|---|---|---|
Example code
|
Show custom field based on specimen lineage and type
Display 'Upload image' custom field when the specimen lineage is 'New' and the specimen type is 'Whole Blood'.
Expand | ||
---|---|---|
Example code
The field looks like the below on the specimen overview page: |
Show/Hide custom field based on specimen lineage and multiple type condition
Made Method field shows only if the Lineage=Aliquot and Type is RNA or DNA
Example code
Code Block |
---|
{
"name" : "specimen.extensionDetail.attrsMap.made_method",
"caption" : "Made Method",
"type" : "dropdown",
"showInOverviewIf": "useShowIf",
"showIf": {
"op": "AND",
"rules": [
{
"field": "specimen.lineage",
"op": "==",
"value": "'Aliquot'"
},
{
"field" : "specimen.type",
"op" : ".search('RNA|DNA')!=",
"value" : "-1"
}
]
},
"optional" : true,
"listSource" : {
"apiUrl" : "forms/permissible-values",
"selectProp" : "value",
"displayProp" : "value",
"queryParams" : {
"dynamic" : { },
"static" : {
"formName" : "epidemiology_specimen_custom_form",
"controlName" : "made_method"
}
}
}
}, |
Hide Custom Field For Newer Data Entry
Once legacy data is added, the custom field may become unnecessary for new entries, but should remain visible for existing records with values.
Expand | ||
---|---|---|
| ||
Example Code
Displays the "Core Size (mm)" field in the edit and overview page only if it has a value. Explaination: Uses the double negation ( |
Show/Hide custom field – Using Regex Matching
Show the 'Lived Name' custom field only when the PPID starts with 'J'.
Example code
Code Block |
---|
{
"name": "cpr.participant.extensionDetail.attrsMap.lived_name",
"caption": "Lived Name",
"type": "text",
"optional": "true",
"showIf": {
"op": "AND",
"rules": [
{
"field": "cpr.ppid",
"op": ".search('^J') !=", // Modify the regex in single quote as per requirement.
"value": "-1"
}
]
}
}
|