{"id":150,"date":"2019-04-24T12:52:51","date_gmt":"2019-04-24T12:52:51","guid":{"rendered":"https:\/\/sepia2.unil.ch\/pharmacology\/?page_id=150"},"modified":"2022-02-28T15:56:41","modified_gmt":"2022-02-28T15:56:41","slug":"non-linear-kinetics","status":"publish","type":"page","link":"https:\/\/sepia2.unil.ch\/pharmacology\/profiles\/non-linear-kinetics\/","title":{"rendered":"Non Linear Kinetics"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"> &#8220;Kinetics resulting from saturable drug transfer, leading to variation  of the standard kinetic parameters with drug concentration&#8221; <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Description<\/h3>\n\n\n\n<p>Nonlinear kinetics is usually due to saturation \noccuring in one of the pharmacokinetic mechanisms: protein binding, \nhepatic metabolism, or active renal transport of the drug.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Saturable\n elimination: above a certain drug concentration, the elimination rate \ntends to reach a maximal value. Once this maximum capacity is reached, \nthere is no further increase in the elimination rate when plasma drug \nconcentration increases. Therefore, in nonlinear elimination kinetics, \nthe drug <a href=\"\/pharmacology\/clearance\">clearance<\/a> decreases with increasing drug concentration. <\/li><li>Saturable\n binding or reabsorption: above a certain drug concentration, drug \nprotein binding or drug reabsorption in kidney tubules tends to reach \nmaximal capacity. This leads to a disproportionate increase in the rate \nof elimination with increasing drug concentrations (e.g. with high doses\n of vitamin).<\/li><li>Saturable absorption: above a certain drug \nconcentration at the absorption site, there is no further increase in \nthe absorption rate. Therefore, absorption rate constant and possibly <a href=\"\/pharmacology\/bioavailability\">bioavailability<\/a> decrease with doses leading to concentrations at the absorption site above the maximal absorption capacity.<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video height=\"336\" style=\"aspect-ratio: 334 \/ 336;\" width=\"334\" autoplay controls loop src=\"https:\/\/sepia2.unil.ch\/pharmacology\/wp-content\/uploads\/2019\/07\/nonlinearkinetics_Trim.mp4\"><\/video><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Clinical implications<\/h3>\n\n\n\n<p>For drugs with saturable elimination, an increase\n in dosage or dosage frequency can lead to a disproportionate increase \nin plasma drug concentration when the rate of elimination tends to reach\n its maximum capacity. Therefore, changing dose is difficult and \nunpredictable. Special caution should be taken when deciding to change \nthe dosage regimen of such drugs, particularly if elevated plasma \nconcentrations are associated with toxicity (e.g. <a href=\"\/pharmacology\/phenytoin\">phenytoin<\/a>).\n On the other hand, for drugs with saturable absorption or tubular \nreabsorption, a change in dosage may lead to a less than proportional \nchange in plasma concentration. This is important in evaluating the \nefficiency of a drug dosage regimen.<\/p>\n\n\n\n<p><p class=\"hiddenTitle\">Chart Pharmacokinetics<\/p>\n<div>\n\n    <div id=\"chartContainer\">\n        <canvas id=\"chart\"><\/canvas>\n        <div class=\"\" id=\"divSliderContainer\"><\/div>\n    <\/div>\n\n    <script>\n\n        let chart;\n        let baseDataChartValues = [];\n        let dataChart = [];\n        let dataChartStoredValues = [];\n        let labelsChart = [];\n\n        let dose = 250;\n        let baseDose = 250;\n\n        let mDose = 1000;\n        let baseMDose = 1000;\n\n        let tau = 6;\n        let baseTau = 6;\n\n        let vd = 50;\n        let baseVd = 50;\n\n        let cl = 2;\n        let baseCl = 10;\n\n        let f = 1;\n        let baseF = 0.7;\n\n        let ka = 2;\n        let tH;\n\n        const maxTime = 36;\n\n        function getPlasmaConcentration(h) {\n            let formulaPlasmaConcentration = (dose*f*ka\/(vd*(ka-cl\/vd))*(Math.exp(-cl\/vd*h)-Math.exp(-ka*h)));\n\n            return formulaPlasmaConcentration;\n        }\n\n        \/*\n         *\n         * t1\/2 = ln(2) * (volume of distribution \/ clearance)\n         *\n         *\/\n        function getHalfLife() {\n            tH = Math.log(2)*(vd\/cl);\n            return (Math.round(tH * 100) \/ 100);\n        }\n\n        function updateSlider(updateStored = false) {\n            dataChart = [];\n            if(updateStored) dataChartStoredValues = [];\n\n            for(let i = 0; i <= maxTime; i++) {\n                let concentration = getPlasmaConcentration(i);\n                dataChart.push(concentration);\n                if(updateStored) dataChartStoredValues.push(concentration);\n            }\n\n            chart.data.datasets[0].data = dataChart;\n            chart.data.datasets[1].data = dataChartStoredValues;\n\n            $( \"#slider-dose\" ).slider( \"option\", \"value\", dose);\n            chart.update();\n        }\n\n        let sliderDose = '<div id=\"slider-dose\" class=\"sliderRange\">' +\n                            '<span id=\"custom-handle-dose\" class=\"ui-slider-handle customHandle\"><\/span>' +\n                            '<span class=\"spanUnit\" id=\"\">D<\/span>' +\n                        '<\/div>';\n\n        $('#divSliderContainer').append(sliderDose);\n\n\n   \n\n        $(function() {\n\n            let handle = $('#custom-handle-dose');\n\n            $( \"#slider-dose\" ).slider({\n                orientation: \"vertical\",\n                range: \"true\",\n                min: 50,\n                max: 500,\n                step: 10,\n                value: dose,\n                create: function() {\n                    handle.text( $( this ).slider( \"value\" ) );\n                },\n                slide: function( event, ui ) {\n                    dose = ui.value;\n                    handle.text( ui.value );\n                    updateSlider();\n                }\n            });\n        });\n\n        Chart.pluginService.register({\n            beforeInit: function(chart) {\n\n                for(let i = 0; i <= maxTime; i++) {\n                    labelsChart.push(i);\n                    dataChart.push(getPlasmaConcentration(i));\n\n                    dataChartStoredValues = dataChart;\n                    baseDataChartValues = dataChart;\n                }\n\n            }\n        });\n\n        chart = new Chart(document.getElementById(\"chart\"), {\n            type: 'line',\n            data: {\n                labels: labelsChart,\n                datasets: [{\n                    label: \"Plasma Concentration\",\n                    data: dataChart,\n                    borderColor: colorDatasetMain.borderColor,\n                    fillColor: colorDatasetMain.fillColor,\n                    strokeColor: colorDatasetMain.strokeColor,\n                    highlightFill: colorDatasetMain.highlightFill,\n                    highlightStroke: colorDatasetMain.highlightStroke,\n                    borderWidth: \"1\",\n                    pointRadius: 0,\n                    fill: false\n                }, {\n                    label: \"Plasma Concentration\",\n                    data: dataChartStoredValues,\n                    borderColor: colorDatasetStored.borderColor,\n                    fillColor: colorDatasetStored.fillColor,\n                    strokeColor: colorDatasetStored.strokeColor,\n                    highlightFill: colorDatasetStored.highlightFill,\n                    highlightStroke: colorDatasetStored.highlightStroke,\n                    borderWidth: \"1\",\n                    pointRadius: 0,\n                    fill: false\n                }]\n            },\n            options: {\n                scales: {\n                    xAxes: [{\n                        scaleLabel: {\n                            display: true,\n                            labelString: 'H [hour]'\n                        }\n                    }],\n                    yAxes: [{\n                        scaleLabel: {\n                            display: true,\n                            labelString: 'C [mg\/l]'\n                        }\n                    }]\n                },\n                responsive: true,\n                maintainAspectRatio: false\n            }\n        });\n\n    <\/script>\n\n<\/div><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Assessment<\/h3>\n\n\n\n<p>Saturable elimination (e.g. saturable metabolism of the drug) may be quantified by the Michaelis-Menten equation :\n<\/p>\n\n\n\n<div class=\"wp-block-blocks-latex-block-latex\"><script type=\"text\/x-mathjax-config\">   MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\\\(','\\\\)']]}}); <\/script> <p class=\"formula\">$$\\text{Rate of metabolism}={Vm*\\color{RoyalBlue}{Cu} \\over Km+\\color{RoyalBlue}{Cu}}$$<\/p><p class=\"formula\"><\/div>\n\n\n\n<p>In case of intravenous infusion, the steady-state\n concentration in saturable kinetics can be determined by the following \nequation :\n<\/p>\n\n\n\n<div class=\"wp-block-blocks-latex-block-latex\"><script type=\"text\/x-mathjax-config\">   MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\\\(','\\\\)']]}}); <\/script> <p class=\"formula\">$$Cu_{ss}={Km*\\color{pink}{Ro} \\over {Vm-\\color{pink}{Ro}}}$$<\/p><p class=\"formula\"><\/div>\n\n\n\n<p><strong>Vm<\/strong> = maximum rate  <\/p>\n\n\n\n<p><strong>Km<\/strong> = Michaelis-Menten constant (drug conc. at which the rate of elimination is 50% of Vm) <\/p>\n\n\n\n<p><strong>Cu<\/strong> = unbound drug concentration <\/p>\n\n\n\n<p><strong>Cu ss<\/strong> = unbound steady-state drug concentration <\/p>\n\n\n\n<p><strong>Ro<\/strong> = rate of administration<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Kinetics resulting from saturable drug transfer, leading to variation of the standard kinetic parameters with drug concentration&#8221; Description Nonlinear kinetics is usually due to saturation occuring in one of the pharmacokinetic mechanisms: protein binding, hepatic metabolism, or active renal transport of the drug. Saturable elimination: above a certain drug concentration, the elimination rate tends to &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/sepia2.unil.ch\/pharmacology\/profiles\/non-linear-kinetics\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Non Linear Kinetics&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":8,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-150","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sepia2.unil.ch\/pharmacology\/wp-json\/wp\/v2\/pages\/150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sepia2.unil.ch\/pharmacology\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sepia2.unil.ch\/pharmacology\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sepia2.unil.ch\/pharmacology\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sepia2.unil.ch\/pharmacology\/wp-json\/wp\/v2\/comments?post=150"}],"version-history":[{"count":23,"href":"https:\/\/sepia2.unil.ch\/pharmacology\/wp-json\/wp\/v2\/pages\/150\/revisions"}],"predecessor-version":[{"id":1373,"href":"https:\/\/sepia2.unil.ch\/pharmacology\/wp-json\/wp\/v2\/pages\/150\/revisions\/1373"}],"up":[{"embeddable":true,"href":"https:\/\/sepia2.unil.ch\/pharmacology\/wp-json\/wp\/v2\/pages\/8"}],"wp:attachment":[{"href":"https:\/\/sepia2.unil.ch\/pharmacology\/wp-json\/wp\/v2\/media?parent=150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}