Full text
GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS Trabajo de Fin de Grado Ingeniería Informática 2013 Autora: Belinda Vega Santana Tutor: Agustín Sánchez Medina
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 2 RESUMEN Un servicio de urgencias de una zona ofrece asistencia sanitaria y tiene como principal objetivo atender la patología urgente que acude al hospital y el nivel de compromiso que se asume consiste en diagnosticar, tratar y estabilizar, en la medida posible, dicha patología urgente. Otro objetivo es gestionar la demanda de atención urgente por parte del ciudadano a través de un sistema de selección prioritaria inicial (Triaje) que selecciona, prioriza, organiza y gestiona la demanda de atención. Para poder controlar y realizar el trabajo de la forma más eficaz se utilizan herramientas de gestión necesarias para el control de los pacientes, desde que se realiza su ingreso en el servicio de urgencias hasta el alta del mismo. Las aplicaciones desarrolladas son las siguientes: 1. Gestión de Pacientes en Urgencias: Esta aplicación asignará un estado inicial al paciente y permitirá ir cambiando el estado del mismo usando el método del Triaje (valoración), el más difundido en la medicina de urgencias. Además, se podrán solicitar pruebas diagnósticas y la visualización de marcadores de analíticas para comprobar su evolución. Finalmente, se podrá desarrollar un informe de alta para el paciente. 2. Informadores de Urgencias: La aplicación gestiona la localización física del paciente dentro del servicio de urgencias, permitiendo asimismo el cambio entre las distintas localizaciones y el control para la información a los familiares
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 3 de los mismos, pudiendo almacenar los familiares y teléfonos de contactos para que estos puedan ser informados. Los usuarios participantes de las aplicaciones son administrativos (informadores de urgencias), médicos y enfermeras del servicio de urgencias. El desarrollo se ha realizado utilizando el MVC (modelo – vista - controlador) que es patrón de arquitectura que separa los datos de una aplicación, la interfaz gráfica de usuario y la lógica de control de componentes. El software utilizado para el desarrollo de las aplicaciones es CACHÉ de Intersystems que permite la creación de una base de datos multidimensional. El modelo de objetos de Caché se basa en el estándar ODMG (Object Database Management Group, Grupo de gestión de bases de datos de objetos) y soporta muchas características avanzadas. CACHÉ dispone de Zen, una biblioteca completa de componentes de objetos preconstruidos y herramientas de desarrollo basadas en la tecnología CSP (Caché Server Pages) y de objetos de InterSystems. ZEN es especialmente apropiado para desarrollar una versión Web de las aplicaciones cliente/servidor creadas originalmente con herramientas como Visual Basic o PowerBuilder.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 4 Summary An emergency service provides healthcare area and its main objective is to attend urgent pathology came to the hospital and the level of commitment made is to diagnose, treat and stabilize, to the extent possible, this pathology urgent. Another objective is to manage demand urgent attention by the public through an initial triage system (triage) that selects, prioritizes, organizes and manages the demand for care. In order to control and perform the work more efficiently using management tools necessary to control patients, since their income is realized in the ED to discharge the same. Applications developed are: 1. Patients in Emergency Management: This application will assign an initial state to the patient and to changed its condition using the method of triage (assessment), the most widespread in emergency medicine. Furthermore, diagnostic tests and may request the display of analytical markers to check its evolution. Finally, we will develop a discharge for the patient. 2. Reporters Emergency: The application manages the physical location of the patient in the emergency department, also allowing switching between the different locations and the control information to their family members, relatives can store contacts and telephone numbers so they can be informed. Users participants are administrative applications (emergency informants), doctors and nurses in the emergency department.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 5 The development was carried out using the MVC (Model - View - Controller) who is a patron of architecture that separates data from an application, the graphical user interface and control logic components. The software used for developing applications InterSystems CACHE is enabling the creation of a multidimensional database. The Caché object model is based on the standard ODMG (Object Database Management Group) and supports many advanced features. CACHE Zen has a full library of components pre-built objects and development tools based on CSP (Caché Server Pages) and articles of InterSystems. ZEN is especially suitable for developing a Web version of the client / server applications originally created with tools such as Visual Basic or PowerBuilder.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 6 ÍNDICE INTRODUCCION............................................................................. 8 ESTADO ACTUAL ........................................................................ 14 OBJETIVOS................................................................................. 15 ANÁLISIS.................................................................................... 15 Realización de entrevistas con el usuario ...........................................16 Planificación y Realización de Entrevistas. Estudio de Documentación.............. 16 Entrevista Estructurada .....................................................................17 Estudio Inicial de los antiguos sistemas existentes. ...........................19 Problemas actuales y necesidades.................................................................... 22 ANÁLISIS FUNCIONAL DE PACIENTES EN URGENCIAS................. 22 ANALISIS FUNCIONAL DE INFORMADORES DE URGENCIAS ......... 25 DIAGRAMA DE CASOS DE USO .................................................... 26 Requisitos de Interfaz del Usuario ......................................................28 Integración de las Aplicaciones en la Intranet del Hospital Universitario de G. C. Dr. Negrín..............................................................................28 Autenticación y Acceso del Usuario a través de la Intranet del Hospital ..........................................................................................................29 REQUISITOS DEL SOFTWARE ..................................................... 30 TECNOLOGÍA CACHÉ INTERSYSTEMS............................................................ 30 Características del Servidor de Datos Caché...................................................... 30 Tecnología de base de datos orientada a objetos................................................ 32 Modelo de datos intuitivo.................................................................................. 32 Desarrollo rápido de aplicaciones...................................................................... 33 Acceso Integrado a Base de Datos .................................................................... 34 Namespaces .................................................................................................... 35 ZEN y páginas Web basadas en componentes ................................................... 36 ¿Qué es un componente de ZEN? ...................................................................... 37 Tipos de componentes de ZEN........................................................................... 37 Otros componentes de ZEN son: ........................................................................ 38 Creación de nuevos componentes de ZEN .......................................................... 39 Funcionamiento de páginas ZEN ....................................................................... 39 Soporte de SVG................................................................................................ 40 ¿Qué navegadores soporta ZEN?....................................................................... 41 JavaScript ....................................................................................................... 41 Medio software y hardware utilizados............................................................... 41 DESARROLLO DE LA APLICACIÓN ............................................... 42 Modelo Vista Controlador (MVC) .........................................................42 Modelo de Datos.................................................................................45
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 7 Estructura del Proyecto (Clases y Páginas Zen)...................................48 Librerías Javascript............................................................................51 Desarrollo de las Páginas ZEN.............................................................53 Componentes de Zen Utilizados en las Aplicaciones ...........................54 Componente TABLEPANE................................................................................ 55 Componente FORM ........................................................................................ 59 Desarrollo de las páginas csp..............................................................66 Uso de Web Services en Caché............................................................83 INTERFAZ Y MANEJO DE LAS APLICACIONES.............................. 86 Pacientes Ingresados en Urgencias .....................................................86 Informadores de Urgencias .................................................................97 PRUEBAS.................................................................................. 101 Pruebas de aceptación ......................................................................101 Pruebas unitarias..............................................................................101 NORMATIVA Y LEGISLACION ..................................................... 101 Legislación Nacional.........................................................................103 Descripción de las normativas vigentes y su ámbito de aplicación................... 104 Legislación Europea..........................................................................105 Otras normativas..............................................................................106 CUMPLIMIENTO DE LAS NORMAS DE SEGURIDAD Y LOPD ......... 106 Niveles de seguridad:........................................................................108 Medidas de seguridad adoptadas en las aplicaciones.........................109 Detalle del nivel básico.....................................................................110 Detalle del nivel medio.....................................................................113 COMPETENCIAS CUBIERTAS ..................................................... 114 CONCLUSION ............................................................................ 116 BIBLIOGRAFÍA .......................................................................... 118 ANEXO 1................................................................................... 119 Definición de las clases: ...................................................................119 Datos de los Pacientes Ingresados en Urgencias ............................................. 119 Histórico de la Ubicación del Paciente en Urgencias ....................................... 121 Histórico del Triaje del Paciente en Urgencias................................................. 123 Histórico de Médico Asignado de los Paciente en Urgencias ............................ 124 Datos Dinámicos de los Pacientes en Urgencias ............................................. 125 Datos Dinámicos de los Pacientes en Urgencias para los Informadores ........... 127 Histórico de Visitantes de los Paciente en Urgencias....................................... 128 Histórico de Familiares Informados de los Paciente en Urgencias.................... 129 Histórico de Acompañantes de los Paciente en Urgencias................................ 130 Histórico de Acompañantes de Personal de la Casa de los Paciente en Urgencias ..................................................................................................................... 130 Informe de Alta de Urgencias ......................................................................... 131
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 8 INTRODUCCION El Servicio de Urgencias del Hospital Universitario El Servicio de urgencias del Hospital Universitario de Gran Canaria Dr. Negrín tiene como objetivo ofertar un servicio ágil, efectivo y con calidad técnica y humana. Gestión de Pacientes en Urgencias Las funciones básicas que posee el servicio de urgencias son: • Recibir al paciente • Clasificar el padecimiento o emergencia del paciente • Ubicar al paciente para ser atendido • Acondicionar el área donde estará el paciente • Estabilizar y tratar si es necesario • Explorar padecimiento y hacer historial clínico • Hacer pruebas complementarias para mayor certeza de tratamiento • Diagnosticar • Tratar • Informar al paciente y sus familiares de todos los procedimientos practicados Tras la recepción del paciente se procede a la llamándola realización del “Triaje”. Éste es un proceso de clasificación de los pacientes que acuden al servicio de urgencias de forma que sean atendidos según el grado de urgencia, con independencia del orden de llegada, y se establezcan los tiempos de espera razonables para ser visitados y tratados por el equipo médico. Dicho proceso sanitario resulta fundamental para la correcta asistencia al paciente y ha de ser llevado a cabo por profesionales cualificados y entrenados. La clasificación de los pacientes en diferentes niveles de urgencia lleva implícita la priorización de la asistencia. Esta
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 9 clasificación se ha de hacer en un tiempo corto, de forma ágil y efectiva para que el proceso no pierda su razón de ser, que es la de garantizar la seguridad de los pacientes que esperan a ser visitados y garantizar que los más urgentes serán asistidos los primeros. Por otro lado, caben mencionar que es necesario que se mantenga 24 horas del día, y que, sea dinámico, ágil, fácil de entender y rápido de aplicar. Además, debe estar estandarizado y también ha de definir la ubicación más adecuada del paciente. Valoración del Triaje: Este proceso se divide en seis etapas, las cuales se indican a continuación: A. ANAMNESIS: Esta fase consiste en la recopilación de información por parte del personal sanitario mediante preguntas específicas, formuladas bien al propio paciente o bien a otras personas que conozcan a este último para obtener datos útiles y elaborar información valiosa para formular el diagnóstico y tratar al paciente. Las preguntas más comunes son las siguientes: • Motivo de consulta (lo describe el paciente) • Inicio de los síntomas (fecha y hora) • Duración de los síntomas • Actividad (reposo, ejercicio, comer, etc) • ¿Todavía está presente? • Localización • Escala del dolor (1 – 10) • Irradiación • Factores que alivian o agravan el dolor • Situaciones previas similares. ¿Cuál fue el diagnóstico? • Antecedentes personales de interés
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 16 Realización de entrevistas con el usuario Planificación y Realización de Entrevistas. Estudio de Documentación. Para poder recoger los requisitos se deben realizar entrevistas con el personal de urgencias encargado de la supervisión del proyecto para extraer la información necesaria. Estas entrevistas serán, por una parte abiertas y servirán de primera toma de contacto con preguntas espontáneas al usuario. Una segunda parte será de tipo estructurada, se planificándose las preguntas de la sesión. Para llevar a cabo las entrevistas se llevarán a cabo los siguientes pasos: • Planificar las entrevistas a realizar: en la planificación se incluirá fecha, hora y lugar de la entrevista, duración estimada y guión • Realizar las entrevistas y documentarlas debidamente • Documentar los requisitos identificados A partir de las entrevistas realizadas con los responsables, se identifican los requisitos que debe cumplir el sistema y se establecerá una prioridad para los mismos, de acuerdo a las necesidades expresadas por los usuarios y a los objetivos a cubrir por el nuevo sistema. Entre la información que debe extraerse de la 1º entrevista (dentro de lo posible) se encuentra lo siguiente: - Formularios actuales que se usan - Tipo de usuarios - Recursos hardware disponibles
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 17 - Recursos de software que forman parte del ambiente operacional Entrevista Estructurada Partiendo de la propuesta de proyecto a realizar descrita dentro de los objetivos del punto uno de este documento, se diseñó la entrevista que se muestra a continuación. También se presenta los principales resultados que se obtuvieron con cada una de las preguntas: Entrevista con el Coordinador de Urgencias Fecha: 13 de febrero de 2012 Lugar: Servicio de Urgencias del Hospital Universitario de G.C. Dr. Negrín • ¿Qué debe hacer el Sistema? El sistema debe dar solución a la gestión de los pacientes que vienen a un servicio de urgencias de un centro Hospitalario. Desde que un paciente llega a un servicio de urgencias de un centro hospitalario, hasta que este es dado de alta o derivado a otro servicio, pasa por una serie de situaciones, localizaciones, estados de urgencias, etc, distintos. Además se le hacen una serie de pruebas diagnosticas y dependiendo de las mismas puede pasar de una situación a otra. Desde este sistema se le dará un estado inicial al paciente y permitirá ir cambiando el estado del mismo usando el método del Triaje (valoración), el más difundido en la medicina de urgencias. Además se permitirá la localización física del paciente dentro del servicio de urgencias, permitiendo asimismo el cambio entre las distintas localizaciones y el control para la información a los familiares
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 18 de los mismos, pudiendo almacenar los familiares y teléfonos de contactos para ser informados. También se indicará el médico asignado tras ser ingresado en el servicio de urgencias, controlando así el personal que se encarga de cada paciente. La petición de pruebas diagnosticas es fundamental dentro del proceso de clasificación y atención al paciente de urgencias. Desde este punto de vista, la aplicación permitirá la petición de pruebas tanto al servicio de Radiología como al servicio de Digestivo. Por último, el propio sistema tendrá la posibilidad de solicitar el alta del paciente realizando el pertinente informe de alta o la derivación a otro servicio hospitalario como puede ser cirugía o plantas hospitalarias. • ¿Quiénes y cuántos son los usuarios del sistema? Los usuarios serán los médicos y enfermeras del servicio de urgencias, además de los informadores asignados al servicio. • ¿Qué debería hacer cada uno con el sistema? Enfermeros/as: El personal de enfermería es el responsable de realizar el Triaje (valoración) del paciente que llega al servicio de urgencias. Además debe ir rellenando los datos relevantes al paciente como seguimiento para el personal de enfermería. Médicos/as: Los médicos se encargarán de asignar la ubicación dentro del servicio, asignarlo como paciente asignado y anotar lo valores y la información relevante para el diagnóstico y futuro tratamiento del paciente, pudiendo solicitar pruebas necesarias para ello y consultando posteriormente los resultados. Cuando sea necesario el médico será el responsable de indicar el alta del paciente del servicio de urgencias, a su domicilio, planta o centros concertados.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 19 Informadores: Los informadores se encargarán de la recepción a los familiares, control de todos los ingresos producidos en el s. de urgencias, control de la ubicación del paciente dentro del servicio de urgencias, regulación de las visitas de familiares y/o acompañantes y coordinación de la información entre el familiar del paciente y su médico responsable. Estudio Inicial de los antiguos sistemas existentes. Los antiguos sistemas existentes en urgencias del hospital son simplemente hojas Excel y documentos Word de Microsoft Office. Seguidamente, se describe brevemente el uso que hacen los distintos usuarios de estos archivos. • Médicos y Enfermeras: Utilizan un documento Word por cada ubicación de urgencias. Dichos documentos se encuentran instaladas en un servidor y son compartidas para todos los equipos del servicio. Como cada médico y/o enfermera está asignada a una zona del servicio, estos abren y rellenan los datos de los pacientes asignados a su zona. Para este personal existe establecida una ubicación dentro del servicio de Urgencias en función del nivel de gravedad del paciente, por lo que tras su valoración (Triaje) se ubicará en el lugar adecuado para ellos. En la figura a1 se muestra un ejemplo Figura a1. Documento Word utilizado por médicos y enfermeras
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 20 Fuente: Elaboración propia • Informadores de Urgencias: Registran los datos de los pacientes que ingresan en el servicio de urgencias y recogerán todos los aspectos relevantes para el mismo. Principalmente la ubicación dentro del servicio, su médico asignado y los datos de los familiares a los cuales se les informará de su estado. Los informadores sabrán en todo momento la ubicación del paciente dada por el personal sanitario, y ellos establecerán su equivalente en cuanto a ubicación física para localizar al paciente, no siempre coincide en cuando a definición con la del personal sanitario, estos se ciñen más a donde encontrarlos físicamente.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 21 Figura a2. Hojas Excel utilizadas por informadores Fuente: Elaboración propia
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 22 Problemas actuales y necesidades Los principales problemas de este método de obtención y almacenamiento de la información son los siguientes: • La eliminación del archivo o modificación del mismo erróneamente, ya que es uno solo para varios usuarios. • La imposibilidad de ser modificado por varios usuarios simultáneamente. • Selección de paciente incorrecto o descuido al introducir datos necesarios. • No poder obtener datos estadísticos ni históricos del los pacientes. ANÁLISIS FUNCIONAL DE PACIENTES EN URGENCIAS El proceso comienza cuando los administrativos del servicio de Admisión de Urgencias realizan el ingreso de un paciente en el Sistema, obteniendo los datos personales del paciente, fecha y hora de ingreso y un diagnóstico de ingreso previo. Una vez almacenada esta información ésta puede ser consultada automáticamente por los médicos y enfermeros del servicio de Urgencia. El primer paso es la realización del Triaje donde se procede a la clasificación y ubicación de los pacientes en diferentes niveles de urgencia lo que lleva implícita la priorización de la asistencia.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 23 Una vez ubicado el paciente según el Triaje se procederá a solicitar si es necesario pruebas diagnósticas que nos indiquen más información sobre la situación del paciente. Se pueden solicitar pruebas al servicio de Radiodiagnóstico y de Digestivo. Además se procederá a realizar pruebas de laboratorio y se obtendrán a posteriori los valores de los marcadores que puedan revelar más pistas sobre el estado del paciente. La información de los datos evolutivos y datos de glucosa serán obtenidos a través de herramientas desarrolladas por empresas externas encargadas de los aplicativos de los servicios de Laboratorios y Análisis Clínicos. Los usuarios deben poder obtener las siguientes opciones dentro del aplicativo: • Listado de Pacientes en Urgencias: Los usuarios tendrán disponible la posibilidad de obtener un listado impreso de los datos de los pacientes ingresados en el servicio de urgencias, con datos relevantes de los mismos. • Listado de Protocolos de Urgencias: Los usuarios pueden consultar en todo momento los protocolos de actuación del servicio de Urgencias. • Formulario de Urgencias: Los médicos y enfermeras del servicio rellenarán los datos necesarios en el formulario para la obtención del diagnóstico y posterior tratamiento del paciente y poder así mantener informado a cualquier compañero del servicio de Urgencias. • Asignación de Médico: Los médicos podrán asignarse los pacientes para poder así filtrar y dar la información al resto de personal del servicio de Urgencias. Esto podrá modificarse
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 24 siempre y cuando sea necesario, mantiene un histórico de dichos cambios. • Establecimiento del Triaje: Una vez realizado el Triaje este será modificado en la aplicación introduciendo la ubicación y zona donde se encuentra el paciente, pudiendo volver a modificarse en caso necesario, se mantiene un histórico de los cambios. • Asignación de Color: Según el resultado del Triaje, se establecerá un color indicando así el nivel de riesgo en el estado del paciente. Se podrá modificar siempre y cuando sea necesario y se mantendrá un histórico de dichos cambios. • Petición de Pruebas: Los médicos podrán solicitar pruebas diagnósticas a través de la aplicación a los servicios de Radiodiagnóstico y Digestivo, que serán atendidas con nivel de urgencia. • Consulta de datos Evolutivos: Los usuarios podrán consultar los resultados de las pruebas solicitadas al servicio de Laboratorios y Análisis Clínicos. • Informe de Alta: Los médicos pueden rellenar un informe de alta conforme se vayan obteniendo datos del diagnóstico y tratamiento de los pacientes para posteriormente proceder al alta entregando una copia al mismo y quedando como historia clínica del paciente. • Solicitud de Ambulancia: Los médicos pueden realizar la solicitud de ambulancia si fuera necesario, rellenando el formulario pertinente.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 25 ANALISIS FUNCIONAL DE INFORMADORES DE URGENCIAS El proceso comienza exactamente igual que para los pacientes ingresados, una vez introducidos los datos por los administrativos del servicio de Admisión de Urgencias, los datos de los pacientes puede ser consultados automáticamente por los informadores del servicio de Urgencias. Estos sabrán la ubicación dentro del servicio de urgencias y su médico asignado, información que ha sido introducida por los médicos y enfermeras del servicio, además de su valoración de Triaje. Los informadores introducirán la ubicación física del paciente siendo esta la equivalente a la ubicación indicada por el personal sanitario, hay que recordar que ellos no usan una equivalencia común en todos los casos. Los informadores recogerán los datos de los familiares presentes a los cuales se remitirán para informar del estado del paciente y/o recurrir a ellos en caso de alguna necesidad que se presentase. También controlaran si tienen algún acompañante y sus horas de visitas y se realizará una distinción si el acompañante es personal de la casa o no. Los usuarios deben poder obtener las siguientes opciones dentro del aplicativo: • Listado de Pacientes en Urgencias: Los usuarios tendrán disponible la posibilidad de obtener un listado impreso de los datos de los pacientes ingresados en el servicio de urgencias, con datos relevantes de los mismos.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 32 Tecnología de base de datos orientada a objetos El modelo de objetos de Caché se basa en el estándar ODMG (Object Database Management Group, Grupo de gestión de bases de datos de objetos) y soporta muchas características avanzadas, incluyendo la herencia múltiple. La tecnología de objetos intenta tratar y utilizar la información como lo hace la mente humana. A diferencia de las tablas relacionales, los objetos incorporan tanto los datos como el código. ¿Cuál es la diferencia entre un objeto y una clase? Una clase es la estructura y el código definitorio proporcionados por el programador. Incluye una descripción de la naturaleza de los datos y de cómo se almacenan, además de todo el código, pero no contiene ningún dato. Un objeto es una "instancia" particular de una clase. Caché está totalmente preparado para objetos y proporciona toda la potencia de la tecnología de objetos a los desarrolladores de aplicaciones de proceso transaccional de alto rendimiento. Modelo de datos intuitivo La tecnología de objetos permite a los desarrolladores pensar en la información y utilizarla (incluso información tremendamente compleja) de forma sencilla y cercana a la realidad, acelerando el proceso de desarrollo de la aplicación.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 33 Desarrollo rápido de aplicaciones Los conceptos de encapsulación, herencia y polimorfismo de objetos permiten reutilizar, volver a planificar y compartir clases entre aplicaciones, y los programadores pueden aprovechar su trabajo para otros muchos proyectos. La tecnología de objetos proporciona muchas ventajas: • Los objetos soportan una estructura de datos más completa que describe de forma más natural los datos del mundo real. • Programar es más sencillo; es más fácil hacer el seguimiento de lo que se está haciendo y de lo que se está modificando. • Las versiones personalizadas de las clases pueden sustituir fácilmente a las estándares, facilitando la personalización de una aplicación. • El enfoque de "caja negra" en la encapsulación significa que el programador puede mejorar el funcionamiento interno de los objetos sin que afecte al resto de la aplicación. • Los objetos proporcionan un método sencillo de conectar distintas tecnologías y distintas aplicaciones. • Java y las interfaces de usuario basadas en GUI utilizan de forma natural la tecnología de objetos. • Muchas de las nuevas herramientas incorporan tecnología de objetos.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 34 • Los objetos proporcionan un buen aislamiento entre la interfaz de usuario y el resto de la aplicación. De este modo, cuando es necesario adoptar una nueva tecnología de interfaz de usuario (quizás alguna tecnología futura aún no prevista) se puede reutilizar la mayor parte del código. Acceso Integrado a Base de Datos Caché proporciona a los programadores la libertad de almacenar y acceder a los datos mediante acceso a objetos, SQL o acceso directo a las estructuras multidimensionales. Independientemente del método de acceso, todos los datos de la base de datos de Caché se almacenan en las arrays multidimensionales. Una característica única de Caché es que siempre que se define una clase de objetos de base de datos, proporciona automáticamente acceso SQL completo a esos datos. Por tanto, sin trabajo adicional, las herramientas basadas en SQL funcionarán inmediatamente con los datos de Caché, manteniendo el alto rendimiento del Servidor de Datos Multidimensional de Caché. El proceso inverso también es válido. Cuando se importa una definición DDL de una base de datos relacional, Caché genera automáticamente una descripción de objetos de los datos, habilitando su acceso inmediato como objetos y a través de SQL. La Arquitectura de Datos Unificada de Caché mantiene sincronizadas estas vías de acceso; sólo hay una descripción de datos que editar. Todo esto se puede englobar en la figura a3.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 35 Figura a3: Multidimensional Access Fuente: http://www.intersystems.es/page/es/capitulo_segundo.html Namespaces En Caché, los datos y el código se almacenan en ficheros de disco con el nombre CACHE.DAT (sólo uno por directorio). Cada fichero contiene numerosos globals (arrays multidimensionales). En un fichero, el nombre de cada global debe ser único, pero fi cheros diferentes pueden contener el mismo nombre de global. Sin mucho rigor, se pueden considerar estos ficheros como bases de datos. En lugar de especificar qué fichero de base de datos utilizar, cada proceso de Caché utiliza un namespace para acceder a los datos. Un namespace es un mapa lógico que mapea los nombres de las arrays multidimensionales globales y el código con las bases de datos. Si se
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 36 mueve una base de datos de una unidad de disco u ordenador a otro, sólo es necesario actualizar el mapeo del namespace. La propia aplicación no cambia. ZEN y páginas Web basadas en componentes ZEN proporciona una forma sencilla de crear rápidamente aplicaciones Web complejas con un aspecto visual sofisticado y una interfaz de usuario muy interactiva. ZEN no es 4GL, es una biblioteca completa de componentes de objetos pre-construidos y herramientas de desarrollo basadas en la tecnología CSP y de objetos de InterSystems. ZEN es especialmente apropiado para desarrollar una versión Web de las aplicaciones cliente/servidor creadas originalmente con herramientas como Visual Basic o PowerBuilder. Los componentes de ZEN permiten una interacción mucho más dinámica. El usuario no está limitado exclusivamente a los mecanismos de “remisión” para enviar valores al servidor. Por ejemplo, con el componente de formulario de ZEN, podrá definir su propia validación personalizada, incluyendo llamadas inmediatas al servidor sin necesidad de tener que solicitar una página y redibujarla a continuación. Para los usuarios, esto representa una forma más natural de introducir los datos. ZEN utiliza el mecanismo de gestión de sesiones de CSP que proporciona autentificación de usuarios, cifrado de datos y retención de datos de sesión persistentes entre peticiones de páginas. Todas las comunicaciones entre el navegador y el servidor se producen mediante el envío de objetos entre ellos utilizando una versión más sofisticada de la técnica a la que se suele hacer referencia como AJAX (JavaScript asíncrono y XML).
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 37 Las páginas basadas en ZEN pueden entremezclarse fácilmente con páginas desarrolladas utilizando otras técnicas de CSP para el desarrollo Web. ¿Qué es un componente de ZEN? Un componente de ZEN es una definición de clase que especifica el aspecto y comportamiento del componente en la página. La definición de clase de ZEN contiene, en un único documento, la definición completa de un componente, incluidas las hojas de estilo, el código del servidor y el código del cliente. En tiempo de ejecución, ZEN crea dos objetos de cada componente utilizado en la página. Un objeto en el cliente, que ZEN crea automáticamente como un objeto JavaScript dentro del navegador, y un objeto en el servidor. ZEN gestiona automáticamente el estado de ambos objetos y gestiona el flujo de información entre ellos. Tipos de componentes de ZEN La biblioteca de ZEN incluye componentes que implementan todos los tipos de controles HTML estándar. Cuadros de entrada, cuadros de texto, botones, casillas de verificación, etc. Esto componentes tienen comportamientos adicionales heredados de la clase de controles de ZEN. ZEN también incluye un conjunto de componentes más complejos que visualizan datos automáticamente de la base de datos y saben cómo actualizar estos datos dinámicamente en respuesta a los eventos del
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 38 usuario. Por ejemplo, el potente componente de tabla de ZEN visualiza automáticamente los datos dentro de una tabla HTML utilizando una consulta de la base de datos. El componente de tabla soporta paginado, desplazamiento, clasificación por columnas, filtrado y una gran variedad de estilos. El contenido de la tabla puede renovarse desde el servidor sin necesidad de redibujar toda la página. Otros componentes de ZEN son: Menús – Se admiten diversos tipos de menús. Grids – Añada a la página Web un comportamiento similar a las hojas de cálculo. Árboles – Los datos se visualizan de forma jerárquica con un control de árbol. Fichas – Un componente de ficha contiene una serie de fichas, cada una de las cuales contiene otros componentes. Gráficos – Con SVG se implementa un conjunto completo de componentes de gráficos, que incluye gráficos de líneas, áreas, barras, circulares, máximo mínimo y XY. Dashboards Los velocímetros, indicadores, etc., le permiten visualizar los datos como componentes visuales dinámicos. Cambio del aspecto de los componentes de la biblioteca de ZEN Todos los componentes de ZEN disponen de un conjunto de propiedades que controlan el aspecto. Las aplicaciones pueden definir
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 39 estas propiedades en tiempo de ejecución para cambiar los valores, el aspecto y el comportamiento de los componentes. El aspecto visual también se controla mediante definiciones de estilos de CSS (Hojas de estilo en cascada) estándar. Puede modificar estos estilos (para cambiar las fuentes, colores, tamaño, etc.) a nivel de aplicación, página o en un componente individual. Puede crear subclases de los componentes de la biblioteca de ZEN para modificar su aspecto y comportamiento. Creación de nuevos componentes de ZEN Una de las principales ventajas de ZEN es la facilidad de creación de nuevos componentes. Cada componente se implementa como una clase. Para crear un nuevo componente: 1. cree una nueva clase de componente, que puede ser una subclase de un componente existente. 2. implemente un método que represente el contenido HTML del componente. 3. defina los métodos del servidor y del cliente que implementan el comportamiento en tiempo de ejecución del componente. 4. y asegúrese de que la clase incluye las definiciones de estilos de CSS necesarias para especificar el aspecto visual del componente. Funcionamiento de páginas ZEN Una página de Zen responde automáticamente a las peticiones HTTP de un navegador y sirve un documento HTML completo para satisfacer dicha petición. Zen páginas también pueden satisfacer otro tipo de
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 40 peticiones, como por ejemplo XML o contenido SVG. La figura a4 muestra la secuencia descrita anteriormente. Figura a4: Como funcionan las páginas ZEN. Fuente: http://docs.intersystems.com/documentation/cache/2007_1/pdfs/GZ EN.pdf Soporte de SVG Los SVG (gráficos vectoriales escalables) proporcionan una forma estándar y potente de visualizar datos gráficos dentro de una página Web. ZEN incluye la capacidad de crear componentes gráficos que se representan a sí mismos utilizando SVG e incluye un conjunto completo de componentes pre-construidos basados en SVG.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 41 ¿Qué navegadores soporta ZEN? ZEN trabaja con Firefox (v1.5 y superior) e Internet Explorer (v6.0 y superior). En el caso de Firefox, no son necesarios plugins, porque SVG está incorporado. En el caso de Internet Explorer, se necesita el plugin SVG de Adobe si desea utilizar componentes de SVG en ZEN. La biblioteca gestiona las diferencias entre SVG de Firefox e Internet Explorer. JavaScript El uso de librerías de javascript puede ser integrado dentro del desarrollo con componentes de ZEN. En el caso que nos ocupa se ha utilizado para poder representar, mediante un gráfico y tras los pertinentes análisis, los valores de glucosa, etc.. Concretamente se utiliza Highcharts JS, una librería javascript desde la que se puede implementar multitud de opciones para estadísticas, desde la típica gráfica de barras, a complejas composiciones para detallar valores. Medio software y hardware utilizados - Windows 7 Profesional: sistema operativo empleado como plataforma de trabajo. - Ordenador PC Intel Core i5-3470S CPU @ 2.90 GHZ - 4,00 GB RAM - Navegador Internet Explorer 8
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 48 Estructura del Proyecto (Clases y Páginas Zen) El NAMESPACE utilizado para realizar el trabajo es INFCLIN. El proyecto es llamado DrNegrin, dentro de este proyecto se ha clasificado los siguientes paquetes que especifican las clases y las paginas ZEN de cada una de las aplicaciones, a continuación se muestra la estructura del proyecto, además se puede observar en la figura a7: c2hn.PaciIngresadosUrg o Clases HistoNivelColor: %Persistent HistoUbicaUrg: %Persistent PaciUrgencias: %Persistent PaciIngresados o Clases Paciurgencias: %Persistent paciUrgenciasInf: %Persistent Acompana: %Persistent AcompanaCasa: %Persistent Informados: %Persistent Visitantes: %Persistent HistoMedico: %Persistent
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 49 o Paginas Web PaciIngreUrgencias: Contiene los formularios y tablepane para gestionar a los pacientes ingresados en urgencias. PaciIngreUrgenciasAdm: Contiene los formularios y tablepane para gestionar las visitas y la información referente a los pacientes ingresados en el servicio de urgencias. Plantillaingresados: Plantilla con el diseño y métodos comunes a compartir por las páginas del proyecto. Figura a7: Estructura del Proyecto Fuente: Elaboración propia CCEE.Util o Clases InformeUrgencias %Persistent
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 50 o Paginas Web Infurgcrear.csp: En esta página se puede redactar el informe de alta del servicio de Urgencias. Infurgconsulta.csp: Desde esta página se consulta el informe pudiendo este ser impreso. Pilotohn o Paginas Web datpacteresopcion.csp: Esta página visualiza una tabla con los nombres de las técnicas posibles, que pueden pulsarse y visualizar los valores de las mismas. Esta página enlaza con la datpacteteclab.csp. datpacteteclab.csp: Contiene las librerías javascript y formularios necesarios para la visualización gráfica y en forma de tabla de los diferentes valores obtenidos con fecha y hora de la técnica seleccionada en la página de datpacteresopcion.csp. /ROOT/GesMed o Paginas Web CambiaMedico.jsp: En esta página se realiza la asignación del médico al paciente seleccionado previamente, visualizando los cambios realizados en la misma. CambiaUbicacionUrg.jsp: En esta página se realiza la asignación de ubicación y zona dentro del servicio de Urgencias. Además se puede asignar el color obtenido tras la valoración en Triaje.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 51 ListadoPacientesUrg.jsp: En esta página se visualizan los datos de los pacientes ingresados en urgencias para poder ser impreso, esta página es para los médicos y enfermeras. ListadoPacientesUrgAdm.jsp: En esta página se visualizan los datos de los pacientes ingresados en urgencias para poder ser impreso, esta página la utilizan los informadores. UrgServAmbulancia.jsp: Esta página es un formulario a rellenar para solicitar el servicio de ambulancia si fuera necesario el uso de la misma para un traslado. UrgServAmbulanciaImp.jsp: Esta página es la encargada de imprimir la solicitud de ambulancia con los datos introducidos en la página de UrgServAmbulancia.jsp. Librerías Javascript Para visualizar los gráficos de los valores de laboratorio se ha utilizado la librería javascript highcharts. Estos ficheros javascript se encuentran dentro del proyecto INFCLIN en la carpeta de Archivos CSP, también se encuentran las imágenes utilizadas. Se puede observar la estructura en la figura a8.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 52 Figura a8: Estructura de los archivos comunes del Proyecto Fuente: Elaboración propia HighCharts es una librería escrita en Javascript que permite la creación de gráficas. La librería ofrece un método fácil e interactivo para insertar graficas en su sitio web o aplicación web. La librería es compatible con todos los navegadores modernos incluyendo iPhone/iPad e Internet Explorer desde su versión 6. No es comercial, no se necesita el permiso de los autores para su implementación en sitios web personales o sin fines de lucro. Es abierto, todas las características pueden ser personalizadas permitiendo una gran flexibilidad además HighCharts está escrito solamente con código Javascript, sólo se requiere incluir el archivo highcharts.js y cualquiera de los tres frameworks más populares de Javascript (jQuery, MooTools o Prototype).
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 53 Desarrollo de las Páginas ZEN El desarrollo se ha estructurado en una página plantilla que distribuye la información en pantalla y define estilos, métodos y funciones que serán heredados por las páginas relacionadas con dicha plantilla. Las paginas ZEN permiten definir dentro del bloque XData Contents (bloque que muestra el contenido en el navegador) varios “pane” que serán los que integren el contenido dinámico de las otras páginas. /// Este bloque XML define el contenido de esta página. XData Contents [ XMLNamespace = "http://www.intersystems.com/zen" ] { <page title="Pacientes Ingresados"> <hgroup width="95%" align="center"> <html id="title" OnDrawContent="DibujaCabecera"/> </hgroup> <hgroup width="95%" align="center"> <vgroup width="100%" valign="top" > <pane paneName="tablePane"/> <pane paneName="detailPane"/> </vgroup> </hgroup> </page> } Las páginas que heredan de la plantilla no tendrán el bloque XData Contents sino que tendrán el XData tablePane y XData detailPane, como se muestra a continuación:
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 54 XData detailPane [ XMLNamespace ="http://www.intersystems.com/zen" ] { //CONTENIDO DE LA PÁGINA } XData tablePane [ XMLNamespace = "http://www.intersystems.com/zen" ] { //CONTENIDO DE LA PÁGINA } Componentes de Zen Utilizados en las Aplicaciones Las páginas se han estructurado de manera en una sola se muestre la mayor información posible. Se visualiza el listado de los pacientes mediante un tablepane que usa un navegador de paginación y un formulario al pie de la página, que muestra información del paciente seleccionado en el tablepane.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 55 Componente TABLEPANE La consulta de datos se realiza mediante tablas de zen, el componente tablePane permite realizar: Identificar la fuente de datos para una tabla de Zen Proporcionar parámetros para la consulta de tabla Especificar detalles de la columna, incluyendo filtros y enlaces Las propiedades generales de estilo para las tablas Definir los datos específicos de diseño para las filas y columnas Zen maneja las interacciones del usuario con la tabla y con los formularios <tablePane> Dibuja una tabla HTML basado en una consulta SQL. Cada fila del conjunto de resultados se muestra como una fila de la tabla. A <tablePane> puede contener los siguientes elementos, según sea necesario: <column> - Cada elemento especifica <column> diseño, el estilo y los detalles de comportamiento para una columna en la tabla resultante. <column> son elementos opcionales cuando todas las columnas en el conjunto de resultados se muestran. Sin embargo, a veces un <tablePane> tiene que seleccionar cuáles de las columnas del conjunto de resultados se debe mostrar. Cuando este es el caso, los elementos <column> son obligatorios. <column header="Fecha/Hora Ing." colName="FechaHora" width="5%"/> <condition> - Cada elemento define un <condition> datos específicos de detalle que se aplica a las filas y las celdas de la tabla. Por ejemplo,
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 56 las células que contienen un determinado valor pueden mostrar un color de fondo, como el rojo para indicar una condición. En este caso en concreto, para el color del Triaje, si la celda contiene la palabra ROJO, se coloreará de fondo de ese color. <condition colName="Color" predicate="EQ" value="ROJO" cellStyle="backgro und: red;" targetCol="Color" /> Ejemplo del tablePane en Pacientes Ingresados en Urgencias <tablePane id="TablapaciUrgen" bodyHeight="30.5em" tableName="InfcTem.paciurgencias" showQuery="false" showRowNumbers="false" fixedHeaders="false" showValueInTooltip="true" rowSelect="true" sortOrder="asc" useSnapshot="true" pageSize="12" maxRows="200" showZebra="true" extraColumnWidth="1%" OnCreateResultSet="CreateRSConsulta" autoExecute="true" headerLayout="headersOnTop" ondblclick="javascript:zenPage.GetPaciente();" onselectrow="zenPage.PaciSeleccionado(zenThis.getProperty('selectedIndex'));" > <column header="NHC" colName="NumeroHC" width="3%" style="font-weight: bold;font-size: 0.8em;" filterType="text"/> <column header="Fecha/Hora Ing." colName="FechaHora" width="5%"/>
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 57 <column header="Nombre Paciente" colName="NombrePaciente" style="textalign:left;" width="12%" filterType="text"/> <column header="Medico" colName="MedicoAsig" width="7%" style="textalign:left;" filterType="query" filterQuery="SELECT distinct(NombreMedico) FROM InfcTem.MedicosServicio ORDER BY NombreMedico" link="javascript:zenPage.CambiarMed('#(%query.codMedico)#','#(%query.Medic oAsig)#','#(%query.NumeroHC)#','#(%query.Episodio)#');"/> <column header="Ubicacion" colName="Ubicacion" width="4%" style="textalign:center;font-size: 0.7em;" filterType="enum" filterEnum="TRIAJE,PUERTA 0,PUERTA 1,PUERTA 2,PUERTA 3,PUERTA 4,TRAUMA,CRITICOS,OA,OB,RESPIRATORIO,PSIQUIATRIA,AISLADOS,PASILL O,PLANTA" filterEnumDisplay="TRIAJE,PUERTA 0,PUERTA 1,PUERTA 2,PUERTA 3,PUERTA 4,TRAUMA,CRITICOS,OA,OB,RESPI,PSIQUIATRIA,AISLADOS,PASILLO,PLANT A" link="javascript:zenPage.CambiarUbicacion('#(%query.NumeroHC)#','#(%query. Episodio)#');"/> <column header="U. Fisica" colName="UbicaFisica" width="4%" style="textalign:center;font-size: 0.7em;" filterType="enum" filterEnum="SALA A,PASILLO A,SALA TRAUMA,SILLON OA,OA,OB,SALA B-P1,SALA B-P2,SALA C,SALA D,CCEE,HEMODINAMICA,RXVI,SALA TRATAMIENTO,EXPL.DIGESTIVO,EXPL.NEUMOLOGIA,EXPL.UROLOGIA,SER VICIO RX,PLANTA,DIALISIS,PSIQUIATRIA,RESPIRATORIO Y AISLADOS" filterEnumDisplay="SALA A,PASILLO A,SALA TRAUMA,SILLON OA,OA,OB,SALA B-P1,SALA B-P2,SALA C,SALA D,CCEE,HEMODINAMICA,RXVI,SALA TRATAMIENTO,EXPL.DIGESTIVO,EXPL.NEUMOLOGIA,EXPL.UROLOGIA,SER VICIO RX,PLANTA,DIALISIS,PSIQUIATRIA,RESPIRATORIO Y AISLADOS" /> <column header="Zona" colName="Cama" width="2%" style="textalign:center;font-size: 0.7em;"/> <column header="Color" colName="Color" width="3%" style="textalign:center;font-size: 0.7em;" filterType="enum" filterEnum="Pte,BLANCO,VERDE,AMARILLO,ROJO,AZUL"
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 64 <spacer width="5"/> <text id="GCS" name="GCS" maxlength="2" size="2"/> </hgroup> </vgroup> </hgroup> <hgroup> <vgroup> <spacer width="5"/> <hgroup> <label value="Seguim. Enfermeria" containerStyle="color: #3333CC;font-size:x-small;font-weight:bold;"/> <spacer width="4"/> <textarea id="MotivoConsulta" name="MotivoConsulta" rows="4" cols="4 7" / </hgroup> <hgroup> <label value="Estado Actual:" containerStyle="color: #3333CC;font-size: x-small;font-weight:bold;"/> <spacer width="15"/> <textarea id="EstadoActual" name="EstadoActual" rows="4" cols="50"/> </hgroup> </vgroup> <spacer width="15"/> <vgroup> <spacer width="5"/> <hgroup> <label value="Antecedentes:" containerStyle="color: #3333CC;font-size: x-small;font-weight:bold;"/> <spacer width="5"/> <textarea id="Antecedentes" name="Antecedentes" rows="4" cols="50" / > </hgroup> <hgroup>
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 65 <label value="Problemas:" containerStyle="color: #3333CC;font-size: xsmall;font-weight:bold;"/> <spacer width="20"/> <textarea id="Problemas" name="Problemas" rows="4" cols="50"/> </hgroup> </vgroup> </hgroup> <hidden id="Episodio" name="Episodio" /> <hidden id="uid" name="uid" /> <hidden id="ID" name="ID"/> </form> Visualización del Form en Pacientes Ingresados en Urgencias Figura a10: Formulario de Pacientes Ingresados en Urgencias Fuente: Elaboración propia
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 66 Desarrollo de las páginas csp Los ficheros CSP son archivos HTML secuenciales con Caché Application Tags embebidas que se compilan para formar clases página, el mismo tipo de clases página que podría escribir directamente el programador. Las clases página se compilan a continuación para generar el código que se ejecuta en el Servidor de Aplicaciones de Caché como respuesta a las solicitudes del navegador. Los hipereventos de CSP permiten que los eventos que se producen en un navegador (como clicks de ratón, cambios en los valores de los campos o timeouts) invoquen métodos del servidor y actualicen la página activa sin repetirla. Una vez realizada la acción adecuada, el método del servidor puede devolver código, generalmente JavaScript, para que lo ejecute el navegador. Mediante los hipereventos, las aplicaciones Web pueden llegar a ser más interactivas y receptivas. Dentro de una página CSP, el método del servidor se invoca simplemente con la sintaxis "#server(...)#". Por ejemplo, supongamos que cuando el usuario pulsa una imagen del carro de la compra, queremos llamar a un método del servidor denominado AddToCart(). La definición HTML de la imagen podría incluir: El compilador Web sustituirá esta sintaxis con código de JavaScript que, al ejecutarlo en el navegador, llamará al método del servidor de Caché.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 67 Ejemplo métodos del servidor en página csp <SCRIPT language=cache runat=server> if tRespuesta.Contenido'="NADA" { if tRespuesta.TipoPeticion="LISTATECLAB" { write "<table border=0 width=100% >" write "<tr><td bgcolor='#9F0000' colspan='3' align='center'> <font color='#FFFFFF'><b>EVOLUTIVO DE TECNICAS</b></font> </td></tr>" write "<tr><td bgcolor='#9F0000'> </td><td>" write "<table name=tabla border=3 width=100% >" // linea 1 - Bloque1 BIOQUIMICA GENERAL write "<tr ><td rowspan='11' align='center' bgcolor='#99CCFF' width='15%' > <font color='#9F0000'><b>BIOQUIMICA GENERAL</b></font></td>" write "<tr >" write " <td colspan='2' onclick=jsTrae_ValTecLab('4001') onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)'><a><b>ALBÚMINA</B></a></td>" write " <td colspan='2' onclick=jsTrae_ValTecLab('1112') onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)'><a><b>AMILASA</B></a></td>" write "</tr>" write "<tr >" write "<td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)'
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 68 onclick=jsTrae_ValTecLab('1071')><a><b>BILIRRUBINA TOTAL</B> </a></td>" write "<td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1084')><a><b>FOSFATASA ALCALINA </B></a></td>" write "</tr>" write "<tr >" write "<td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1037')><a><b>CALCIO [CA]</B></a></td>" write " <td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1009')><a><b>SODIO EN SANGRE </B></a></td>" write "</tr>" write "<tr >" write " <td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1008')><a><b>CREATININA ENZIMÁTICA</B></a></td>" write " <td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1010')><a><b>POTASIO EN SANGRE </B></a></td>" write "</tr>" write "<tr >" write " <td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1007')><a><b>CREATININA</B></a>< /td>"
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 69 write " <td colspan='2' onMouseOver='Sobretabo(this);' onMouseOut='Salirtabo(this);' onclick=jsTrae_ValTecLab('1141')><a><b>FERRITINA </B></a></td>" write "</tr>" write "<tr >" write " <td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1003')><a><B>HEMOGLOBINA GLICOSILADA [HbA1]</B></a>" write " </td>" write " <td colspan='2' onMouseOver='Sobretabo(this);' onMouseOut='Salirtabo(this);' onclick=jsTrae_ValTecLab('4022')><a><b>PCRB </B></a></td>" write "</tr>" write "<tr >" write " <td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1651')><a><b>MAGNESIO</B></a></t d>" write " <td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('4050')><a><b>PROTEINAS TOTALES</B></a></td>" write "</tr>" write "<tr >" write "<td colspan='2'>" write "<table border=1 width=100% >" write "<tr >" write "<td ><b>TRANSAMINASAS:</b></td>" write "<td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1077') align='center'> <b>AST </b></td>"
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 70 write "<td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1079') align='center'> <b>ALT </b></td>" write "<td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1081') align='center'> <b>CGT </b></td>" write "</Tr>" write "</table>" write "</td>" write " <td colspan='2' onMouseOver='Sobretabo(this);' onMouseOut='Salirtabo(this);' onclick=jsTrae_ValTecLab('1181')><a><b>PROCALCITONINA </B></a></td>" write "</tr>" write "<tr >" write " <td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('1006')><a><b>ÁCIDO ÚRICO</B></a></td>" write " <td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('3039')><a><b>TSH</B></a></td>" write "</tr>" write "<tr>" write "<td colspan='2' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('3046')><a><b>PTH Corregida (Nichols)</B></a></td>" write "<td colspan='2'> </td>" write "</tr >" write "</tr>" //fin linea 1
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 71 write "<tr><td colspan='6' height='1px'><br /></td> </tr>" // linea 2 write "<tr>" write "<td colspan='2' >" write "<table border=1 width=100%>" write "<tr>" write "<td width='29%' rowspan='5' align='center' bgcolor='#99CCFF'><font color='#9F0000'><b>HEMATOLOGIA</b></FONT></td" write "<tr><td onclick=jsTrae_ValTecLab('403') onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)'><a><B>INDICE DE QUICK (CCEE)</B></a></td></tr>" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('442')><a><B>INDICE DE QUICK (PLANTA)</B></a></td></tr>" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('404')><a><B>INR</B></a></td></tr>" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('407')><a><B>APTT</B></a></td></tr >" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('190')><a><b>VSG</B></a></td></tr> " write "</tr></table>" write "</td>" write "<td width='5%' bgcolor='#9F0000' > </td>" write "<td colspan='2' >"
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 72 write "<table border=1 width=100%>" write "<tr>" write "<td width='29%' rowspan='7' align='center' bgcolor='#99CCFF'><font color='#9F0000'><b>MONITOR DROGAS TERAPEUTICAS</b></FONT></td>" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('3505')><a><b>Tacrolimus(FK506)</B></a></td></tr>" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('3501')><a><b>Ciclosporina Monoclonal</B></a></td></tr>" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('3509')><a><b>Acido Micofenólico</B></a></td></tr>" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('3510')><a><b>Digoxina</B></a></td> </tr>" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('3540')><a><b>Litio</B></a></td></tr >" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('3409')><a><b>Acido Valproico</B></a></td></tr>" write "</tr></table>" write "</td>" write "</tr>" //fin linea 2
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 73 write "<tr><td colspan='5' height='1px'><br /></td> </tr>" // linea 3 write "<tr>" write "<td colspan='2' >" write "<table border=1 width=100%>" write "<tr>" write "<td rowspan='3' width='29%' align='center' bgcolor='#99CCFF'><font color='#9F0000'><b>BIOQ. ORINAS</b></FONT></td>" write "<tr><td onclick=jsTrae_ValTecLab('2191') onMouseOver='Sobretabo(this);' onMouseOut='Salirtabo(this);'><a><b>SODIO ORINA 24H </B><br /> </a></td></tr>" write "<tr><td onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('2175')><a><b>PROTEINURIA 24H</B></a></td></tr>" write "</tr>" write "<tr>" write "<td width='29%' align='center' bgcolor='#99CCFF'><font color='#9F0000'><b>LAVADO BRONCOALVEOLAR</b></FONT></td>"write "<td onclick=jsTrae_ValTecLab('352') onMouseOver='Sobretabo(this);' onMouseOut='Salirtabo(this);'><a><b>CD4 </B><br /> </a></td></tr>" write "</tr>" write "<td width='28%' align='center' bgcolor='#99CCFF'><font color='#9F0000'><b>URGENCIAS</b></FONT></td>" write " <td onclick=jsTrae_ValTecLab('9863') onMouseOver='Sobretabo(this)'
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 80 write "<td colspan='2' >" write "<table border=1 width=100%>" write "<tr>" write "<td width='29%' rowspan='8' align='center' bgcolor='#99CCFF'><font color='#9F0000'><b>HEMOGRAMA</b></FONT></td>" write "<tr>" write "<td width='32%' align='center' onclick=jsTrae_ValTecLab('100') onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)'> <b>WBC </B></td> " write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('172')> <b>%EOS </B></td> " write "</tr>" write "<tr>" write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('102')> <b>RBC </B></td>" write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('130')> <b>PLQ </B></td>" write "</tr>" write "<tr>" write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('104')> <b>HGB </B></td>" write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('140')> <b>NEU </B></td>" write "</tr>" write "<tr>"
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 81 write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('106')> <b>HCT </B></td>" write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('148')> <b>LYN </B></td> " write "</tr>" write "<tr>" write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('108')> <b>VCM </B></td>" write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('150')> <b>MON</B></td> " write "</tr>" write "<tr>" write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('110')> <b>HCM </B></td> " write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('152')> <b>EOS </B></td>" write "</tr>" write "<tr>" write "<td align='center' onMouseOver='Sobretabo(this)' onMouseOut='Salirtabo(this)' onclick=jsTrae_ValTecLab('168')> <b>%LIN </B></td>" write "<td> </td>" write "</tr>" write "</tr>" write "</table>" write "</td>" write "</tr>"
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 82 write "<tr><td colspan='5' height='1px'><br /></td> </tr>" write "</table>" write "</td>" write " <td bgcolor='#9F0000'> </td>" write " </tr>" write " <tr><td bgcolor='#9F0000' colspan='3'> </td></tr>" write " </table>" } //if tRespuesta.TipoPeticion="LISTATECLAB" </SCRIPT> Visualización del método del servidor en página csp Figura a11: Página csp que muestra tabla de técnicas de laboratorio Fuente: Elaboración propia
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 83 Uso de Web Services en Caché Los Servicios Web son una manera de compartir la funcionalidad de las aplicaciones a través de Internet. Según lo definido por el consorcio World Wide Web (W3), Servicios Web tienen una interfaz pública descrita en WSDL (Web Service Definition Language) y devuelven un documento XML formateado según el protocolo SOAP. Servicios Web Caché heredan de la clase SOAP.WebService% proporcionado por InterSystems. Caché generará automáticamente el descriptor WSDL para el servicio y, cuando se invoca, enviar la respuesta, debidamente formateada como SOAP / XML. De esta manera, cualquier método de Caché puede publicarse como un servicio Web. Aplicaciones Caché existentes pueden ser fácilmente Servicio Web habilitado, y las nuevas aplicaciones de servicios Web se pueden construir de forma extremadamente rápida. En la figura a12 se muestra la comunicación entre los servicios web y caché.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 84 Figura a12: Servicios Web en Caché. Fuente: http://www.intersystems.com/cache/technology/components/xml/ Ejemplo de Servicios Web http://ServidorLaboratorio:57772/csp/omg/Tabaiba.ws.wsAnCli.cls Método: EvolutivoTecnicas Devuelve un objeto tipo Tabaiba.class.data.listaEvolutivo con el evolutivo de técnicas para un paciente dado para un código de prueba determinado inNHC: Numero de historia del paciente. inNumeroTecnica: Código de prueba Omega.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 85 inNumeroResultados: Número de resultados máximos a obtener. Por defecto 25. Nota: Omega es la aplicación de laboratorio del Hospital. Visualización de Servicios Web Figuras a13 y a14: Página del Servicio Web con el método y Página con la ejecución de dicho método Fuentes: Elaboración propia
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 86 INTERFAZ Y MANEJO DE LAS APLICACIONES Pacientes Ingresados en Urgencias El usuario que utiliza la aplicación se identifica en el sistema de clave única del Hospital Universitario de G.C. Dr. Negrín para acceder a la intranet-servicios del mismo, una vez que se ha identificado y validado se permite el acceso a la aplicación de Pacientes en Urgencias. Según el perfil que tenga el usuario se le permitirá realizar unas u otras accesiones. Descripción: Esta página muestra un tablepane que contiene el listado de los pacientes ingresados en Urgencias, número de historia clínica, nombre completo, fecha y hora de ingreso, el médico que se le asigne, la ubicación en el servicio de urgencias, su ubicación física, la zona, el color (nivel del triage), si está pendiente de ingreso y el plan establecido por el personal médico. Como se ve en la figura a15, existen dos columnas de Ubicación, y serian Ubicación en Urgencias para el personal sanitario y la Ubicación Física que es para los informadores, ubicando así físicamente al paciente. En la parte superior del tablepane podemos encontrar filtros que ayudarán a los usuarios para realizar búsquedas de algún paciente o agrupar por ubicación. Además se puede formar a actualizar la lista de pacientes y tener la opción de imprimir en papel dicho listado.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 87 Figura a15: TablePane de Pacientes Ingresados en Urgencias Fuente: Elaboración propia Como se puede observar, las columnas de Médico, Ubicación y Color son link que permiten realizar al usuario los cambios de asignación de las columnas seleccionadas. Además de consultar el histórico de los cambios hechos con anterioridad. Si se realiza doble clic sobre uno de los pacientes se mostrará los datos relativos a la historia del paciente, donde se podrá realizar una petición de pruebas al servicio de Radiodiagnóstico y Digestivos y/o consultar las pruebas de laboratorio realizadas con anterioridad. En la parte inferior de la página se encuentra un formulario donde los médicos/as y/o enfermeros/as, una vez seleccionado a un paciente del tablepane, se podrá añadir, consultar y/o modificar la información de todos los parámetros o síntomas que se encuentren y sean necesarios para el diagnóstico y su posterior tratamiento.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 88 El cuadro de texto de “Seguim. Enfermeria” sólo será modificable por el personal de enfermería y el resto por el personal médico. Esto se controlará mediante el perfil que se obtendrá en la validación de la intranet del hospital. Figura a16: Formulario de Pacientes en Urgencias Fuente: Elaboración propia El icono de “Ambulancia” es para solicitar el servicio de ambulancia si fuera necesario el traslado del paciente. Acciones: Asignar Médico: Pulsando el link se mostrará un página donde se podrá realizar la asignación del médico y consultar a la vez los cambios realizados con anterioridad. Esta acción solo la podrá realizar el personal médico.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 89 Figura a17: Página de Cambio de Médico Asignado Fuente: Elaboración propia Asignar Ubicación: Pulsando el link se mostrará un página donde se podrá realizar la asignación de la ubicación en el servicio de urgencias y consultar a la vez los cambios realizados con anterioridad. En la figura a18 se muestra como realizar el cambio de ubicación. Asignar Color: Pulsando el link se mostrará la misma página donde se cambia la ubicación y se podrá realizar la asignación del nivel de Triaje y consultar a la vez los cambios realizados con anterioridad. En la figura a18 se muestra como realizar el cambio de nivel de Triaje.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 96 Figura a25: Resultado de Petición de Laboratorio Fuente: Elaboración propia Informe de Alta: A través de este listado y seleccionando al paciente en cuestión podemos realizar el informe de alta del paciente del servicio de urgencias. Este informe siempre estará disponible para poder ser consultado en todo momento por cualquier personal medico/a y/o enfermera/o. En la figura a26 podemos el formulario a rellenar para generar el informe de alta de urgencias.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 97 Figura a26: Formulario de Informe de Alta de Urgencias Fuente: Elaboración propia Informadores de Urgencias El usuario que utiliza la aplicación se identifica en el sistema de clave única del Hospital Universitario de G.C. Dr. Negrín para acceder a la intranet-servicios del mismo, una vez que se ha identificado y validado se permite el acceso a la aplicación de Información Urgencias. Descripción: Esta página muestra un tablepane que contiene el listado de los pacientes ingresados en Urgencias, número de historia clínica, nombre completo, edad, fecha y hora de ingreso, ubicación en el servicio de urgencias especificada y el plan establecido por el personal médico,
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 98 además si está previsto su alta de urgencias y traslado a planta su futura cama asignada. Como se verá en la figura a27, existen dos columnas de Ubicación, y serian Ubicación en Urgencias para el personal sanitario y la Ubicación Física que es para los informadores, ubicando así físicamente al paciente. En la parte superior del tablepane podemos encontrar filtros que ayudarán a los usuarios para realizar búsquedas de algún paciente o agrupar por ubicación. Además se puede formar a actualizar la lista de pacientes y tener la opción de imprimir en papel dicho listado. Figura a27: TablePane de Informadores de Urgencias Fuente: Elaboración propia En la parte inferior de la página se encuentra un formulario donde los informadores introducirán, seleccionando previamente al paciente, los datos del familiar que se encuentra en espera y su teléfono de contacto además observaciones que sean oportunas para la estancia del paciente en urgencias, este formulario lo podemos ver en la figura a28. También
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 99 los informadores introducirán la ubicación física del paciente dentro del servicio y si proviene de un centro concertado. Cuando los usuarios cambien la ubicación física del paciente se actualizará automáticamente esa información en el tablepane superior. También se introducirá los datos de los visitantes del paciente, a quien se le suministra información del mismo y si tiene acompañante, distinguiendo si el acompañante es personal de la casa. Para cada uno de estos datos se registrará la fecha y la hora de cada situación, manteniendo además un histórico de todos ellos, pudiendo ser consultado por los informadores en cada momento. Parte muy importante de la aplicación por si existe alguna reclamación de información o de visita de algún familiar. Figura a28: Formulario de Informadores de Urgencias Fuente: Elaboración propia Acciones: Cambiar ubicación física y centro concertado: Seleccionamos al paciente en cuestión y en el formulario de la parte inferior pulsamos el desplegable en cuestión y posteriormente pulsamos
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 100 el botón de guardar, automáticamente se actualizará el tablepane con el listado de pacientes mostrando la nueva ubicación física. Introducir datos de Visitante, Se informa, Acompañante, Acompañante de la Casa: Todos estos campos en principio se encuentran deshabilitados y mostrarán la última información que ha sido introducida, siempre y cuando se haya introducido algo. Para poder introducir información en estos campos los pasos son los siguientes: o Agregar: Pulsaremos el icono de agregar para habilitar los campos, al pulsarlo automáticamente aparecerá la fecha y la hora actual, siendo posible su posterior modificación, y se dejarán preparados los campos para introducir la información necesaria. o Guardar: Una vez introducida la información pulsamos el icono de guardar para almacenar dichos datos. Una vez guardado se volverá a deshabilitar los campos modificados. o Histórico: Esto icono visualizará a la derecha de los campos el histórico de los datos referidos al icono pulsado, si se vuelve a pulsar se ocultará dicha información. Imprimir listado: Se puede realizar una impresión del listado actual de los pacientes. Se previsualizará la información en un HTML y posteriormente se podrá imprimir esos datos.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 101 PRUEBAS Pruebas de aceptación Durante el desarrollo del proyecto se ha llevado a cabo varias pruebas con el método de caja negra las cuales comprueban que corresponde con la especificación de los requisitos del Software y la verificación del uso de la interfaz por parte del usuario. Pruebas unitarias Para asegurar el correcto funcionamiento del Sistema se ha probado las clases y sus métodos de forma independiente, enviando datos de entrada desde el código, para luego obtenerlos a través de los diferentes métodos para realizar consultas. Además se han probado las funciones de validación de datos. NORMATIVA Y LEGISLACION La justificación de utilizar unas normativa y cumplir la legislación proviene de que las tecnologías de la información han permitido el desarrollo de la sociedad de la información, el auge que ha tenido los sistemas de información permite hoy en día tener a nuestra disposición una cantidad de información cada vez más creciente de cualquier naturaleza, la cual está al alcance de millones de personas. Hasta hace unos años la búsqueda de información en el ámbito de lo humano, profesional, científico o personal era más “lenta” que estos días ya que ahora podemos obtener cualquier tipo de información en cuestión de
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 102 segundos y contra más acertada es la búsqueda mejor que mejor. La información con la que trabajamos a diario se entrega con facilidad, nuestras experiencias, logros y fracasos que experimentamos la estamos compartiendo a través de las redes sociales por ejemplo. La convivencia con los sistemas de información que estamos llevando a cabo tiene muchas ventajas pero también implica problemas para el funcionamiento y la seguridad de los sistemas informáticos en los negocios, la administración, la defensa y la sociedad. Debido a esta vinculación, el aumento del nivel de los delitos relacionados con los sistemas informáticos registrados en la última década en los Estados Unidos, Europa Occidental, Australia y Japón, representa una amenaza para la economía de un país y también para la sociedad en su conjunto. La informática puede ser un medio o un objeto susceptible de ser empleado para cometer delitos, acceder a los sistemas de información de una empresa o de una empresa no solo puede dañar los bienes materiales sino la utilización indebida de los datos en los marcos de la privacidad causando daños morales o pérdidas de beneficios. Si se tiene en cuenta que los sistemas informáticos, pueden entregar datos e informaciones sobre miles de personas, naturales y jurídicas, en aspectos tan fundamentales para el normal desarrollo y funcionamiento de diversas actividades como bancarias, financieras, tributarias, previsionales y de identificación de las personas. Y si a ello se agrega que existen Bancos de Datos, empresas o entidades dedicadas a proporcionar, si se desea, cualquier información, sea de carácter personal o sobre materias de las más diversas disciplinas a un Estado o particulares, esto hace pensar un en marco jurídico legal para amparar los derechos de las persona físicas o jurídicas.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 103 El hombre es el que decide cómo utilizar los sistemas de información y depende de él utilizarlos con buenos fines. Existen numerosas normas jurídicas que diversos países han puesto en marcha para proteger la utilización abusiva de la información reunida y procesada por los ordenadores para poder mantener un entorno estable y confiable. Legislación Nacional Existen siete normativas legales relevantes en el mundo de los sistemas de información: 1. Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de carácter personal (LOPD). [Documento disponible en HTML (BOE 298 de 14-12-1999) ] 2. Real Decreto 1720/2007, de 21 de diciembre, por el que se aprueba el Reglamento de desarrollo de la Ley Orgánica 15/1999, de 13 de diciembre, de protección de datos de carácter personal. [Documento disponible en HTML (BOE 298 de 19-012008)] 3. Ley 34/2002, de 11 de julio, de Servicios de la Sociedad de la Información y Comercio Electrónico (LSSI-CE). [Documento disponible en HTML (BOE 166 de 12-07-2002) ] 4. Ley 59/2003, de 19 de diciembre, de Firma Electrónica. [Documento disponible en HTML (BOE 304 de 20-12-2003) ] 5. Real Decreto Legislativo 1/1996, de 12 de abril, por el que se aprueba el texto refundido de la Ley de Propiedad Intelectual (LPI), regularizando, aclarando y armonizando las disposiciones vigentes en la materia. [Documento disponible en HTML (BOE 97 de 22-04-1996) ]
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 104 6. Real Decreto 3/2010, de 8 de enero, por el que se regula el Esquema Nacional de Seguridad en el ámbito de la Administración Electrónica.[Documento disponible en HTML (BOE 25 de 29-01-2010 páginas 8089 a 8138) ] 7. Real Decreto 4/2010, de 8 de enero, por el que se regula el Esquema Nacional de Interoperabilidad en el ámbito de la Administración Electrónica [Documento disponible en HTML (BOE 25 de 29-01-2010 páginas 8139 a 8156) ] Descripción de las normativas vigentes y su ámbito de aplicación Las primeras dos normativas abordan la problemática y legislación aplicable de los datos de carácter personal. Además es recomendable la visita a la página web de la Agencia Española de Protección de Datos, para más información de la protección de datos de carácter personal. La Ley de Servicios de la Sociedad de la Información y Comercio Electrónico, regula el régimen jurídico de los servicios de la sociedad de información y comercio electrónico, y todos los aspectos que hay que tener en cuenta a la hora de realizar transacciones electrónicas. La cuarta normativa regula todos los aspectos referentes al régimen jurídico de la Firma Electrónica y todos aquellos requisitos que son necesarios para que a la hora de realizar comunicaciones exista identidad y seguridad. La quinta normativa de Propiedad Intelectual describe y regula el conjunto de derechos que pertenecen a los autores y otros titulares respecto de las obras.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 105 La sexta y séptima normativa regulan la política de seguridad que se ha de aplicar en la utilización de los medios electrónicos y los criterios y recomendaciones de seguridad, normalización y conservación de la información, de los formatos y de las aplicaciones que deberán ser tenidos en cuenta por las Administraciones Públicas. Legislación Europea Existen dos relevantes: 1. Directiva 2009/136/CE/ del Parlamento Europeo y del Consejo, de 25 de noviembre.[Documento disponible en PDF (Directiva 2009/136/CE/)] 2. Directiva 2009/140/CE del Parlamento Europeo y del Consejo, de 25 de noviembre.[Documento disponible en PDF (Directiva 2009/140/CE) ] La Directiva 2009/136/CE modifica la Directiva 2002/22/CE relativa al servicio universal y los derechos de los usuarios en relación con las redes y los servicios de comunicaciones electrónicas, la Directiva 2002/58/CE relativa al tratamiento de los datos personales y a la protección de la intimidad en el sector de las comunicaciones electrónicas y el Reglamento (CE) nº 2006/2004 sobre la cooperación en materia de protección de los consumidores. La Directiva 2009/140/CE modifica la Directiva 2002/21/CE relativa a un marco regulador común de las redes y los servicios de comunicaciones electrónicas, la Directiva 2002/19/CE relativa al acceso a las redes de comunicaciones electrónicas y recursos asociados,
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 112 Cambiar las contraseñas con una periodicidad mínima de 1 año 2. b. Copias de respaldo Hacer una copia de respaldo semanal Establecer procedimientos de generación de copias de respaldo y recuperación de datos Verificar semestralmente los procedimientos Reconstruir los datos a partir de la última copia o grabarlos manualmente en su caso, si existe documentación que lo permita Realizar copia de seguridad y aplicar el nivel de seguridad correspondiente, si se realizan pruebas con datos reales 3. Solo para ficheros no automatizados 3. a. Criterios de archivo El archivado de documentos debe realizarse según criterios que faciliten su consulta y localización para garantizar el ejercicio de los derechos de acceso, rectificación, cancelación y oposición 3. b. Almacenamiento Dotar a los dispositivos de almacenamiento de mecanismos que obstaculicen su apertura 3. c. Custodia de soportes Establecer criterios de diligente y custodia de la documentación por parte de la persona a cargo de la misma, durante su revisión tramitación, para evitar accesos no autorizados
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 113 Detalle del nivel medio Aquellos de los que sean responsables las Entidades Gestoras y Servicios Comunes de la Seguridad Social y se relacionen con el ejercicio de sus competencias. De igual modo, aquellos de los que sean responsables las mutuas de accidentes de trabajo y enfermedades profesionales de la Seguridad Social. Aquellos que contengan un conjunto de datos de carácter personal que ofrezcan una definición de las características o de la personalidad de los ciudadanos y que permitan evaluar determinados aspectos de la personalidad del comportamiento de los mismos. Las medidas de seguridad aplicables para los ficheros y tratamiento de datos de nivel medio son las que se detallan a continuación: 1. Para todos los ficheros (automatizados o no) 1. a. Personal Definir las funciones y obligaciones de los diferentes usuarios o de los perfiles de usuarios Definir de las funciones de control y las autorizaciones delegadas por el responsable Difundir entre el personal, de las normas que les afecten y las consecuencias por su incumplimiento
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 114 1. b. Incidencias Llevar un registro de incidencias en el que se detalle: tipo, momento de su detección, persona que la notifica, efectos y medidas correctoras Elaborar un procedimiento de notificación y gestión de las incidencias 1. c. Control de acceso Disponer de una relación actualizada de usuarios y accesos autorizados Controlar los accesos permitidos a cada usuario según las funciones asignadas. COMPETENCIAS CUBIERTAS CII01 Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente. Estas capacidades quedan demostradas en este trabajo ya que se ha hecho el análisis de las aplicaciones anteriores, análisis de los requisitos del usuario, análisis funcional de las aplicaciones, un diseño y desarrollo adaptado a los análisis realizados y cumpliendo las normativas y leyes vigente.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 115 CII02 Capacidad para planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social. La planificación en el desarrollo un sistema de gestión de procesos para un servicio de Urgencias está basada en la capacidad de mejorar y llevar a cabo un buen funcionamiento del servicio valorando el impacto económico y social. En el apartado de estado actual se describen todos los aspectos relacionados con este estudio. CII04 Capacidad para elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y normativas vigentes. En este trabajo de fin de grado se ha especificado como realizar la integración de las aplicaciones dentro de un sistema ya existente cumpliendo así con las normativas vigentes, también hay que nombrar que se ha indicado cuales son los requisitos hardware y software que permitan llevar a cabo la instalación y puesta en marcha.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 116 CII18 Conocimiento de la normativa y la regulación de la informática en los ámbitos nacional, europeo e internacional. Esta competencia queda cubierta en el apartado de cumplimiento de la normas de seguridad y LOPD, además se hace referencia a las normativas españolas, europeas y de E.E.U.U. CONCLUSION El poder realizar este Trabajo de Fin de Grado ha supuesto un reto personal para mí, realizar el análisis, diseño y desarrollo de Gestión de Urgencias y Gestión de Informadores, aplicando los conocimientos de la ingeniería informática me ha servido para mi vida profesional ya que un proyecto bien estructurado con todas las fases del ciclo de vida del software influye en el éxito del proyecto y esto queda demostrado con este trabajo. Haber seleccionado una tecnología como CACHÉ y ZEN de Intersystems ha permitido utilizar una base de datos fiable y crear un diseño de interfaz sencillo dando nuevas experiencias al usuario para la gestión de los pacientes del Servicio de Urgencias. Adquirir estos nuevos conocimientos abre un futuro de posibilidades para desarrollar o ampliar nuevas aplicaciones tanto para las de este trabajo de fin de grado o para las de otro ámbito.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 117 Ha sido importante conocer el funcionamiento del servicio de Urgencias del Hospital Universitario de Gran Canaria Dr. Negrín para mejorar la gestión de los servicios que se ofrecen y así aumentar la satisfacción de los clientes o usuarios que necesitan tener el apoyo de las tecnologías de la información a su disposición. Como conclusión final este trabajo me ha dado la oportunidad de demostrar que desarrollando mis capacidades aprendidas en los años de estudio de la ingeniería informática y de estos años en el mundo laboral, mis ganas de luchar y buscar las soluciones a los problemas que se presentan a la hora de desarrollar aplicaciones para los sistemas de información, sin perder nunca la confianza en mí misma, me permiten decir que todo se puede lograr.
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 118 BIBLIOGRAFÍA http://itil.osiatis.es/Curso_ITIL/Gestion_Servicios_TI/gestion_de_incide ntes/vision_general_gestion_de_incidentes/vision_general_gestion_de_in cidentes.php http://www.defensa.gob.es/politica/infraestructura/sistemascis/legislacion-normativa https://www.agpd.es/portalwebAGPD/conozca/index-ides-idphp.php http://cert.inteco.es/Formacion/Legislacion/ http://www.intersystems.es/page/es/guia_tecnologica_cache_introdu.h tml http://docs.intersystems.com/documentation/cache/20122/pdfs/GZC P.pdf http://docs.intersystems.com/documentation/cache/2007_1/pdfs/GZ EN.pdf http://www.intersystems.com/cache/technology/components/xml/
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 119 ANEXO 1 Definición de las clases: Datos de los Pacientes Ingresados en Urgencias Class c2hn.PaciIngresadosUrg.PaciUrgencias Extends %Persistent { Property NumeroHC As %String(TRUNCATE = 1); Property Episodio As %String(TRUNCATE = 1); Property NombrePaciente As %String(TRUNCATE = 1); Property Antecedentes As %String(MAXLEN = 500, TRUNCATE = 1); Property EstadoActual As %String(MAXLEN = 500, TRUNCATE = 1); Property Problemas As %String(MAXLEN = 500, TRUNCATE = 1); Property Motivo As %String(MAXLEN = 500, TRUNCATE = 1); Property Plan As %String(MAXLEN = 20, TRUNCATE = 1); Property Cama As %String(MAXLEN = 10, TRUNCATE = 1); Property MedicoNombre As %String(TRUNCATE = 1); Property TA As %String(MAXLEN = 8, TRUNCATE = 1);
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 120 Property TAd As %String(MAXLEN = 3, TRUNCATE = 1); Property TAs As %String(MAXLEN = 3, TRUNCATE = 1); Property FC As %String(MAXLEN = 5, TRUNCATE = 1); Property T As %String(MAXLEN = 5, TRUNCATE = 1); Property FR As %String(MAXLEN = 5, TRUNCATE = 1); Property Glucemia As %String(MAXLEN = 5, TRUNCATE = 1); Property SaO2 As %String(MAXLEN = 5, TRUNCATE = 1); Property FechaGrabacion As %Date(FORMAT = 4); Property zhoraCambio As %Time(FORMAT = 2); Property Hemograma As %String(MAXLEN = 1, TRUNCATE = 1); Property Bioquimica As %String(MAXLEN = 1, TRUNCATE = 1); Property Gasometria As %String(MAXLEN = 1, TRUNCATE = 1); Property Rx As %String(MAXLEN = 1, TRUNCATE = 1); Property Ecg As %String(MAXLEN = 1, TRUNCATE = 1); Property Eco As %String(MAXLEN = 1, TRUNCATE = 1); Property Tac As %String(MAXLEN = 1, TRUNCATE = 1);
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 121 Property Uid As %String(MAXLEN = 10, TRUNCATE = 1); Property RTS As %String(MAXLEN = 2, TRUNCATE = 1); Property GCS As %String(MAXLEN = 2, TRUNCATE = 1); Index CodNumeroHC On NumeroHC; Index CodEpisodio On Episodio; Index CodCama On Cama; } Histórico de la Ubicación del Paciente en Urgencias Class c2hn.PaciIngresadosUrg.HistoUbicaUrg Extends %Persistent { Property NumeroHC As %String(TRUNCATE = 1); Property Episodio As %String(TRUNCATE = 1); Property UbicacionAnt As %String(TRUNCATE = 1); Property UbicacionAct As %String(TRUNCATE = 1); Property CamaAnt As %String(TRUNCATE = 1); Property CamaAct As %String(TRUNCATE = 1);
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 128 Index CodNumeroHC On NumeroHC; ClassMethod DeletePacientes(tID As %String) As %Status [ SqlProc ] { Set SQLCODE="" &SQL(DELETE FROM InfcTem.paciUrgenciasInf where ID=:tID) QUIT $SELECT(SQLCODE=0:1,1:0) } } Histórico de Visitantes de los Paciente en Urgencias Class PaciIngresados.datos.Visitantes Extends %Persistent { Property NumeroHC As %String; Property Episodio As %String(TRUNCATE = 1); Property Visitante As %String(MAXLEN = 50, TRUNCATE = 1); Property FHVisita As %String(MAXLEN = 20, TRUNCATE = 1); Property idusuario As %String(MAXLEN = 12, TRUNCATE = 1); Property zfechaCambio As %Date(FORMAT = 4); Property zhoraCambio As %Time(FORMAT = 2);
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 129 Index CodNumeroHC On NumeroHC; } Histórico de Familiares Informados de los Paciente en Urgencias Class PaciIngresados.datos.Informados Extends %Persistent { Property NumeroHC As %String; Property Episodio As %String(TRUNCATE = 1); Property Informado As %String(MAXLEN = 50, TRUNCATE = 1); Property FHInforma As %String(MAXLEN = 20, TRUNCATE = 1); Property idusuario As %String(MAXLEN = 12, TRUNCATE = 1); Property zfechaCambio As %Date(FORMAT = 4); Property zhoraCambio As %Time(FORMAT = 2); Index CodNumeroHC On NumeroHC; }
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 130 Histórico de Acompañantes de los Paciente en Urgencias Class PaciIngresados.datos.Acompana Extends %Persistent { Property NumeroHC As %String; Property Episodio As %String(TRUNCATE = 1); Property Acompana As %String(MAXLEN = 50, TRUNCATE = 1); Property FHAcompana As %String(MAXLEN = 20, TRUNCATE = 1); Property idusuario As %String(MAXLEN = 12, TRUNCATE = 1); Property zfechaCambio As %Date(FORMAT = 4); Property zhoraCambio As %Time(FORMAT = 2); Index CodNumeroHC On NumeroHC; } Histórico de Acompañantes de Personal de la Casa de los Paciente en Urgencias Class PaciIngresados.datos.AcompanaCasa Extends %Persistent { Property NumeroHC As %String;
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 131 Property Episodio As %String(TRUNCATE = 1); Property Acompana As %String(MAXLEN = 50, TRUNCATE = 1); Property FHAcompana As %String(MAXLEN = 20, TRUNCATE = 1); Property idusuario As %String(MAXLEN = 12, TRUNCATE = 1); Property zfechaCambio As %Date(FORMAT = 4); Property zhoraCambio As %Time(FORMAT = 2); Index CodNumeroHC On NumeroHC; } Informe de Alta de Urgencias Class CCEE.Util.InformeUrgencias Extends (%Persistent, %Populate, %XML.Adaptor) [ ClassType = persistent, Not ProcedureBlock ] { Property idusuario As %String(MAXLEN = 12, TRUNCATE = 1); Property FechaInforme As %Date(FORMAT = 4); Property NumeroHC As %String(TRUNCATE = 1); Property DescripZona As %String(TRUNCATE = 1); Property MedicoAPNombre As %String(TRUNCATE = 1);
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 132 Property Episodio As %String(TRUNCATE = 1); Property MedicoNombre As %String(TRUNCATE = 1); Property MedicoNumCole As %String(TRUNCATE = 1); Property FechaIngreso As %String(TRUNCATE = 1); Property HoraIngreso As %String(TRUNCATE = 1); Property FechaAlta As %String(TRUNCATE = 1); Property HoraAlta As %String(TRUNCATE = 1); Property destino As %String(MAXLEN = 50, TRUNCATE = 1); Property servdestino As %String(MAXLEN = 4, TRUNCATE = 1); Property MotivoConsulta As %String(MAXLEN = 1200, TRUNCATE = 1); Property Antecedentes As %String(MAXLEN = 2000, TRUNCATE = 1); Property InfoClinico As %String(MAXLEN = 5000, TRUNCATE = 1); Property Diagnosticos As %String(MAXLEN = 2000, TRUNCATE = 1); Property CodifDiagnosticos As %String(MAXLEN = 120, TRUNCATE = 1); Property Tratamiento As %String(MAXLEN = 3000, TRUNCATE = 1); Property Evolucion As %String(MAXLEN = 3000, TRUNCATE = 1);
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 133 Property NivelTriage As %String(MAXLEN = 5, TRUNCATE = 1); Property FechaBajaReg As %Date(FORMAT = 4); Property PdHemograma As %String(MAXLEN = 1, TRUNCATE = 1); Property PdBioquimica As %String(MAXLEN = 1, TRUNCATE = 1); Property PdGasometria As %String(MAXLEN = 1, TRUNCATE = 1); Property PdRx As %String(MAXLEN = 1, TRUNCATE = 1); Property PdEcg As %String(MAXLEN = 1, TRUNCATE = 1); Property PdEco As %String(MAXLEN = 1, TRUNCATE = 1); Property PdTac As %String(MAXLEN = 1, TRUNCATE = 1); Property ConsTA As %String(MAXLEN = 7, TRUNCATE = 1); Property ConsFC As %String(MAXLEN = 7, TRUNCATE = 1); Property ConsTemp As %String(MAXLEN = 7, TRUNCATE = 1); Property ConsFR As %String(MAXLEN = 7, TRUNCATE = 1); Property ConsGlucema As %String(MAXLEN = 7, TRUNCATE = 1); Property ConsSa02 As %String(MAXLEN = 7, TRUNCATE = 1); Property RTS As %String(MAXLEN = 2, TRUNCATE = 1);
Belinda Vega Santana TFG – GESTION DE PACIENTES DE UN SERVICIO DE URGENCIAS HOSPITALARIAS GRADO DE INGENIERÍA INFORMÁTICA ULPGC AÑO 2013 134 Property GCS As %String(MAXLEN = 2, TRUNCATE = 1); Property TAd As %String(MAXLEN = 3, TRUNCATE = 1); Property TAs As %String(MAXLEN = 3, TRUNCATE = 1); Property Edad As %String(MAXLEN = 3, TRUNCATE = 1); Property NumSegSoc As %String(MAXLEN = 14, TRUNCATE = 1); Property Telefonos As %String(MAXLEN = 22, TRUNCATE = 1); Property Domicilio As %String(MAXLEN = 30, TRUNCATE = 1); Property Poblacion As %String(MAXLEN = 20, TRUNCATE = 1); Property Provincia As %String(MAXLEN = 20, TRUNCATE = 1); Property Garante As %String(MAXLEN = 25, TRUNCATE = 1); Property TipoFinancia As %String(MAXLEN = 25, TRUNCATE = 1); Property ServOrigen As %String(MAXLEN = 25, TRUNCATE = 1); Property Patologia As %String(MAXLEN = 25, TRUNCATE = 1); Property Motivo As %String(MAXLEN = 25, TRUNCATE = 1); Property TarjetaSanitaria As %String(TRUNCATE = 1); Index CodNumeroHC On NumeroHC; }