NEW #DTAT paper: What Were They Thinking? Pharmacologic priors implicit in a choice of 3+3 dose-escalation design

“The unexamined trial is not worth conducting.”

— Socrates 1/

This latest #DTAT paper @arxiv sets out to reverse-engineer the unstated (∴ unexamined!) pharmacologic intuitions that underlie the #trialsafety claim implicit in the decision to conduct a dose-escalation trial. 2/ Image
Prior elicitation from doctors has never been easy, especially about #pharmacology or the future of the #Daleks: 3/

So we need a mind-bending contest of sorts. Has dose escalation gone soft after all that time in the tank? Let’s find out, shall we?

En garde! 4/…
Like Morbius sending #DoctorWho back to his earlier regenerations, we need somehow to drive a trial design back to the #priors that presumably justify it. In my view, this amounts to an #InverseProblem—not unlike that presented by computed tomography: 5/…
Given the full 3-D information from a CT scan, one can easily reconstruct a plain X-ray taken from any angle. Likewise, starting from a fully articulated set of priors about a drug’s pharmacology, we can easily project the safety characteristics of any trial design. 6/ Image
That’s the (easy) ‘forward problem’. What if you had to start from a bunch of 2-D X-ray images, and work out the full 3-D structure? THIS is an inverse problem, and it’s HARD—which is why we need the C in CT! 7/ Image
We’ll need plenty of #computation here, too. Ultimately, we will obtain F⁻¹ by a graphical technique requiring thousands of (forwards) calculations of F. The usual approach of approximating F via discrete-event simulation is both too slow and too noisy for this purpose. 8/
Over the summer, I came across this point made by Daniel Sabanés Bové & Wai Yin Yeung in a vignette for their #crmPack package — also authored by Giuseppe Palermo & @thomas_jaki — which planted the seed of the necessary idea. 9/… Image
For a task such as this, there is no better tool than Prolog. This definite clause grammar (DCG) — which at 526 characters would fit into 2 tweets! — is an EXECUTABLE SPECIFICATION that contains all the essential logic: 10/ Image
As a big fan of declarative programming, I’ve flirted with Prolog for almost 2 decades now … but never quite managed to make truly effective use of it in a practical application.

All that changed when I encountered @MarkusTriska’s teaching: 11/

@MarkusTriska What I’ve learned from Markus is that Prolog remains an active research area, with ongoing work to develop and incorporate new language constructs that expand the (logically) pure core of the language—which is its truly powerful aspect. 12/

@MarkusTriska There is in fact a cutting-edge implementation, @mjt128’s Scryer Prolog, fully committed to the ISO Standard, that includes declarative integer arithmetic CLP(ℤ) and—uniquely at the moment—a pure if_/3 predicate that preserves generality. 13/…
@MarkusTriska @mjt128 Also notable is that Scryer is itself implemented in @rustlang, a language designed to support #safe, #reliable programming — the very same advantages of #LogicProgramming that so strongly recommend Prolog for #clinicaltrials applications. 14/…
@MarkusTriska @mjt128 @rustlang Thanks to Markus’s online book, videos, and the new declarative #constructs (and pure #practices) he and others have labored to introduce, Prolog has at last become for me a PRACTICAL TOOL. 15/
@MarkusTriska @mjt128 @rustlang What’s more, my current application barely scratches the surface of what could be done with Prolog in this problem domain.

Constraint logic programming (CLP) might well support a unified treatment subsuming the whole field of dose escalation. 16/
(But, I digress…)

For a 3+3 trial with D prespecified doses, each of the J paths can be represented as a 2×D matrix Tʲ, j ∈ {1,…,J} 17/ Image
In terms of these matrices, the J-vector π of path probabilities can be obtained from a simple matrix equation involving a J-vector b and J×2D matrix U that are *constants* for each value of D. 18/ Image
Although J grows exponentially as D increases, for trials of practical size the matrices remain puny. The latest release of R package #precautionary (v0.2) caches the b’s and U’s for D ranging 2 thru 8. 19/… Image
As I’ve done previously, I now ‘ordinalize’ the binary DLTs of the 3+3 trial, obtaining ordinal toxicities in terms of which safety outcomes such as severe or fatal toxicities may be explored. 20/
In the present analysis, a logarithmic scaling proves supremely helpful. So here I focus on the logarithm of the therapeutic index which I had previously denoted r₀. I denote this ‘log-therapeutic index’ by κ:

κ ≡ log(r₀) 21/ Image
Crucially, the expected number of fatal toxicities in the trial now also reduces to matrix operations that R can perform almost instantaneously. 22/ Image
To complete our F function, we need to specify the underlying pharmacology and the trial’s prespecified doses. Again we adhere to our logarithmic theme, positing a lognormal MTDi distribution and a geometric sequence of prespecifed doses with logarithmic spacing δ. 23/ Image
Now complete, F apparently has many dimensions. But one of them can be factored out if we keep hammering the logarithmic theme.

The trick? Use our prespecified doses as a natural scale for dose measurement, effectively setting δ≡1.
24/ Image
This pares down the dimensionality of F enough that we can cram it into a plot like the paper’s Figure 1.

But as you can see, further simplification is needed!

If only we could remove just… one… more… dimension… 25/ Image
We can! Through a #minimax framing of our #trialsafety question, we can ‘slice’ Figure 1 along a plausible worst-case scenario:

What if our 2nd dose level coincided with median MTDᵢ? 26/ Image
As a bonus, it turns out not only μ (which we’ve effectively set equal to 2) but even D drops out* in this scenario, so we obtain Figure 3—a UNIVERSAL SAFETY SCHEMATIC for 3+3 trials, with axes we can interpret intuitively:

*So long as D ≥ 3; see Fig 2 in the paper. 27/ Image
κ/σ characterizes the drug itself, according to how its dosing safety margin κ compares to inter-individual variability in optimal dosing.

As such, it measures how suited the drug is to 1-size-fits-all dosing—a #OneSizeFitsAllogist’s #TherapeuticIndex. 28/ Image
δ/σ, by contrast, gauges an aspect of our design: the signal-to-noise ratio for the dose-escalation process. 29/ Image
Phase 1 trialists are called upon, I think, to consider questions posed by the axes of this plot.

Fortunately, this is #pharmacology not #metaphysics—nothing here threatens to “transcend every faculty of the mind”! 30/
To illustrate, let’s reconsider that fatal #AFM11 trial analyzed in my April paper, and try to locate it on Figure 3. 31/
That trial had a dose-level ratio of 3, while our model gave posterior median estimates 1/σ² ≡ τ ≈ 1.31 and r₀ ≈ 1.33. Pulling out our desk calculator…

σ = 1/√1.31 = 0.874

δ = log 3 = 1.1

κ = log 1.33 = 0.285 32/
These figures yield in turn κ/σ ≈ 0.33 and δ/σ ≈ 1.26, which you can see puts that trial—in retrospect—on the far-left edge of Fig 3, between the contours of 0.8 and 0.9 expected fatalities. 33/ Image
Of course, a calculator-based ‘postmortem’ of this kind serves only to demonstrate a continuity with earlier work. The proper use of Figure 3 is to promote PROSPECTIVE thinking that yields #smarter and #safer trials. 34/ Image
Any trialist proposing a dose-escalation design owes trial participants at least reasonable guesses for the therapeutic index κ and optimal-dose heterogeneity parameter σ of the drug, and then thoughtful consideration of their #trialsafety implications. 35/
Other dose-escalation designs surely have their own Fig 3’s, perhaps more favorable than the one I’ve drawn for 3+3. The methods I used in this paper ought to be adaptable to any design (such as @koaeraser’s mTPI) for which rules can be pretabulated: 36/… Image
@koaeraser And thanks to the dose transition pathways (DTP) of @ChristinaBYap et al, even CRM and EWOC should be amenable to this treatment.

(Figure 3 in my paper was generated in mere seconds, so there’s ample headroom for enlarged matrices if needed.) 37/… Image
2021 will be a year of so much renewal, and I hope this includes renewed attention to #pharmacologic thinking in #oncology #dosefinding, and the renewed commitment to #trialsafety this will make possible. 38/38
@threadreaderapp unroll please.

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with David C. Norris, MD moved to Mastodon 🦣

David C. Norris, MD moved to Mastodon 🦣 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @davidcnorrismd

May 5, 2021
SNEAK PREVIEW: Complete Path Enumeration (CPE) for CRM #dosefinding designs

Featuring a vignette for #Rstats package #precautionary update v0.2-3, currently under review by CRAN. 1/…
This demonstrates the feasibility of a programme I’ve set forth, for the ‘exact’ simulation of ANY dose-escalation design.

Influenced by @MarkusTriska‘s exacting perspective on ’exactness’, however, I now use the more precise term ‘MCSE-free’. 2/
@MarkusTriska ‘MCSE-free’ in turn alludes to the title of recent work by Thomas M. Braun, from which I adapt my application.

(Braun’s mean-field approach truly can be called ‘simulation-free’, whereas I DO simulate the trials—just without Monte Carlo error.) 3/
Read 21 tweets

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!


0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy


3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!