<%@ page import="com.tarisan.control.*" %> <%@ page import="com.tarisan.data.*" %> <%@ page import="com.tarisan.excepcion.*" %> <%@ page import="com.tarisan.log.*" %> <%@ page import="java.sql.*" %> <%@ page import="java.util.Vector" %> <%@ page import="com.tarisan.util.Utilidades" %> <% //LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + ": Inicio página de solicitud de analiticas con niveles (pac/solicitudAnaliticaNiveles.jsp)"); response.setHeader("Expires", "0"); response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); HttpSession sesion = request.getSession(true); if(sesion.isNew() || (sesion.getAttribute("USUARIO") == null)) { LogTarisan.logger.log(NivelLog.INFO, "Sesión invalidada"); response.sendRedirect(request.getContextPath() + "/html/login.html"); } else { LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Inicio página de solicitud de analiticas con niveles (pac/solicitudAnaliticaNiveles.jsp)"); try { // Definicion de variables int vieneDeGrupo = 0; boolean boolActosValidosCargados=false; String strMensajeSinElementos="No ha seleccionado ningún acto médico."; String strJustificacionPrescripcion=""; String strParametroMenu=""; String strCampoNombre=""; String strListaElementos=""; String strListaCodigoElementos=""; String strInforme=""; String strGrupo=""; String strModifiAut=""; String strJustificacionInforme=""; String strJustificacionPres=""; //String hiddenGrupo = ""; String strTextBox = ""; int intScroll = 0; int intPagina = 0; int prog = 0; int paginacion = 0; int i=0; int intImpresion = 0; String strAutorizacion = ""; StringBuffer strSql = new StringBuffer(); Object aCondiciones[]=null; PersistenciaTagruana perTagruana = new PersistenciaTagruana(); Tagruana tagruana=null; int intMedico = ((Usuario)sesion.getAttribute("USUARIO")).getMedico(); //Obtención del perfil del usuario conectado StringBuffer perfil = new StringBuffer(); perfil.append("|"); perfil.append(sesion.getAttribute("PERFIL")); perfil.append("|"); //Obtenemos los valores de los parametros que se pasan a la pagina //En caso de que no se le pasen parametros, quedaram inicializados //a sus valores por defecto //parametro x para marcar la opcion del menu en la que se encuentra el usuario if (request.getParameter("x")!=null) strParametroMenu=(String)request.getParameter("x"); //parametro descripcion para las busquedas if (request.getParameter("nombre")!=null) strCampoNombre = (String)request.getParameter("nombre"); //parametro scroll para saber si hay que hacer scroll o no if (request.getParameter("scroll")!=null) intScroll = Integer.parseInt(request.getParameter("scroll")); //parametro pagina para realizar la paginacion if (request.getParameter("pagina")!=null) intPagina=Integer.parseInt(request.getParameter("pagina")); //parametro listaPrescripciones para mostrar las prescripciones seleccionadas if (request.getParameter("listaElementos")!=null) strListaElementos=(String)request.getParameter("listaElementos"); //parametro listaPrescripciones para mostrar las prescripciones seleccionadas if (request.getParameter("listaCodigoElementos")!=null) strListaCodigoElementos=(String)request.getParameter("listaCodigoElementos"); //parametro informe para mostrar el informe introducido por el medico if (request.getParameter("informe")!=null) strInforme=(String)request.getParameter("informe"); //parametro impresion que nos indica que se ha de realizar una impresion if (request.getParameter("imp")!=null) { intImpresion=Integer.parseInt(request.getParameter("imp")); } //parametro autorizacion que se pasa cuando se ha pulsado en editar peticion if (request.getParameter("modifiAuto")!=null) strModifiAut=(String)request.getParameter("modifiAuto"); //parametro aut que nos indica la autorizacion que se va a imprimir if (request.getParameter("aut")!=null) strAutorizacion=(String)request.getParameter("aut"); //parametro justificacion que contiene la justificacion del medico para hacer un nuevo analisis. //en caso de no ser necesaria una justificacion, este campo estará vacio if (request.getParameter("justificacionPrescripcion")!=null) { strJustificacionPrescripcion=(String)request.getParameter("justificacionPrescripcion"); //quitamos las comillas simples para pasarlas a un input oculto del formulario //en javascript. //Si no le quitamos las comillas simples, fallaria. Antes de pasar el valor al input, restauramos las comillas simples. strJustificacionPrescripcion = strJustificacionPrescripcion.replace('\'', '~'); } /*if (request.getParameter("grp")!=null) { hiddenGrupo=(String)request.getParameter("grp"); }*/ //parametro nombreTextBox para saber a que caja de texto hay que ponerle el focus y hacerle parpadear cambiando su color if (request.getParameter("nombreTextBox")!=null) { strTextBox=(String)request.getParameter("nombreTextBox"); } PersistenciaTamedico perTamedico = new PersistenciaTamedico(); Tamedico tamedico = new Tamedico(); int maxDeterminaciones = 25; maxDeterminaciones = perTamedico.obtenerNumeroDeterminaciones(intMedico); //parametro grupo que indica que el usuario selecciona los actos medicos de un grupo de analisis //tenemos que cargar los actos medicos de ese grupo if ((request.getParameter("seleccionGrupo")!=null)&&(request.getParameter("grupo")!=null)) { strGrupo=(String)request.getParameter("grupo"); if ( ((String)request.getParameter("seleccionGrupo")).equalsIgnoreCase("si") && strGrupo!="") { Vector vActosGrupo = perTagruana.obtenerActosMedicos(Integer.parseInt(strGrupo),intMedico); if (vActosGrupo.size()>0) { tagruana=null; if(strListaElementos.length() == 0) strListaElementos="¬"+strListaElementos; if(strListaCodigoElementos.length() == 0) strListaCodigoElementos="¬"+strListaCodigoElementos; // int actosPorGrupo = Utilidades.contar_coincidencias(strListaCodigoElementos,"¬"); if (((actosPorGrupo-1) + vActosGrupo.size()) > maxDeterminaciones){ %> <% strGrupo=""; }else{ for (i=0;i", " "); } } String path = request.getContextPath(); if (request.getContextPath().indexOf("tarisan")==-1){ path = path + "/tarisan"; } %> Analítica
<%= sesion.getAttribute("USUARIO") %>

<%=strNoticia %>


<%= sesion.getAttribute("PACIENTE") %>

<% Paciente pac = (Paciente)sesion.getAttribute("PACIENTE"); long intColectivonew = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getColectivo(); double dblPolizanew = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getPoliza(); int intContratonew = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato(); int tarifa = ((Usuario)sesion.getAttribute("USUARIO")).getTarifa(); int medico = ((Usuario)sesion.getAttribute("USUARIO")).getMedico(); int perfil_med = Integer.parseInt((String)sesion.getAttribute("PERFIL")); int visibilidad = 0; /* # Definición de pérfiles PERFIL.ADMINISTRADOR = 0 PERFIL.ANALISTA1 = 4 PERFIL.ANALISTA2 = 17 PERFIL.CABECERA = 1 PERFIL.PODOLOGIA = 53 PERFIL.REHABILITACION = 37 PERFIL.ATS = 50 PERFIL.DENTISTA = 19 Esta visibilidad se asigna a una especialidad o perfil del médico. Es con la que se compara la visibilidad de los actos. Si la visibilidad es 1, los actos saldrán o no saldrán y lo harán con sus justificaciones, según se indique en las tablas TANIVEL_ACTO Y TANIVEL ESPECIALIDAD Si la visibilidad es 2, los actos saldrán o no saldrán pero lo harán siempre sin pedir justificación */ if(perfil_med == 0) visibilidad = 4; /*else if(perfil_med == 1) visibilidad = 2;*/ else visibilidad = 1; PersistenciaTtactmed per = new PersistenciaTtactmed(); Vector vSeleccion_Validos = null; Vector vSeleccion_Con_Justificacion = null; if(pac.getDesplazado() == null) pac.setDesplazado(((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getEntidadChipcard()); if(pac.getDesplazado().compareTo(ParametrosConfiguracion.bin_chipcard_propios) == 0) { //vSeleccion_Validos= per.obtenerAnalisisNiveles(0, intContratonew, intColectivonew, dblPolizanew, "%", tarifa, medico); //Apuntando a desa contra TTACTMED //vSeleccion_Validos= per.obtenerAnalisisNivelesTTACTMED_NUEVO(0, intContratonew, intColectivonew, dblPolizanew, "%", tarifa, medico); //Apuntando a real contra TTACTMED_NUEVO vSeleccion_Validos= per.obtenerAnalisisNivelesTTACTMED_GPC(0, intContratonew, intColectivonew, dblPolizanew, "%", tarifa, medico); //Apuntando a real contra TTACTMED y TTACTMED_GPC if (vieneDeGrupo==1) vSeleccion_Con_Justificacion= per.obtenerAnalisisNivelesJustificacionTTACTMED_GPC(0, intContratonew, intColectivonew, dblPolizanew, "%", tarifa, medico); //vSeleccion_Con_Justificacion= per.obtenerAnalisisNivelesJustificacion(0, intContratonew, intColectivonew, dblPolizanew, "%", tarifa, medico); //vSeleccion_Con_Justificacion= per.obtenerAnalisisNivelesJustificacionTTACTMED_NUEVO(0, intContratonew, intColectivonew, dblPolizanew, "%", tarifa, medico); } else { LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Obtener todos los actos, es desplazado"); //vSeleccion_Validos= per.obtenerAnalisisNivelesDesplazados(0, "%", medico); //vSeleccion_Validos= per.obtenerAnalisisNivelesDesplazadosTTACTMED_NUEVO(0, "%", medico); vSeleccion_Validos= per.obtenerAnalisisNivelesDesplazadosTTACTMED_GPC(0, "%", medico); if (vieneDeGrupo==1) vSeleccion_Con_Justificacion= per.obtenerAnalisisNivelesDesplazadosJustificacionTTACTMED_GPC(0, "%", medico); //vSeleccion_Con_Justificacion= per.obtenerAnalisisNivelesDesplazadosJustificacion(0, "%", medico); //vSeleccion_Con_Justificacion= per.obtenerAnalisisNivelesDesplazadosJustificacionTTACTMED_NUEVO(0, "%", medico); } if(vSeleccion_Validos.size()>0 && !boolActosValidosCargados) { Ttactmed ttactmed2=null; for(int j=0;j <% } } if (vieneDeGrupo==1){ vieneDeGrupo=0; if(vSeleccion_Con_Justificacion.size()>0) { Ttactmed ttactmed2=null; for(int j=0;j <% } } } Vector vSeleccion = null; if(pac.getDesplazado().compareTo(ParametrosConfiguracion.bin_chipcard_propios) == 0) { //vSeleccion= per.obtenerAnalisisNiveles(intPagina, intContratonew, intColectivonew, dblPolizanew, strCampoNombre, tarifa, medico); //vSeleccion= per.obtenerAnalisisNivelesTTACTMED_NUEVO(intPagina, intContratonew, intColectivonew, dblPolizanew, strCampoNombre, tarifa, medico); vSeleccion= per.obtenerAnalisisNivelesTTACTMED_GPC(intPagina, intContratonew, intColectivonew, dblPolizanew, strCampoNombre, tarifa, medico); } else { LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Obtener todos los actos, es desplazado"); //vSeleccion= per.obtenerAnalisisNivelesDesplazados(intPagina, strCampoNombre, medico); //vSeleccion= per.obtenerAnalisisNivelesDesplazadosTTACTMED_NUEVO(intPagina, strCampoNombre, medico); vSeleccion= per.obtenerAnalisisNivelesDesplazadosTTACTMED_GPC(intPagina, strCampoNombre, medico); } if (vSeleccion.size()==0) //No se han encontrado datos { %> <% } else { if (intPagina != 0){ //se tiene en cuenta la paginacion %> <% } %> <% Ttactmed ttactmed = null; tamensaje = pertamensaje.obtenerMensaje(1); String estilo = ""; String strDescripcionSinComilla=""; for(i = 0; i < vSeleccion.size(); i++) { if (i % 2 == 0) { estilo = "filaA"; } else { estilo = "filaB"; } ttactmed = (Ttactmed)vSeleccion.elementAt(i); //hacemos el tratamiento por si viene comilla simple en la descripcion strDescripcionSinComilla = ttactmed.getDescripcion().replace('\'', '~'); %> <% if (strListaCodigoElementos.indexOf("¬" + ttactmed.getActo() + "¬")!=-1) { %> <% } else { %> <% } %> <% } if (strTextBox!="")//Controlar si hay que poner el focus en algun textbox { %> <% strTextBox=""; intScroll=1; } %> <% if (intScroll==1){ %> <% intScroll=0; } %> <% if (intPagina!=0){ //se tiene en cuenta la paginacion %> <% } //fin if(pagina!=0) %> <% } //fin else (vSeleccion.size()!=0) %>
<% String justificacion = ""; if(strJustificacionPres.compareTo("")!=0){ justificacion = strJustificacionPres; }else{ justificacion = strJustificacionPrescripcion; }%>
<% if (request.getParameter("seleccionGrupo")!=null)//Controlar si viene de grupo o no { if ( ((String)request.getParameter("seleccionGrupo")).equalsIgnoreCase("si")) { vieneDeGrupo=1; }else{ vieneDeGrupo=0; } }else{ vieneDeGrupo=0; } %>
Prescripción de diagnóstico:
Grupos de análisis:
<% Vector vGrupos = perTagruana.obtenerGruposAnalisis(intMedico); tagruana = null; %>
Informe:
<% String info = ""; if(strJustificacionInforme.compareTo("")!=0){ info = strJustificacionInforme; }else{ info = strInforme; }%>
Nombre acto médico:   <%=pertamensaje.obtenerMensaje(24).getMensaje() %>
 
<% tamensaje = pertamensaje.obtenerMensaje(10); %><%=tamensaje.getMensaje() %>
Página <%=per.getPaginacion().getNumeroPagina()%> de <%=per.getPaginacion().getNumeroPaginasTotales()%>
Descripción - Justificación
)">)">
<%=ttactmed.getDescripcion()%> type="text" id="justificacion_<%=ttactmed.getActo() %>" name="justificacion_<%=ttactmed.getActo() %>"/>
<%if (per.getPaginacion().esPrimeraPagina()){%> <%}else{%> <%}%> <%if (per.getPaginacion().esUltimaPagina()){%> <%}else{%> <%}%>
primero anteriorprimero anteriorsiguiente últimosiguiente último
<% } catch(ExcepcionTarisan ex) { LogTarisan.logger.log(NivelLog.ERROR, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - ExcepcionTarisan: " + ex.getMensaje()); sesion.setAttribute("ERROR", "Error en la presentación de la página al usuario."); response.sendRedirect(request.getContextPath() + "/jsp/error.jsp"); } catch(Exception ex) { LogTarisan.logger.log(NivelLog.ERROR, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Exception: " + ex); sesion.setAttribute("ERROR", "Error en la presentación de la página al usuario."); response.sendRedirect(request.getContextPath() + "/jsp/error.jsp"); } LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Final página de solicitud de analiticas con niveles(pac/solicitudAnaliticaNiveles.jsp)"); } %>