From 06f78c2bd599851fb378997df4be76e182334ebf Mon Sep 17 00:00:00 2001 From: maroni Date: Mon, 4 Jun 2012 17:00:13 -0300 Subject: [PATCH] =?utf8?q?Nova=20implementa=C3=A7=C3=A3o=20quando=20n=C3=A3o?= =?utf8?q?=20=C3=A9=20selecionado=20nada?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 12292 -> 12292 bytes .../org/ufcspa/simdecs/mediador/LogExecucao.java | 2 +- .../simdecs/mediador/NegociacaoPedagogica.java | 93 +++++++++++++------- web/.DS_Store | Bin 15364 -> 15364 bytes web/etc/scriptmediador.sql | 15 +++ web/login.xhtml | 2 +- 6 files changed, 77 insertions(+), 35 deletions(-) create mode 100644 web/etc/scriptmediador.sql diff --git a/.DS_Store b/.DS_Store index ff240b8def05640972f7f5f4c0c596d1d63baf9c..38a0bba2f015b3c2012be94c60ae5a2c322c87d5 100644 GIT binary patch delta 110 zcmZokXi3;`Qbd~f|9=J$U}h+1NM%S$DlaZb%E?aximadfP%xQWqPp79#9T+g(8OeN jpr{OMO>JF$!{h{EdB&#AlSE6HHnU4Ou;N!GTPOqoOOqiV delta 46 ycmZokXi3;`QiPZ5|9=J$U}h+1NS(Y-;Na#NvIR_=*(DrUC+iCa0C_n=j0^yAAP#2$ 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 ec0f5d34a09f3a8b8643e0db070f83fe76b48120..ed232494d0cc737e09d04a18c6e04da421cd3018 100644 GIT binary patch delta 186 zcmZpvXsMXs&nUGqU^hRb)MOq3Ywc8q5{6{Yoc!dZoctsP1_l8J2F4pe%mHMx{{Igo z85o!uz^W$m$`x@KnwaY-7@C+&ZkKb}>?$yW$x(=*m?4>=h#`}q0BBY&P;Cm3od_iJ zfuedq*+PaKR2vxFpf<39Y?y2)Cbs#5&Acesso ao Simulador

- + -- 1.7.6.4