In OpenSpecimen, it is possible to add custom fields at the CP level. This feature was introduce to facilitate capturing additional information at the study level. Only one custom form can be attached at the CP custom field level. So this form must have fields required for all the CPs.
Using skip logic in the custom forms, one can show/hide these fields based on the site selected in the CP site dropdown or the site code.
Use Case: Show custom field based on the site or site code selected in the CP site dropdown.
Show field ‘Arkansas Repository ID’ only when the site 'Arkansas Repository' is added in the CP sites
<showWhen><![CDATA[$extendedObj.cpSites.siteName = "Arkansas Repository"]]></showWhen>
When the site ‘Arkansas Repository' is not selected
When the site ‘Arkansas Repository' is added in the list
The field display can also be configured based on the site code like below
<showWhen><![CDATA[$extendedObj.cpSites.code = "AR"]]></showWhen>
The field will be displayed only when the user enters the site code as 'AR'