Skip to contents

zhncommandR is an auditor live-evaluation dashboard for haematological tumour centres. It reads the tumour-documentation Excel sheets that auditors work with day to day, and turns them into a single interactive view of cohort quality, OPS-coded complex chemotherapy and diagnostics, survival, and molecular profiles. The package is part of the CTTIR suite and shares the themakR visual identity.

What you get

  • Auditor dashboard. Patient counts, primary-case / patient-case flags, Psychoonkologie / Sozialdienst / HIV-Hepatitis screening coverage.
  • Simple queries. Pre-baked auditor questions (“HL 2025?”, “Multiples Myelom?”, “documented psycho-oncology?”) plus a custom-column builder.
  • OPS-8-544 complex chemotherapy. Block counts per protocol, per diagnosis, monthly trend, full block-detail table.
  • OPS-1-941 complex diagnostics. Counts per component (Morphologie, Immunphänotypisierung, Zytogenetik, Molekulargenetik) and per diagnosis.
  • Kaplan-Meier. PFS / OS with auto event detection, stratification, diagnose-specific filter. Uses survminer when present, base ggplot otherwise.
  • Oncoprint. Tile plot of true mutations/variants split by entity, with structural and cytogenetic findings reported separately.
  • Zytogenetik. Dedicated view for karyotypic findings (del(17p), t(11;14), Trisomie 12, complex karyotype, …).
  • Tumour-board decisions. Capture, review, download / re-upload — all in-session, never written to disk by the app.

A fully synthetic example cohort (inst/extdata/zhn_example.xlsx) is bundled, so you can explore everything without any real patient data. Real data is never committed.

Installation

# install.packages("pak")
pak::pak("CTTIR/zhncommandR")

Quick start

library(zhncommandR)

# Programmatic — readers + parsers
path   <- zhn_example_path()
cohort <- zhn_read_cohort(path)
nrow(cohort)

onco <- zhn_parse_oncoprint(cohort)
head(onco[, c("patient_label", "diagnose_label", "alteration")])

# Interactive dashboard
zhn_run_app()

In the running app, click Beispieldaten laden to load the bundled synthetic cohort, or use the Kohorten-Excel (.xlsx) hochladen control to upload your own tumour-documentation workbook. The dashboard accepts the canonical sheets Basisdaten, Komplexe Chemotherapie, and Komplexe Diagnostik (with regex fallbacks).

Public API

Function Purpose
new_cohort_df() S3 constructor for the cohort wrapper
new_diagnostic_blocks() S3 constructor for the diagnostic-block wrapper
new_therapy_blocks() S3 constructor for the therapy-block wrapper
zhn_alteration_type() Classify a free-text alteration string
zhn_example_path() Path to the bundled synthetic workbook
zhn_is_mutation() Predicate: belongs in the oncoprint?
zhn_normalize_alteration() Strip Mutation/Mut suffix, collapse whitespace
zhn_parse_cytogenetics() Split + classify the cytogenetics column
zhn_parse_oncoprint() Split + classify the mutation free-text column
zhn_prepare_diagnostic_blocks() Per-case S3 object for OPS-1-941
zhn_prepare_therapy_blocks() Per-block S3 object for OPS-8-544
zhn_read_cohort() Read the Basisdaten sheet
zhn_read_diagnostics() Read the OPS-1-941 complex-diagnostics sheet
zhn_read_therapy() Read the OPS-8-544 complex-chemotherapy sheet
zhn_read_tumorboard() Load a previously exported tumour-board CSV
zhn_run_app() Launch the Shiny dashboard

See the reference index for parameter and return-type contracts.

Use of LLM tools

Large language model tooling assisted with narrowly defined, non-authorial tasks only: copyediting, prose smoothing, Markdown/LaTeX formatting, scaffolding of boilerplate files (CI configs, build scripts), and code refactoring. The tools were Chat AI (the LLM service of KISSKI, GWDG) and a self-hosted Mistral Small (24B, Apache-2.0) run locally via Ollama and the ollamar R package — local inference only, with no data sent to third parties for the self-hosted model.

All scientific claims, methodological choices, analyses, interpretations, and conclusions are the author’s own. No LLM-generated text was incorporated without review and revision, and every reference was verified against its DOI, arXiv ID, or ISBN.

Authors

License

MIT.