The project-management app builds containers within Flywheel for a coordinating center supported study.
A coordinating center supported study is a research activity for which data is being collected at the coordinating center. For NACC this is primarily the ADRC program for which data is captured at Alzheimer’s Disease Research Centers (ADRCs), and then transferred to NACC for harmonization and release.
The name “project-management” is historical and comes from a conversation with the NACC PI, Bud Kukull. He had legitimate reasons not to use “study”, so we started with “project”. However, “project” is used in both Flywheel and REDCap to mean particular things, and having three things called projects started to make communication difficult. And, naively, “study” makes sense.
So, we are using “study” now, but keeping the gear name for continuity.
The gear can be run either via the Flywheel user interface or using a script.
You will need an input file uploaded to Flywheel. The format is described below.
For NACC, access to the gear is restricted to the fw://nacc/project-admin
project.
There is a file adrc-program.yaml
attached to that project, and a gear rule that will run the gear when the file is updated.
For other scenarios, attach a file to the project, and run the gear as usual.
This app takes a YAML file describing the study and creates containers within Flywheel to support the ingest and curation of the collected data.
The file format is
---
study: <study-name>
study-id: <string-identifier>
study_type: <'primary' or 'affiliated'>
centers: <list of center details>
datatypes: <list of datatype identifiers>
mode: <whether data should be aggregated or distributed>
published: <whether the data is published>
“Center details” may either be a center identifier or a center-study object.
Center identifiers are Flywheel group IDs created by the center management gear.
A center-study object has a center identifier labeled as center-id
and an enrollment-pattern
that may be co-enrollment
, or separate
.
In the centers
list, a center identifier is assumed to represent a center-study object with the co-enrollment pattern.
The mode is a string that is either aggregation
or distribution
.
The mode may be omitted for aggregating studies to support older project formats.
Running on the file will create a group for each center that does not already exist, which includes
metadata
project where center-specific metadata can be stored using the project info object.center-portal
project where center-level UI extensions for the ADRC portal can be attached.Additional projects will be added if the study is either primary or it is affiliated and the center has separate enrollments:
<pipeline>-<datatype>-<study-id>
where <pipeline>
is ingest
, sandbox
or retrospective
.
For distributing studies, the pipline will be named distribution
.
For instance, ingest-form-leads
.
For the primary study, the study-id is dropped like ingest-form
.accepted
pipeline project for an aggregating study, where data that has passed QC is accessible.Notes:
Only one study should have primary
set to True
.
Like with any YAML file, you can include several study definitions separated by a line with ---
.
However, it is more pragmatic to have one file per study for large studies.
The tags
are strings that will be permissible as tags within the group for the center.
Each tag will also be added to ingest studys within the center’s pipeline(s).
Datatypes are strings used for creating ingest containers, and matching to sets of gear rules needed for handling ingest.
Each project added under a center group will have project.info.adcid
set to the ADCID of the center.
---
study: "Project Tau"
study-id: tau
study-type: affiliated
centers:
- alpha
- beta-inactive
datatypes:
- form
- dicom
mode: aggregation
published: True
---
study: "Project Zeta"
study-id: zeta
study-type: affiliated
centers:
- alpha
- center-id: gamma-adrc
enrollment-pattern: separate
datatypes:
- form
mode: aggregation
published: False
For testing, see the gear wrangling directions in the development documentation.