@@ -7,33 +7,33 @@ These guidelines define a minimal, strict, and parseable file naming convention
77```
88
99??? Example "Field Rules"
10- - Allowed characters: ` A– Z ` , ` 0– 9 ` , and ` - ` inside tokens. Use ` _ ` only as the token separator.
10+ - Allowed characters: ` A- Z ` , ` 0- 9 ` , and ` - ` inside tokens. Use ` _ ` only as the token separator.
1111 - No spaces or diacritics.
1212 - Extensions are lowercase.
1313 - ` Disease ` is required and is always the ** second** token.
1414 - ` QCStatus-QCBy ` is ** required** (e.g., ` PASS-CNAG ` ).
1515
1616## Components
1717
18- 1 . ** [ Project] ** — Consortium or project code (e.g., ` 3TR ` , ` PRECISESADS ` , ` BRAMS ` ).
19- 2 . ** [ Disease] ** — Disease acronym (e.g., ` MS ` , ` IBD ` , ` UC ` ).
20- 3 . ** [ StudyID] ** — Unique study identifier (e.g., ` Study123 ` , ` CohortA ` ).
21- 4 . ** [ Source] ** — Data origin/type (see controlled list below).
22- 5 . ** [ Date|Version] ** — Either:
18+ 1 . ** [ Project] ** - Consortium or project code (e.g., ` 3TR ` , ` PRECISESADS ` ).
19+ 2 . ** [ Disease] ** - Disease acronym (e.g., ` MS ` , ` IBD ` , ` UC ` ).
20+ 3 . ** [ StudyID] ** - Unique study identifier (e.g., ` Study123 ` , ` CohortA ` ).
21+ 4 . ** [ Source] ** - Data origin/type (see controlled list below).
22+ 5 . ** [ Date|Version] ** - Either:
2323 - Date: ` YYYYMMDD ` , or
2424 - Version: ` vN ` or ` vN.N.N ` .
25- 6 . ** [ QCStatus] -[ QCBy] ** — Required pair:
25+ 6 . ** [ QCStatus] -[ QCBy] ** - Required pair:
2626 - ` QCStatus ` in ` {PASS, FAIL, PARTIAL, NA} ` .
2727 - ` QCBy ` is the center code performing QC (e.g., ` CNAG ` , ` KI ` , ` FPS ` ).
28- 7 . ** _ CONV-Target[ -SchemaVer] ** — Optional conversion info:
28+ 7 . ** _ CONV-Target[ -SchemaVer] ** - Optional conversion info:
2929 - ` Target ` in ` {OMOP, PXF, BFF} ` .
3030 - Optional ` SchemaVer ` (e.g., ` 5_4 ` , ` 2.0 ` ).
31- 8 . ** .ext** — File extension: ` .csv ` , ` .json ` (extend cautiously as needed).
31+ 8 . ** .ext** - File extension: ` .csv ` , ` .json ` , ` .txt ` and ` yaml ` (extend cautiously as needed).
3232
3333??? Example "Controlled Vocabularies"
3434
3535 - **Source**:
36- `REDCAP-RAW` (raw export), `REDCAP-LABEL` (labeled export), `REDCAP-DICT` (data dictionary), `CSV-RAW` (free-form CSV)
36+ `REDCAP-RAW` (raw export), `REDCAP-LABEL` (labeled export), `REDCAP-DICT` (data dictionary), `CSV-RAW` (free-form CSV), `CDISC` (export)
3737
3838 - **QCStatus**:
3939 `PASS`, `FAIL`, `PARTIAL`, `NA`
@@ -73,7 +73,7 @@ PRECISESADS_IBD_Study123_CSV-RAW_v1.1.0_PARTIAL-FPS.csv
7373Use this to lint filenames. Adjust only if you extend vocabularies.
7474
7575```
76- ^[A-Z0-9]+_[A-Z0-9]+_[A-Za-z0-9-]+_(?:REDCAP-(?:RAW|LABEL|DICT)|CSV-RAW)_\d{8}_(?:PASS|FAIL|PARTIAL|NA)-[A-Z0-9]+(?:_CONV-(?:OMOP|PXF|BFF)(?:-[0-9]+(?:[._][0-9]+)*)?)?\.(?:csv|json)$
76+ ^[A-Z0-9]+_[A-Z0-9]+_[A-Za-z0-9-]+_(?:REDCAP-(?:RAW|LABEL|DICT)|CSV-RAW|CDISC )_\d{8}_(?:PASS|FAIL|PARTIAL|NA)-[A-Z0-9]+(?:_CONV-(?:OMOP|PXF|BFF)(?:-[0-9]+(?:[._][0-9]+)*)?)?\.(?:csv|json|txt|yaml )$
7777```
7878
7979## CLI Linter Scripts
0 commit comments