MediaWiki:Lékařská kalkulačka/Antikoagulace.js
Z WikiSkript
Poznámka: Po zveřejnění musíte vyprázdnit cache vašeho prohlížeče, jinak změny neuvidíte.
- Firefox / Safari: Při kliknutí na Aktualizovat držte Shift nebo stiskněte Ctrl-F5 nebo Ctrl-R (na Macu ⌘-R)
- Google Chrome: Stiskněte Ctrl-Shift-R (na Macu ⌘-Shift-R)
- Internet Explorer / Edge: Při kliknutí na Aktualizovat držte Ctrl nebo stiskněte Ctrl-F5
- Opera: Stiskněte Ctrl-F5.
/**
* 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_Antikoagulace-content' ).text();
$( '#lekarska_kalkulacka_Antikoagulace' ).html( content.replaceAll('paragraph', 'p' ).replaceAll( 'resValue', 'span' ).replaceAll('breakline', 'br' ).replaceAll('division', 'div').replaceAll('orderedlist', 'ol') );
/******* Výpočet ******/
$( 'input' ).change( function() {
var age = parseInt($('input[name=age]:checked').val());
var sex = parseInt($('input[name=sex]:checked').val());
var hypertenze = parseInt($('input[name=hypertenze]:checked').val());
var nekontrolovana_hypertenze = $('#lekarska_kalkulacka_Antikoagulace-hypertenze2' ).is( ":checked" );
var srdce = parseInt($('input[name=srdce]:checked').val());
var icmp = parseInt($('input[name=icmp]:checked').val());
var tromboembolie = parseInt($('input[name=tromboembolie]:checked').val());
var tepny = parseInt($('input[name=tepny]:checked').val());
var dm = parseInt($('input[name=dm]:checked').val());
var ledviny = parseInt($('input[name=ledviny]:checked').val());
var jatra = parseInt($('input[name=jatra]:checked').val());
var krvaceni = parseInt($('input[name=krvaceni]:checked').val());
var inr = parseInt($('input[name=inr]:checked').val());
var leciva = parseInt($('input[name=leciva]:checked').val());
var alkohol = parseInt($('input[name=alkohol]:checked').val());
var cha2ds2vasc = age + sex + srdce + hypertenze + 2* (icmp || tromboembolie) + tepny + dm;
var hasbled = ledviny + jatra + icmp + krvaceni + inr + leciva + alkohol;
if (age) hasbled++; //nerozlišuje věk tak podrobně
if (nekontrolovana_hypertenze) hasbled++; //naopak hypertenzi rozlišuje podrobněji, vyžaduje nekontrolovanou
ischaemia_risk = [
', roční riziko iktu 0,2 % a iktu/tromboembolie obecně 0,3 %', //cha2ds2vasc 0
', roční riziko iktu 0,6 % a iktu/tromboembolie obecně 0,9 %', //cha2ds2vasc 1
', roční riziko iktu 2,2 % a iktu/tromboembolie obecně 2,9 %', //cha2ds2vasc 2
', roční riziko iktu 3,2 % a iktu/tromboembolie obecně 4,6 %', //cha2ds2vasc 3
', roční riziko iktu 4,8 % a iktu/tromboembolie obecně 6,7 %', //cha2ds2vasc 4
', roční riziko iktu 7,2 % a iktu/tromboembolie obecně 10,0 %', //cha2ds2vasc 5
', roční riziko iktu 9,7 % a iktu/tromboembolie obecně 13,6 %', //cha2ds2vasc 6
', roční riziko iktu 11,2 % a iktu/tromboembolie obecně 15,7 %', //cha2ds2vasc 7
', roční riziko iktu 10,8 % a iktu/tromboembolie obecně 15,2 %', //cha2ds2vasc 8
', roční riziko iktu 12,2 % a iktu/tromboembolie obecně 17,4 %' //cha2ds2vasc 9
];
bleeding_risk = [
', roční riziko závažného krvácení 1,13 %', //hasbled 0
', roční riziko závažného krvácení 1,02 %', //hasbled 1
', roční riziko závažného krvácení 1,88 %', //hasbled 2
', roční riziko závažného krvácení 3,74 %', //hasbled 3
', roční riziko závažného krvácení 8,70 %', //hasbled 4
', roční riziko závažného krvácení 12,5 %', //hasbled 5
', příliš málo dat ke stanovení rizika krvácení (nejspíše více než 12,5 %)', //hasbled 6
', příliš málo dat ke stanovení rizika krvácení (nejspíše více než 12,5 %)', //hasbled 7
', příliš málo dat ke stanovení rizika krvácení (nejspíše více než 12,5 %)', //hasbled 8
', příliš málo dat ke stanovení rizika krvácení (nejspíše více než 12,5 %)' //hasbled 9
];
$( '#lekarska_kalkulacka_Antikoagulace-CHA2DS2VASc' ).html( cha2ds2vasc + ischaemia_risk[cha2ds2vasc] );
$( '#lekarska_kalkulacka_Antikoagulace-HASBLED' ).html( hasbled + bleeding_risk[hasbled]);
});