%@ page import="com.tarisan.control.*" %>
<%@ page import="com.tarisan.data.*" %>
<%@ page import="com.tarisan.excepcion.*" %>
<%@ page import="com.tarisan.log.*" %>
<%@ page import="com.tarisan.util.Base64" %>
<%@ page import="com.tarisan.util.Utilidades" %>
<%@ page import="com.tarisan.util.DES" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.sql.Timestamp" %>
<%@ page import="java.util.Vector" %>
<%@ page import="java.util.Calendar" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.math.BigDecimal"%>
<%@ page import="com.tarisan.persistencia.PersistenciaParametros" %>
<%@ page import="java.io.*" %>
<%
//LogTarisan.logger.log(NivelLog.INFO, "Inicio página de diagnostico (pac/diagnostico_NEW.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");
sesion.setAttribute("USUARIO", null);
response.sendRedirect(request.getContextPath() + "/html/login.html");
}
else
{
LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Inicio página de diagnostico (pac/diagnostico_NEW.jsp)");
try
{
// Definicion de variables
String strParametroMenu="";
Calendar calFechaRx = Calendar.getInstance();
calFechaRx.add(Calendar.MONTH, -ParametrosConfiguracion.periodoRx);
java.sql.Date dtFechaRx = new java.sql.Date(calFechaRx.getTime().getTime());
int intPagina = 0;
StringBuffer strSql = new StringBuffer();
Object aCondiciones[]=null;
SimpleDateFormat sdfFormateadorFecha=new SimpleDateFormat(PersistenciaParametros.formatoFechas);
int intImpresion = 0;
String strListaElementosPrescripcion = "";
String strInformePrescripcion = "";
String strAutorizacion="";
//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 pagina para realizar la paginacion
if (request.getParameter("pagina")!=null)
intPagina=Integer.parseInt(request.getParameter("pagina"));
//parametro impresion que nos indica que se ha de realizar una impresion
if (request.getParameter("imp")!=null) {
intImpresion=Integer.parseInt(request.getParameter("imp"));
}
//parametro listaElementosPrescripciones utilizado para realizar la impresion
if (request.getParameter("listaElementosPrescripcion")!=null)
strListaElementosPrescripcion=(String)request.getParameter("listaElementosPrescripcion");
//parametro informePrescripcion utilizado para realizar la impresion
if (request.getParameter("informePrescripcion")!=null)
strInformePrescripcion=(String)request.getParameter("informePrescripcion");
//atributo autorizacion utilizado para realizar la impresion
if (request.getAttribute("autorizacion")!=null) {
strAutorizacion=(String)request.getAttribute("autorizacion");
}
Tamensaje tamensaje = new Tamensaje();
PersistenciaTamensaje pertamensaje = new PersistenciaTamensaje();
boolean mostrarNoticia = true;
PersistenciaTanoticias perTaNo = new PersistenciaTanoticias();
Vector vSeleccionNot = perTaNo.obtener_noticias_cabecera();
Vector vNoticias = new Vector();
String strNoticia = "";
String noticias ="";
String separador = " ---//--- ";
if(vSeleccionNot.size()==0){
mostrarNoticia = false;
}else{
mostrarNoticia = true;
Tanoticias tanoticia = null;
for(int i = 0; i < vSeleccionNot.size(); i++)
{
tanoticia = (Tanoticias)vSeleccionNot.elementAt(i);
if (i!=0){
strNoticia = strNoticia + separador + tanoticia.getNoticia();
}else{
strNoticia = tanoticia.getNoticia();
}
strNoticia = strNoticia.replaceAll(" ", " ");
}
}
String path = request.getContextPath();
if (request.getContextPath().indexOf("tarisan")==-1){
path = path + "/tarisan";
}
%>
Diagnostico
<%= sesion.getAttribute("USUARIO") %>
<%= sesion.getAttribute("PACIENTE") %>
<%
Tarjeta tarjeta = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta();
if(!((Paciente)sesion.getAttribute("PACIENTE")).get_noesiguala_inactivar() && tarjeta.getEntidadChipcard().compareTo(ParametrosConfiguracion.bin_chipcard_propios)==0)
{
%>
<% tamensaje = pertamensaje.obtenerMensaje(11); %><%=tamensaje.getMensaje() %>
<%
}
else
{
%>
<%
Paciente pac = new Paciente();
pac = (Paciente)sesion.getAttribute("PACIENTE");
//Creación de la tabla presentación de resultados
String colec,pol,ord;
colec = Long.valueOf(pac.getTarjeta().getColectivo()).toString();
pol = new BigDecimal(pac.getTarjeta().getPoliza()).toString();
ord = Integer.valueOf(pac.getTarjeta().getBeneficiario()).toString();
int med = ((Usuario)sesion.getAttribute("USUARIO")).getMedico();
PersistenciaVTaprescaTaclient per = new PersistenciaVTaprescaTaclient();
/*Vector vSeleccion = per.listado_diagnostico_gpc_por_cliente(numafil, intPagina);*/
Vector vSeleccion = per.listado_rx_por_paciente(colec, pol, ord, dtFechaRx, med, intPagina);
LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Resultados radiodiagnosticos: " + vSeleccion.size());
if (vSeleccion.size()==0) //No se han encontrado datos
{
%>
El paciente no tiene ningún radiodiagnóstico efectuado durante los últimos <%=ParametrosConfiguracion.periodoAnalisis%> meses.
Nueva prescripción
<%
}
else
{
if (intPagina != 0){ //se tiene en cuenta la paginacion
%>
Página <%=per.getPaginacion().getNumeroPagina()%> de <%=per.getPaginacion().getNumeroPaginasTotales()%>
<%
}
%>
Fecha
Prescriptor
Prueba Realizada
Informe
<%
//Para evitar que salga el enlace de ver las imágenes
//Ver Imagenes %>
<%
/*VTaresanaTaclient vTaresanaTaclient = null;*/
Ttrayos ttrayos = null;
String estilo = "";
for(int i = 0; i < vSeleccion.size(); i++)
{
if (i % 2 == 0)
{
estilo = "filaA";
}
else
{
estilo = "filaB";
}
/*vTaresanaTaclient = (VTaresanaTaclient)vSeleccion.elementAt(i); */
ttrayos = (Ttrayos)vSeleccion.elementAt(i);
%>
<%
String peticion = ""+ttrayos.getPeticion() ;
/*peticion = (peticion.length()<8)?"0"+peticion:peticion;*/
String peticionE = ""+ttrayos.getPeticionEncriptada();
String ruta = ParametrosConfiguracion.ruta_pdf_peticiones_rx;
File ficheroPeticion = new File(ruta+peticion+".pdf");
if(ficheroPeticion.exists()) //Busco en la nueva ubicación
{
%>
<%
}else{
ruta = ParametrosConfiguracion.ruta_pdf_peticiones;
ficheroPeticion = new File(ruta+peticion+".pdf");
if(ficheroPeticion.exists()) //Busco en la ubicación vieja
{
%>
<%
}else{
%>
<%=sdfFormateadorFecha.format(ttrayos.getFecha())%>
<%
}
}
%>
<%=ttrayos.getPrescriptor()%>
<%=ttrayos.getPrueba()%>
<%
String episodioE = ttrayos.getEpisodioEncriptado();
String nhc = "NHC_"+ttrayos.getNhc().trim();
String filtro = ttrayos.getEpisodio()+"_";
String direccion = ParametrosConfiguracion.ruta_pdf_informes_rx+nhc+"/";
File dir = new File(ParametrosConfiguracion.ruta_pdf_informes_rx+nhc+"/");
/*Vector archivos = Utilidades.buscar_ficheros_recursivo_rx(dir);*/
Vector archivos = Utilidades.buscar_informes_rx(dir,filtro);
if ((archivos == null)||(archivos.size() == 0)) {
%><%="No hay informe"%><%
}
else {
for (int f=0; f < archivos.size() ; f++) {
String filename = archivos.elementAt(f);
DES encrypter = new DES(""+med);
/*String*/ ruta = filename.substring(ParametrosConfiguracion.ruta_pdf_informes_rx.length());
String[] partes = ruta.split("\\.");
ruta = partes[0];
String rutaE = encrypter.encrypt(ruta);
String MostrarNombre = "Informe " + (f+1);
%> <%
}
}
%>
<% /*Con esta url accedemos al pacs para ver las imágenes.
https://pacs.clinicasanmiguel.es:8443/Login2.aspx?User="+usuario_codificado+"&Pass="+password_codificado+"&UID="+uid+"&IdPaciente="+num_paciente +"&IdEstudio=&Accession="+num_estudio+"&RequestId=&Modalidades=XSPACS/
https://pacs.clinicasanmiguel.es:8443/Login2.aspx?User===QZ0F2bklmZ&Pass=xEjNxQTMxEDMyYDM4ATZ0F2bklmZ&UID=2.16.840.1.113883.2.1.3.7.1000043610&IdPaciente=&IdEstudio=&Accession=43610&RequestId=&Modalidades=XSPACS/
uid = '2.16.840.1.113883.2.1.3.7.100000000' + num_estudio (36 caracteres)
idpaciente=
*/
/* String exploracion = new String();
exploracion = (Integer.valueOf(vTaresanaTaclient.getAutorizacion())).toString();
for(int conta = 0; conta < 5 - longitud ; conta++)
{
exploracion = "0" + exploracion;
}*/
/*
//Usuario=invertir(base64("fidoate"))
//passwd=((fidoate+system.time)base64)invertido
//
//*/
/*String usuario = "fidoate";
String passwd = "fidoate";
Calendar cal = Calendar.getInstance();
int minutos = cal.get(Calendar.MINUTE);
cal.set(Calendar.MINUTE, minutos+30);
String tiempovalidez = passwd;*/
//cal.get(Calendar.HOUR_OF_DAY) + (cal.get(Calendar.MINUTE)+30) + "00";
/* if(cal.get(Calendar.DAY_OF_MONTH) < 10){
tiempovalidez = tiempovalidez + "0" + cal.get(Calendar.DAY_OF_MONTH);
}
else{
tiempovalidez = tiempovalidez + cal.get(Calendar.DAY_OF_MONTH);
}
if(cal.get(Calendar.MONTH)+1 < 10){
tiempovalidez = tiempovalidez + "0" + (cal.get(Calendar.MONTH)+1);
}
else{
tiempovalidez = tiempovalidez + (cal.get(Calendar.MONTH)+1);
}
tiempovalidez = tiempovalidez + cal.get(Calendar.YEAR);
if(cal.get(Calendar.HOUR_OF_DAY)<10){
tiempovalidez = tiempovalidez + "0" + cal.get(Calendar.HOUR_OF_DAY);
}
else{
tiempovalidez = tiempovalidez + cal.get(Calendar.HOUR_OF_DAY);
}
if(cal.get(Calendar.MINUTE) < 10){
tiempovalidez = tiempovalidez + "0" + cal.get(Calendar.MINUTE);
}
else{
tiempovalidez = tiempovalidez + cal.get(Calendar.MINUTE);
}
tiempovalidez = tiempovalidez + "00";
usuario = Utilidades.invertir_string(Base64.encode(usuario));
//passwd = Utilidades.invertir_string(Base64.encode("fidoate11112011182200"));
//https://192.168.2.192/tarisan/jsp/pac/ fidoate06132011103300
passwd = Utilidades.invertir_string(Base64.encode(tiempovalidez));*/
//para que funcione bien el enlace que está aquí comentado hay que quitar los espacios entre el % y el > en:
//<%=passwd% >
//<%=exploracion% >
//<%=vTaresanaTamedico.getAutorizacion()% >
//Ver imagenes
%>
<%
/*}*/
%>
<%
}
%>
Nueva prescripción
<% if (intPagina!=0){ //se tiene en cuenta la paginacion %>
<%if (per.getPaginacion().esPrimeraPagina()){%>
primero
anterior
<%}else{%>
primero
anterior
<%}%>
<%if (per.getPaginacion().esUltimaPagina()){%>
siguiente
último
<%}else{%>
siguiente
último
<%}%>
<%
} //fin if(pagina!=0)
} //fin else (vSeleccion.size()!=0)
}
%>
<%
}
catch(Exception ex)
{
LogTarisan.logger.log(NivelLog.ERROR, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Exception: " + ex);
sesion.setAttribute("ERROR", "ExcepcionTarisan: " + ex);
response.sendRedirect("../error.jsp");
}
LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Final página de diagnostico (pac/diagnostico.jsp)");
}
%>