Skip to content

Feature/publish abc clinical demand forecast 4.0.0#5671

Open
mosofsky wants to merge 4 commits into
SchemaStore:masterfrom
mosofsky:feature/publish-abc-clinical-demand-forecast-4.0.0
Open

Feature/publish abc clinical demand forecast 4.0.0#5671
mosofsky wants to merge 4 commits into
SchemaStore:masterfrom
mosofsky:feature/publish-abc-clinical-demand-forecast-4.0.0

Conversation

@mosofsky
Copy link
Copy Markdown
Contributor

Added schema abc-clinical-demand-forecast-4.0.0.json

  • 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 804 tested schemas)

Michael Osofsky and others added 3 commits May 11, 2026 11:42
- 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>
- 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 804 tested schemas)

Stacked-branch note: this branch was created from feature/publish-abc-clinical-demand-forecast-3.0.0 (not master) because the 2.0.0 and 3.0.0 PRs have not yet been merged upstream. When the 3.0.0 PR merges, rebase this branch onto master before merging.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@madskristensen
Copy link
Copy Markdown
Contributor

Merge conflicts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants