The Figge-Fencl Quantitative Physicochemical Model
of Human Acid-Base Physiology
by James J. Figge, MD, MBA, FACP.
Application Program.

Copyright 2003 - 2009 James J. Figge.
Updated 22 December, 2007; 28 December, 2008.
Updated version published 15 January, 2009 on
www.Acid-Base.org and www.Figge-Fencl.org.

Introduction to the Application Program.

The application program is designed to demonstrate the effects of changing independent variables on the pH of plasma-like solutions containing albumin.

The following computer program, written in Visual Basic, will solve the function:

pH = fpH { SID, Pco2, [ Pitot ], [ Albumin ], [ Citratetot ] }


Default values for independent variables are SID = 38.9 mEq / L; PCO2 = 40 mmHg; [ Pitot ] = 1.15 mmol / L; [ Albumin ] = 4.4 g /dL; and [ Citratetot ] = 0.135 mmol / L.

Running the program with the default values will give the following output:

Figge-Fencl Model (28 December, 2008 update; www.Figge-Fencl.org; www.Acid-Base.org).

pH = f { SID, PCO2, [ Pi tot ], [ Albumin ], [ Citrate tot] }

pH = f { 38.9 , 40 , 1.15 , 4.4, 0.135 } = 7.4




Any combination of legitimate values for the independent variables can be entered into the program. For example, SID = 25 mEq / L; PCO2 = 20 mmHg; [ Pitot ] = 1.15 mmol / L; [ Albumin ] = 2.2 g /dL; and [ Citratetot ] = 0.135 mmol / L.

Running the program with these values will give the following output:

Figge-Fencl Model (28 December, 2008 update; www.Figge-Fencl.org; www.Acid-Base.org).

pH = f { SID, PCO2, [ Pi tot ], [ Albumin ], [ Citrate tot] }

pH = f { 25 , 20 , 1.15 , 2.2, 0.135 } = 7.52



Notice:
The program may be downloaded free of charge for academic and educational use only. This program is not intended for clinical use or for the care of human subjects in clinical trials. The program applies to plasma-like solutions containing albumin. The program does not account for the contribution of plasma globulins, hence is not suitable for clinical use.
The easiest way to use the program is to highlight and copy the program text below, and then paste the program into a Visual Basic editor. The program can then be run from the editor. For example, Microsoft Office Excel has a Visual Basic editor that can run this program. The editor can usually be accessed from Excel by clicking on "Tools" or "View" and then "Macro" or "Macros". It may be necessary to adjust security settings to enable macros.

Computer Program.

Sub CalcPH()

Rem: Figge-Fencl Quantitative Physicochemical Model
Rem: of Human Acid-Base Physiology (28 December, 2008 Update).
Rem:
Rem: Copyright 2003 - 2009 James J. Figge.
Rem: Published 15 January, 2009 on www.Figge-Fencl.org and www.Acid-Base.org.
Rem:
Rem: The program may be downloaded free of charge for academic and educational use only.
Rem: This program is not intended for clinical use or for the care of human subjects in clinical trials.
Rem: This program applies to plasma-like solutions containing albumin.
Rem: The program does not account for the contribution of plasma globulins, hence
Rem: the program is not suitable for clinical use.

Close #1

Rem: Kc1 is derived from the parameters in the Henderson-Hasselbalch
Rem: equation. pK = 6.1; a = 0.230 mM / kPa; 1 mmHg = 0.13332236842105 kPa
Rem: The value of Kc1 is 2.44E-11 (Eq / L)^2 / mmHg.

Rem: Kc2 is calculated from Harned and Scholes (1941) for 37 degrees C and ionic
Rem: strength 0.15 M. The value of Kc2 is 5.5E-11 mol / L x 2 = 1.1E-10 Eq / L.

Rem: K1, K2, and K3 for the phosphoric acid - phosphate system are from Sendroy and
Rem: Hastings (1927).

Rem: C1, C2, and C3 for the citric acid - citrate system are for 37 C and have been
Rem: adjusted to an ionic strength of 0.16 M.

Const kw = 0.000000000000044

Const Kc1 = 0.0000000000244
Const Kc2 = 0.00000000011

Const K1 = 0.0122
Const K2 = 0.000000219
Const K3 = 0.00000000000166

Const C1 = 0.00105
Const C2 = 0.0000427
Const C3 = 0.00000162

Rem: Enter desired values for SID, PCO2, [ Pi tot ], [ Albumin ] and [ Citrate tot] in the next five lines.
SID = 38.9
PCO2 = 40
Pi = 1.15
alb = 4.4
citrate = 0.135

Worksheets("Sheet1").Activate

High = 14
Low = 1

calculatepH:
pH = (High + Low) / 2
Rem: H is hydrogen ion activity (also used as an approximation of H+ concentration)
H = 10 ^ -pH

HCO3 = Kc1 * PCO2 / H
CO3 = Kc2 * HCO3 / H

FNX = K1 * H * H + 2 * K1 * K2 * H + 3 * K1 * K2 * K3
FNY = H * H * H + K1 * H * H + K1 * K2 * H + K1 * K2 * K3
FNZ = FNX / FNY
P = Pi * FNZ

FNQ = C1 * H * H + 2 * C1 * C2 * H + 3 * C1 * C2 * C3
FNR = H * H * H + C1 * H * H + C1 * C2 * H + C1 * C2 * C3
FNS = FNQ / FNR
cit = citrate * FNS
Netcharge = SID + 1000 * (H - kw / H - HCO3 - CO3) - P - cit

Rem: NB accounts for histidine pK shift due to the NB transition
NB = 0.4 * (1 - (1 / (1 + 10 ^ (pH - 6.9))))

Rem: Calculate charge on albumin
Rem: alb2 accumulates results

Rem: cysteine residue
alb2 = -1 * (1 / (1 + 10 ^ (-(pH - 8.5))))

Rem: glutamic acid and aspartic acid residues
alb2 = alb2 - 98 * (1 / (1 + 10 ^ (-(pH - 4))))

Rem: tyrosine residues
alb2 = alb2 - 18 * (1 / (1 + 10 ^ (-(pH - 11.7))))

Rem: arginine residues
alb2 = alb2 + 24 * (1 / (1 + 10 ^ (pH - 12.5)))

Rem: lysine residues
alb2 = alb2 + 2 * (1 / (1 + 10 ^ (pH - 5.8)))
alb2 = alb2 + 2 * (1 / (1 + 10 ^ (pH - 6)))
alb2 = alb2 + 1 * (1 / (1 + 10 ^ (pH - 7.6)))
alb2 = alb2 + 2 * (1 / (1 + 10 ^ (pH - 7.8)))
alb2 = alb2 + 2 * (1 / (1 + 10 ^ (pH - 8)))

alb2 = alb2 + 50 * (1 / (1 + 10 ^ (pH - 10.3)))

Rem: 16 different histidine residues
Rem: Correction factor to convert HIS pKa from 25 deg C to 37 deg C is approx -0.2
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.19 + NB)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.29 + NB)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.17 + NB)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.56 + NB)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.08 + NB)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.38)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 6.82)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 6.43)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 4.92)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 5.83)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 6.24)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 6.8)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 5.89)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 5.2)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 6.8)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 5.5)))

Rem: amino terminus
alb2 = alb2 + (1 / (1 + 10 ^ (pH - 8)))

Rem: carboxyl terminus
alb2 = alb2 - 1 * (1 / (1 + 10 ^ (-(pH - 3.1))))

alb2 = alb2 * 1000 * 10 * alb / 66500

Netcharge = Netcharge + alb2

If Abs(Netcharge) < 0.0000001 Then GoTo complete
If Netcharge < 0 Then High = pH
If Netcharge > 0 Then Low = pH
GoTo calculatepH

complete:

Rem: Enter output file name in next line.

Open "C:\Documents and Settings\James\My Documents\PH Calculation" For Output As #1

Print #1, "Figge-Fencl Model (28 December, 2008 update; www.Figge-Fencl.org; www.Acid-Base.org)."
Print #1, " "
Print #1, "pH = f { SID, PCO2, [ Pi tot ], [ Albumin ], [ Citrate tot] }"
Print #1, " "
Print #1, "pH = f {"; SID; ","; PCO2; ","; Pi; ","; alb; ","; citrate "} = "; Round(pH, 3)
Print #1, " "

Close #1

End Sub

Link to Figge-Fencl Model

Link to Statistical Validation of Model

Link to Validation against Independent Data

Link to Albumin Titration Curve

Return to Home Page


Valid HTML 4.0!