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]);

});