A module designed as an administrative interface for managing variable creation and modification within the existing ARCH structure.
- Purpose: ARChitect serves as an administrative interface for users to suggest additional variables needed for their studies or suggest adaptations of existing variables within the ARC repository.
- Objectives: The system is designed to validate metadata to ensure no duplication or ambiguity while dynamically linking existing standards and controlled terminology to suggested metadata.
- Lifecycle Management: Users can create, submit, and link variables to existing questions within the ARC framework.
- Structure Navigation: Provides functionality to search and filter the existing ARC structure.
- Categorical Association: Enables the assignment of variables to specific forms, sections, and ARChetype presets to ensure consistency.
- Automated Validation: Proposed terminology is automatically mapped against standardized codelists including SNOMED, CDISC, and LOINC to flag potential matches or conflicts.
- Dynamic Option Lists: Features a dedicated interface for managing custom dropdown option sets, including creating new values and assigning standardized terminologies.
The application is built on the BRIDGE architecture, utilizing a modern Python-based ecosystem.
| Component | Technology | Description |
|---|---|---|
| Programming Language | Python | The core language of BRIDGE and the entire ecosystem. |
| Web Framework | Dash | Framework for creating interactive web apps with pure Python. |
| Visualization | Plotly | Library for creating interactive graphs and core Dash components. |
| Data Analysis | Pandas | Used for handling CSV data, filtering, and preparing UI data. |
| Interactive Tables | dash_ag_grid | A highly interactive component for displaying and editing tabular data. |
| Form Validation | Pydantic | Used for modern data parsing and validation. |
| Form Generation | dash-pydantic-form | Automates form creation and handles validation logic. |
- Tabbed Creation (DR1): Implementation of a tab-based interface to support the step-by-step creation or revision of variables.
- Question Sequencing (DR2): An intuitive system for reordering questions within a Case Report Form (CRF) using drag-and-drop or numerical sequencing.
- Logic Builder (DR3): A dedicated builder for connecting questions to existing variables and defining conditional display rules such as "show-if" or "skip logic".
- Categorical Management (DR4): A system to assign variables to specific forms or subsections, providing a clear hierarchy of the CRF structure.
- ARC Schema Export (DR7): An export feature that packages session changes into the ARC schema for integration with GitHub via new branches.
- T1 Create: Users can create a variable with all required fields via the interface.
- T2 Submit: Users can submit a variable for revision and inclusion in the ARC repository by exporting it.
- T3 Link: Connect questions to other existing ARC questions and define conditional display rules.
- T4 Order: Sequence created questions within a CRF.
- T5 Search: Navigate and filter the existing ARC structure.
- T6 Associate: Assign variables to specific forms, sections, and ARChetype presets.
- T7 Validate: Automatically map terminology against standardized codelists.
- T8 Manage Lists: Create and edit dropdown option sets during the variable creation process.
- Gustavo Adolfo Gomez - guado0419@gmail.com
- Aidan Marler - aidan.marler@cuanschutz.edu
- Esteban Garcia-Gallo - esteban.garcia@ndm.ox.ac.uk
- Sara Duque-Vallejo - sara.duquevallejo@ndm.ox.ac.uk
--
Note:
- ArChitect is created by the CONTAGIO project: Cohort Network To be Activated Globally In Outbreaks and funded by the European Comision; Grant number: 101137283
- ARChitect is maintained by CONTAGIO in collaboration with ISARIC. For inquiries, support, or collaboration, please contact us, (mailto:data@isaric.org).