*/
package org.ufcspa.simdecs.mediador;
+import java.util.HashMap;
import java.util.Iterator;
+import java.util.Map;
import javax.persistence.EntityManager;
import org.ufcspa.simdecs.entities.Log;
import org.ufcspa.simdecs.entities.Nodo;
private int examesComplementaresDisponiveis;
private int desmarcacoesDiagnostico;
private int desmarcacoesConduta;
+
+ private float examesComplementaresCustoTotal;
+ private float examesComplementaresCustoProfessor;
+ private float examesComplementaresCustoRealizado;
+ private int examesComplementaresTempoTotal;
+ private int examesComplementaresTempoProfessor;
+ private int examesComplementaresTempoRealizado;
+ private float examesFisicosCustoTotal;
+ private float examesFisicosCustoProfessor;
+ private float examesFisicosCustoRealizado;
+ private int examesFisicosTempoTotal;
+ private int examesFisicosTempoProfessor;
+ private int examesFisicosTempoRealizado;
+
+ private boolean concluiuInvestigacao;
+ private boolean concluiuDiagnostico;
+ private boolean concluiuConduta;
+ private boolean encerrouCaso;
+
+
+ private Nodo diagnostico;
+ private Map<Long, Nodo> condutas;
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;
+ desmarcacoesDiagnostico = desmarcacoesConduta = examesComplementaresTempoTotal =
+ examesComplementaresTempoRealizado = examesFisicosTempoTotal = examesFisicosTempoRealizado =
+ examesComplementaresTempoProfessor = examesFisicosTempoProfessor = 0;
+
+
+ examesFisicosCustoTotal = examesFisicosCustoRealizado = examesComplementaresCustoProfessor =
+ examesComplementaresCustoTotal = examesFisicosCustoProfessor = examesComplementaresCustoRealizado = 0;
+
+ diagnostico = null;
+ condutas = new HashMap<Long, Nodo>();
confiancaAtual = "";
- abriuFichaPaciente = false;
+ concluiuInvestigacao = concluiuDiagnostico = concluiuConduta = encerrouCaso = abriuFichaPaciente = false;
em = DbUtil.getInstance().getEntityManager();
- Iterator<Log> itLog = em.createQuery("From log where log.sessao.id=:pIDSessao order by log.data")
+ Iterator<Log> itLog = em.createQuery("From Log where sessaoUsuario.id=:pIDSessao order by data")
.setParameter("pIDSessao", idSessao)
.getResultList()
.iterator();
else
perguntasRealizadas+=1;
}
+
+ // Registra encerramento de etapas
+ if (log.getTipo().getId().equals(TipoEventoLog.FIM_CASO))
+ encerrouCaso = true;
+
+ if (log.getTipo().getId().equals(TipoEventoLog.REGISTRO_ACAO) &&
+ log.getAcao().equals(Log.ACAO_FECHAMENTO) &&
+ log.getEtapa().equals(Log.ETAPA_INVESTIGACAO))
+ concluiuInvestigacao = true;
+
+ if (log.getTipo().getId().equals(TipoEventoLog.REGISTRO_ACAO) &&
+ log.getAcao().equals(Log.ACAO_FECHAMENTO) &&
+ log.getEtapa().equals(Log.ETAPA_CONDUTA))
+
+ concluiuConduta = true;
+ if (log.getTipo().getId().equals(TipoEventoLog.REGISTRO_ACAO) &&
+ log.getAcao().equals(Log.ACAO_FECHAMENTO) &&
+ log.getEtapa().equals(Log.ETAPA_DIAGNOSTICO))
+ concluiuDiagnostico = true;
+
// Soma os exames físicos perguntados pelo aluno
- if (log.getTipo().getId().equals(TipoEventoLog.SOLICITA_EXAME_FISICO))
+ if (log.getTipo().getId().equals(TipoEventoLog.SOLICITA_EXAME_FISICO)) {
examesFisicosRealizados+=1;
+ examesFisicosCustoRealizado+=log.getNodo().getCusto();
+ examesFisicosTempoRealizado+=log.getNodo().getTempo();
+ }
// Soma os exames complementares perguntados pelo aluno
- if (log.getTipo().getId().equals(TipoEventoLog.SOLICITA_EXAME_COMPLEMENTAR))
+ if (log.getTipo().getId().equals(TipoEventoLog.SOLICITA_EXAME_COMPLEMENTAR)) {
examesComplementaresRealizados+=1;
+ examesComplementaresCustoRealizado+=log.getNodo().getCusto();
+ examesComplementaresTempoRealizado+=log.getNodo().getTempo();
+ }
// Soma as desmarcações de diagnósticos
if (log.getTipo().getId().equals(TipoEventoLog.SELECIONA_DIAGNOSTICO) &&
if (log.getTipo().getId().equals(TipoEventoLog.SELECIONA_CONDUTA) &&
log.isDesmarcado())
desmarcacoesConduta+=1;
-
+
+ // Diagnostico selecionado
+ if (log.getTipo().getId().equals(TipoEventoLog.SELECIONA_DIAGNOSTICO)) {
+ if (log.isDesmarcado())
+ diagnostico = null;
+ else
+ diagnostico = log.getNodo();
+ }
+
+ // Condutas selecionado
+ if (log.getTipo().getId().equals(TipoEventoLog.SELECIONA_CONDUTA)) {
+ if (log.isDesmarcado())
+ condutas.remove(log.getNodo().getId());
+ else
+ condutas.put(log.getNodo().getId(), log.getNodo());
+ }
}
- Iterator<Nodo> itNodoProf = em.createQuery("Select nodo From NodoPaciente where paciente.id in (select id from Paciente where caso.id=:pIDCaso")
+ Iterator<Nodo> itNodoProf = em.createQuery("Select np.nodo From NodoPaciente as np where np.paciente.id in (select p.id from Paciente as p where p.caso.id=:pIDCaso)")
.setParameter("pIDCaso", idCaso)
.getResultList()
.iterator();
perguntasProfessor+=1;
if (nodo.getTipo().equals(Nodo.HISTORICO))
perguntasProfessor+=1;
- if (nodo.getTipo().equals(Nodo.EXAME_COMPLEMENTAR))
+ if (nodo.getTipo().equals(Nodo.EXAME_COMPLEMENTAR)) {
examesComplementaresProfessor+=1;
- if (nodo.getTipo().equals(Nodo.EXAME_FISICO))
+ examesComplementaresCustoProfessor+=nodo.getCusto();
+ examesComplementaresTempoProfessor+=nodo.getTempo();
+ }
+ if (nodo.getTipo().equals(Nodo.EXAME_FISICO)) {
examesFisicosProfessor+=1;
+ examesFisicosCustoProfessor+=nodo.getCusto();
+ examesFisicosTempoProfessor+=nodo.getTempo();
+ }
}
Iterator<Nodo> itNodoDisp = em.createQuery("From Nodo where rede.id=:pIDRede")
perguntasDisponiveis+=1;
if (nodo.getTipo().equals(Nodo.HISTORICO))
perguntasDisponiveis+=1;
- if (nodo.getTipo().equals(Nodo.EXAME_COMPLEMENTAR))
+ if (nodo.getTipo().equals(Nodo.EXAME_COMPLEMENTAR)) {
examesComplementaresDisponiveis+=1;
- if (nodo.getTipo().equals(Nodo.EXAME_FISICO))
+ examesComplementaresCustoTotal+=nodo.getCusto();
+ examesComplementaresTempoTotal+=nodo.getTempo();
+ }
+ if (nodo.getTipo().equals(Nodo.EXAME_FISICO)) {
examesFisicosDisponiveis+=1;
+ examesFisicosCustoTotal+=nodo.getCusto();
+ examesFisicosTempoTotal+=nodo.getTempo();
+ }
}
}
public int getPerguntasRealizadas() {
return perguntasRealizadas;
}
+
+ public Map<Long, Nodo> getCondutas() {
+ return condutas;
+ }
+
+ public Nodo getDiagnostico() {
+ return diagnostico;
+ }
+
+ public boolean isConcluiuConduta() {
+ return concluiuConduta;
+ }
+
+ public boolean isConcluiuDiagnostico() {
+ return concluiuDiagnostico;
+ }
+
+ public boolean isConcluiuInvestigacao() {
+ return concluiuInvestigacao;
+ }
+
+ public boolean isEncerrouCaso() {
+ return encerrouCaso;
+ }
+
+ public float getExamesComplementaresCustoProfessor() {
+ return examesComplementaresCustoProfessor;
+ }
+
+ public float getExamesComplementaresCustoRealizado() {
+ return examesComplementaresCustoRealizado;
+ }
+
+ public float getExamesComplementaresCustoTotal() {
+ return examesComplementaresCustoTotal;
+ }
+
+ public int getExamesComplementaresTempoProfessor() {
+ return examesComplementaresTempoProfessor;
+ }
+
+ public int getExamesComplementaresTempoRealizado() {
+ return examesComplementaresTempoRealizado;
+ }
+
+ public int getExamesComplementaresTempoTotal() {
+ return examesComplementaresTempoTotal;
+ }
+
+ public float getExamesFisicosCustoProfessor() {
+ return examesFisicosCustoProfessor;
+ }
+
+ public float getExamesFisicosCustoRealizado() {
+ return examesFisicosCustoRealizado;
+ }
+
+ public float getExamesFisicosCustoTotal() {
+ return examesFisicosCustoTotal;
+ }
+
+ public int getExamesFisicosTempoProfessor() {
+ return examesFisicosTempoProfessor;
+ }
+
+ public int getExamesFisicosTempoRealizado() {
+ return examesFisicosTempoRealizado;
+ }
+
+ public int getExamesFisicosTempoTotal() {
+ return examesFisicosTempoTotal;
+ }
+
+ @Override
+ public String toString() {
+ return "LogExecucao{" + "confiancaAtual=" + confiancaAtual + "\nabriuFichaPaciente=" + abriuFichaPaciente + "\nperguntasRealizadas=" + perguntasRealizadas + "\nperguntasDisponiveis=" + perguntasDisponiveis + "\nperguntasProfessor=" + perguntasProfessor + "\nperguntasBogusRealizadas=" + perguntasBogusRealizadas + "\nexamesFisicosRealizados=" + examesFisicosRealizados + "\nexamesFisicosProfessor=" + examesFisicosProfessor + "\nexamesFisicosDisponiveis=" + examesFisicosDisponiveis + "\nexamesComplementaresRealizados=" + examesComplementaresRealizados + "\nexamesComplementaresProfessor=" + examesComplementaresProfessor + "\nexamesComplementaresDisponiveis=" + examesComplementaresDisponiveis + "\ndesmarcacoesDiagnostico=" + desmarcacoesDiagnostico + "\ndesmarcacoesConduta=" + desmarcacoesConduta + "\nexamesComplementaresCustoTotal=" + examesComplementaresCustoTotal + "\nexamesComplementaresCustoProfessor=" + examesComplementaresCustoProfessor + "\nexamesComplementaresCustoRealizado=" + examesComplementaresCustoRealizado + "\nexamesComplementaresTempoTotal=" + examesComplementaresTempoTotal + "\nexamesComplementaresTempoProfessor=" + examesComplementaresTempoProfessor + "\nexamesComplementaresTempoRealizado=" + examesComplementaresTempoRealizado + "\nexamesFisicosCustoTotal=" + examesFisicosCustoTotal + "\nexamesFisicosCustoProfessor=" + examesFisicosCustoProfessor + "\nexamesFisicosCustoRealizado=" + examesFisicosCustoRealizado + "\nexamesFisicosTempoTotal=" + examesFisicosTempoTotal + "\nexamesFisicosTempoProfessor=" + examesFisicosTempoProfessor + "\nexamesFisicosTempoRealizado=" + examesFisicosTempoRealizado + "\nconcluiuInvestigacao=" + concluiuInvestigacao + "\nconcluiuDiagnostico=" + concluiuDiagnostico + "\nconcluiuConduta=" + concluiuConduta + "\nencerrouCaso=" + encerrouCaso + "\ndiagnostico=" + diagnostico + "\ncondutas=" + condutas + '}';
+
+ }
+
}
*/
package org.ufcspa.simdecs.mediador;
+import org.ufcspa.simdecs.entities.Paciente;
+
/**
*
* @author maroni
public class NegociacaoPedagogica {
- public NegociacaoPedagogica() {
- }
+
+ 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 DIAGNOSTICO_INCORRETO_IMPLAUSIVEL = "DIAGNOSTICO_INCORRETO_IMPLAUSIVEL";
+ public static final String DIAGNOSTICO_INCORRETO_PLAUSIVEL = "DIAGNOSTICO_INCORRETO_PLAUSIVEL";
+
+ public static final String CONDUTA_INCORRETA_COERENTE = "CONDUTA_INCORRETA_COERENTE";
+ public static final String CONDUTA_INCORRETA_INCOERENTE = "CONDUTA_INCORRETA_INCOERENTE";
+ public static final String CONDUTA_INSUFICIENTE = "CONDUTA_INSUFICIENTE";
+ public static final String CONDUTA_EXCESSIVA = "CONDUTA_EXCESSIVA";
+ public static final String CONDUTA_DEMORADA = "CONDUTA_DEMORADA";
+ public static final String CONDUTA_DISPENDIOSA = "CONDUTA_DISPENDIOSA";
+
+ // Anamnese
+ float anamneseInsuficiente;
+ float anamneseSuficiente;
+ float anamneseExcessiva;
+ // Exame Físico
+ float exameFisicoInsuficiente;
+ float exameFisicoSuficiente;
+ float exameFisicoExcessiva;
+
+ // Exame Complementar
+ float exameComplementarInsuficiente;
+ float exameComplementarSuficiente;
+ float exameComplementarExcessiva;
+
+ // Abertura da Ficha do Paciente
+ float abriuFichaPacienteSim;
+ float abriuFichaPacienteNao;
+
+ // Bogus
+ float bogusPresente;
+ float bogusAusente;
+
+ // Hesitação no Diagnóstico
+ float hesitacaoDiagnosticoPresente;
+ float hesitacaoDiagnosticoAusente;
+
+ // Hesitação na Conduta
+ float hesitacaoCondutaPresente;
+ float hesitacaoCondutaAusente;
+
+ // Confiança
+ float confiancaBaixa;
+ float confiancaMedia;
+ float confiancaAlta;
+
+ private LogExecucao logExecucao;
+
+
+ public NegociacaoPedagogica(long idSessao, Paciente paciente) {
+ logExecucao = new LogExecucao(idSessao, paciente.getCaso().getId(), paciente.getRede().getId());
+ System.out.println(logExecucao);
+ }
}