MediaWiki:Lékařská kalkulačka/Heparin.js: Porovnání verzí
Z WikiSkript
m (oprava) |
m (detailnější výpis) |
||
Řádek 90: | Řádek 90: | ||
var zmena_davky = 0; | var zmena_davky = 0; | ||
var zmena_rychlosti = 0; | var zmena_rychlosti = 0; | ||
var nova_davka = 0; | |||
var nova_rychlost = 0; | var nova_rychlost = 0; | ||
var status = ""; | var status = ""; | ||
if (aptt < 35) { | if (aptt < 35) { | ||
bolus = 80; | bolus = 80; | ||
bolus_ml = adjustovana_vaha * bolus / koncentrace; | |||
zmena_davky = 4; | zmena_davky = 4; | ||
nova_davka = davka + zmena_davky; | |||
zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace; | zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace; | ||
nova_rychlost = rychlost_infuze + zmena_rychlosti; | nova_rychlost = rychlost_infuze + zmena_rychlosti; | ||
status = "Nedosaženo terapeutického cíle.<br />"; | |||
status = "Nedosaženo terapeutického cíle APTT 45–70 s.<br />"; | |||
status += "Vhodný bolus je " + bolus + " IU/kg adjustované váhy, t.j." + Math.round(10 * bolus_ml)/10 + " ml.<br/>"; | status += "Vhodný bolus je " + bolus + " IU/kg adjustované váhy, t.j." + Math.round(10 * bolus_ml)/10 + " ml.<br/>"; | ||
status += "Poté zvýšit rychlost o " + zmena_davky + " IU/kg/h, tedy na " + Math.round(10 * nova_rychlost)/10 + " ml/h.<br/>"; | status += "Poté zvýšit rychlost o " + zmena_davky + " IU/kg/h, "; | ||
status += "tedy na " + Math.round( 1000 *nova_davka )/1000 + " IU/kg/h, t.j. "; | |||
status += Math.round(10 * nova_rychlost)/10 + " ml/h.<br/>"; | |||
} else if (aptt >= 35 && aptt <= 45 ) { | } else if (aptt >= 35 && aptt <= 45 ) { | ||
bolus = 40; | bolus = 40; | ||
bolus_ml = adjustovana_vaha * bolus / koncentrace; | |||
zmena_davky = 2; | zmena_davky = 2; | ||
nova_davka = davka + zmena_davky; | |||
zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace; | zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace; | ||
nova_rychlost = rychlost_infuze + zmena_rychlosti; | nova_rychlost = rychlost_infuze + zmena_rychlosti; | ||
status = "Nedosaženo terapeutického cíle.<br />"; | |||
status = "Nedosaženo terapeutického cíle APTT 45–70 s.<br />"; | |||
status += "Vhodný bolus je " + bolus + " IU/kg adjustované váhy, t.j." + Math.round(10 * bolus_ml)/10 + " ml.<br/>"; | status += "Vhodný bolus je " + bolus + " IU/kg adjustované váhy, t.j." + Math.round(10 * bolus_ml)/10 + " ml.<br/>"; | ||
status += "Poté zvýšit rychlost o " + zmena_davky + " IU/kg/h, tedy na " + Math.round(10 * nova_rychlost)/10 + " ml/h.<br/>"; | status += "Poté zvýšit rychlost o " + zmena_davky + " IU/kg/h, "; | ||
status += "tedy na " + Math.round( 1000 *nova_davka )/1000 + " IU/kg/h, t.j. "; | |||
status += Math.round(10 * nova_rychlost)/10 + " ml/h.<br/>"; | |||
} else if (aptt > 45 && aptt <= 70) { | } else if (aptt > 45 && aptt <= 70) { | ||
status = "Dosaženo terapeutického cíle.<br />"; | status = "Dosaženo terapeutického cíle APTT 45–70 s.<br />"; | ||
status += "Není třeba žádných změn.<br/>"; | status += "Není třeba žádných změn.<br/>"; | ||
} else if (aptt > 70 && aptt <= 90 ) { | } else if (aptt > 70 && aptt <= 90 ) { | ||
zmena_davky = -2; | zmena_davky = -2; | ||
nova_davka = davka + zmena_davky; | |||
zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace; | zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace; | ||
nova_rychlost = rychlost_infuze + zmena_rychlosti; | nova_rychlost = rychlost_infuze + zmena_rychlosti; | ||
status = "Terapeutický cíl se překročil.<br />"; | status = "Terapeutický cíl APTT 45–70 s se překročil.<br />"; | ||
status += "Vhodné snížit rychlost o " + Math.abs(zmena_davky) + " IU/kg/h, "; | |||
status += "tedy na " + Math.round( 1000 *nova_davka )/1000 + " IU/kg/h, t.j. "; | |||
status += Math.round(10 * nova_rychlost)/10 + " ml/h.<br/>"; | |||
} else if (aptt > 90 ) { | } else if (aptt > 90 ) { | ||
zmena_davky = -3; | zmena_davky = -3; | ||
nova_davka = davka + zmena_davky; | |||
zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace; | zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace; | ||
nova_rychlost = rychlost_infuze + zmena_rychlosti; | nova_rychlost = rychlost_infuze + zmena_rychlosti; | ||
status = "Terapeutický cíl se překročil.<br />"; | status = "Terapeutický cíl APTT 45–70 s se překročil.<br />"; | ||
status += "Vhodné snížit rychlost o " + Math.abs(zmena_davky) + " IU/kg/h, "; | |||
status += "tedy na " + Math.round( 1000 *nova_davka )/1000 + " IU/kg/h, t.j. "; | |||
status += Math.round(10 * nova_rychlost)/10 + " ml/h.<br/>"; | |||
} | } | ||
Verze z 17. 2. 2024, 23:15
/**
* 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 zmena_davky = 0;
var zmena_rychlosti = 0;
var nova_davka = 0;
var nova_rychlost = 0;
var status = "";
if (aptt < 35) {
bolus = 80;
bolus_ml = adjustovana_vaha * bolus / koncentrace;
zmena_davky = 4;
nova_davka = davka + zmena_davky;
zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace;
nova_rychlost = rychlost_infuze + zmena_rychlosti;
status = "Nedosaženo terapeutického cíle APTT 45–70 s.<br />";
status += "Vhodný bolus je " + bolus + " IU/kg adjustované váhy, t.j." + Math.round(10 * bolus_ml)/10 + " ml.<br/>";
status += "Poté zvýšit rychlost o " + zmena_davky + " IU/kg/h, ";
status += "tedy na " + Math.round( 1000 *nova_davka )/1000 + " IU/kg/h, t.j. ";
status += Math.round(10 * nova_rychlost)/10 + " ml/h.<br/>";
} else if (aptt >= 35 && aptt <= 45 ) {
bolus = 40;
bolus_ml = adjustovana_vaha * bolus / koncentrace;
zmena_davky = 2;
nova_davka = davka + zmena_davky;
zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace;
nova_rychlost = rychlost_infuze + zmena_rychlosti;
status = "Nedosaženo terapeutického cíle APTT 45–70 s.<br />";
status += "Vhodný bolus je " + bolus + " IU/kg adjustované váhy, t.j." + Math.round(10 * bolus_ml)/10 + " ml.<br/>";
status += "Poté zvýšit rychlost o " + zmena_davky + " IU/kg/h, ";
status += "tedy na " + Math.round( 1000 *nova_davka )/1000 + " IU/kg/h, t.j. ";
status += Math.round(10 * nova_rychlost)/10 + " ml/h.<br/>";
} else if (aptt > 45 && aptt <= 70) {
status = "Dosaženo terapeutického cíle APTT 45–70 s.<br />";
status += "Není třeba žádných změn.<br/>";
} else if (aptt > 70 && aptt <= 90 ) {
zmena_davky = -2;
nova_davka = davka + zmena_davky;
zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace;
nova_rychlost = rychlost_infuze + zmena_rychlosti;
status = "Terapeutický cíl APTT 45–70 s se překročil.<br />";
status += "Vhodné snížit rychlost o " + Math.abs(zmena_davky) + " IU/kg/h, ";
status += "tedy na " + Math.round( 1000 *nova_davka )/1000 + " IU/kg/h, t.j. ";
status += Math.round(10 * nova_rychlost)/10 + " ml/h.<br/>";
} else if (aptt > 90 ) {
zmena_davky = -3;
nova_davka = davka + zmena_davky;
zmena_rychlosti = adjustovana_vaha * zmena_davky / koncentrace;
nova_rychlost = rychlost_infuze + zmena_rychlosti;
status = "Terapeutický cíl APTT 45–70 s se překročil.<br />";
status += "Vhodné snížit rychlost o " + Math.abs(zmena_davky) + " IU/kg/h, ";
status += "tedy na " + Math.round( 1000 *nova_davka )/1000 + " IU/kg/h, t.j. ";
status += Math.round(10 * nova_rychlost)/10 + " ml/h.<br/>";
}
var result = "";
result += "Koncentrace heparinu v roztoku je " + Math.round( 1000*koncentrace )/1000 + " IU/ml.<br />";
result += "Adjustovaná tělesná váha je " + Math.round( 10*adjustovana_vaha)/10 + " kg.<br />";
result += "Rychlost podávání heparinu na adjustovanou tělesnou váhu je " + Math.round(1000*davka)/1000 + " IU/kg/h.<br />";
result += status;
$( '#lekarska_kalkulacka_Heparin-vysledek' ).html( result );
});