Release 8 fixes#169
Conversation
…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>
Auto-generated Python classes from LinkML schema updates. **Auto-generated by GitHub Actions workflow** [skip ci]
This comment was marked as outdated.
This comment was marked as outdated.
… 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>
…ta-model into release-8-fixes
Superseded by updated review on commit aa5840e
Superseded by updated review on commit 7465b8e
This comment was marked as outdated.
This comment was marked as outdated.
Auto-generated Python classes from LinkML schema updates. **Auto-generated by GitHub Actions workflow** [skip ci]
This comment was marked as outdated.
This comment was marked as outdated.
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>
…ta-model into release-8-fixes
Superseded by updated review on commit 3977304
Auto-generated Python classes from LinkML schema updates. **Auto-generated by GitHub Actions workflow** [skip ci]
This comment was marked as outdated.
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]
|
✅ Python classes auto-updated! modules/Clinical/src/htan_clinical/datamodel/clinical.py |
PozhidayevaDarya
left a comment
There was a problem hiding this comment.
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."
adamjtaylor
left a comment
There was a problem hiding this comment.
This is a little hard to parse, but I think this looks like it is implemented correctly. Minor comments but approved without changes.
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>
…ta-model into release-8-fixes
Superseded by updated review on commit 9730d25
Auto-generated Python classes from LinkML schema updates. **Auto-generated by GitHub Actions workflow** [skip ci]
|
✅ Python classes auto-updated! modules/Clinical/src/htan_clinical/datamodel/clinical.py |
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>
…ta-model into release-8-fixes
Superseded by updated review on commit 0be154e
…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>
Superseded by updated review on commit aa09c71
|
✅ Python classes auto-updated! modules/Clinical/src/htan_clinical/datamodel/clinical.py |
Superseded by updated review on commit 1506546
|
✅ Python classes auto-updated! modules/Clinical/src/htan_clinical/datamodel/clinical.py |
Auto-generated Python classes from LinkML schema updates. **Auto-generated by GitHub Actions workflow** [skip ci]
|
✅ Python classes auto-updated! modules/Clinical/src/htan_clinical/datamodel/clinical.py |
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/