Skip to content

feat: Add Onkologie test data module#25

Open
ThomasDeBe wants to merge 25 commits intomainfrom
feature/add-onkologie-testdata
Open

feat: Add Onkologie test data module#25
ThomasDeBe wants to merge 25 commits intomainfrom
feature/add-onkologie-testdata

Conversation

@ThomasDeBe
Copy link

Summary

  • Add comprehensive test data for MII Onkologie (Oncology) module
  • 88 example instances covering core and organ-specific profiles
  • Transaction bundle format for easy FHIR server upload

Profiles Covered

Core Profiles

  • Patient, Diagnose (Primärtumor, frühere Tumorerkrankung)
  • Histologie (ICD-O-3, Grading, Befund)
  • TNM staging (T, N, M, L, V, Pn, S categories + y, r, a, m symbols)
  • Therapie (Operation, Strahlentherapie, Systemische Therapie)
  • Tumorkonferenz (inkl. Therapieempfehlungen)
  • Outcome (Verlauf, Tod, Nebenwirkung)
  • Staging (ECOG, Karnofsky, ASA, FIGO, Residualstatus, Fernmetastasen)

Organ-Specific Profiles

  • Mamma: Rezeptorstatus (ER, PR), HER2-Status, Menopausenstatus
  • Prostata: PSA, Gleason Score, Anzahl Stanzen, Clavien-Dindo
  • KRK: Abstandsmaße, Anastomoseninsuffizienz, Stoma-Markierung
  • Melanom: Breslow-Tiefe, Ulzeration, Sicherheitsabstand, LDH

Test Plan

  • SUSHI compiles without Onkologie-related errors
  • CI/CD pipeline validates all resources
  • Transaction bundle uploads to FHIR server

Notes

  • Single synthetic patient used for all profiles (technical validation purpose)
  • Remaining 23 SUSHI warnings are from external modules (consent, bildgebung, studie) - not Onkologie

🤖 Generated with Claude Code

ThomasDeBe and others added 8 commits February 2, 2026 11:24
In laborbefund 2026.0.0, the DiagnosticReport category structure changed
from two separate coding slices (loinc-lab, diagnostic-service-sections)
to a single category slice (lab-category) with patternCodeableConcept.

Fixes 20 SUSHI errors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
In biobank 2026.0.x, Specimen.container is now min=1 and
container.capacity.unit / container.specimenQuantity.unit are required.
Added container blocks to 3 instances that lacked them and added
.unit = "mL" to all 21 Specimen instances.

Fixes 39 SUSHI errors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
….x profiles

Breaking changes from 2026.0.x dependency upgrades:
- molgen: rename variante component slices (coding-hgvs → representative-coding-hgvs,
  protein-hgvs → representative-protein-hgvs, transcript-ref-seq →
  representative-transcript-ref-seq), remove ergebnis-zusammenfassung (deleted),
  deactivate untersuchte-region (pending genomic-study refactor), comment out
  removed result slices on befundbericht, remove functional-effect from
  diagnostische-implikation, remove conclusion-string from MSI
- bildgebung: fix supportingInfo/bodyStructure extension paths for native R4
  extensions, fix Composition section slicing (diagRep), fix ContrastAdministration
  dosage.dose UCUM coding
- medikation: fix MedicationAdministration dosage.dose UCUM system
- consent: update consent_category CodeSystem alias to version-modules

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update package.json and sushi-config.yaml with 2026.0.x dependency versions
for molgen, bildgebung, medikation, laborbefund, biobank, and consent modules.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add comprehensive test data for MII Onkologie (Oncology) module covering:
- Core profiles: Patient, Diagnose, Histologie, TNM staging, Therapie, Outcome
- Organ-specific profiles: Mamma, Prostata, KRK, Melanom
- 88 example instances in transaction bundle format

Includes OnkoAliases.fsh with all required MII Onkologie CodeSystem aliases.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add instances to cover all 17 Onkologie-specific SearchParameters:
- TNM N with ITC suffix (tnm-n-itc) and SN suffix (tnm-n-sn-suffix)
- Strahlentherapie Bestrahlung with:
  - Applikationsart (bestrahlung-applikationsart)
  - Strahlenart (bestrahlung-strahlenart)
  - Zielgebiet Lateralität (bestrahlung-zielgebiet-lateralitaet)
  - Gesamtdosis (bestrahlung-gesamtdosis)
  - Einzeldosis (bestrahlung-einzeldosis)
  - Boost (bestrahlung-boost)

Now covers 17/17 (100%) Onkologie SearchParameters.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fills ~60 MS element gaps across 35 profiles to achieve near-complete
MS coverage. Adds encounter references, partOf/basedOn linkages,
identifiers, dataAbsentReason variants, coding slices (DefinitionLeitlinie,
ISHResult), and organ-specific elements (usedCode, specimen, condition).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@ThomasDeBe ThomasDeBe force-pushed the feature/add-onkologie-testdata branch from 30ea65a to db3ca09 Compare February 2, 2026 21:42
ThomasDeBe and others added 17 commits February 3, 2026 08:56
The sushi-config.yaml had the onkologie dependency but package.json
did not, causing the Java FHIR validator in CI to not load the
onkologie StructureDefinitions (extensions, profiles).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The biobank 2026 package replaced the MII BeschreibungSammlung extension
with the BBMRI miabis-organization-description-extension (valueString).
Add eu.miabis.r4 as transitive dependency for both SUSHI and CI validator.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fix ~60 FHIR validation errors from wrong display values and codes:
- TNM a/r-symbol: use correct LOINC (101660-9, 101659-1) and SNOMED codes
- TNM N-Kategorie: fix SNOMED code 384626003 -> 371494008
- TNM L/V/Pn: correct SNOMED preferred displays
- TNM y-symbol: correct LOINC and SNOMED displays
- Strahlentherapie: fix Zielgebiet codes (5.12, 2.11), Applikationsart,
  Strahlenart, and Boost displays per CodeSystem definitions
- StellungZurOp: fix CodeSystem URI alias (mii-cs-therapie-stellungzurop)
- Mamma: correct LOINC answer displays (LA13035-3, LA11840-8)
- Melanom: fix bodySite SNOMED display
- KRK Specimen: correct SNOMED display for 119376003
- Studienteilnahme: correct SNOMED display for 709491003
- Residualstatus: correct LOINC display for 84892-9
- ICD-O-3 Histologie: correct display for 8441/3
- Tumorgröße: correct SNOMED method display
- Systemische Therapie: fix CarboTax protocol display
- ECOG: match CodeSystem display (transliterated Umlaute)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add dosageInstruction.timing to 8 MedicationRequests missing it (DosageDE)
- Add SNOMED-CT category to KRK and Prostata operations (proc-mii-1)
- Remove resource from RequestGroup action with sub-actions (rqg-1)
- Upgrade consent dependency to 2026.0.1-rc-1 (snapshot fix)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Pin ICU dependency to 2026.0.1-rc1 (2026.0.0 is missing snapshots).
Add initial modul-icu with Herzfrequenz Observation example for Patient 1.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add comprehensive technical test instances for 4 KDS modules:
- MolGen: update existing + add GenomicStudy, MolekulareKonsequenz, PolygenerRisikoScore (16/16 profiles)
- MTB: 50 instances covering all 48 profiles (diagnostics, therapy, follow-up)
- PROM: 19 instances (PHQ-9, BDI-II, EQ-5D-5L, PROMIS-29, PROMIS Depression/Cognitive)
- Seltene: 23 instances covering all 17 profiles (HPO, conditions, therapies, body measurements)

Also adds missing genomics-reporting and SDC dependencies.
525 total instances, 0 SUSHI errors, 0 warnings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…and MedDRA

- Fix ICD-O-3 displays: C50.4 bodySite, 8500/3 morphology
- Comment out morphology-behavior-icdo3 extension (TX server cannot expand
  dynamic ICD-O-3 morphology ValueSet, causing cascade of 6 reference errors)
- Add advisor suppression for MedDRA TX server NPE (Terminology_TX_Confirm_4a)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix StellungZurOp CodeSystem URI: documented upstream package bug where
  extension definition uses mii-cs-onko-therapie-stellungzurop but parent
  profile snapshot still has mii-cs-therapie-stellungzurop. Added advisor
  suppressions for the 4 resulting validator errors.
- Fix German umlaut ASCII transliteration: Roentgenstrahlen → Röntgenstrahlen,
  koerperlicher → körperlicher, etc. in ECOG and Strahlenart displays.
- Fix LOINC display values for TNM r-symbol (101659-1) and a-symbol (101660-9).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Display name fixes (109 errors):
- Consent: MDAT/BIOMAT display shortened (10 patients)
- Onko KRK: umlaut fix, LOINC/SNOMED display corrections
- MTB: ICD-O-3 C34.1, SNOMED, HGNC, LOINC display corrections
- Bildgebung: LOINC #24604-1 typo fix
- Seltene: SNOMED, HPO, CodeSystem display corrections, umlauts
- MolGen: LOINC display corrections for variant, chromosome, pathogenicity

Constraint fixes (Seltene module):
- fhs-1: Remove ageAge from FamilyMemberHistory (keep bornDate)
- cpl-3: Remove activity.reference from CarePlan (keep detail)
- con-4: Remove abatementString from active Conditions

ICD-10-GM version fixes:
- Add missing version to ICD-10-GM codings in Seltene Conditions
  and FamilyMemberHistory instances

LOINC answer code fixes:
- MTB HER2: Change LA11842-4 to LA6576-8 (Positive) for LL3593-2/LL4396-9

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ant coverage

- FamilyMemberHistory: fix ICD-10-GM display names with missing umlauts
- Onko Liste Evidenz: fix wrong SNOMED code 168461002 (Postmortem examination) to 363679005 (Imaging)
- PRO QuestionnaireResponse: fix PROMIS answer code LA6568-5 (Not at all) to LA6270-8 (Never)
- MolGen DiagnostischeImplikation: fix genomics-artifact extension URL to workflow-relatedArtifact
- MedicationRequest: add doseQuantity to medrequest-3/-4 for DosageDoseUnitSameCode invariant
- MedicationRequest: split Metoprolol into 2 dosageInstructions (25mg/50mg) for invariant coverage

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… docs

- MTB NgsBericht: fix immunohistochemistry-her2 coding (separate system/code -> $loinc#LA6576-8)
- sushi-config: add explicit canonical URIs for seltene/mtb/pros dependencies
- OnkoAliases: update comment documenting stellungzurop snapshot mismatch (unfixable on our side)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The onkologie package 2026.0.1 has a bug where the parent Procedure
profile snapshots (Strahlentherapie, Systemische Therapie) still
reference the old CodeSystem URI mii-cs-therapie-stellungzurop, while
the actual CodeSystem and Extensions use mii-cs-onko-therapie-stellungzurop.
Patched local package cache and updated FSH to use the correct URI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- DiagnosticReport.fsh: meta.profile genomics-report -> genomic-report
  (STU2 -> STU3 profile name, eliminates ~74 processing errors)
- PathoCondition.fsh: SNOMED display "Malignant tumor of prostate
  (disorder)" -> "Malignant neoplasm of prostate"
- PathoList.fsh: LOINC display "History of Present illness Narrative"
  -> "History of Present illness"
- sushi-config.yaml: seltene dependency URI now includes
  /ImplementationGuide/ path (fixes business-rule error)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The TX server has ASK version 20260105 but cannot resolve unversioned
requests. Adding the version to the alias resolves ~97 code-invalid
errors on Medication resources and ~135 cascading structure errors on
referencing MedicationAdministration/Request/Statement resources.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…erviceRequest

Profile requires min:1 on coding within the statusReason extension's
valueCodeableConcept. Added SNOMED CT code 399069006 "Eligible for
clinical trial (finding)".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026.0.1 contains the fixed CodeSystem URL for mii-cs-onko-therapie-stellungzurop.
The 2026.0.x wildcard resolved to 2026.0.0 which still had the old URL without onko- prefix.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The 2026.0.1 onkologie profile snapshot has fixedUri without the onko-
prefix (mii-cs-therapie-stellungzurop), even though the CodeSystem
resource itself uses it. Align testdata to match the installed profile.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant