MediaWiki:Lékařská kalkulačka/Heparin.js: Porovnání verzí
Z WikiSkript
(skript pro novou kalkulačku) |
(+vypocet) |
||
Řádek 74: | Řádek 74: | ||
/**************** Výpočet ****************/ | /**************** Výpočet ****************/ | ||
$( 'input' ).change( function() { | $( 'input' ).change( function() { | ||
var heparin = $( '#lekarska_kalkulacka_Heparin-heparin-number').val(); | var heparin = parseInt( $( '#lekarska_kalkulacka_Heparin-heparin-number').val() ); | ||
var objem = $( '#lekarska_kalkulacka_Heparin-objem-number').val(); | var objem = parseInt( $( '#lekarska_kalkulacka_Heparin-objem-number').val() ); | ||
var | var rychlost_infuze = parseFloat( $( '#lekarska_kalkulacka_Heparin-rychlost-number').val() ); | ||
var vyska = $( '#lekarska_kalkulacka_Heparin-vyska-number').val(); | var vyska = parseInt( $( '#lekarska_kalkulacka_Heparin-vyska-number').val() ); | ||
var vaha = $( '#lekarska_kalkulacka_Heparin-vaha-number').val(); | var vaha = parseInt( $( '#lekarska_kalkulacka_Heparin-vaha-number').val() ); | ||
var aptt = $( '#lekarska_kalkulacka_Heparin-aptt-number').val(); | var aptt = parseFloat( $( '#lekarska_kalkulacka_Heparin-aptt-number').val() ); | ||
var result = | |||
var adjustovana_vaha = vaha; //TODO vypočet | |||
var koncentrace = heparin / objem; | |||
var davka = rychlost_infuze * koncentrace / adjustovana_vaha; | |||
var korigovana_davka = davka; | |||
var bolus = 0; | |||
var bolus_ml = 0; | |||
var status = ""; | |||
if (appt < 35) { | |||
bolus = 80; | |||
zmena_davky = 4; | |||
bolus_ml = ( adjustovana_vaha * bolus ) / koncentrace; | |||
status = "Není dosaženo terapeutického cíle.<br />"; | |||
status += "Je vhodné podání bolusu " + bolus + " ml/kg adjustované váhy, t.j." + round(10 * bolus_ml)/10 + " ml.<br/>"; | |||
} else if (aptt >= 35 && aptt <= 45 ) { | |||
bolus = 40; | |||
zmena_davky = 2; | |||
bolus_ml = ( adjustovana_vaha * bolus ) / koncentrace; | |||
status = "Není dosaženo terapeutického cíle.<br />"; | |||
status += "Je vhodné podání bolusu " + bolus + " ml/kg adjustované váhy, t.j." + round(10 * bolus_ml)/10 + " ml.<br/>"; | |||
} else if (aptt > 45 && <= 70) { | |||
status = "Je dosaženo terapeutického cíle.<br />"; | |||
status += "Není třeba žádných změn.<br/>"; | |||
} else if (aptt > 70 && <= 90 ) { | |||
status = "Terapeutický cíl se.<br />"; | |||
status += "Není třeba žádných změn.<br/>"; | |||
} | |||
var result = ""; | |||
result += "Koncentrace heparinu v roztoku je " + round( 1000*koncentrace )/1000 + " jednotek/ml.<br />"; | |||
result += "Adjustovaná tělesná váha je " + round( 10*adjustovana_vaha)/10 + " kg.<br />"; | |||
result += "Rychlost podávání heparinu na adjustovanou tělesnou váhu je " + round(1000*davka)/1000 + " jednotek/kg/h.<br />"; | |||
result += status; | |||
$( '#lekarska_kalkulacka_Heparin-vysledek' ).html( result ); | |||
}); | }); |
Verze z 17. 2. 2024, 22:27
/**
* ReplaceAll by Fagner Brack (MIT Licensed)
* Replaces all occurrences of a substring in a string
*/
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_Heparin-content' ).text();
$( '#lekarska_kalkulacka_Heparin' ).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_Heparin-heparin-range' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-heparin-number').val( $( '#lekarska_kalkulacka_Heparin-heparin-range' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-heparin-number' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-heparin-range').val( $( '#lekarska_kalkulacka_Heparin-heparin-number' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-objem-range' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-objem-number').val( $( '#lekarska_kalkulacka_Heparin-objem-range' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-objem-number' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-objem-range').val( $( '#lekarska_kalkulacka_Heparin-objem-number' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-rychlost-range' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-rychlost-number').val( $( '#lekarska_kalkulacka_Heparin-rychlost-range' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-rychlost-number' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-rychlost-range').val( $( '#lekarska_kalkulacka_Heparin-rychlost-number' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-vyska-range' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-vyska-number').val( $( '#lekarska_kalkulacka_Heparin-vyska-range' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-vyska-number' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-vyska-range').val( $( '#lekarska_kalkulacka_Heparin-vyska-number' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-vaha-range' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-vaha-number').val( $( '#lekarska_kalkulacka_Heparin-vaha-range' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-vaha-number' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-vaha-range').val( $( '#lekarska_kalkulacka_Heparin-vaha-number' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-aptt-range' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-aptt-number').val( $( '#lekarska_kalkulacka_Heparin-aptt-range' ).val() );
});
$( '#lekarska_kalkulacka_Heparin-aptt-number' ).change( function() {
$( '#lekarska_kalkulacka_Heparin-aptt-range').val( $( '#lekarska_kalkulacka_Heparin-aptt-number' ).val() );
});
/**************** Výpočet ****************/
$( 'input' ).change( function() {
var heparin = parseInt( $( '#lekarska_kalkulacka_Heparin-heparin-number').val() );
var objem = parseInt( $( '#lekarska_kalkulacka_Heparin-objem-number').val() );
var rychlost_infuze = parseFloat( $( '#lekarska_kalkulacka_Heparin-rychlost-number').val() );
var vyska = parseInt( $( '#lekarska_kalkulacka_Heparin-vyska-number').val() );
var vaha = parseInt( $( '#lekarska_kalkulacka_Heparin-vaha-number').val() );
var aptt = parseFloat( $( '#lekarska_kalkulacka_Heparin-aptt-number').val() );
var adjustovana_vaha = vaha; //TODO vypočet
var koncentrace = heparin / objem;
var davka = rychlost_infuze * koncentrace / adjustovana_vaha;
var korigovana_davka = davka;
var bolus = 0;
var bolus_ml = 0;
var status = "";
if (appt < 35) {
bolus = 80;
zmena_davky = 4;
bolus_ml = ( adjustovana_vaha * bolus ) / koncentrace;
status = "Není dosaženo terapeutického cíle.<br />";
status += "Je vhodné podání bolusu " + bolus + " ml/kg adjustované váhy, t.j." + round(10 * bolus_ml)/10 + " ml.<br/>";
} else if (aptt >= 35 && aptt <= 45 ) {
bolus = 40;
zmena_davky = 2;
bolus_ml = ( adjustovana_vaha * bolus ) / koncentrace;
status = "Není dosaženo terapeutického cíle.<br />";
status += "Je vhodné podání bolusu " + bolus + " ml/kg adjustované váhy, t.j." + round(10 * bolus_ml)/10 + " ml.<br/>";
} else if (aptt > 45 && <= 70) {
status = "Je dosaženo terapeutického cíle.<br />";
status += "Není třeba žádných změn.<br/>";
} else if (aptt > 70 && <= 90 ) {
status = "Terapeutický cíl se.<br />";
status += "Není třeba žádných změn.<br/>";
}
var result = "";
result += "Koncentrace heparinu v roztoku je " + round( 1000*koncentrace )/1000 + " jednotek/ml.<br />";
result += "Adjustovaná tělesná váha je " + round( 10*adjustovana_vaha)/10 + " kg.<br />";
result += "Rychlost podávání heparinu na adjustovanou tělesnou váhu je " + round(1000*davka)/1000 + " jednotek/kg/h.<br />";
result += status;
$( '#lekarska_kalkulacka_Heparin-vysledek' ).html( result );
});