World Library  
Flag as Inappropriate
Email this Article

Davenport diagram

Article Id: WHEBN0009157066
Reproduction Date:

Title: Davenport diagram  
Author: World Heritage Encyclopedia
Language: English
Subject: Renal physiology, Metabolic alkalosis, Davenport, Dialysis adequacy, Effective renal plasma flow
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Davenport diagram

In acid base physiology, the Davenport Diagram is a graphical tool, developed by Horace W. Davenport, that allows a clinician or investigator to describe blood bicarbonate concentrations and blood pH following a respiratory and/or metabolic acid-base disturbance. The diagram depicts a three-dimensional surface describing all possible states of chemical equilibria between gaseous carbon dioxide, aqueous bicarbonate and aqueous protons at the physiologically complex interface of the alveoli of the lungs and the alveolar capillaries. Although the surface represented in the diagram is experimentally determined, the Davenport Diagram is primarily a conceptual tool, allowing the investigator to envision the effects of physiological changes on blood acid-base chemistry. The Davenport Diagram is rarely used in the clinical setting.

Contents

  • Derivation 1
  • The Davenport Diagram is a Two-Dimensional Representation of a Three-Dimensional Surface 2
  • Respiratory and Metabolic Acid-Base Disturbances 3
    • Respiratory Disturbances 3.1
    • Metabolic Disturbances 3.2
  • References 4

Derivation

When a sample of blood is exposed to air, either in the alveoli of the lung or in an in vitro laboratory experiment, carbon dioxide in the air rapidly enters into equilibrium with carbon dioxide derivatives and other species in the aqueous solution. Figure 1 illustrates the most important equilibrium reactions of carbon dioxide in blood relating to acid-base physiology:

Figure 1. Important acid-base reactions involving carbon dioxide.

Note that in this equation, the HB/B- buffer system represents all non-bicarbonate buffers present in the blood, such as hemoglobin in its various protonated and deprotonated states. Because many different non-bicarbonate buffers are present in human blood, the final equilibrium state reached at any given pCO2 is highly complex and cannot be readily predicted using theory alone. By depicting experimental results, the Davenport Diagram provides a simple approach to describing the behavior of this complex system.

Figure 2. A typical Davenport Diagram.

Figure 2 shows a Davenport Diagram as commonly depicted in textbooks and the literature. To understand how the diagram is to be interpreted, it is helpful to understand how the diagram is derived in the first place. Consider the following experiment. A small sample of blood is taken from a healthy patient and placed in a chamber in which the partial pressure of carbon dioxide (PCO2) is held at 40 mmHg. Once equilibrium is reached, the pH and bicarbonate concentration are measured and plotted on a chart as in Fig. 3.

Figure 3. Bicarbonate ion concentration and pH are determined at a specific partial pressure of carbon dioxide.

Next, the PCO2 in the chamber is held constant while the pH of the blood sample is changed, first by adding a strong acid, then by adding a strong base. As pH is varied, a titration curve for the sample is produced (Fig. 4). Notice that this titration curve is valid only at a PCO2 of 40 mmHg, because the chamber was held at this partial pressure throughout the experiment.

Figure 4. A titration curve at a specific PCO2.

Next, imagine that the experimenter obtains a new, identical blood sample from the same patient. However, instead of placing the sample in a chamber with a PCO2 of 40 mmHg, the chamber is reset to a PCO2 of 60 mmHg. After equilibration, a new point is reached, indicating a new pH and a new bicarbonate concentration (Fig 5). Note that the bicarbonate concentration at the new, higher PCO2 is larger than in the first measurement, whereas the pH is now smaller. Neither result should come as a surprise. Increasing the PCO2 means that the total amount of carbon dioxide in the system has increased. Because the gaseous carbon dioxide is in equilibrium with the carbon dioxide derivatives in the solution, the concentrations of carbon dioxide derivatives, including bicarbonate, should also increase. The fall in pH is also not surprising, since the formation of a bicarbonate molecule is concomitant with the release of a proton (see Fig. 1).

Figure 5. A new point is reached following a change in PCO2.

If this same experiment is repeated at various partial pressures of carbon dioxide, a series of points will be obtained. One can draw a line through these points, called the buffer line (Fig. 6).

Figure 6. A buffer line can be generated by varying PCO2.

The buffer line can be used to predict the result of varying the PCO2 within a range close to the experimentally determined points. Additionally, for each experimental point, a titration experiment can be performed in which pH is varied while PCO2 is held constant, and titration curves can be generated for each of the partial pressure of carbon dioxide (Fig. 7). In the Davenport Diagram, these titration curves are called isopleths, because they are generated at a fixed partial pressure of carbon dioxide.

Figure 7. A titration curve can be generated for any given PCO2.

A key concept in understanding the Davenport Diagram is to note that as PCO2 is increased, the magnitude of the resulting change in pH is dependent on the buffering power of the non-bicarbonate buffers present in the solution. If strong non-bicarbonate buffers are present, then they will quickly absorb the vast majority of protons released by the formation of bicarbonate, and pH will change very little for a given rise in bicarbonate concentration. The result will be a buffer line with a very steep slope (Fig. 8). On the other hand, if only weak non-bicarbonate buffers are present (or if no non-bicarbonate buffer is present at all), then a much larger change in pH will be observed for a given change in bicarbonate concentration, and the buffer line will have a slope closer to zero.

Figure 8. The presence of strong non-bicarbonate buffers results in a buffer line with a steep slope, while the presence of weak non-bicarbonate buffers results in a buffer line with a slope closer to zero.

It is instructive to note that the slope of the bicarbonate line will never actually reach zero (i.e. will never be horizontal) under equilibrium conditions, even in the complete absence of non-bicarbonate buffers. This is because the production of protons resulting from an increase in PCO2 is concomitant with the production of bicarbonate ions, as mentioned previously. Thus, a decrease in pH resulting from increased PCO2 must always occur with some minimal increase in bicarbonate concentration. Likewise, an increase in pH for similar reasons must occur with some minimal decrease in bicarbonate concentration.

The Davenport Diagram is a Two-Dimensional Representation of a Three-Dimensional Surface

Recall that the relationship represented in a Davenport Diagram is a relationship between three variables: PCO2, bicarbonate concentration and pH. Thus, Fig. 7 can be thought of as a topographical map—that is, a two-dimensional representation of a three-dimensional surface—where each isopleth indicates a different partial pressure or “altitude.”

A more accurate depiction would involve three axes. Figure 9 shows a Davenport Diagram in three dimensions. The light blue lines indicate the isopleths as we would normally encounter them, confined to a two-dimensional plane. The dark blue curves show the actual locations of the isopleths in three dimensions. Thus, the light blue lines are simply the projections of the isopleths in three-dimensional space onto a two-dimensional plane. Again, recall that an isopleth is just a titration curve—that is, the path that is traced if pH is varied while PCO2 is held constant. The green surface describes all combinations of PCO2, [HCO3] and pH that satisfy equilibrium for the system. All isopleths in their actual three-dimensional orientations must be confined to this surface.

Figure 9. Isopleths as we normally encounter them are actually the projection of lines existing in three-dimensional space onto a two-dimensional plane.

A second key concept is that movement along a buffer line must correspond to a change in PCO2. Thus, like the isopleths, the buffer line as drawn on a typical Davenport Diagram (e.g., Fig 6) is actually the projection of a line existing in three-dimensional space onto a two-dimensional plane. As with the isopleths, buffer lines in their actual three-dimensional orientation are confined to the surface representing the values of PCO2, [HCO3] and pH that satisfy equilibrium for the system. In Fig. 10, the dark red lines are the actual buffer lines in three-dimensional space, while the light red lines are the projections of the buffer lines onto a two-dimensional plane. (We will see later how multiple, parallel buffer lines can be determined for a given system).

Figure 10. Like isopleths, buffer lines as we normally encounter them are actually the projection of lines existing in three-dimensional space onto a two-dimensional plane.

Respiratory and Metabolic Acid-Base Disturbances

One of the most important features of the Davenport Diagram is its usefulness in depicting movement from one point on the equilibrium surface to another following changes in respiration and/or metabolism. Four fundamental changes may occur that affect acid-base balance in the body: respiratory acidosis, respiratory alkalosis, metabolic acidosis and metabolic alkalosis. Additionally, a respiratory and a metabolic disturbance may occur simultaneously, such as respiratory acidosis followed by a compensatory shift towards metabolic alkalosis.

Respiratory Disturbances

To understand how changes in respiration might affect blood pH, consider the effects of ventilation on PCO2 in the lungs. If one were to hold his or her breath (or breathe very slowly, as in the case of respiratory depression), the blood would continue delivering carbon dioxide to the alveoli in the lungs, and the amount of carbon dioxide in the lungs would increase. On the other hand, if one were to hyperventilate, then fresh air would be drawn into the lungs and carbon dioxide would rapidly be blown out. In the first case, because carbon dioxide is accumulating in the lungs, alveolar PCO2 would become very high. In the second case, because carbon dioxide is rapidly exiting the lungs, alveolar PCO2 would be very low. Note that these two situations, those of respiratory depression and hyperventilation, produce effects that are immediately analogous to the experiment described previously, in which the partial pressures of carbon dioxide were varied and the resulting changes in pH observed. As indicated by the Davenport Diagram, respiratory depression, which results in a high PCO2, will lower blood pH. Hyperventilation will have the opposite effects. A decrease in blood pH due to respiratory depression is called respiratory acidosis. An increase in blood pH due to hyperventilation is called respiratory alkalosis (Fig. 11).

Figure 11. Alterations in ventilation may result in respiratory acidosis or respiratory alkalosis.

Metabolic Disturbances

Changes in the metabolic composition of blood can also affect blood pH. Again, recall from our initial experiment that if strong acid or strong base is added to the blood sample, pH and bicarbonate concentration will change accordingly, resulting in a titration curve. Hydroxide ions, for example, when added to the solution, will react with free hydrogen ions and increase the pH of the solution. Additionally, hydroxide ions will abstract protons from carbonic acid in solution, causing the bicarbonate concentration to increase. The new position on the diagram following addition of hydroxide ions no longer lies on our original buffer line. However, if the PCO2 is now varied without further addition of strong acid or strong base to the solution, a new buffer line can be determined that lies above and approximately parallel to the original buffer line.

Similarly, in a physiologic system such as a living body, removal of protons, for example, by vomiting the acidic contents of the stomach, will result in an increase in pH and an increase in bicarbonate concentration, bringing the system to a new, higher buffer line. Such a disturbance is called a metabolic alkalosis (Fig. 12). Alternatively, if protons are added to the bloodstream in the form of acidic metabolites, as occurs during diabetic ketoacidosis, then pH will fall, along with bicarbonate concentration. This type of disturbance is called a metabolic acidosis. In the case of metabolic acidosis, the new buffer line lies below the original line.

Figure 12. Alterations in the concentrations of acidic or basic metabolites may result in metabolic acidosis or metabolic alkalosis.

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  • Boron, Walter F. and Boulpaep, Emile L. (2003). Medical Physiology: A Cellular and Molecular Approach. Philadelphia: Saunders.
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.