From: maroni Date: Mon, 4 Jun 2012 20:00:13 +0000 (-0300) Subject: Nova implementação quando não é selecionado nada X-Git-Url: http://200.18.67.61/gitweb/?a=commitdiff_plain;h=06f78c2bd599851fb378997df4be76e182334ebf;p=simdecs2.git Nova implementação quando não é selecionado nada --- diff --git a/.DS_Store b/.DS_Store index ff240b8..38a0bba 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/src/java/org/ufcspa/simdecs/mediador/LogExecucao.java b/src/java/org/ufcspa/simdecs/mediador/LogExecucao.java index 1983477..21400ce 100644 --- a/src/java/org/ufcspa/simdecs/mediador/LogExecucao.java +++ b/src/java/org/ufcspa/simdecs/mediador/LogExecucao.java @@ -237,7 +237,7 @@ public class LogExecucao { primeiroDiagnosticoCaso=redePaciente.getPrimeiroDiagnostico(em); segundoDiagnosticoCaso=redePaciente.getSegundoDiagnostico(em); - if (isConcluiuConduta()) { + if (isConcluiuConduta() && diagnostico != null) { redePaciente.setNodeState((ProbabilisticNode)redePaciente.getNodeByName(diagnostico.getNome()), "Yes", 1, "Not", 0); condutasIdeaisDiagnostico = redePaciente.getCondutas(em); } diff --git a/src/java/org/ufcspa/simdecs/mediador/NegociacaoPedagogica.java b/src/java/org/ufcspa/simdecs/mediador/NegociacaoPedagogica.java index e0bce54..195766e 100644 --- a/src/java/org/ufcspa/simdecs/mediador/NegociacaoPedagogica.java +++ b/src/java/org/ufcspa/simdecs/mediador/NegociacaoPedagogica.java @@ -22,18 +22,20 @@ import unbbayes.prs.id.DecisionNode; */ public class NegociacaoPedagogica { - public static final String NAO_ABRIU_FICHA_PACIENTE = "NAO_ABRIU_FICHA_PACIENTE"; - - public static final String INVESTIGACAO_ADEQUADA = "INVESTIGACAO_ADEQUADA"; - public static final String INVESTIGACAO_INSUFICIENTE = "INVESTIGACAO_INSUFICIENTE"; - public static final String INVESTIGACAO_EXCESSIVA = "INVESTIGACAO_EXCESSIVA"; - public static final String INVESTIGACAO_BOGUS = "INVESTIGACAO_BOGUS"; - public static final String INVESTIGACAO_DISPENDIOSA = "INVESTIGACAO_DISPENDIOSA"; - public static final String INVESTIGACAO_DEMORADA = "INVESTIGACAO_DEMORADA"; + public static final String NAO_ABRIU_FICHA_PACIENTE = "NAO_ABRIU_FICHA_PACIENTE"; + + public static final String INVESTIGACAO_ADEQUADA = "INVESTIGACAO_ADEQUADA"; + public static final String INVESTIGACAO_INSUFICIENTE = "INVESTIGACAO_INSUFICIENTE"; + public static final String INVESTIGACAO_EXCESSIVA = "INVESTIGACAO_EXCESSIVA"; + public static final String INVESTIGACAO_BOGUS = "INVESTIGACAO_BOGUS"; + public static final String INVESTIGACAO_DISPENDIOSA = "INVESTIGACAO_DISPENDIOSA"; + public static final String INVESTIGACAO_DEMORADA = "INVESTIGACAO_DEMORADA"; + public static final String INVESTIGACAO_NAO_REALIZADA = "INVESTIGACAO_NAO_REALIZADA"; public static final String DIAGNOSTICO_ADEQUADO = "DIAGNOSTICO_ADEQUADO"; public static final String DIAGNOSTICO_INCORRETO_IMPLAUSIVEL= "DIAGNOSTICO_INCORRETO_IMPLAUSIVEL"; public static final String DIAGNOSTICO_INCORRETO_PLAUSIVEL = "DIAGNOSTICO_INCORRETO_PLAUSIVEL"; + public static final String DIAGNOSTICO_NAO_SELECIONADO = "DIAGNOSTICO_NAO_SELECIONADO"; public static final String CONDUTA_ADEQUADA = "CONDUTA_ADEQUADA"; public static final String CONDUTA_INCORRETA_COERENTE = "CONDUTA_INCORRETA_COERENTE"; @@ -42,6 +44,7 @@ public class NegociacaoPedagogica { public static final String CONDUTA_EXCESSIVA = "CONDUTA_EXCESSIVA"; public static final String CONDUTA_DEMORADA = "CONDUTA_DEMORADA"; public static final String CONDUTA_DISPENDIOSA = "CONDUTA_DISPENDIOSA"; + public static final String CONDUTA_NAO_SELECIONADA = "CONDUTA_NAO_SELECIONADA"; private LogExecucao logExecucao; @@ -327,6 +330,10 @@ public class NegociacaoPedagogica { } private String getResultadoDiagnostico() throws Exception { + // Caso nao selecionou o diagnostico + if (logExecucao.getDiagnostico() == null) + return DIAGNOSTICO_NAO_SELECIONADO; + // Nao selecionou o primeiro diagnostico if (logExecucao.getPrimeiroDiagnosticoCaso() != null && !logExecucao.getDiagnostico().equals(logExecucao.getPrimeiroDiagnosticoCaso())) if (logExecucao.getSegundoDiagnosticoCaso() != null && logExecucao.getDiagnostico().equals(logExecucao.getSegundoDiagnosticoCaso())) @@ -339,6 +346,10 @@ public class NegociacaoPedagogica { private String getResultadoConduta() throws Exception { + // Caso nao selecionou a conduta + if (logExecucao.getCondutasIdeaisDiagnostico() == null || logExecucao.getCondutasIdeaisDiagnostico().isEmpty()) + return CONDUTA_NAO_SELECIONADA; + // Caso o diagnóstico esteja adequado verifica se a conduta foi excessiva, insuficiente ou adequada! if (getResultadoDiagnostico().equals(DIAGNOSTICO_ADEQUADO)) { @@ -381,6 +392,9 @@ public class NegociacaoPedagogica { float custoRealizado=0; float custoPrevisto=0; + if (logExecucao.getCondutas().isEmpty()) + return null; + for(Nodo conduta : logExecucao.getCondutas().values()) custoRealizado+=conduta.getCusto(); @@ -401,6 +415,9 @@ public class NegociacaoPedagogica { float tempoRealizado=0; float tempoPrevisto=0; + if (logExecucao.getCondutas().isEmpty()) + return null; + for(Nodo conduta : logExecucao.getCondutas().values()) tempoRealizado+=conduta.getTempo(); @@ -452,29 +469,34 @@ public class NegociacaoPedagogica { if (!logExecucao.isAbriuFichaPaciente()) resultadosSimulacao.add(NAO_ABRIU_FICHA_PACIENTE); - // Verifica se a investigação é insuficiente ou excessiva - int fatorInsuficiente = 0; - if (anamneseInsuficiente) - fatorInsuficiente++; - if (exameComplementarInsuficiente) - fatorInsuficiente++; - if (exameFisicoInsuficiente) - fatorInsuficiente++; - - int fatorExcessivo = 0; - if (anamneseExcessiva) - fatorExcessivo++; - if (exameComplementarExcessivo) - fatorExcessivo++; - if (exameFisicoExcessivo) - fatorExcessivo++; - - if (fatorExcessivo != 0 || fatorInsuficiente != 0) { - if (fatorInsuficiente > fatorExcessivo) - resultadosSimulacao.add(INVESTIGACAO_INSUFICIENTE); - else - resultadosSimulacao.add(INVESTIGACAO_EXCESSIVA); - } + // Verifica se realmente realizou a investigacao + if (logExecucao.getNodosInvestigacao().size() == 0) + resultadosSimulacao.add(INVESTIGACAO_NAO_REALIZADA); + else { + // Verifica se a investigação é insuficiente ou excessiva + int fatorInsuficiente = 0; + if (anamneseInsuficiente) + fatorInsuficiente++; + if (exameComplementarInsuficiente) + fatorInsuficiente++; + if (exameFisicoInsuficiente) + fatorInsuficiente++; + + int fatorExcessivo = 0; + if (anamneseExcessiva) + fatorExcessivo++; + if (exameComplementarExcessivo) + fatorExcessivo++; + if (exameFisicoExcessivo) + fatorExcessivo++; + + if (fatorExcessivo != 0 || fatorInsuficiente != 0) { + if (fatorInsuficiente > fatorExcessivo) + resultadosSimulacao.add(INVESTIGACAO_INSUFICIENTE); + else + resultadosSimulacao.add(INVESTIGACAO_EXCESSIVA); + } + } // Verifica se é bogus if (perguntouBogus) @@ -519,7 +541,7 @@ public class NegociacaoPedagogica { if (logExecucao.isConcluiuInvestigacao()) { if (!resultadosSimulacao.contains(INVESTIGACAO_BOGUS) && !resultadosSimulacao.contains(INVESTIGACAO_DEMORADA) && !resultadosSimulacao.contains(INVESTIGACAO_DISPENDIOSA) && !resultadosSimulacao.contains(INVESTIGACAO_EXCESSIVA) && - !resultadosSimulacao.contains(INVESTIGACAO_INSUFICIENTE) ) { + !resultadosSimulacao.contains(INVESTIGACAO_INSUFICIENTE) && !resultadosSimulacao.contains(INVESTIGACAO_NAO_REALIZADA)) { resultadosSimulacao.add(INVESTIGACAO_ADEQUADA); } @@ -579,7 +601,8 @@ public class NegociacaoPedagogica { intervencao.setEstrategia(estrategia); intervencao.setResultado(resultado); intervencao.setSessaoUsuario(sessaoUsuario); - +System.out.println("pResultado: " + resultado); +System.out.println("pEstrategia: " + estrategia); TaticaPedagogica tatica = (TaticaPedagogica) em.createQuery("From TaticaPedagogica where resultado=:pResultado and estrategia=:pEstrategia") .setParameter("pResultado", resultado) .setParameter("pEstrategia", estrategia) @@ -639,6 +662,8 @@ public class NegociacaoPedagogica { String resultadoDiagnostico = getResultadoDiagnostico(); if (resultadoDiagnostico.equals(DIAGNOSTICO_ADEQUADO)) retorno.append("-Você chegou ao diagnóstico previsto para esta simulação!\n"); + else if (resultadoDiagnostico.equals(DIAGNOSTICO_NAO_SELECIONADO)) + retorno.append("-Você finalizou o atendimento sem selecionar um diagnóstico!\n"); else if (resultadoDiagnostico.equals(DIAGNOSTICO_INCORRETO_PLAUSIVEL)) retorno.append("-Você não chegou ao diagnóstico previsto para esta simulação! Porém, seu diagnóstico é plausível! O diagnóstico esperado seria" + logExecucao.getPrimeiroDiagnosticoCaso().getNomeAmigavel() + ".\n"); else @@ -655,6 +680,8 @@ public class NegociacaoPedagogica { String resultadoConduta = getResultadoConduta(); if (resultadoConduta.equals(CONDUTA_ADEQUADA)) retorno.append("-A conduta selecionada esta adequada ao previsto pela simulação!\n"); + else if (resultadoConduta.equals(CONDUTA_NAO_SELECIONADA)) + retorno.append("-Você finalizou o atendimento sem selecionar uma conduta!\n"); else if (resultadoConduta.equals(CONDUTA_EXCESSIVA)) retorno.append("-A conduta selecionada esta adequada ao previsto pela simulação, porém existem procedimentos em excesso!\n"); else if (resultadoConduta.equals(CONDUTA_INSUFICIENTE)) diff --git a/web/.DS_Store b/web/.DS_Store index ec0f5d3..ed23249 100644 Binary files a/web/.DS_Store and b/web/.DS_Store differ diff --git a/web/etc/scriptmediador.sql b/web/etc/scriptmediador.sql new file mode 100644 index 0000000..e47f257 --- /dev/null +++ b/web/etc/scriptmediador.sql @@ -0,0 +1,15 @@ +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(85, 'Mensagem', 'AMPLIACAO', 'Indicaste estar confiante na solução do caso, porém não realizaste nenhum questionamento ao paciente. Para chegar a um Diagnóstico é necessário investigar os indícios e sintomas questionando o paciente. Releia o caso, com base nisso questione o paciente buscando encontrar indícios que possam conduzir a uma hipótese diagnostica.', 'INVESTIGACAO_NAO_REALIZADA'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(86, 'Mensagem', 'CONTESTACAO', 'Indicaste estar tranquilo quanto a solução do caso, porém não realizaste nenhum questionamento ao paciente. Para chegar a um Diagnóstico é necessário investigar os indícios e sintomas questionando o paciente. Reflita sobre o caso e realize perguntas que possam conduzi-lo a um raciocínio diagnóstico correto.', 'INVESTIGACAO_NAO_REALIZADA'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(87, 'Mensagem', 'COMPROVACAO', 'Indicaste estar tranquilo quanto a solução do caso, porém não realizaste nenhum questionamento ao paciente. Para chegar a um Diagnóstico é necessário investigar os indícios e sintomas questionando o paciente. Reflita sobre o caso e realize perguntas que possam conduzi-lo a um raciocínio diagnóstico correto.', 'INVESTIGACAO_NAO_REALIZADA'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(88, 'Mensagem', 'ORIENTACAO', 'Sua confiança não é alta em realizar o caso provavelmente porque não realizaste nenhum questionamento ao paciente. Volte a fase de investigação e faça perguntas que julgares pertinente, reforçando seu raciocínio diagnóstico e buscando a resolução da simulação.', 'INVESTIGACAO_NAO_REALIZADA'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(89, 'Mensagem', 'APOIO', 'Sua confiança em resolver o caso é baixa, provavelmente porque não realizaste nenhum questionamento ao paciente. Volte a fase de investigação e faça perguntas que julgares pertinente, reforçando seu raciocínio diagnóstico e buscando a resolução da simulação. Esse procedimento lhe deixará mais confiante.', 'INVESTIGACAO_NAO_REALIZADA'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(90, 'Mensagem', 'AMPLIACAO', 'Indicaste estar confiante na solução do caso, porém não selecionaste nenhum Diagnóstico para o caso em estudo. Volte a essa fase e, com base nos questionamentos que realizaste ao paciente, selecione um Diagnóstico. ', 'DIAGNOSTICO_NAO_SELECIONADO'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(91, 'Mensagem', 'CONTESTACAO', 'Indicaste estar tranquilo quanto a solução do caso, porém não selecionaste nenhum Diagnóstico para o caso em estudo. Volte a essa fase e, com base nos questionamentos que realizaste ao paciente, selecione um Diagnóstico.', 'DIAGNOSTICO_NAO_SELECIONADO'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(92, 'Mensagem', 'COMPROVACAO', 'Indicaste estar tranquilo quanto a solução do caso, porém não selecionaste nenhum Diagnóstico para o caso em estudo. Volte a essa fase e, com base nos questionamentos que realizaste ao paciente, selecione um Diagnóstico.', 'DIAGNOSTICO_NAO_SELECIONADO'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(93, 'Mensagem', 'ORIENTACAO', 'Sua confiança não é alta em solucionar esse caso e não selecionaste nenhum Diagnóstico. Reveja as perguntas realizadas ao paciente, se necessário faça novas perguntas e depois volte a fase de Diagnóstico selecionando um que julgue correto. ', 'DIAGNOSTICO_NAO_SELECIONADO'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(94, 'Mensagem', 'APOIO', 'Sua confiança em resolver o caso é baixa, provavelmente a fase de Investigação deva ser revisada. Volte a fase de investigação e faça perguntas que julgares pertinente, reforçando seu raciocínio diagnóstico e buscando a resolução da simulação ou busque informações em alguma leitura complementar. Esse procedimento lhe deixará mais confiante.', 'DIAGNOSTICO_NAO_SELECIONADO'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(95, 'Mensagem', 'AMPLIACAO', 'Indicaste estar confiante na solução do caso, porém não selecionaste nenhuma Conduta para o caso em estudo. Volte a essa fase e, com base nos questionamentos que realizaste ao paciente e no Diagnóstico selecionado, indique a(s) conduta(s) que julgue procedente. ', 'CONDUTA_NAO_SELECIONADA'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(96, 'Mensagem', 'CONTESTACAO', 'Indicaste estar tranquilo quanto a solução do caso, porém não selecionaste nenhuma Conduta para esse caso. Volte a essa fase e, com base nos questionamentos que realizaste ao paciente e no Diagnóstico selecionado, indique a(s) conduta(s) que julgue procedente.', 'CONDUTA_NAO_SELECIONADA'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(97, 'Mensagem', 'COMPROVACAO', 'Indicaste estar tranquilo quanto a solução do caso, porém não selecionaste nenhuma Conduta para esse caso. Volte a essa fase e, com base nos questionamentos que realizaste ao paciente e no Diagnóstico selecionado, indique a(s) conduta(s) que julgue procedente.', 'CONDUTA_NAO_SELECIONADA'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(98, 'Mensagem', 'ORIENTACAO', 'Sua confiança não é alta em solucionar esse caso e não selecionaste nenhuma Conduta. Reveja as perguntas realizadas ao paciente, se necessário faça novas perguntas e analise o Diagnóstico selecionado. Com base nisso, indique a(s) conduta(s) que julgue procedente.', 'CONDUTA_NAO_SELECIONADA'); +insert into tatica_pedagogica(id, assunto, estrategia, mensagem, resultado) values(99, 'Mensagem', 'APOIO', 'Sua confiança em resolver o caso é baixa, provavelmente a fase de Investigação e/ou Diagnóstico deva ser revisada. Volte a fase de investigação e Diagnóstico e com base nas perguntas realizadas e no Diagnóstico selecionado indique a(s) conduta(s) que julgue procedente. Esse procedimento lhe deixará mais confiante.', 'CONDUTA_NAO_SELECIONADA'); diff --git a/web/login.xhtml b/web/login.xhtml index 7e09460..ce3d6c9 100644 --- a/web/login.xhtml +++ b/web/login.xhtml @@ -35,7 +35,7 @@ Acesso ao Simulador

- +