}
- private String getRespostaNodo(NodoPaciente nodoPaciente) {
+ private String getRespostaNodo(Nodo nodo, Paciente paciente) {
EntityManager em = DbUtil.getInstance().getEntityManager();
- UnBUtil unBUtil = UnBUtil.getInstance(nodoPaciente.getPaciente().getRede());
- unBUtil.abreRede(nodoPaciente.getPaciente().getRede());
+ UnBUtil unBUtil = UnBUtil.getInstance(paciente.getRede());
+ unBUtil.abreRede(paciente.getRede());
Iterator<NodoPaciente> it = em.createQuery("From NodoPaciente Where paciente.id=:pIdPaciente")
- .setParameter("pIdPaciente", nodoPaciente.getPaciente().getId())
+ .setParameter("pIdPaciente", paciente.getId())
.getResultList()
.iterator();
unBUtil.ativarNodo(pn);
}
- NodoBean nodoBean = unBUtil.getNodoBeanByNodo(nodoPaciente.getNodo());
+ NodoBean nodoBean = unBUtil.getNodoBeanByNodo(nodo);
nodoBean.getPercentualProbabilidade();
List <RespostaNodo> respostas = em.createQuery("From RespostaNodo where nodo.id=:pIdNodo")
- .setParameter("pIdNodo", nodoPaciente.getNodo().getId())
+ .setParameter("pIdNodo", nodo.getId())
.getResultList();
int random = (int) (1+Math.random()*respostas.size());
if (!nodo.getNodo().getTipo().equals(Nodo.SINAL_SINTOMA))
continue;
- out.println(" <sintoma uid=\"sintoma-" + nodo.getId() + "\" nomeCientifico=\"" + nodo.getNodo().getNome() + "\" nomePopular=\"" + getPerguntaNodo(nodo.getNodo().getId()) + "\" imagem=\"\" som=\"\" video=\"\" dependencia=\"" + getDependencia(nodo.getNodo().getId()) + "\" falaPaciente=\"" + getRespostaNodo(nodo) + "\" />");
+ out.println(" <sintoma uid=\"sintoma-" + nodo.getId() + "\" nomeCientifico=\"" + nodo.getNodo().getNome() + "\" nomePopular=\"" + getPerguntaNodo(nodo.getNodo().getId()) + "\" imagem=\"\" som=\"\" video=\"\" dependencia=\"" + getDependencia(nodo.getNodo().getId()) + "\" falaPaciente=\"" + getRespostaNodo(nodo.getNodo(), paciente) + "\" />");
}
+
+ // Sinais e sintomas inativos
+ List<Nodo> nodosNaoSelecionados = em.createQuery("From Nodo Where nodo.rede.id=:pIDRede and nodo.id not in (Select nodo.id from NodoPaciente Where paciente.id=:pIDPaciente)")
+ .setParameter("pIDRede", paciente.getRede().getId())
+ .setParameter("pIDPaciente", paciente.getId())
+ .getResultList();
+ for(Nodo nodo : nodosNaoSelecionados) {
+ if (!nodo.getTipo().equals(Nodo.SINAL_SINTOMA))
+ continue;
+
+ out.println(" <sintoma uid=\"sintoma-" + nodo.getId() + "\" nomeCientifico=\"" + nodo.getNome() + "\" nomePopular=\"" + getPerguntaNodo(nodo.getId()) + "\" imagem=\"\" som=\"\" video=\"\" dependencia=\"" + getDependencia(nodo.getId()) + "\" falaPaciente=\"" + getRespostaNodo(nodo, paciente) + "\" />");
+ }
+
out.println(" </perguntar_sintoma>");
// Exame Físico