by "Grog" (Alan W. Grogono), Professor Emeritus, Tulane University Department of Anesthesiology
The page describes the logic utilized to generate the text reports. as well as the development of the necessary equations and iterative subroutines required to convert the raw data into the diagrams on the screen.
This diagram shows the radial zones employed to generate the sentence fragments. The numbers correspond to the radial search used to generate the code.
The expanding family of rectangles determine the choice of adjectives used to describe the degree of acidosis and alkalosis. Normal; Minimal; Mild; Moderate; Marked; Severe. The corners of these rectangles corresponds to the slope for pH = 7.4.
Radial Search & Characterize Magnitude |
The computer program conducts a radial search of the diagram to determine which sector (0 - 18) contains the data point. The sector determines which component, respiratory or metabolic, is dominant and therefore to be reported first. The adjective and the direction (acidosis or alkalosis) are derived from the value for each component. A final descriptive phrase is included when the location is characteristic of a chronic or an acute disturbance.
[H^{+}] (30.17 + BE) = 22.63 (PCO_{2} + 13.33) |
A position on the diagram generates X and Y coordinates (PCO_{2} and SBE). An initial approximation is essential. Without it, the iterative process often diverges instead of converging. These equations provide a first approximation, e.g., to obtain bic from BE and PCO_{2}.
BE = 0.9287 * bic + 13.77 * pH - 124.58 |
It is a pleasure to thank Dr. Severinghaus for giving me these equations which are used in iterative procedures to obtain successively better approximations
[H^{+}] x [HCO_{3}^{-}] = 24 x PCO_{2} |
This is the equation used to derive [HCO_{3}^{-}] from pH and PCO_{2}.
Javascript |
Moving the mouse over the diagram generates values for PCO_{2} and SBE. The following Javascript Code shows how these equations were employed to derive accurate bicarbonate values:
function PCO2andBEtoBIC() { | |
bic = (BE + 30.17) / (0.94292 + 12.569 / PCO2); | // bic approximation via Grogono equation |
for (ii=0;ii<6;ii++) { | // iterative procedure six times |
H = BICandPCO2toH(); | // [H+] via Modified Henderson Equation |
bic = (bic + BEandHtoBIC())/2; | // split old value and new Siggaard-Anderson |
} | |
return bic; | // return bic |
} | |
function BEandPHtoPCO2() { | |
return Math.exp((9-pH)*2.302585) * ((BE -13.77 * pH +124.578)/0.9287) / 24; | //Siggaard-Anderson |
} | |
function BICandPCO2toH() { | |
return (24*PCO2/bic); | //Modified Henderson Equation |
} |
When this website was introduced, Java was employed to run the diagrams and calculations. It was less than satisfactory originally and became more of a problem recently when constant updates were required. Javascript was adopted instead in 2017 and appears to provide the same, or better, functionality. Any advice or suggestions from Javascript-experts will be appreciated.
Acid-Base Tutorial Alan W. Grogono |
Copyright Jan. 2020. All Rights Reserved |