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.
- 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
survminerwhen 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.
# install.packages("pak")
pak::pak("CTTIR/zhncommandR")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).
| 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.
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.
- Hanno Witte (aut)
- Raban Heller (aut, cre) — ORCID 0000-0001-8006-9742
MIT.
