Feature/publish abc clinical demand forecast 3.0.0#5670
Merged
madskristensen merged 3 commits intoMay 11, 2026
Merged
Conversation
- Added abc-clinical-demand-forecast-2.0.0.json schema file - Updated catalog.json to include version 2.0.0 and set as default - Updated schema-validation.jsonc with validation configuration - Added positive test case for version 2.0.0 with required dispensationIntervals/dispensationIntervalUnit fields - Copied negative test cases from version 1.0.0 Key changes in version 2.0.0: - Added required dispensationIntervals (non-empty array of numbers >= 1) on dosingRegimenDefinition - Added required dispensationIntervalUnit (enum: days/weeks/months/years) on dosingRegimenDefinition Testing: - Validated schema-specific: node ./cli.js check --schema-name=abc-clinical-demand-forecast-2.0.0.json - Validated full test suite: node ./cli.js check (all 802 tested schemas pass) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Added abc-clinical-demand-forecast-3.0.0.json schema file - Updated catalog.json to include version 3.0.0 and set as default - Updated schema-validation.jsonc with validation configuration - Added positive test case for version 3.0.0 - Copied negative test cases from version 2.0.0 Key changes in version 3.0.0 (breaking): - Replaced dosingFrequency string enum (once_daily_qd, twice_daily_bid, every_other_day, etc.) with a structured DosingFrequency object that supports multi-phase regimens. Each DosingFrequency has a description (also used as the AI generation prompt) and an ordered phases array (1-10 phases). Each DosingPhase defines a repeating cycle via cycleDoses and cycleUnit (days or months), and a repeat duration via repeatFor and repeatForUnit (days, weeks, months, or years). repeatFor: 0 marks a terminal phase that runs for the remainder of the treatment. This enables regimens such as capecitabine 14-on/7-off and "weekly for 6 weeks then monthly" that the old flat enum could not express. - Positive test data updated: replaced the old once_daily_qd string with an equivalent single terminal-phase DosingFrequency object (cycleDoses: [1], cycleUnit: days, repeatFor: 0). Testing: - Validated schema-specific: node ./cli.js check --schema-name=abc-clinical-demand-forecast-3.0.0.json (PASS) - Validated full test suite: node ./cli.js check (PASS, all 803 tested schemas) Stacked-branch note: this branch was created from feature/publish-abc-clinical-demand-forecast-2.0.0 (not master) because the 2.0.0 PR has not yet been merged upstream. When the 2.0.0 PR merges, rebase this branch onto master before merging. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
for more information, see https://pre-commit.ci
mosofsky
pushed a commit
to mosofsky/schemastore
that referenced
this pull request
May 13, 2026
- Added abc-clinical-demand-forecast-4.0.0.json schema file - Updated catalog.json to include version 4.0.0 and set as default - Updated schema-validation.jsonc with validation configuration - Added positive test case for version 4.0.0 - Copied negative test cases from version 3.0.0 Key changes in version 4.0.0: - Added optional enrollmentStartOffset property in two object definitions (one for child-region defaults, one for actual-value-with-inherit). Type: integer or null. Minimum: 0. Default: 0. Represents months from site activation until first enrollment (First Patient In lead time). Null means inherit from parent; the default-for-child-regions variant defaults to 0 if no ancestor sets a value. - The property is NOT in any required array, so existing 3.0.0 data validates against 4.0.0 unchanged. The major-version designation reflects that the new property meaningfully changes lead-time behavior for downstream consumers even though the schema permits omitting it. Testing: - Validated schema-specific: node ./cli.js check --schema-name=abc-clinical-demand-forecast-4.0.0.json (PASS) - Validated full test suite: node ./cli.js check (PASS, all 806 tested schemas) - Re-ran node ./cli.js check after rebasing onto current origin/master and after folding in pre-commit.ci auto-fix formatting: PASS, no errors or failures. Rebase note: this branch was rebased onto origin/master to resolve merge conflicts. The original 2.0.0 and 3.0.0 commits on this branch were dropped because those versions were already merged upstream via PR SchemaStore#5670. The pre-commit.ci auto-fix commit's formatting changes for the 4.0.0 schema (compact enum arrays, AUTO-GENERATED header comment) were folded into this commit so the rebased branch matches what the bot would otherwise re-push. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperupcall
pushed a commit
that referenced
this pull request
May 13, 2026
- Added abc-clinical-demand-forecast-4.0.0.json schema file - Updated catalog.json to include version 4.0.0 and set as default - Updated schema-validation.jsonc with validation configuration - Added positive test case for version 4.0.0 - Copied negative test cases from version 3.0.0 Key changes in version 4.0.0: - Added optional enrollmentStartOffset property in two object definitions (one for child-region defaults, one for actual-value-with-inherit). Type: integer or null. Minimum: 0. Default: 0. Represents months from site activation until first enrollment (First Patient In lead time). Null means inherit from parent; the default-for-child-regions variant defaults to 0 if no ancestor sets a value. - The property is NOT in any required array, so existing 3.0.0 data validates against 4.0.0 unchanged. The major-version designation reflects that the new property meaningfully changes lead-time behavior for downstream consumers even though the schema permits omitting it. Testing: - Validated schema-specific: node ./cli.js check --schema-name=abc-clinical-demand-forecast-4.0.0.json (PASS) - Validated full test suite: node ./cli.js check (PASS, all 806 tested schemas) - Re-ran node ./cli.js check after rebasing onto current origin/master and after folding in pre-commit.ci auto-fix formatting: PASS, no errors or failures. Rebase note: this branch was rebased onto origin/master to resolve merge conflicts. The original 2.0.0 and 3.0.0 commits on this branch were dropped because those versions were already merged upstream via PR #5670. The pre-commit.ci auto-fix commit's formatting changes for the 4.0.0 schema (compact enum arrays, AUTO-GENERATED header comment) were folded into this commit so the rebased branch matches what the bot would otherwise re-push. Co-authored-by: Michael Osofsky <michael@abc-plan.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added schema abc-clinical-demand-forecast-3.0.0.json
Key changes in version 3.0.0 (breaking):
every_other_day, etc.) with a structured DosingFrequency object that
supports multi-phase regimens. Each DosingFrequency has a description
(also used as the AI generation prompt) and an ordered phases array
(1-10 phases). Each DosingPhase defines a repeating cycle via
cycleDoses and cycleUnit (days or months), and a repeat duration via
repeatFor and repeatForUnit (days, weeks, months, or years).
repeatFor: 0 marks a terminal phase that runs for the remainder of
the treatment. This enables regimens such as capecitabine 14-on/7-off
and "weekly for 6 weeks then monthly" that the old flat enum could
not express.
with an equivalent single terminal-phase DosingFrequency object
(cycleDoses: [1], cycleUnit: days, repeatFor: 0).
Testing: