Skip to main content
DoneThat

AI Adoption GuideHealthcareTreat

Treatment response prediction

ML predicts individual patient response to therapy options using clinical, genomic, and phenotypic data, reducing trial-and-error prescribing, using tools like Tempus or Foundation Medicine.

Healthcare processAccessIntakeAssessDiagnoseTreatDischargeBillFollowup

By Don, DoneThat’s AI coach · updated

What a quality prediction must contain

A usable treatment-response prediction names the therapy option, names the genomic or clinical inputs that support the score, and stays empty when those inputs are missing. It does not invent a response rate. It does not place the drug on the order.

The quality bar is the cite. If the model used an EGFR exon 19 deletion, the output must say so. If the model used prior lines of therapy, ECOG performance status, or PD-L1 immunohistochemistry, those fields must appear next to the score. A number without the inputs is not a prediction you can act on. It is a suggestion you cannot audit.

Oncology and specialty pharmacy already work this way for other decisions. You do not start a tyrosine kinase inhibitor without the variant. You do not start a dose-adjusted regimen without the lab. Response prediction is the same pattern applied to comparative scoring: show the evidence the model used, or show nothing.

Vendor platforms that return genomic reports (Tempus, Foundation Medicine) and electronic health records that hold the clinical chart (Epic, Oracle Health) are input sources. Treat them as a class of systems that can supply structured variants, immunohistochemistry, staging, and prior therapy. Do not treat a vendor label as a substitute for the cite.

Load genomic and clinical inputs first

Load the record before you score. Pull the molecular report, the pathology immunohistochemistry, the staging and histology, prior systemic therapy, relevant labs, and performance status from the chart. Map each field to a named input. If the genomic report is pending or the phenotype field is blank, do not fill it from memory or from a similar patient.

The load step is where most silent failures start. A model that scores likely benefit for an EGFR inhibitor when the EGFR field is empty has invented a genotype. A model that scores immunotherapy using a PD-L1 value copied from another accession has invented a phenotype. Stop. Leave those inputs unset.

  1. Identify the current diagnosis and line of therapy from the problem list and last oncology note.
  2. Attach the latest next-generation sequencing or companion-diagnostic report. Record the assay date, the genes tested, and the variants called. If the report is not in the chart, the genomic inputs stay empty.
  3. Attach immunohistochemistry and other phenotype markers (PD-L1, HER2, hormone-receptor status, and any disease-specific markers) with the specimen identifier. If immunohistochemistry is not resulted, those fields stay empty.
  4. Attach clinical modifiers the model is allowed to use: stage, histology, prior lines, contraindications, organ function, performance status.
  5. Confirm you are scoring the current disease, not a historical primary. Metastatic tissue and an archived resection are not interchangeable without an explicit rule.

Do not reconcile conflicts by guessing. If two reports disagree on a variant, surface both and do not score that gene until a clinician marks which result is current. If the chart shows a drug already given and the molecular report is older than that line, flag the sequence. The score must know which inputs belong to this decision.

pharmacogenomics-based drug selection is a related but narrower load: genotype that changes starting dose or eligibility. Response prediction may use the same genotype plus tumor phenotype and treatment history. Load once. Do not run two models on two different snapshots of the same patient.

Score with cites, or leave the field empty

After the inputs are loaded, score each candidate therapy only if the required genomic or clinical fields are present. Each scored option should return three things: the option name, the direction of the prediction (higher or lower expected benefit relative to the other loaded options, or a categorical label the model actually produces), and the list of inputs used.

Leave the prediction blank when genotype or phenotype required by that option is missing. Empty is the correct output. Empty is not a failure of the model. Filling the blank with a population average, a typical-responder narrative, or a made-up response percentage is a quality failure.

Do not invent a response rate. Training cohorts have published response frequencies. That fact does not authorize writing a percentage onto this patient's chart unless that figure is a documented model output tied to this patient's inputs and the model's stated calibration. If the model does not emit a rate, do not add one. If the model emits a score, show the score and the cites. The clinician converts that into a therapy choice.

Cites must be specific enough to re-find. "Genomics" is not a cite. "EGFR exon 19 deletion, liquid NGS, 12 March 2026" is a cite. "Clinical data" is not a cite. "Adenocarcinoma, stage IV, one prior platinum line, ECOG 1" is a cite.

Block this failure mode at scoring: a prediction with no genotype cite. If the scored class of drugs is genotype-dependent (EGFR, ALK, BRAF, BRCA, mismatch-repair or microsatellite status, and similar), refuse the score when the gene result is absent. Do not substitute histology, smoking history, or most patients in this histology as a stand-in cite.

Illustrative workup when NGS has not posted

A 62-year-old with newly diagnosed metastatic lung adenocarcinoma is being considered for first-line systemic therapy. The chart in the EHR (Epic or Oracle Health) has staging, histology, performance status, and labs. Tissue has been sent for sequencing. PD-L1 immunohistochemistry is resulted. The sequencing report has not posted.

Score immunotherapy and chemotherapy combinations only against the inputs that exist: histology, stage, PD-L1, performance status, organ function. Cite those fields. Do not score EGFR-directed, ALK-directed, or other oncogene-directed options. Those genomic fields are empty. The prediction for those inhibitors stays blank. Do not write a response rate for a tyrosine kinase inhibitor or for targeted therapy to keep the list looking complete.

When the sequencing report posts from a genomic laboratory (Tempus, Foundation Medicine, or another assay in the same class) and shows, for illustration, an EGFR exon 19 deletion, reload the inputs and score again. The inhibitor option can now carry a cite: the variant, the assay, the date. Immunotherapy scoring should be recomputed with the same variant in the input set, because the cited genotype changes how that class is interpreted. Still do not invent a numeric response rate. Still do not place the inhibitor on the order.

If instead the sequencing is negative for the drivers the model requires, cite the negative panel (genes tested and date, not "no genomics"). Blank stays blank only for options that still lack a required marker. A negative result is a result. An absent report is not.

This is an illustration of branching on missing versus present inputs. It is not a case study and it does not claim an outcome.

The score is not the order

The clinician chooses therapy. The prediction is an input to that choice, alongside evidence-based guideline retrieval, contraindications, patient goals, and real-time drug interaction monitoring once a regimen is in view.

Treating the score as the order is a failure mode. Auto-selecting the top-ranked option, sending it to e-prescribe, or labeling the score as recommended in a way that bypasses sign-off turns a quality-controlled prediction into an unsigned treatment. Keep the prediction on a review surface. Require a named clinician to pick, modify, or reject.

If the highest-scoring approved option is still a poor fit (comorbidity, prior toxicity, access, or patient preference), the blank or low scores do not authorize improvising a rate to justify a different drug. They authorize looking elsewhere: another approved class, supportive care, or clinical trial matching when standard options are exhausted or the genotype points to an investigational arm.

Specialty pharmacy uses the same rule at verification. A score in the referral notes is not a diagnosis, not a genotype, and not an order. Verify the cited inputs against the report and the chart. If the cite is missing, hold. If the cited variant is not on the attached report, hold. If the prescribed drug does not match what the clinician signed, follow the signed order and query the discrepancy. Do not correct the order to match the model.

Keep one record snapshot across these checks. Do not let one system score on a liquid biopsy and another on an older tissue report without showing both. Load, score only with cites, leave blanks, and let the clinician choose.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other. This one is rated high effort to implement, so the baseline matters more than usual.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first