Nova implementação quando não é selecionado nada
authormaroni <maroni@192.168.1.103>
Mon, 4 Jun 2012 20:00:13 +0000 (17:00 -0300)
committermaroni <maroni@192.168.1.103>
Mon, 4 Jun 2012 20:00:13 +0000 (17:00 -0300)
.DS_Store
src/java/org/ufcspa/simdecs/mediador/LogExecucao.java
src/java/org/ufcspa/simdecs/mediador/NegociacaoPedagogica.java
web/.DS_Store
web/etc/scriptmediador.sql [new file with mode: 0644]
web/login.xhtml

index ff240b8..38a0bba 100644 (file)
Binary files a/.DS_Store and b/.DS_Store differ
index 1983477..21400ce 100644 (file)
@@ -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);
             }
index e0bce54..195766e 100644 (file)
@@ -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))
index ec0f5d3..ed23249 100644 (file)
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 (file)
index 0000000..e47f257
--- /dev/null
@@ -0,0 +1,15 @@
+\feffinsert 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');
index 7e09460..ce3d6c9 100644 (file)
@@ -35,7 +35,7 @@
             <a href="simulador/index.html">Acesso ao Simulador</a>
             <br/>
             <br/>
-            <h:outputText value="Versão 4.1.0" />
+            <h:outputText value="Versão 4.1.1" />
         </center>
     </h:body>
 </html>