[ENH] Recommend controlled vocabulary for age Units, clarify that it can be overloaded#2400
Conversation
… years) Overall specification and testing is proposed for this in bids-standard/bids-specification#2400 === Do not change lines below === { "chain": [], "cmd": "bash -c 'sed -i -E '\"'\"'s,(Units.: .year)s,\\1,g'\"'\"' {outputs}'", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [ "*/participants.json" ], "pwd": "." } ^^^ Do not change lines above ^^^
effigies
left a comment
There was a problem hiding this comment.
Some comments. Overall, I think this is a good push and will help clarity, but needs to be done in a backwards compatible way.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2400 +/- ##
=======================================
Coverage 83.07% 83.07%
=======================================
Files 22 22
Lines 1696 1696
=======================================
Hits 1409 1409
Misses 287 287 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Document in common-principles.md that age Units MAY be overridden to one of: year, month, week, day, hour, minute, or second (based on ISO 8601 duration designators). Add AgeUnits schema check rule that validates participants.json age Units against the allowed set. Co-Authored-By: Claude Code 2.1.110 / Claude Opus 4.6 <noreply@anthropic.com>
|
@effigies I forced pushed rebase on master with tune up the the testing... if you see how to improve it please share (even if an idea). according to claude this is "AgeUnits rule is the first to access json.age in participants.json" and thus we started to hit in this test for sidecar json files. |
Co-authored-by: Chris Markiewicz <effigies@gmail.com>
Co-authored-by: Yaroslav Halchenko <debian@onerussian.com>
Co-authored-by: Chris Markiewicz <effigies@gmail.com>
|
done, rewritten, force pushed, I think we have converged! |
|
Just for the sake of considering alternatives, the ISO 8601 standard for durations is That would be using an existing standard instead of creating our own controlled vocabulary inspired by the standard, so I think it's worth considering, if only to record a reason for rejecting it. My reasons would be:
|
|
yeap, search reminded me mentioning it in original FWIW, I think adopting standard for durations makes sense. I will extract your comment into an issue |
|
@ericearl I would like to invite you to review this PR since somewhat relates to @bids-standard/bep036 and thus could be of interest for feedback or just approval ;) @julia-pfarr also might be of interest to you as a liaison to the world of all the participants.tsv annotations of neurobagels ;) |
ericearl
left a comment
There was a problem hiding this comment.
Find a resolution to my one comment, and it looks good!
|
Two approvals. This can be merged on/after Thursday, April 23, to ensure there's enough time for people to review since the last significant edit. |
|
Looks good! FYI: Neurobagel uses age in years with different formats (float (31.5), range (30-35), euro (31,5), bounded (30+), iso8601 (31Y6M)) |
coolio, today is May 07 so let's proceed! |
Of high relevance to @bids-standard/bep032 effort, but also potentially to @bids-standard/bep036 and others.
TODOs/Notes
Unclear why NOW it became applicable/failing