MediaWiki:Lékařská kalkulačka/EGFR.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_EGFR-content' ).text();
$( '#lekarska_kalkulacka_EGFR' ).html( content.replaceAll('paragraph', 'p' ).replaceAll( 'resValue', 'span' ).replaceAll('breakline', 'br' ).replaceAll('bold', 'b').replaceAll('division', 'div').replaceAll('orderedlist', 'ol') );

$( '#lekarska_kalkulacka_EGFR-vek-number' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-vek-range').val( $( '#lekarska_kalkulacka_EGFR-vek-number' ).val() );
});
$( '#lekarska_kalkulacka_EGFR-vek-range' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-vek-number').val( $( '#lekarska_kalkulacka_EGFR-vek-range' ).val() );	
});
$( '#lekarska_kalkulacka_EGFR-serovy-kreatinin-number' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-serovy-kreatinin-range').val( $( '#lekarska_kalkulacka_EGFR-serovy-kreatinin-number' ).val() );
});
$( '#lekarska_kalkulacka_EGFR-serovy-kreatinin-range' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-serovy-kreatinin-number').val( $( '#lekarska_kalkulacka_EGFR-serovy-kreatinin-range' ).val() );	
});
$( '#lekarska_kalkulacka_EGFR-serovy-cystatin-number' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-serovy-cystatin-range').val( $( '#lekarska_kalkulacka_EGFR-serovy-cystatin-number' ).val() );	
});
$( '#lekarska_kalkulacka_EGFR-serovy-cystatin-range' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-serovy-cystatin-number').val( $( '#lekarska_kalkulacka_EGFR-serovy-cystatin-range' ).val() );
});
$( '#lekarska_kalkulacka_EGFR-urea-range' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-urea-number').val( $( '#lekarska_kalkulacka_EGFR-urea-range' ).val() );
});
$( '#lekarska_kalkulacka_EGFR-urea-number' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-urea-range').val( $( '#lekarska_kalkulacka_EGFR-urea-number' ).val() );
});
$( '#lekarska_kalkulacka_EGFR-albumin-range' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-albumin-number').val( $( '#lekarska_kalkulacka_EGFR-albumin-range' ).val() );
});
$( '#lekarska_kalkulacka_EGFR-albumin-number' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-albumin-range').val( $( '#lekarska_kalkulacka_EGFR-albumin-number' ).val() );
});
$( '#lekarska_kalkulacka_EGFR-vyska-range' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-vyska-number').val( $( '#lekarska_kalkulacka_EGFR-vyska-range' ).val() );
});
$( '#lekarska_kalkulacka_EGFR-vyska-number' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-vyska-range').val( $( '#lekarska_kalkulacka_EGFR-vyska-number' ).val() );
});
$( '#lekarska_kalkulacka_EGFR-vaha-range' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-vaha-number').val( $( '#lekarska_kalkulacka_EGFR-vaha-range' ).val() );
});
$( '#lekarska_kalkulacka_EGFR-vaha-number' ).change( function() {
	$( '#lekarska_kalkulacka_EGFR-vaha-range').val( $( '#lekarska_kalkulacka_EGFR-vaha-number' ).val() );
});


$( 'input[name=isCystatin]' ).change( function() {
	var isCystatin = $( 'input[name=isCystatin]:checked' ).val();
	if (isCystatin) {
		//$('#lekarska_kalkulacka_EGFR-serovy-cystatin-number').removeAttr(‘disabled’);
		//$('#lekarska_kalkulacka_EGFR-serovy-cystatin-range').removeAttr(‘disabled’);
		;
	}
	else {
		//$('#lekarska_kalkulacka_EGFR-serovy-cystatin-number').attr(‘disabled’,’disabled’);
		//$('#lekarska_kalkulacka_EGFR-serovy-cystatin-range').attr(‘disabled’,’disabled’);
		;
	}
});

function lekarska_kalkulacka_EGFR_mdrd(kreatinin, vek, urea, albumin, pohlavi, puvod) {
	// nestandardizovane stanoveni
	//var result = 547.1535 * Math.pow(kreatinin, -1.154) * Math.pow(vek, -0.203);
	
	// standardizovane stanoveni
	 var result = 515.3832 * Math.pow(kreatinin, -1.154) * Math.pow(vek, -0.203);
	
	//* Math.pow((urea * 2.8), -0.17) + Math.pow((albumin*0.1), 0.318);
	if (pohlavi == 0) { //zena
		result *= 0.742;
	}
	if (puvod == 1) { //afroamerican
		result *= 1.212;
	}
	var result_mlmin = result * 60;
	result = Math.round(result * 1000)/1000;
	result_mlmin = Math.round(result_mlmin * 100)/100;
	return result + "&nbsp;ml/s/1.73&nbsp;m<sup>2</sup> (" + result_mlmin + "&nbsp;ml/min/1.73&nbsp;m<sup>2</sup>)";
}

$( 'input' ).change( function() {
  var pohlavi = parseInt($('input[name=pohlavi]:checked').val());
  var vek = $( 'input[type=number][name=vek]').val();
  var puvod = parseInt($('input[name=puvod]:checked').val());
  var kreatinin = $( 'input[type=number][name=serovy-kreatinin]').val();
  var isCystatin = $( 'input[name=isCystatin]:checked' ).val();
  var cystatin = $( 'input[type=number][name=serovy-cystatin]').val();
  var urea = $( 'input[type=number][name=urea]').val();
  var albumin = $( 'input[type=number][name=albumin]').val();
  var vaha = $( 'input[type=number][name=vaha]').val();
  var vyska = $( 'input[type=number][name=vyska]').val();
  var result = 'result';
 $( '#lekarska_kalkulacka_EGFR-vysledek-MDRD' ).html( lekarska_kalkulacka_EGFR_mdrd(kreatinin, vek, urea, albumin, pohlavi, puvod) );
});