If a drug is present in the body at concentration C then its rate of removal from the body is normally given by
dCdt=−keC where ke is known as the elimination constant for the drug. It is related to the half life of the drug, as we shall see.
We see from this equation that the rate of elimination is proportional to the concentration.
If a drug is administered at a rate I (eg 200 μmol\h) then the concentration in the body changes with time according to C(t)=Css(1−e−kt) where Css is the so-called steady-state concentration nd V is the volume of the body under the simplified single compartment model. At this concentration the absolute value of the rate of elimination equals the rate of infusion.
Hence, we also have that
IVd=kCss where Vd is the volume of distribution of the drug, so that Css=IkVd Hence, finally, we see that, while drugs are being infused at a constant rate, the concentration of the drug in the plasma varies with time according to C(t)=IkVd(1−e−kt) Once infusion stops, then the plasma concentration decays with time accordiong to: C(t)=C0e−kt where C0 is the plasma concentration at the time when infusion is halted.
If an amount Q of a drug is administered in one go, either by injection or by bolus, then the initial plasma concentration is C(t)=C0e−kt=QVde−kt
where Vd is the notional distribution volume of the drug in the body. This assumes the highly simplified model of the body as being a single well-stirred compartment of volume Vd.
For example, consider a drug administered by infusion at a constant rate of I=20 mg/h. The drug has a elimination constant of 0.02 /s and the volume of distribution of the patient Vd is estimated to be 20 l. The drug is administered for 300 h, and then stopped.
Let us see how the plasma concentration varies with time.
library(tidyverse)
t=seq(0.01,600,0.01)
I=20
k=0.02
V=20
C=ifelse(t<300,(I/(k*V))*(1-exp(-k*t)),(I/(k*V))*exp(-k*(t-300)))
df<-tibble(t=t,C=C)
glimpse(df)
## Observations: 60,000
## Variables: 2
## $ t <dbl> 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.11, 0…
## $ C <dbl> 0.00999900, 0.01999600, 0.02999100, 0.03998400, 0.04997501, 0.05996…
g<-ggplot(df,aes(x=t,y=C))+
geom_line()+
xlab('Time (h)')+
ylab('Concentration (mg/l)')
g
What is the steady state concentration of this drug? Is it what you expect, given the values of I, k and Vd?
Suppose you only had the data, how would you determine the value of k from the data? To do this, we should study the period after after 300 h, when infusion has stopped
How would you plot the data to show only the data for t > 300 h?
library(tidyverse)
df_elim<-filter(df,t>300)
df_elim<-mutate(df_elim,t=t-300)
g<-ggplot(df_elim,aes(x=t,y=C))+
geom_line()+
xlab('Time (h)')+
ylab('Concentration (mg/l)')
g
Now, let’s plot the data in such a way that will give us a straight line if our model for how elimination procedes with time is correct.
In the elimination regime we have
C(t)=C0e−kt If we take the log of both sides, we get
logC=logC0−kt where we have used the rules that log(ab)=loga+logb and that logex=x Hence, if we plot logC against t we will get a straight line with gradient −k and intercept logC0.
df_elim<-mutate(df_elim,logC=log(C))
glimpse(df_elim)
## Observations: 30,000
## Variables: 3
## $ t <dbl> 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.11…
## $ C <dbl> 49.99000, 49.98000, 49.97001, 49.96002, 49.95002, 49.94004, 49.9…
## $ logC <dbl> 3.911823, 3.911623, 3.911423, 3.911223, 3.911023, 3.910823, 3.91…
g<-ggplot(df_elim,aes(x=t,y=logC))+
geom_line()
g
fit_elim<-lm(logC~t,data=df_elim)
summary(fit_elim)
##
## Call:
## lm(formula = logC ~ t, data = df_elim)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.121e-13 -1.500e-16 -1.000e-17 2.100e-16 8.600e-16
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.912e+00 2.789e-17 1.403e+17 <2e-16 ***
## t -2.000e-02 1.610e-19 -1.242e+17 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.415e-15 on 29998 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: 1
## F-statistic: 1.543e+34 on 1 and 29998 DF, p-value: < 2.2e-16
k=-coefficients(fit_elim)[2]
k
## t
## 0.02
What is the half-life t1/2 of this drug?
Algebra calls!
$$ C(t)=C0e−ktbutC(t1/2)=C02∴
$$
So, having found k from the slope of the line in the plot above, we can find the half-life:
k=0.05
V=20
t_half=log(2)/k
t_half
## [1] 13.86294