Clinical Files
These guidelines define a minimal, strict, and parseable file naming convention for clinical data files (e.g., REDCap exports, QC’d datasets, converted FAIR formats).
Required pattern (minimal)¶
Extended pattern (optional blocks)¶
[Disease]_[Project]_[StudyID]_[Source]_[Date|Version][_[QCStatus]-[QCBy]][_CONV-[Target][-SchemaVer]].ext
Field Rules
- Allowed characters:
A-Z,0-9, and-inside components. Use_only as the component separator. - No spaces or diacritics.
- Extensions are lowercase.
Components¶
- [Disease] - Disease acronym (e.g.,
MS,IBD,UC). - [Project] - Consortium or project code (e.g.,
3TR,PRECISESADS). - [StudyID] - Unique study identifier (e.g.,
Study123,CohortA). - [Source] - Data origin/type (see controlled list below).
- [Date|Version] - Either:
- Date:
YYYYMMDD, or - Version:
vNorvN.N.N.
- Date:
- [QCStatus]-[QCBy] - Optional QC pair:
QCStatusin{PASS, FAIL, PARTIAL, NA}.QCByis the center code performing QC (e.g.,CNAG,KI,FPS).
- CONV-Target[-SchemaVer] - Optional conversion info:
Targetin{OMOP, PXF, BFF}.- Optional
SchemaVer(e.g.,5_4,2.0).
- .ext - File extension:
.csv,.json,.txtandyaml.
Controlled Vocabularies
-
Source:
REDCAP-RAW(raw export),REDCAP-LABEL(labeled export),REDCAP-DICT(data dictionary),CSV-RAW(free-form CSV),CDISC(export) -
QCStatus:
PASS,FAIL,PARTIAL,NA -
CONV-Target (optional):
OMOP,PXF,BFF
Examples (minimal)¶
Multiple sclerosis (MS), 3TR, Minimal (no QC, no conversion)
Rheumatoid arthritis (RA), PRECISESADS, Minimal (no QC, no conversion)
Examples (extended)¶
Multiple sclerosis (MS), 3TR, Labeled CSV, QC passed by FPS
Multiple sclerosis (MS), 3TR, REDCap dictionary, QC failed at KI
Multiple sclerosis (MS), 3TR, raw export converted to Beacon v2 (BFF), QC by CNAG
Rheumatoid arthritis (RA), PRECISESADS, free CSV, partial QC by FPS
Validation Regex (starter)¶
Use this to lint filenames. Adjust only if you extend vocabularies.
^[A-Z0-9]+_[A-Z0-9]+_[A-Za-z0-9-]+_(?:REDCAP-(?:RAW|LABEL|DICT)|CSV-RAW|CDISC)_(?:\d{8}|v\d+(?:\.\d+){0,2})(?:_(?:PASS|FAIL|PARTIAL|NA)-[A-Z0-9]+)?(?:_CONV-(?:OMOP|PXF|BFF)(?:-[0-9]+(?:[._][0-9]+)*)?)?\.(?:csv|json|txt|yaml)$
CLI Linter Scripts¶
Use the accompanying Python, Perl or R scripts to validate names locally.
Example