diff --git a/CHANGELOG.md b/CHANGELOG.md index d6b0e1e..4fe802d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ Todas as mudanças significativas nesse projeto serão documentadas neste arquiv O formato é baseado em [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), e este projeto adere ao [Versionamento Semântico](https://semver.org/spec/v2.0.0.html). ## [Não Publicado][Unreleased] + +## [2.15.0] ### Adicionado - Roncos de transmissão nasal a ambos *Exame Físico* e *Sintomáticos Respiratórios*. - *Exame Físico*: @@ -15,6 +17,13 @@ O formato é baseado em [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Varizes. - Declinação de gênero (pronomes). - Dispositivos/Invasões. + - Escores: + - ABCD². + - Well's para TVP. + - Well's para TEP. + - MASCC. + - PESI. + - PORT. - Modelo de atendimento de *Acidente Pérfuro-Cortante*. - Modelo de atendimento de *Dengue*. - Modelo de *Buxo*. @@ -158,7 +167,8 @@ O formato é baseado em [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Página de Requisição de Implanon. - Página de Exame Físico genérico. -[Unreleased]: https://github.com/Nereare/modelos-pront/compare/v2.10.14...HEAD +[Unreleased]: https://github.com/Nereare/modelos-pront/compare/v2.15.0...HEAD +[2.15.0]: https://github.com/Nereare/modelos-pront/compare/v2.10.14...v2.15.0 [2.10.14]: https://github.com/Nereare/modelos-pront/compare/v2.10.5-r1...v2.10.14 [2.10.5-r1]: https://github.com/Nereare/modelos-pront/compare/v2.10.5...v2.10.5-r1 [2.10.5]: https://github.com/Nereare/modelos-pront/compare/v2.5.3...v2.10.5 diff --git a/hospital.php b/hospital.php index f2cb426..06ee3d4 100644 --- a/hospital.php +++ b/hospital.php @@ -3446,6 +3446,918 @@ +
+
+ + +
+ + +
+

Resultado

diff --git a/js/hospital.js b/js/hospital.js index 69c4f73..e7d3d29 100644 --- a/js/hospital.js +++ b/js/hospital.js @@ -1375,6 +1375,339 @@ $(function() { if (cvc.length > 0) { o.push("CVC: " + cvc.join("; ") + "."); } } + // Scores + if ( + $("#score-abcd2").is(":checked") || + $("#wells-dvt").is(":checked") || + $("#score-wells-pe").is(":checked") || + $("#score-pesi").is(":checked") || + $("#score-mascc").is(":checked") || + $("#score-port").is(":checked") + ) { + o.push(""); + } + // ABCD² + if ( $("#score-abcd2").is(":checked") ) { + let score = 0; + // Parse age + let age = parseInt($("#abcd2-age").val()); + age = isNaN(age) ? 60 : age; + if (age >= 60) { score++; } + // Parse BP + let pas = parseInt($("#ssvv-pas").val()); + pas = isNaN(pas) ? 140 : pas; + let pad = parseInt($("#ssvv-pad").val()); + pad = isNaN(pad) ? 90 : pad; + if (pas >= 140 || pad >= 90) { score++; } + // Parse neurological signs + let neuro = parseInt($("#abcd2-features").val()); + neuro = isNaN(neuro) ? 1 : neuro; + score += neuro; + // Parse duration + let duration = parseInt($("#abcd2-duration").val()); + duration = isNaN(duration) ? 1 : duration; + score += duration; + // Parse Diabetes + let dm = ($("#abcd2-dm").val() == "0") ? 0 : 1; + score += dm; + // Push result + o.push("# ABCD² = " + score); + } + // Well's for DVT + if ( $("#score-wells-dvt").is(":checked") ) { + let score = 0; + let pt = 0; + // Parse question #1 + pt = parseInt($("#wells-dvt-1").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #2 + pt = parseInt($("#wells-dvt-2").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #3 + pt = parseInt($("#wells-dvt-3").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #4 + pt = parseInt($("#wells-dvt-4").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #5 + pt = parseInt($("#wells-dvt-5").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #6 + pt = parseInt($("#wells-dvt-6").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #7 + pt = parseInt($("#wells-dvt-7").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #8 + pt = parseInt($("#wells-dvt-8").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #9 + pt = parseInt($("#wells-dvt-9").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #10 + pt = parseInt($("#wells-dvt-10").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Push result + o.push("# Well's (TVP) = " + score); + } + // Well's for PE + if ( $("#score-wells-pe").is(":checked") ) { + let score = 0; + let pt = 0; + // Parse question #1 + pt = parseInt($("#wells-pe-1").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #2 + pt = parseInt($("#wells-pe-2").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #3 + pt = parseInt($("#wells-pe-3").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #4 + pt = parseInt($("#wells-pe-4").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #5 + pt = parseInt($("#wells-pe-5").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #6 + pt = parseInt($("#wells-pe-6").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #7 + pt = parseInt($("#wells-pe-7").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Push result + o.push("# Well's (TEP) = " + score); + } + // PESI + if ( $("#score-pesi").is(":checked") ) { + let score = 0; + let pt = 0; + // Parse question #1 + pt = parseInt($("#wells-pe-1").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #2 + pt = parseInt($("#wells-pe-2").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #3 + pt = parseInt($("#wells-pe-3").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #4 + pt = parseInt($("#wells-pe-4").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #5 + pt = parseInt($("#wells-pe-5").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #6 + pt = parseInt($("#wells-pe-6").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #7 + pt = parseInt($("#wells-pe-7").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #8 + pt = parseInt($("#wells-pe-8").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #9 + pt = parseInt($("#wells-pe-9").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #10 + pt = parseInt($("#wells-pe-10").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #11 + pt = parseInt($("#wells-pe-11").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse class + let classification = null; + let c_num = null; + if (score <= 65) { + c_num = "I"; + classification = "Muito Baixo Risco"; + } else if (score <= 85) { + c_num = "II"; + classification = "Baixo Risco"; + } else if (score <= 105) { + c_num = "III"; + classification = "Risco Intermediário"; + } else if (score <= 125) { + c_num = "IV"; + classification = "Alto Risco"; + } else { + c_num = "V"; + classification = "Muito Alto Risco"; + } + // Push result + o.push("# PESI = Classe " + c_num + " (" + classification + "; " + score + "pts)"); + } + // MASCC + if ( $("#score-mascc").is(":checked") ) { + let score = 0; + let pt = 0; + // Parse question #1 + pt = parseInt($("#mascc-1").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #2 + pt = parseInt($("#mascc-2").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #3 + pt = parseInt($("#mascc-3").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #4 + pt = parseInt($("#mascc-4").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #5 + pt = parseInt($("#mascc-5").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #6 + pt = parseInt($("#mascc-6").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #7 + pt = parseInt($("#mascc-7").val()); + pt = isNaN(pt) ? 60 : pt; + score += (pt < 0) ? 2 : 0; + // Parse class + let classification = null; + if (score < 21) { + classification = "ALTO Risco"; + } else { + classification = "Baixo Risco"; + } + // Push result + o.push("# MASCC de " + classification + " (" + score + "pts)"); + } + // PORT/PSI + if ( $("#score-port").is(":checked") ) { + let score = 0; + let pt = 0; + // Parse question #1 + pt = parseInt($("#port-1").val()); + pt = isNaN(pt) ? 60 : pt; + score += pt; + // Parse question #2 + pt = parseInt($("#port-2").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #3 + pt = parseInt($("#port-3").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #3 + pt = parseInt($("#port-3").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #4 + pt = parseInt($("#port-4").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #5 + pt = parseInt($("#port-5").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #6 + pt = parseInt($("#port-6").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #7 + pt = parseInt($("#port-7").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #8 + pt = parseInt($("#port-8").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #9 + pt = parseInt($("#port-9").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #10 + pt = parseInt($("#port-10").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #11 + pt = parseInt($("#port-11").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #12 + pt = parseInt($("#port-12").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #13 + pt = parseInt($("#port-13").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #14 + pt = parseInt($("#port-14").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #15 + pt = parseInt($("#port-15").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #16 + pt = parseInt($("#port-16").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #17 + pt = parseInt($("#port-17").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #18 + pt = parseInt($("#port-18").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #19 + pt = parseInt($("#port-19").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse question #20 + pt = parseInt($("#port-20").val()); + pt = isNaN(pt) ? 0 : pt; + score += pt; + // Parse class + let classification = null; + let desc = null; + if (score < 50 && $("#port-2").val() == "0") { classification = "I"; } + else if (score < 40) { classification = "I"; } + else if (score <= 70) { classification = "II"; } + else if (score <= 90) { classification = "III"; } + else if (score <= 130) { classification = "IV"; } + else { classification = "V"; } + // Push result + o.push("# PORT Classe " + classification + " (" + score + "pts)"); + } + $("#output-o").val( o.join("\n") ); }); }); diff --git a/meta.php b/meta.php index 7879124..9ffb16d 100644 --- a/meta.php +++ b/meta.php @@ -4,7 +4,7 @@ define("APP_YEAR", "2021-2023"); define("APP_LICENSE_NAME", "Licença Hipocrática"); define("APP_LICENSE_URI", "https://firstdonoharm.dev/"); -define("APP_VERSION", "2.14.4"); +define("APP_VERSION", "2.15.0"); define("MODELS", [ "sr" => [ diff --git a/package.json b/package.json index 3b7340c..b2c2d7d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "modelos-pront", "description": "Uma miscelânea de modelos de evolução de consultas com tópicos específicos.", - "version": "2.14.4", + "version": "2.15.0", "maintainers": [ { "name": "Igor Padoim",