Skip to content

Release 8 fixes#169

Merged
aditigopalan merged 45 commits into
mainfrom
release-8-fixes
Apr 15, 2026
Merged

Release 8 fixes#169
aditigopalan merged 45 commits into
mainfrom
release-8-fixes

Conversation

@aditigopalan
Copy link
Copy Markdown
Collaborator

@aditigopalan aditigopalan commented Apr 14, 2026

Fixes #168 #159

Please refer to issues for description of reviews. You can ignore the docs files!

Please also review the docs for this branch here: https://htan2-data-model.readthedocs.io/en/release-8-fixes/

aditigopalan and others added 7 commits April 14, 2026 13:22
…issue 2)

Remove TISSUE_SAMPLE_TYPE (caDSR:16391068) and its downstream
conditional rules from the biospecimen schema. The field is no longer
needed since frozen-sample tissue type is not captured here. Removes
the tissue_sample_type_enum import, attribute, slot_usage entry, and
the five rules that gated sectioning fields on it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…t type (closes #168 issue 3)

THERAPEUTIC_AGENTS was unconditionally required. Per the new spec, it
(and REGIMEN_OR_LINE_OF_THERAPY) are only required when TREATMENT_TYPE
is Chemotherapy, Concurrent Chemoradiation, or Pharmacotherapy.
Replaces the single Pharmacotherapy rule with three explicit rules and
adds THERAPEUTIC_AGENTS to slot_usage.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…issue 5)

ECOG_PERFORMANCE_STATUS was always required, giving no way to report
missing data. Add ECOG_PERFORMANCE_STATUS_IS_AVAILABLE (Yes/No/Unknown)
as a required field and make ECOG_PERFORMANCE_STATUS conditionally
required when IS_AVAILABLE is Yes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
 #168 issue 1)

The model had no way to record that a tumor was not staged. Add
TUMOR_STAGED (Yes/No/Unknown) as a required field and make
CLINICAL_T_STAGE, CLINICAL_N_STAGE, CLINICAL_M_STAGE, and
AJCC_STAGING_SYSTEM_EDITION conditionally required when TUMOR_STAGED
is Yes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…loses #168 issue 4)

Add GleasonGradeGroupEnum (grade groups 1-5, caDSR:5918370) and an
optional GLEASON_GRADE_GROUP slot to the Diagnosis class to support
prostate cancer tumor grade reporting.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
#159)

Sphinx slugifies heading IDs: lowercase + non-alphanumeric characters → dash.
The link generator was using .lower() only, so enum names with underscores
(e.g. tissue_or_organ_of_origin_uberon_enum) generated anchors like
#tissue_or_organ_of_origin_uberon_enum that didn't match the rendered heading ID
#tissue-or-organ-of-origin-uberon-enum, causing the broken link reported for
SITE_OF_RESECTION_OR_BIOPSY. Regenerated all docs to apply the fix.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions[bot]

This comment was marked as resolved.

Auto-generated Python classes from LinkML schema updates.

**Auto-generated by GitHub Actions workflow**
[skip ci]
@github-actions

This comment was marked as outdated.

aditigopalan and others added 3 commits April 14, 2026 13:58
… values

Replace numeric 1-5 values with proper caDSR permissible value names
(Grade Group I-V) and update each description with the official caDSR
text and per-value caDSR IDs (6051222, 6051013, 6051226, 6051227, 6051228).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… caDSR text

Keep permissible values 1-5; update each description to use the official
caDSR grade group name and definition with per-value caDSR IDs
(6051222, 6051013, 6051226, 6051227, 6051228).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot dismissed their stale review April 14, 2026 18:03

Superseded by updated review on commit aa5840e

github-actions[bot]

This comment was marked as resolved.

@github-actions github-actions Bot dismissed their stale review April 14, 2026 18:07

Superseded by updated review on commit 7465b8e

github-actions[bot]

This comment was marked as resolved.

@github-actions

This comment was marked as outdated.

Auto-generated Python classes from LinkML schema updates.

**Auto-generated by GitHub Actions workflow**
[skip ci]
@github-actions

This comment was marked as outdated.

aditigopalan and others added 3 commits April 14, 2026 14:17
equals_string on a multivalued slot tests the entire collection rather
than individual members, so rules never fired for combined treatment
types like ["Chemotherapy", "Radiation Therapy"]. Replace equals_string
with any_of/pattern semantics (matching the existing surgical/radiation
rule style) and consolidate the Chemotherapy + Concurrent Chemoradiation
rules into one since they share identical postconditions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot dismissed their stale review April 14, 2026 18:19

Superseded by updated review on commit 3977304

github-actions[bot]

This comment was marked as resolved.

Auto-generated Python classes from LinkML schema updates.

**Auto-generated by GitHub Actions workflow**
[skip ci]
@github-actions

This comment was marked as outdated.

…attributes

OFF_TREATMENT_REASON, REGIMEN_OR_LINE_OF_THERAPY, NUMBER_OF_CYCLES, and
RESPONSE were required: true in attributes but immediately overridden to
required: false in slot_usage. Set them to required: false at source so
the attribute definition matches the effective behaviour; conditional
enforcement is handled entirely by the rules block.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Auto-generated Python classes from LinkML schema updates.

**Auto-generated by GitHub Actions workflow**
[skip ci]
@github-actions
Copy link
Copy Markdown
Contributor

Python classes auto-updated!

The Python classes have been automatically regenerated and committed to this PR branch.

**Updated files:**
```
modules/Biospecimen/src/htan_biospecimen/datamodel/biospecimen.py

modules/Clinical/src/htan_clinical/datamodel/clinical.py
modules/DigitalPathology/src/htan_digitalpathology/datamodel/digital_pathology.py
modules/Imaging/src/htan_imaging/datamodel/imaging.py
modules/MultiplexMicroscopy/src/htan_multiplexmicroscopy/datamodel/multiplex_microscopy.py
modules/Sequencing/src/htan_sequencing/datamodel/sequencing.py
modules/SpatialOmics/src/htan_spatial/datamodel/spatial.py
modules/WES/src/htan_wes/datamodel/wes.py
modules/scRNA-seq/src/htan_scrna_seq/datamodel/scrna_seq.py
```

The generated classes are now up to date with the schema changes.

Copy link
Copy Markdown
Collaborator

@PozhidayevaDarya PozhidayevaDarya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great; the only thing I don't see in this PR is the ECOG performance availability but it looks like Kristen responded that it should be: caDSR (#5943795)
"The data element name is "ECOG Score Performed" and the permissible values are 'Known' and 'Unknown."

Copy link
Copy Markdown
Collaborator

@adamjtaylor adamjtaylor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a little hard to parse, but I think this looks like it is implemented correctly. Minor comments but approved without changes.

Comment thread docs/biospecimen.md
Comment thread modules/Biospecimen/domains/biospecimen.yaml Outdated
Comment thread modules/Biospecimen/domains/biospecimen.yaml
Comment thread modules/Biospecimen/src/htan_biospecimen/datamodel/biospecimen.py Outdated
aditigopalan and others added 3 commits April 15, 2026 10:06
docs/*.md are generated by scripts/generate_table_docs.py during the
ReadTheDocs build (.readthedocs.yaml). They do not need to be committed.
Restoring to pre-fix state; the slug fix in the script is what matters.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot dismissed their stale review April 15, 2026 14:08

Superseded by updated review on commit 9730d25

github-actions[bot]

This comment was marked as outdated.

Auto-generated Python classes from LinkML schema updates.

**Auto-generated by GitHub Actions workflow**
[skip ci]
@github-actions
Copy link
Copy Markdown
Contributor

Python classes auto-updated!

The Python classes have been automatically regenerated and committed to this PR branch.

**Updated files:**
```
modules/Biospecimen/src/htan_biospecimen/datamodel/biospecimen.py

modules/Clinical/src/htan_clinical/datamodel/clinical.py
modules/DigitalPathology/src/htan_digitalpathology/datamodel/digital_pathology.py
modules/Imaging/src/htan_imaging/datamodel/imaging.py
modules/MultiplexMicroscopy/src/htan_multiplexmicroscopy/datamodel/multiplex_microscopy.py
modules/Sequencing/src/htan_sequencing/datamodel/sequencing.py
modules/SpatialOmics/src/htan_spatial/datamodel/spatial.py
modules/WES/src/htan_wes/datamodel/wes.py
modules/scRNA-seq/src/htan_scrna_seq/datamodel/scrna_seq.py
```

The generated classes are now up to date with the schema changes.

aditigopalan and others added 3 commits April 15, 2026 10:15
Adds .gitattributes so GitHub collapses generated Python dataclasses
and JSON schemas in PR diffs. Reviewers can still expand them but they
won't clutter the default diff view.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…DSR text

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot dismissed their stale review April 15, 2026 14:20

Superseded by updated review on commit 0be154e

github-actions[bot]

This comment was marked as outdated.

…resence: PRESENT

minimum_value is a slot definition keyword and is not valid inside a
slot_conditions precondition block in LinkML rules. Replace with
value_presence: PRESENT, which is the correct LinkML 1.3 keyword for
expressing "when this field has a value" in rule preconditions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot dismissed their stale review April 15, 2026 14:23

Superseded by updated review on commit aa09c71

github-actions[bot]

This comment was marked as outdated.

@github-actions
Copy link
Copy Markdown
Contributor

Python classes auto-updated!

The Python classes have been automatically regenerated and committed to this PR branch.

**Updated files:**
```
modules/Biospecimen/src/htan_biospecimen/datamodel/biospecimen.py

modules/Clinical/src/htan_clinical/datamodel/clinical.py
modules/DigitalPathology/src/htan_digitalpathology/datamodel/digital_pathology.py
modules/Imaging/src/htan_imaging/datamodel/imaging.py
modules/MultiplexMicroscopy/src/htan_multiplexmicroscopy/datamodel/multiplex_microscopy.py
modules/Sequencing/src/htan_sequencing/datamodel/sequencing.py
modules/SpatialOmics/src/htan_spatial/datamodel/spatial.py
modules/WES/src/htan_wes/datamodel/wes.py
modules/scRNA-seq/src/htan_scrna_seq/datamodel/scrna_seq.py
```

The generated classes are now up to date with the schema changes.

@github-actions github-actions Bot dismissed their stale review April 15, 2026 14:26

Superseded by updated review on commit 1506546

github-actions[bot]

This comment was marked as outdated.

@github-actions
Copy link
Copy Markdown
Contributor

Python classes auto-updated!

The Python classes have been automatically regenerated and committed to this PR branch.

**Updated files:**
```
modules/Biospecimen/src/htan_biospecimen/datamodel/biospecimen.py

modules/Clinical/src/htan_clinical/datamodel/clinical.py
modules/DigitalPathology/src/htan_digitalpathology/datamodel/digital_pathology.py
modules/Imaging/src/htan_imaging/datamodel/imaging.py
modules/MultiplexMicroscopy/src/htan_multiplexmicroscopy/datamodel/multiplex_microscopy.py
modules/Sequencing/src/htan_sequencing/datamodel/sequencing.py
modules/SpatialOmics/src/htan_spatial/datamodel/spatial.py
modules/WES/src/htan_wes/datamodel/wes.py
modules/scRNA-seq/src/htan_scrna_seq/datamodel/scrna_seq.py
```

The generated classes are now up to date with the schema changes.

Auto-generated Python classes from LinkML schema updates.

**Auto-generated by GitHub Actions workflow**
[skip ci]
@github-actions
Copy link
Copy Markdown
Contributor

Python classes auto-updated!

The Python classes have been automatically regenerated and committed to this PR branch.

**Updated files:**
```
modules/Biospecimen/src/htan_biospecimen/datamodel/biospecimen.py

modules/Clinical/src/htan_clinical/datamodel/clinical.py
modules/DigitalPathology/src/htan_digitalpathology/datamodel/digital_pathology.py
modules/Imaging/src/htan_imaging/datamodel/imaging.py
modules/MultiplexMicroscopy/src/htan_multiplexmicroscopy/datamodel/multiplex_microscopy.py
modules/Sequencing/src/htan_sequencing/datamodel/sequencing.py
modules/SpatialOmics/src/htan_spatial/datamodel/spatial.py
modules/WES/src/htan_wes/datamodel/wes.py
modules/scRNA-seq/src/htan_scrna_seq/datamodel/scrna_seq.py
```

The generated classes are now up to date with the schema changes.

@aditigopalan aditigopalan merged commit 278bc9c into main Apr 15, 2026
@aditigopalan aditigopalan deleted the release-8-fixes branch April 15, 2026 14:46
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.

Clinical changes release 8

4 participants