ARC Special Field Types Documentation¶
This document provides a detailed explanation of the special field types used within the ISARIC ARC (Analysis and Research Compendium) framework to support dynamic, reusable, and semantically structured Case Report Forms (CRFs). These field types extend beyond standard REDCap functionality to enable complex logic, repeated entries, hierarchical lists, and units management.
Overview: REDCap-Compatible Extensions¶
Most fields in ARC use standard REDCap field types such as text, radio, checkbox, dropdown, calc, and notes. However, to support enhanced functionality and automation, ARC introduces several special field types:
user_listlistmulti_listBlank field (
select unitsin Question)
These are interpreted and transformed into REDCap-compatible fields when generating a data dictionary.
1. user_list¶
Description¶
A is a structured field type that references a predefined list of options from an external file, where the user has marked some values as selected or preset_ (i.e., shown as default radio options) and others as optional extensions. A user_list is a structured field type that references a predefined list of options from an external file, which the user can modify to include the pertinent options for their particular context. This links to specific functionality in ISARIC BRIDGE, where users can select the options they wish to include for a given question. Additionally, each version of ARC includes pre-selected options in the form of presets, which are shown by default, while other options remain available as optional extensions.
Example¶
inclu_disease
BRIDGE Transformation¶
radiofield with checked values as options: if the number of checked values < 15dropdownfield with checked values as options: if the number of checked values >= 15dropdown(otherl2) to show extended values if user selects “Other”textfield (otherl3) to specify unlisted values
Derived Variables¶
inclu_disease_otherl2inclu_disease_otherl3
2. list¶
Description¶
list is used for fields that support multiple repeated selections from a predefined value set. Like user_list, the options for list fields are loaded from external CSV files in the ARC GitHub repository.
Example¶
comor_unlisted
BRIDGE Transformation¶
Multiple
dropdownentries:0item,1item, …,nitem-
Each followed by:
textfield for “Other” entries:0otherl2, etc.radiofield asking if there’s an additional entry:0addi, etc.
Derived Variables¶
comor_unlisted_0item,comor_unlisted_1item, …comor_unlisted_0otherl2comor_unlisted_0addi
3. multi_list¶
Description¶
multi_list represents a multiselect list where several options can be checked simultaneously. Like user_list, its options are also loaded from external CSV files.
Example¶
demog_race
BRIDGE Transformation¶
A
checkboxgroup with selected options-
If value
88(Other) is selected:Show
dropdownwith less common values (otherl2)Show
textfield for specification (otherl3)
Derived Variables¶
demog_race: base checkboxdemog_race_otherl2,demog_race_otherl3
4. select units¶
Description¶
This is a structural pattern rather than an explicit type. It applies to clinical measurements (e.g., height, weight, temperature) that may be recorded in more than one unit (e.g., cm/in, kg/lb, °C/°F). The core variable usually includes “(select units)” in its question text and is linked to two or more variants defined with specific units tha share the same prefix.
Example¶
Base question:
demog_height→ “Height (select units)”-
Variants:
demog_height_cm: numeric field in centimetersdemog_height_in: numeric field in inches
Base question:
demog_weight→ “Weight (select units)”-
Variants:
demog_weight_kg: numeric field in kilogramsdemog_weight_lb: numeric field in pounds
BRIDGE Transformation¶
A unified
textfield (e.g.,demog_height) for the valueA companion
radiofield (e.g.,demog_height_units) to select which unit is used
Derived Variables¶
demog_height: unified height inputdemog_height_units: unit selector (e.g., cm/in)demog_weight: unified weight inputdemog_weight_units: unit selector (e.g., kg/lb)
This approach reduces redundancy, improves clarity, and ensures that unit selection is explicit and standardized.
Moreover, this design enables CRF customization in ISARIC BRIDGE: users can choose which unit(s) to display when configuring the form for a specific data collection setting. This allows alignment with local clinical practices (e.g., countries preferring cm/in or kg/lb) while maintaining a unified structure in the backend.
Visual Summary¶
Below is a simplified flowchart of how each ARC type expands into REDCap-compatible fields:
user_list
└── radio field (Selected options) if Selected options < 15
└── dropdown field (Selected options) if Selected options >= 15
└── dropdown (Other options)
└── text (Specify other)
list
└── dropdown_0item
├── text_0otherl2
└── radio_0addi
multi_list
└── checkbox (main options)
├── dropdown_otherl2
└── text_otherl3
select units
├── text (numeric value)
└── radio (unit selector)
Notes¶
Lists are stored in the ARC GitHub repo under /Lists/…
The transformation is handled automatically during CRF genration from ISARIC BRIDGE
These structures support modular, scalable, and interoperable CRFs