Class O2FunctionBean
java.lang.Object
|
+----calcs.FunctionBean
|
+----O2FunctionBean

- public abstract class O2FunctionBean
- extends FunctionBean
Bean for converting between oxygen tension, haemoglobin saturation & bood
oxygen content.
References:
Severinghaus, J.W., Simple, accurate equations for human blood O2 dissociation
computations. J Appl Physiol 1979; 46:599-602.
Severinghaus, J.W., Determination of PO2 from saturation [reply]. J Appl Physiol
1989; 67:902.
Creation date: (24/12/1999 3:46:11)
- Author:
- : Dave Sainsbury


fieldBaseExcess
- BaseExcess in mmol/litre, default value = 0, (double).
fieldHaemoglobin
- Haemoglobin concentration in g/100 ml of blood, default value = 15,
(double).
fieldO2Content
- Oxygen content in ml/100ml of blood, default value = 15, (double).
fieldO2Saturation
- Haemoglobin saturation as a fraction, default value = 0.95, (double).
fieldO2Tension
- Oxygen tension in mmmHg, default value = 100, (double).
fieldP50
- P50 of blood in mmHg, default value = 26.6, (double).
fieldPH
- pH, default value = 7.4, (double).
fieldSolubility
- Solubility of Oxygen in blood in ml per 100 ml blood per mmHg, default
value = 0.003, (double).
fieldTemperature
- Temperature in degC, default value = 15, (double).

O2FunctionBean()
- O2functionBean constructor Creation date: (8/12/1999 0:34:54)

getO2Content()
- Gets the O2 content in ml/100ml blood (double).
getO2Saturation()
- Gets the haemoglobin O2 saturation as a fraction (double).
getO2Tension()
- Gets the O2 Tension in mmHg (double).
getSolubility()
- Gets the solubility of Oxygen in ml per 100 ml blood per mmHg (double).
O2c_from_O2s_O2t_Sol_Hb()
- Calculate O2 content from O2 tension, O2 saturation, O2 solubility and
haemoglobin concentration.
O2s_from_O2t_pH_BE_T()
- Calculate O2 saturation from O2 tension, pH, base excess &
temperature.
O2s_from_O2t_pH_BE_T(double)
- Calculate O2 saturation from O2 tension, pH, Base Excess &
temperature.
O2t_from_O2c_pH_BE_T_Hb()
- Calculate O2 tension in mmHg from O2 content of blood, pH, base excess,
temperature and haemoglobin concentration.
O2t_from_O2s_pH_BE_T()
- Calculate O2 tension in mmHg from haemoglobin O2 saturation, pH, base
excess & temperature.
O2t_from_O2s_pH_BE_T(double)
- Gets O2 tension from O2 saturation of blood, pH, base excess &
temperature.
setBaseExcess(double)
- Sets the base excess (double) value.
setHaemoglobin(double)
- Sets the haemoglobin concentration in g/100ml blood (double).
setO2Content(double)
- Sets the oxygen content in ml/100ml blood (double).
setO2Saturation(double)
- Sets the haemoglobin oxygen saturation as fraction (double).
setP50(double)
- Sets the p50 value in mmHg (double).
setPH(double)
- Sets the pH (double) value.
setSolubility(double)
- Sets the solubility property (double) value.
setTemperature(double)
- Sets the temperature in degC (double).
solubilityFromTemperature(double)
- Calculate oxygen solubility in blood in ml/100ml/mmHg from temperature in
deg C.

fieldO2Content
protected double fieldO2Content
- Oxygen content in ml/100ml of blood, default value = 15, (double).
fieldO2Tension
protected double fieldO2Tension
- Oxygen tension in mmmHg, default value = 100, (double).
fieldO2Saturation
protected double fieldO2Saturation
- Haemoglobin saturation as a fraction, default value = 0.95, (double).
fieldBaseExcess
private double fieldBaseExcess
- BaseExcess in mmol/litre, default value = 0, (double).
fieldHaemoglobin
private double fieldHaemoglobin
- Haemoglobin concentration in g/100 ml of blood, default value = 15,
(double).
fieldPH
private double fieldPH
- pH, default value = 7.4, (double).
fieldTemperature
private double fieldTemperature
- Temperature in degC, default value = 15, (double).
fieldSolubility
private double fieldSolubility
- Solubility of Oxygen in blood in ml per 100 ml blood per mmHg, default
value = 0.003, (double).
fieldP50
private double fieldP50
- P50 of blood in mmHg, default value = 26.6, (double).

O2FunctionBean
public O2FunctionBean()
- O2functionBean constructor Creation date: (8/12/1999 0:34:54)

getO2Content
public double getO2Content()
- Gets the O2 content in ml/100ml blood (double).
-
- Returns:
- O2 content
- See Also:
- setO2Content
getO2Saturation
public double getO2Saturation()
- Gets the haemoglobin O2 saturation as a fraction (double).
-
- Returns:
- the haemoglobin O2 saturation
- See Also:
- setO2Saturation
getO2Tension
public double getO2Tension()
- Gets the O2 Tension in mmHg (double).
-
- Returns:
- the O2 Tension
- See Also:
- setO2Tension
getSolubility
public double getSolubility()
- Gets the solubility of Oxygen in ml per 100 ml blood per mmHg (double).
-
- Returns:
- The solubility of Oxygen in blood
- See Also:
- setSolubility
O2c_from_O2s_O2t_Sol_Hb
protected void O2c_from_O2s_O2t_Sol_Hb()
- Calculate O2 content from O2 tension, O2 saturation, O2 solubility and
haemoglobin concentration.
fieldO2Content = fieldO2Saturation * fieldHaemoglobin *1.39 +
fieldSolubility * fieldO2Tension;
O2s_from_O2t_pH_BE_T
protected void O2s_from_O2t_pH_BE_T()
- Calculate O2 saturation from O2 tension, pH, base excess &
temperature. fieldO2Saturation = O2s_from_O2t_pH_BE_T(fieldO2Tension);
O2s_from_O2t_pH_BE_T
protected double O2s_from_O2t_pH_BE_T(double O2Tension)
- Calculate O2 saturation from O2 tension, pH, Base Excess &
temperature.
First convert to standardised value of oxygen tension
double O2std = O2Tension * Math.pow(10, 0.48 * (fieldPH - 7.4) - 0.0013 *
fieldBaseExcess - 0.024 * (fieldTemperature - 37)) * 26.6 / fieldP50;
Then enter this value in to dissociation equation
return 1 / (23400 / (O2std * O2std * O2std + 150 * O2std) + 1);
-
- Parameters:
- O2Tension - (double) oxygen tension in mmHg
- Returns:
- Haemoglobin oxygen saturation as a fraction
O2t_from_O2c_pH_BE_T_Hb
public void O2t_from_O2c_pH_BE_T_Hb()
- Calculate O2 tension in mmHg from O2 content of blood, pH, base excess,
temperature and haemoglobin concentration.
This uses the ContentFromTension method to ensure "reversability"
of content-tension calculations
The 'secant' iterative method is used. It starts with 2 estimates of tension
(A&B)
From these 2 values of content (A&B) are derived
These 2 sets of values create a line.
Assuming fieldO2Content (the actual content) lies on this line
*(TensionB, ContentB)
|
|
* (TensionNext, fieldO2Content)
|
|
*(TensionA, ContentA)
(TensionNext-TensionA)/(fieldO2Content-ContentA) = (TensionB-TensionA)/(ContentB-ContentA)
TensionNext = TensionA + (TensionB-TensionA)/(ContentB-ContentA)*(fieldO2Content-ContentA)
This process is repeated until 2 subsequent estimates of tension are
indistinguishable.
O2t_from_O2s_pH_BE_T
public void O2t_from_O2s_pH_BE_T()
- Calculate O2 tension in mmHg from haemoglobin O2 saturation, pH, base
excess & temperature.
O2t_from_O2s_pH_BE_T
public double O2t_from_O2s_pH_BE_T(double s)
- Gets O2 tension from O2 saturation of blood, pH, base excess &
temperature. RK Ellis, Determination of pO2 from saturation[letter],
J.Appl.Physiol.67(2) p902, 1989
Equation:
double x = 11700 / (1 / fieldO2Saturation - 1);
double y = Math.pow((50 * 50 * 50 + x * x), 1.0 / 2.0);
double a = Math.pow(x + y, 1.0 / 3.0);
double b = Math.pow(-x + y, 1.0 / 3.0);
double O2std = (a - b);
Then convert this standardised value into an acutal value
fieldO2Tension = dO2virtual/
Math.pow(10,0.48*(fieldPH-7.4)-0.0013*fieldBaseExcess-0.024*(fieldTemperature-37));
-
- Parameters:
- s - (double) saturation as a fraction of 1.0
- Returns:
- O2 tension (double) mmHg
setBaseExcess
public void setBaseExcess(double baseExcess)
- Sets the base excess (double) value.
-
- Parameters:
- baseExcess - The new value for base excess
- See Also:
- getBaseExcess
setHaemoglobin
public void setHaemoglobin(double haemoglobin)
- Sets the haemoglobin concentration in g/100ml blood (double).
-
- Parameters:
- haemoglobin - The new value for heamoglobin concentration.
- See Also:
- getHaemoglobin
setO2Content
public void setO2Content(double O2Content)
- Sets the oxygen content in ml/100ml blood (double).
-
- Parameters:
- O2Content - The new value for oxygen content
- See Also:
- getO2Content
setO2Saturation
public void setO2Saturation(double O2Saturation)
- Sets the haemoglobin oxygen saturation as fraction (double).
-
- Parameters:
- O2Saturation - The new value for haemoglobin saturation
- See Also:
- getO2Saturation
setP50
public void setP50(double p50)
- Sets the p50 value in mmHg (double).
-
- Parameters:
- p50 - The new value for p50
setPH
public void setPH(double pH)
- Sets the pH (double) value.
-
- Parameters:
- pH - The new value for pH.
- See Also:
- getPH
setSolubility
public void setSolubility(double solubility)
- Sets the solubility property (double) value.
-
- Parameters:
- solubility - The new value for the property.
- See Also:
- getSolubility
setTemperature
public void setTemperature(double temperature)
- Sets the temperature in degC (double).
-
- Parameters:
- temperature - The new value for temperature.
- See Also:
- getTemperature
solubilityFromTemperature
public double solubilityFromTemperature(double temperature)
- Calculate oxygen solubility in blood in ml/100ml/mmHg from temperature in
deg C.
Equation:
return 0.0059519-.0001266*temperature+0.0000013*temperature*temperature; Reference:
Kelman, G.R., Calculation of certain indices of cardio-pulmonary function,
using a digital computer. Respir Physiol 1966; 1:341.
-
- Parameters:
- temperature - double in degrees Centigrade
- Returns:
- oxygen solubility in blood in ml/100ml/mmHg (double)