Increased Productivity Example #5



PharmacoKinetics Simulation

A Pharmacokinetics open-two-compartment model with first order absorption into elimination from central compartment (blood cleared of drug through the liver and/or kidneys) is presented here. The body tissues utilize the drug and therefor an amount is removed by the body's filtering system, i.e. the liver and/or kidneys.

Body's Filtering System

Rate of change in compartments is stated by the following differential equations:

Plasma Differential Equation
Plasma compartment

Tissue Differential Equation
Tissue compartment

where
Ky represent Rate constants; y = a, 10, 12, and 21;

Ai = Amount of drug at the ith site: 0. Absorption site; 1. Compartment 1; and 2. Compartment 2.

This system of differential equations can be solved analytically using La Place transforms. These solutions are usually expressed in terms of drug concentrations (i.e., parameters A, B, & C). The model equation for compartment 1 is

Compartment 1 Math Model
C = - ( A + B )

where Cp(t) is the plasma concentration at time t;
and 'alpha' & 'beta' are hybrid parameters derived from K12, K21, K10, and Ka.

The half-life of 'beta' is constrained to the range of three to nine years, and thus, adds the two constraints: Half_life >= 3 and <= 9 years where the Half_life = ln(2) / beta.

Relative error in curve fitting was chosen due to the huge swing in amplitude over time.


Increased Productivity Example #5 Source Code:



Calculus Program Listing:

Global All
Problem Pharmaco ! -Kinetic parameters for open-two-compartment model
Dimension Time( 12), Plasma( 12), Error( 12), Lows(5), Half(2)
! Observed plasma concentrations ... Oral tablet of 10 mg
Data Time/0, .333, .5, .667, 1, 2, 4, 6, 8, 12, 24, 32/ ! X-Data
Data Plasma/1.e-4, .657, .727, .763, .695, .51, .307, .161, ! Y-Data
.135, .046, .021, .008/ ! X-Units=Hr. & Y-Units=Mcg/Ml
Data Lows/ 5*0.D0/, Half/ 2*0.D0/
Npoints = 12: desiredHalflife = 1.2345
Write(1,*) ' Enter Initial Starting Value ... '
Read *, X
A=X: B=X: Ka=X: Alpha=X: Beta=X ! Initial Values
! The next 'find' statement is many simulations combined into one.
! The solver 'jupiter' finds -a solution- that minimizes 'sum'
Find A, B, Ka, Alpha, Beta; In Concentr; By Jupiter;
With Lowers Lows; Holding Half; To Minimize Sum

! Changed problem to an Inverse Problem ... notice minimal difference.
! Takes a run or two to insure model & optimal solution.
Find A, B, Ka, Alpha, Beta; In Concentr; By Jupiter;
With Lowers Lows; Holding Half; To Match HalflifeError

End
Model Concentr ! Concentration In Compartment 1
Sum = 0
Do 10 i = 1, Npoints
T = Time( i)
C1 = A * Exp( - Alpha * T): C2 = B * Exp( - Beta * T): C = -(A + B)
C3 = C * Exp( - Ka * T): Cp_t = C1 + C2 + C3
Error(i) = (Plasma( i) - Cp_t) / Plasma( i)
Sum = Sum + Error(i)**2
10 Continue
Halflife = Log( 2) / Beta: HalflifeError = desiredHalflife - Halflife
Half(1) = Halflife - 3 ! 3 Years Minimum
Half(2) = 9 - Halflife ! 9 Years Maximum
End

This PharmacoKinetics problem is another increased productivity example do to using Calculus (level) programming.



HTML code for linking to this page:


<a href=""><img style="float:left; width:100px" src="http://fortranCalculus.info/image/pharmaco-pic1.png.png"/> <strong>PharmacoKinetics, an Inverse Problem</strong> </a>: Know desired Half Life, Find design parameters for Half Life. Kinetic Simulation.

< < Back

Next > >

 
Valid CSS! Calculus (level) Problem-Solving for Engineers & Scientists Author's Amazon Account

Textbooks - Parameter Estimation 4 ODE/PDE - Signal Analysis / Spectral Estimation - Body Plasma - Solar Cell
Increasing Productivity Examples: AC Motor Design - Matched Filters - Pulse Slimming / InterSymbol Interference - Pilot (safe) Ejection - PharmacoKinetics Simulation - Poisson's (Differential) Equation - Schrodinger (Differential) Equation - BVP 4 PDE Equations - Implicit (Differential) Equations