MediaWiki:Lékařská kalkulačka/script.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.
$( document ).on( "pageinit", "#mainPage", function() {
//ABCD2
$( '#ABCD2 input:radio' ).change( function() {
var points = 0;
$( '#ABCD2 input:radio' ).each( function() {
if ( this.checked ) {
points += parseInt( this.value );
}
});
$( '#ABCD2-result' ).html( points );
});
//Apgar
$( '#Apgar input:radio' ).change( function() {
var apgarPoints = 0;
var apgarInterpretation = "normální novorozenec";
$( '#Apgar input:radio' ).each( function() {
if ( this.checked ) {
apgarPoints += parseInt( this.value );
}
});
$( '#Apgar-result' ).html( apgarPoints );
if ( apgarPoints >= 8 ) {
apgarInterpretation = "normální novorozenec";
} else if ( apgarPoints >= 4 ) {
apgarInterpretation = "lehká porodní asfyxie";
} else {
apgarInterpretation = "těžká porodní asfyxie";
}
$( '#Apgar-interpretation' ).html( apgarInterpretation );
});
//BMI
$( '#BMI-form' ).on( 'change', '#BMI-vyska', function() {
var vyska = parseInt( $( '#BMI-vyska' ).slider().val() );
var vaha = parseInt( $( '#BMI-vaha' ).slider().val() );
vyska /= 100;
var bmi = vaha / (vyska * vyska);
bmi *= 100;
bmi = Math.round(bmi);
bmi /= 100;
$( '#BMI-value' ).html( bmi );
});
$( '#BMI-form' ).on( 'change', '#BMI-vaha', function() {
var vyska = parseInt( $( '#BMI-vyska' ).slider().val() );
var vaha = parseInt( $( '#BMI-vaha' ).slider().val() );
vyska /= 100;
var bmi = vaha / (vyska * vyska);
bmi *= 100;
bmi = Math.round(bmi);
bmi /= 100;
$( '#BMI-value' ).html( bmi );
});
$( '#Child input:radio' ).change( function() {
var childPoints = 0;
var childClass = "";
var oneYearSurvival = "";
var twoYearSurvival = "";
$( '#Child input:radio' ).each( function() {
if ( this.checked ) {
childPoints += parseInt( this.value );
}
});
if ( childPoints <= 6 ) {
childClass = "A";
oneYearSurvival = "100 %";
twoYearSurvival = "85 %";
} else if ( childPoints <= 9 ) {
childClass = "B";
oneYearSurvival = "81 %";
twoYearSurvival = "57 %";
} else {
childClass = "C";
oneYearSurvival = "45 %";
twoYearSurvival = "35 %";
}
$( '#child-points' ).html( childPoints );
$( '#child-class' ).html( childClass );
$( '#child-oneYearSurvival' ).html( oneYearSurvival );
$( '#child-twoYearSurvival' ).html( twoYearSurvival );
});
//Clearance
$( '#Clearance input' ).change( function() {
var vek, kreatinin, vaha, urea, albumin, cg, mdrd, idealni, idealniHorni, idealniSpodni;
vek = parseInt( $( '#Clearance-vek' ).val().replace( ',', '.') );
kreatinin = parseInt( $( '#Clearance-kreatinin' ).val().replace( ',', '.') );
vaha = parseInt( $( '#Clearance-vaha' ).val().replace( ',', '.') );
urea = parseInt( $( '#Clearance-urea' ).val().replace( ',', '.') );
albumin = parseInt( $( '#Clearance-albumin' ).val().replace( ',', '.') );
if ( vek && vaha && kreatinin ) {
cg = ( (140 - vek ) * vaha ) / (44.5 * kreatinin );
}
if ( vek && kreatinin && urea && albumin ) {
mdrd = 2.83 * Math.pow( ( 0.0113 * kreatinin ), -0.999 ) * Math.pow( vek, -0.176 ) * Math.pow( ( 2.8 * urea ), -0.17 ) * Math.pow( ( 0.1 * albumin ), 0.318 );
}
if ( $( '#Clearance-pohlavi-female' ).is( ':checked' ) ) {
if ( cg ) {
cg *= 0.85;
}
if ( mdrd ) {
mdrd *= 0.762;
}
}
if ( cg ) {
cg = Math.round( 10000 * cg )/10000;
$( '#Clearance-result-CG' ).html( cg );
}
if ( mdrd ) {
mdrd = Math.round( 10000 * mdrd )/10000;
$( '#Clearance-result-MDRD' ).html( mdrd );
}
if ( vek ) {
idealni = -0.00946 * vek + 2.118;
idealniSpodni = idealni - 0.3 * idealni;
idealniSpodni = Math.round( 100 * idealniSpodni )/100;
idealniHorni = idealni + 0.3 * idealni;
idealniHorni = Math.round( 100 * idealniHorni )/100;
$( '#Clearance-idealni' ).html( idealniSpodni + '–' + idealniHorni + ' ml/s' );
}
});
//Povrch
$( '#Povrch-form' ).on( 'change', '#povrch-vyska', function() {
var vyska = parseInt( $( '#povrch-vyska' ).slider().val() );
var vaha = parseInt( $( '#povrch-vaha' ).slider().val() );
var bsa = 0.007184 * Math.pow( vaha, 0.425 ) * Math.pow( vyska, 0.725 );
bsa = Math.round( 1000 * bsa ) / 1000;
$( '#povrch-value' ).html( bsa );
});
$( '#Povrch-form' ).on( 'change', '#povrch-vaha', function() {
var vyska = parseInt( $( '#povrch-vyska' ).slider().val() );
var vaha = parseInt( $( '#povrch-vaha' ).slider().val() );
var bsa = 0.007184 * Math.pow( vaha, 0.425 ) * Math.pow( vyska, 0.725 );
bsa = Math.round( 1000 * bsa ) / 1000;
$( '#povrch-value' ).html( bsa );
});
//Ranson
$( '#Ranson-typ' ).change( function() {
if ( document.getElementById('Ranson-obstrukcni').checked ) {
$( '#Ranson-label-vek' ).html('Věk > 70 let');
$( '#Ranson-label-WBC').html('Leukocyty > 18 gpt/l');
$( '#Ranson-label-glykemie' ).html('Glykémie > 12,2 mmol/l');
$( '#Ranson-label-AST' ).html('Sérová AST > 250 IU/l');
$( '#Ranson-label-LDH' ).html('Sérová LDH > 400 IU/l');
$( '#Ranson-label-kalcemie' ).html('Kalcémie < 2,0 mmol/l');
$( '#Ranson-label-hematokrit' ).html('Snížení hematokritu o > 10 %');
$( '#Ranson-label-kyslik' ).html('hypoxémie P<sub>O<sub>2</sub></sub> < 60 mmHg');
$( '#Ranson-label-BUN' ).html('BUN (Blood urea nitrogen) stoupl o více než 1,8 mmol/l po i.v. rehydrataci');
$( '#Ranson-label-BE' ).html('Base excess < 5 mEq/l');
$( '#Ranson-label-tekutiny' ).html('Sekvestrace tekutin > 4 l');
} else {
$( '#Ranson-label-vek' ).html('Věk > 55 let');
$( '#Ranson-label-WBC').html('Leukocyty > 16 gpt/l');
$( '#Ranson-label-glykemie' ).html('Glykémie > 10 mmol/l');
$( '#Ranson-label-AST' ).html('Sérová AST > 250 IU/l');
$( '#Ranson-label-LDH' ).html('Sérová LDH > 350 IU/l');
$( '#Ranson-label-kalcemie' ).html('Kalcémie < 2,0 mmol/l');
$( '#Ranson-label-hematokrit' ).html('Snížení hematokritu o > 10 %');
$( '#Ranson-label-kyslik' ).html('hypoxémie P<sub>O<sub>2</sub></sub> < 60 mmHg');
$( '#Ranson-label-BUN' ).html('BUN (Blood urea nitrogen) stoupl o více než 1,8 mmol/l po i.v. rehydrataci');
$( '#Ranson-label-BE' ).html('Base excess < 4 mEq/l');
$( '#Ranson-label-tekutiny' ).html('Sekvestrace tekutin > 6 l');
}
});
$( '#Ranson input:checkbox' ).change( function() {
var ransonPoints = 0;
var ransonResult;
var ransonMortality;
$( '#Ranson input:checkbox' ).each( function() {
if ( this.checked ) {
ransonPoints++;
}
});
if ( ransonPoints < 3 ) {
ransonResult = "nepravděpodobná";
ransonMortality = 2;
} else if ( ransonPoints < 5 ) {
ransonResult = "pravděpodobná";
ransonMortality = 15;
} else if ( ransonPoints < 7 ) {
ransonResult = "pravděpodobná";
ransonMortality = 40;
} else {
ransonResult = "pravděpodobná";
ransonMortality = 100;
}
$( '#Ranson-points' ).html( ransonPoints );
$( '#Ranson-result' ).html( ransonResult );
$( '#Ranson-mortality' ).html( ransonMortality );
});
//QTc
//TODO spustit funkci, pokud clovek cisla napise
//$( '#QTc-form' ).on( 'change', '#QTC-QT', function() {
$( '#QTc-form' ).on( 'slidestop', '#QTC-QT', function() {
var QT = $( '#QTC-QT' ).slider().val();
var RR = $( '#QTC-RR' ).slider().val();
var BPS = $( '#QTC-BPS' ).slider().val();
$( '#QTc-Bazett' ).html( Math.round( 1000 * ( ( QT / 1000 ) / Math.sqrt( RR / 1000 ) ) ) );
$( '#QTc-Fridericia' ).html( Math.round( 1000 * ( ( QT / 1000 ) / Math.pow( RR / 1000, 1/3 ) ) ) );
$( '#QTc-Sagie' ).html( Math.round( 1000 * ( ( QT / 1000) + 0.154 * ( 1 - ( RR / 1000 ) ) ) ) );
});
//$( '#QTc-form' ).on( 'change', '#QTC-RR', function() {
$( '#QTc-form' ).on( 'slidestop', '#QTC-RR', function() {
var QT = $( '#QTC-QT' ).slider().val();
var RR = $( '#QTC-RR' ).slider().val();
var BPS = Math.round( 60000/RR );
$( '#QTC-BPS' ).slider().val(BPS);
$( '#QTC-BPS' ).slider( 'refresh' );
$( '#QTc-Bazett' ).html( Math.round( 1000 * ( ( QT / 1000 ) / Math.sqrt( RR / 1000 ) ) ) );
$( '#QTc-Fridericia' ).html( Math.round( 1000 * ( ( QT / 1000 ) / Math.pow( RR / 1000, 1/3 ) ) ) );
$( '#QTc-Sagie' ).html( Math.round( 1000 * ( ( QT / 1000) + 0.154 * ( 1 - ( RR / 1000 ) ) ) ) );
});
//$( '#QTc-form' ).on( 'change', '#QTC-BPS', function() {
$( '#QTc-form' ).on( 'slidestop', '#QTC-BPS', function() {
var QT = $( '#QTC-QT' ).slider().val();
var BPS = $( '#QTC-BPS' ).slider().val();
var RR = Math.round( 60000/BPS );
$( '#QTC-RR' ).slider().val(RR);
$( '#QTC-RR' ).slider( 'refresh' );
$( '#QTc-Bazett' ).html( Math.round( 1000 * ( ( QT / 1000 ) / Math.sqrt( RR / 1000 ) ) ) );
$( '#QTc-Fridericia' ).html( Math.round( 1000 * ( ( QT / 1000 ) / Math.pow( RR / 1000, 1/3 ) ) ) );
$( '#QTc-Sagie' ).html( Math.round( 1000 * ( ( QT / 1000) + 0.154 * ( 1 - ( RR / 1000 ) ) ) ) );
});
//Total Energy Expenditure (TEE)
function calculateTEE() {
var muz = ( $('#TEE-sex-m').is(':checked') )? true : false;
var vyska = $( '#TEE-vyska' ).slider().val();
var vaha = $( '#TEE-vaha' ).slider().val();
var vek = $( '#TEE-vek' ).slider().val();
var REE = 0;
if (muz) {
REE = 66.4730 + (13.7516 * vaha) + (5.0033 * vyska) - (6.7550 * vek);
} else {
REE = 655.0955 + (9.5634 * vaha) + (1.8496 * vyska) - (4.6756 * vek);
}
$( '#TEE-REE-HB-result' ).html( Math.round(REE) );
var AF = parseFloat( $('input[name=TEE-AF]:checked', '#TEE-form').val() );
var IF = parseFloat( $('input[name=TEE-IF]:checked', '#TEE-form').val() );
var TF = parseFloat( $('input[name=TEE-TF]:checked', '#TEE-form').val() );
var TEE = AF * IF * TF * REE;
$( '#TEE-result' ).html( Math.round(TEE) );
}
$( '#TEE input' ).change( function() {
calculateTEE();
});
$( '#TEE-form' ).on( 'change', '#TEE-vyska', function() {
calculateTEE();
});
$( '#TEE-form' ).on( 'change', '#TEE-vaha', function() {
calculateTEE();
});
$( '#TEE-form' ).on( 'change', '#TEE-vek', function() {
calculateTEE();
});
});