From: maroni Date: Wed, 18 Apr 2012 12:03:40 +0000 (-0300) Subject: Nova versao do simulador e tratamento de erros das chamadas. X-Git-Url: http://200.18.67.61/gitweb/?a=commitdiff_plain;h=466e3927590d67971559817bfb993c35375ca5ca;p=simdecs2.git Nova versao do simulador e tratamento de erros das chamadas. --- diff --git a/src/java/org/ufcspa/simdecs/mediador/LogExecucao.java b/src/java/org/ufcspa/simdecs/mediador/LogExecucao.java new file mode 100644 index 0000000..bec9433 --- /dev/null +++ b/src/java/org/ufcspa/simdecs/mediador/LogExecucao.java @@ -0,0 +1,198 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.ufcspa.simdecs.mediador; + +import java.util.Iterator; +import javax.persistence.EntityManager; +import org.ufcspa.simdecs.entities.Log; +import org.ufcspa.simdecs.entities.Nodo; +import org.ufcspa.simdecs.entities.TipoEventoLog; +import org.ufcspa.simdecs.util.DbUtil; + +/** + * + * @author maroni + */ +public class LogExecucao { + + private String confiancaAtual; + private boolean abriuFichaPaciente; + private int perguntasRealizadas; + private int perguntasDisponiveis; + private int perguntasProfessor; + private int perguntasBogusRealizadas; + private int examesFisicosRealizados; + private int examesFisicosProfessor; + private int examesFisicosDisponiveis; + private int examesComplementaresRealizados; + private int examesComplementaresProfessor; + private int examesComplementaresDisponiveis; + private int desmarcacoesDiagnostico; + private int desmarcacoesConduta; + + private EntityManager em; + + + public final void refresh(long idSessao, long idCaso, long idRede) { + // Inicializa Valores + perguntasRealizadas = perguntasDisponiveis = perguntasProfessor = perguntasBogusRealizadas = + examesFisicosRealizados = examesFisicosProfessor = examesFisicosDisponiveis = + examesComplementaresRealizados = examesComplementaresProfessor = examesComplementaresDisponiveis = + desmarcacoesDiagnostico = desmarcacoesConduta = 0; + + confiancaAtual = ""; + abriuFichaPaciente = false; + + + em = DbUtil.getInstance().getEntityManager(); + + Iterator itLog = em.createQuery("From log where log.sessao.id=:pIDSessao order by log.data") + .setParameter("pIDSessao", idSessao) + .getResultList() + .iterator(); + + while(itLog.hasNext()) { + Log log = itLog.next(); + + // Registra a abertura da ficha do paciente + if (log.getTipo().getId().equals(TipoEventoLog.VISUALIZA_HISTORICO)) + abriuFichaPaciente = true; + + // Registra a confianca do aluno + if (log.getTipo().getId().equals(TipoEventoLog.CONFIANCA_INICIAL)) + confiancaAtual = log.getConfianca(); + + if (log.getTipo().getId().equals(TipoEventoLog.CONFIANCA_ETAPA)) + confiancaAtual = log.getConfianca(); + + // Soma os sinais e sintomas perguntados pelo aluno + if (log.getTipo().getId().equals(TipoEventoLog.PERGUNTA_SINAL_SINTOMA) || + log.getTipo().getId().equals(TipoEventoLog.PERGUNTA_HISTORICO) ) { + + if (log.getNodo().getBogus()) + perguntasBogusRealizadas+=1; + else + perguntasRealizadas+=1; + } + + // Soma os exames físicos perguntados pelo aluno + if (log.getTipo().getId().equals(TipoEventoLog.SOLICITA_EXAME_FISICO)) + examesFisicosRealizados+=1; + + // Soma os exames complementares perguntados pelo aluno + if (log.getTipo().getId().equals(TipoEventoLog.SOLICITA_EXAME_COMPLEMENTAR)) + examesComplementaresRealizados+=1; + + // Soma as desmarcações de diagnósticos + if (log.getTipo().getId().equals(TipoEventoLog.SELECIONA_DIAGNOSTICO) && + log.isDesmarcado()) + desmarcacoesDiagnostico+=1; + + // Soma as desmarcações de condutas + if (log.getTipo().getId().equals(TipoEventoLog.SELECIONA_CONDUTA) && + log.isDesmarcado()) + desmarcacoesConduta+=1; + + } + + + Iterator itNodoProf = em.createQuery("Select nodo From NodoPaciente where paciente.id in (select id from Paciente where caso.id=:pIDCaso") + .setParameter("pIDCaso", idCaso) + .getResultList() + .iterator(); + while(itNodoProf.hasNext()) { + Nodo nodo = itNodoProf.next(); + if (nodo.getTipo().equals(Nodo.SINAL_SINTOMA)) + perguntasProfessor+=1; + if (nodo.getTipo().equals(Nodo.HISTORICO)) + perguntasProfessor+=1; + if (nodo.getTipo().equals(Nodo.EXAME_COMPLEMENTAR)) + examesComplementaresProfessor+=1; + if (nodo.getTipo().equals(Nodo.EXAME_FISICO)) + examesFisicosProfessor+=1; + } + + Iterator itNodoDisp = em.createQuery("From Nodo where rede.id=:pIDRede") + .setParameter("pIDRede", idRede) + .getResultList() + .iterator(); + while(itNodoDisp.hasNext()) { + Nodo nodo = itNodoDisp.next(); + if (nodo.getTipo().equals(Nodo.SINAL_SINTOMA)) + perguntasDisponiveis+=1; + if (nodo.getTipo().equals(Nodo.HISTORICO)) + perguntasDisponiveis+=1; + if (nodo.getTipo().equals(Nodo.EXAME_COMPLEMENTAR)) + examesComplementaresDisponiveis+=1; + if (nodo.getTipo().equals(Nodo.EXAME_FISICO)) + examesFisicosDisponiveis+=1; + } + } + + public LogExecucao(long idSessao, long idCaso, long idRede) { + refresh(idSessao, idCaso, idRede); + } + + public boolean isAbriuFichaPaciente() { + return abriuFichaPaciente; + } + + public String getConfiancaAtual() { + return confiancaAtual; + } + + public int getDesmarcacoesConduta() { + return desmarcacoesConduta; + } + + public int getDesmarcacoesDiagnostico() { + return desmarcacoesDiagnostico; + } + + public EntityManager getEm() { + return em; + } + + public int getExamesComplementaresDisponiveis() { + return examesComplementaresDisponiveis; + } + + public int getExamesComplementaresProfessor() { + return examesComplementaresProfessor; + } + + public int getExamesComplementaresRealizados() { + return examesComplementaresRealizados; + } + + public int getExamesFisicosDisponiveis() { + return examesFisicosDisponiveis; + } + + public int getExamesFisicosProfessor() { + return examesFisicosProfessor; + } + + public int getExamesFisicosRealizados() { + return examesFisicosRealizados; + } + + public int getPerguntasBogusRealizadas() { + return perguntasBogusRealizadas; + } + + public int getPerguntasDisponiveis() { + return perguntasDisponiveis; + } + + public int getPerguntasProfessor() { + return perguntasProfessor; + } + + public int getPerguntasRealizadas() { + return perguntasRealizadas; + } + +} diff --git a/src/java/org/ufcspa/simdecs/mediador/NegociacaoPedagogica.java b/src/java/org/ufcspa/simdecs/mediador/NegociacaoPedagogica.java new file mode 100644 index 0000000..ff07a06 --- /dev/null +++ b/src/java/org/ufcspa/simdecs/mediador/NegociacaoPedagogica.java @@ -0,0 +1,18 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.ufcspa.simdecs.mediador; + +/** + * + * @author maroni + */ +public class NegociacaoPedagogica { + + + public NegociacaoPedagogica() { + } + + +}