MediaWiki:Lékařská kalkulačka/Nutrice.js: Porovnání verzí
Z WikiSkript
m (+jednotky, prolink) |
m (+jednotky) |
||
Řádek 127: | Řádek 127: | ||
result += "<p>Z nenutričních zdrojů (propofol a citrát) je hrazeno " + Math.round(nenutricniZdroje) + " kcal.</p>"; | result += "<p>Z nenutričních zdrojů (propofol a citrát) je hrazeno " + Math.round(nenutricniZdroje) + " kcal.</p>"; | ||
result += "<p>Dle doporučení <a href='https://www.espen.org/files/ESPEN-Guidelines/ESPEN_guideline-on-clinical-nutrition-in-the-intensive-care-unit.pdf'>ESPEN 2019</a> u ventilovaných pacientů má být použita nepřímá kalorimetrie. Není-li dostupná, tak je vhodné použít měření vydechovaného oxidu uhličitého dle ventilátoru. "; | result += "<p>Dle doporučení <a href='https://www.espen.org/files/ESPEN-Guidelines/ESPEN_guideline-on-clinical-nutrition-in-the-intensive-care-unit.pdf'>ESPEN 2019</a> u ventilovaných pacientů má být použita nepřímá kalorimetrie. Není-li dostupná, tak je vhodné použít měření vydechovaného oxidu uhličitého dle ventilátoru. "; | ||
result += "Není-li ani to dostupné, tak je odhad dle ESPEN " + Math.round(espenMin) + "–" + Math.round(espenMax) + ", první týden však jen 70 %, t.j. " + Math.round(0.7*espenMin) + "–" + Math.round(0.7*espenMax) + " kcal/den. "; | result += "Není-li ani to dostupné, tak je odhad dle ESPEN " + Math.round(espenMin) + "–" + Math.round(espenMax) + " kcal/den, první týden však jen 70 %, t.j. " + Math.round(0.7*espenMin) + "–" + Math.round(0.7*espenMax) + " kcal/den. "; | ||
result += "Progresivně se má dosáhnout dávky proteinu " + Math.round(espenProtein) + " g/den a dávky intravenózních lipidů dle tolerance, avšak ne vyšší než " + Math.round(espenLipid) + " g/den.</p>"; | result += "Progresivně se má dosáhnout dávky proteinu " + Math.round(espenProtein) + " g/den a dávky intravenózních lipidů dle tolerance, avšak ne vyšší než " + Math.round(espenLipid) + " g/den.</p>"; | ||
$( '#lekarska_kalkulacka_Nutrice-vysledek' ).html( result ); | $( '#lekarska_kalkulacka_Nutrice-vysledek' ).html( result ); | ||
}); | }); |
Verze z 3. 5. 2022, 17:38
String.prototype.replaceAll = function(token, newToken, ignoreCase) {
var str, i = -1, _token;
if((str = this.toString()) && typeof token === "string") {
_token = ignoreCase === true? token.toLowerCase() : undefined;
while((i = (
_token !== undefined?
str.toLowerCase().indexOf(
_token,
i >= 0? i + newToken.length : 0
) : str.indexOf(
token,
i >= 0? i + newToken.length : 0
)
)) !== -1 ) {
str = str.substring(0, i)
.concat(newToken)
.concat(str.substring(i + token.length));
}
}
return str;
};
/**************** Převod do html podoby ****************/
var content = $( '#lekarska_kalkulacka_Nutrice-content' ).text();
$( '#lekarska_kalkulacka_Nutrice' ).html( content.replaceAll('paragraph', 'p' ).replaceAll( 'resValue', 'span' ).replaceAll('breakline', 'br' ).replaceAll('division', 'div').replaceAll('orderedlist', 'ol') );
/**************** Propojeni input field: range a number *************/
$( '#lekarska_kalkulacka_Nutrice-hmotnost-number' ).change( function() {
$( '#lekarska_kalkulacka_Nutrice-hmotnost-range').val( $( '#lekarska_kalkulacka_Nutrice-hmotnost-number' ).val() );
});
$( '#lekarska_kalkulacka_Nutrice-hmotnost-range' ).change( function() {
$( '#lekarska_kalkulacka_Nutrice-hmotnost-number').val( $( '#lekarska_kalkulacka_Nutrice-hmotnost-range' ).val() );
});
$( '#lekarska_kalkulacka_Nutrice-vyska-number' ).change( function() {
$( '#lekarska_kalkulacka_Nutrice-vyska-range').val( $( '#lekarska_kalkulacka_Nutrice-vyska-number' ).val() );
});
$( '#lekarska_kalkulacka_Nutrice-vyska-range' ).change( function() {
$( '#lekarska_kalkulacka_Nutrice-vyska-number').val( $( '#lekarska_kalkulacka_Nutrice-vyska-range' ).val() );
});
$( '#lekarska_kalkulacka_Nutrice-vek-number' ).change( function() {
$( '#lekarska_kalkulacka_Nutrice-vek-range').val( $( '#lekarska_kalkulacka_Nutrice-vek-number' ).val() );
});
$( '#lekarska_kalkulacka_Nutrice-vek-range' ).change( function() {
$( '#lekarska_kalkulacka_Nutrice-vek-number').val( $( '#lekarska_kalkulacka_Nutrice-vek-range' ).val() );
});
$( '#lekarska_kalkulacka_Nutrice-propofol-number' ).change( function() {
$( '#lekarska_kalkulacka_Nutrice-propofol-range').val( $( '#lekarska_kalkulacka_Nutrice-propofol-number' ).val() );
});
$( '#lekarska_kalkulacka_Nutrice-propofol-range' ).change( function() {
$( '#lekarska_kalkulacka_Nutrice-propofol-number').val( $( '#lekarska_kalkulacka_Nutrice-propofol-range' ).val() );
});
$( '#lekarska_kalkulacka_Nutrice-citrat-number' ).change( function() {
$( '#lekarska_kalkulacka_Nutrice-citrat-range').val( $( '#lekarska_kalkulacka_Nutrice-citrat-number' ).val() );
});
$( '#lekarska_kalkulacka_Nutrice-citrat-range' ).change( function() {
$( '#lekarska_kalkulacka_Nutrice-citrat-number').val( $( '#lekarska_kalkulacka_Nutrice-citrat-range' ).val() );
});
/**************** Vlastní výpočet ****************/
$( 'input' ).change( function() {
var hmotnost = $( 'input[type=number][name=hmotnost]').val();
var vyska = $( 'input[type=number][name=vyska]').val();
var vek = $( 'input[type=number][name=vek]').val();
var pohlavi = parseInt($('input[name=pohlavi]:checked').val());
var aktivita = parseInt($('input[name=aktivita]:checked').val());
var teplota = parseInt($('input[name=teplota]:checked').val());
var stav = parseInt($('input[name=stav]:checked').val());
var propofol = parseInt( $( '#lekarska_kalkulacka_Nutrice-propofol-number').val() );
var citrat = parseInt( $( '#lekarska_kalkulacka_Nutrice-citrat-number').val() );
var result = 'result';
switch (aktivita) {
case 0: aktivita = 1.0; break;
case 1: aktivita = 1.1; break;
case 2: aktivita = 1.2; break;
case 3: aktivita = 1.3; break;
default: aktivita =1.0; break;
}
switch (teplota) {
case 0: teplota = 1.0; break;
case 1: teplota = 1.1; break;
case 2: teplota = 1.2; break;
case 3: teplota = 1.3; break;
default: teplota =1.0; break;
}
switch (stav) {
case 0: stav = 1.0; break;
case 1: stav = 1.1; break;
case 2: stav = 1.3; break;
case 3: stav = 1.4; break;
}
var harrisBenedict = 0;
if (pohlavi == 0) { //muz
harrisBenedict = 66.5 + (13.75 * hmotnost) + (5.003 * vyska) - (6.755 * vek);
} else if (pohlavi == 1) { //zena
harrisBenedict = 655 + (9.563 * hmotnost) + (1.850 * vyska) - (4.676 * vek);
}
var harrisBenedictKJ = harrisBenedict * 4.184;
var tee = harrisBenedict * aktivita * teplota * stav;
var teeKJ = tee * 4.184;
//pravidlo 100-50-20
var fluids = 0;
if (hmotnost > 20) {
fluids = 1100 + 20 * hmotnost;
} else if (hmotnost > 10) {
fluids = 500 + 50 * hmotnost;
} else {
fluids = 100 * hmotnost;
}
var fluidRate = fluids/24;
var nenutricniZdroje = 1.1 * propofol + 3 * citrat;
var espenMin = 20 * hmotnost;
var espenMax = 25 * hmotnost;
var espenProtein = 1.3 * hmotnost;
var espenLipid = 1.5 * hmotnost;
result = "<p>Výpočet bazální energetické potřeby podle Harris-Benedictovy rovnice je: " + Math.round(harrisBenedict) + " kcal/den (" + Math.round(harrisBenedictKJ) + " kJ/den).</p>";
result += "<p>Celková energetická potřeba vzhledem ke stavu je: " + Math.round(tee) + " kcal/den (" + Math.round(teeKJ) + " kJ/den). Pro bolusové podání je u koncentrace 1,0 kcal/ml dávka 5×" + Math.round(tee/5) + " ml (např. 14-18-22-06-10 hod.) či 6×" + Math.round(tee/6) + " ml (např. 12-15-18-21-06-09 hod.), pro kontinuální podání po 16 hodin (např. 06-22 hod.) je to rychlost " + Math.round(tee/16) + " ml/h. Pro koncentraci 1,5 kcal/ml je to 5×" + Math.round((tee/5)/1.5) + " ml, resp. 6×" + Math.round((tee/6)/1.5) + " ml, resp. " + Math.round((tee/16)/1.5) + " ml/h.</p>";
result += "<p>Odhad potřeby tekutin podle pravidla 100-50-20 je: " + Math.round(fluids) + " ml/den. Pro plné hrazení tekutin intravenózně je tedy rychlost infuze " + Math.round(fluidRate) + " ml/h.</p>";
result += "<p>Z nenutričních zdrojů (propofol a citrát) je hrazeno " + Math.round(nenutricniZdroje) + " kcal.</p>";
result += "<p>Dle doporučení <a href='https://www.espen.org/files/ESPEN-Guidelines/ESPEN_guideline-on-clinical-nutrition-in-the-intensive-care-unit.pdf'>ESPEN 2019</a> u ventilovaných pacientů má být použita nepřímá kalorimetrie. Není-li dostupná, tak je vhodné použít měření vydechovaného oxidu uhličitého dle ventilátoru. ";
result += "Není-li ani to dostupné, tak je odhad dle ESPEN " + Math.round(espenMin) + "–" + Math.round(espenMax) + " kcal/den, první týden však jen 70 %, t.j. " + Math.round(0.7*espenMin) + "–" + Math.round(0.7*espenMax) + " kcal/den. ";
result += "Progresivně se má dosáhnout dávky proteinu " + Math.round(espenProtein) + " g/den a dávky intravenózních lipidů dle tolerance, avšak ne vyšší než " + Math.round(espenLipid) + " g/den.</p>";
$( '#lekarska_kalkulacka_Nutrice-vysledek' ).html( result );
});