5. FASE DE IMPLEMENTACIÓN
5.3. Ventanas relacionadas con los pacientes
5.3.3. Antecedentes y alergias
Posiblemente esta sea una de las ventanas más completas de nuestro escritorio. A diferencia de la gran mayoría de ventanas, ésta no es simplemente una ventana de lectura, que muestra datos pero no permite su modificación (premisa principal del escritorio), sino que además permite añadir o modificar información.
En esta ventana el profesional puede ver los antecedentes de sus pacientes. Estos antecedentes consisten en un resumen global de la salud general del paciente
inmunizaciones así como la historia psiquiátrica, hábitos o incluso, enfermedades familiares que puedan haber sido heredadas.
Para ello se necesita saber qué paciente estamos visualizando. Esta ventana recibe como parámetros de entrada la id del paciente y una asistencia, esta última, simplemente informativa. Como en las anteriores ventanas, estos parámetros vienen del Censo del Hospital como Ítem del objeto de negocio o de las Citaciones como parámetro libre, según en qué lista seleccionemos el paciente. A partir de estos parámetros filtramos el resto de información. En la clase de personalización explicaremos cómo los recibe.
A continuación explicaremos como se ha implementado esta ventana:
Objeto de negocio: El objeto de negocio de esta ventana, llamado “aa_antecedentes”, está compuesto por diversos paneles, los más importantes son:
- Panel HEADER: tenemos los campos de la id del paciente y la id de la asistencia que nos servirán como filtro para el resto de paneles.
- Panel de grupos de antecedentes: hace referencia a la tabla “vh_gen_grupo_antec” y de ella obtenemos los diferentes grupos de antecedentes que puede tener un paciente.
- Panel de antecedentes: este panel hace referencia a la tabla
“vh_pac_antec_det” de la que obtenemos el tipo de antecedente y su
descripción. Está filtrado por la id del paciente del HEADER y el grupo de antecedente al que pertenece.
- Panel de alergias: hace referencia a la tabla “vh_pac_alergias” de la que obtenemos las alergias del paciente y sus datos más relevantes. Está filtrado por la id del paciente del HEADER.
- Paneles auxiliares: son los paneles que se utilizan para obtener datos relevantes relacionados con el paciente y la asistencia que se están tratando. Acceden a la tabla de asistencias (vh_asistencias) y a la de datos del paciente (vh_pac_gral) Formulario: el formulario, que es como veremos nuestra ventana, estará formado
por:
- Cabecera: estará formada por los campos del HEADER, paciente y asistencia, así como de los datos obtenidos de los paneles auxiliares: nombre y apellidos del paciente, número de historial clínico, centro en el que se encuentra y episodio de la asistencia.
- Pestaña de Antecedentes: esta pestaña estará formada por:
Árbol de Grupos de Antecedentes: disponemos de un campo “FMTreeView” done mostraremos en un árbol los diferentes grupos de antecedentes. La creación de este árbol se realiza mediante su clase de personalización de java.
Grid y cuadro de texto de Antecedentes: a la derecha del árbol disponemos de un grid donde se muestran los diferentes antecedentes del paciente, y un
campo de texto donde se muestra la descripción de los antecedentes más detalladamente. Señalar que para que se muestren datos en estos campos, primero se ha de seleccionar un grupo de antecedente del árbol, como se explicará en la clase de personalización. Hace referencia al panel de antecedentes del objeto de negocio.
Botón de actualizar: se dispone de un botón “Actualizar” para grabar en su respectiva tabla (vh_pac_antec_det) los datos introducidos en el campo de texto.
- Pestaña de Alergias:
Grid de Alergias: se dispone de un grid donde se muestran las diferentes alergias que sufre o ha sufrido el paciente, así como los datos más relevantes de éstas (la fecha de detección de la alergia, si aún la padece o no y posibles observaciones). Hace referencia al panel de alergias.
Botón de añadir: se dispone de un botón “Añadir” donde le damos al profesional la posibilidad de añadir una nueva alergia al paciente. Al pulsar este botón se abre una ventana modal que permite añadir dicha alergia. Estos datos se añaden mediante una sentencia SQL a la tabla
vh_pac_alergias e inmediatamente podemos observarlos en nuestro grid.
Clase de personalización: La clase de personalización de esta ventana se denomina “AntecedentesAlergias”. En ella se realiza la funcionalidad de más relevancia de esta ventana, que se explica a continuación. Empezaremos por la pestaña de antecedentes. En primer lugar hemos de explicar cómo se forma nuestro árbol de grupos de antecedentes. Para ello disponemos de las funciones o métodos “Antecedentes” y “loadAntecedentes”. En la primera de ellas creamos la consulta necesaria mediante SQL para obtener los diferentes grupos y su descripción de la tabla “vh_gen_antec_det”. En la segunda función, tratamos la sentencia SQL anterior y creamos el árbol asignándolo al campo del formulario denominado
FMTreeView. De esta manera, ya podemos ver en nuestro árbol los diferentes
grupos de antecedentes.
Una vez creado el árbol, al seleccionar un grupo de este árbol, a la derecha se muestran los antecedentes del paciente (que corresponden a ese grupo), tanto en el grid como en el campo de texto explicados con antelación. La selección del grupo informe se hace mediante la función “containerNodeClick” que nos detecta qué nodo (o grupo) hemos seleccionado y nos devuelve un identificador que corresponde con el grupo. De esta manera, con este grupo y el paciente que tenemos en la cabecera, a partir del objeto de negocio, mostramos esta información en la pestaña.
Otra funcionalidad de este árbol es la de poder añadir nuevos antecedentes al grid. Para ello hemos de hacer doble click sobre uno de los nodos del árbol. Mediante la función “containerDblClick” se abre una ventana mo8dal donde podemos añadir un nuevo antecedente, la fecha de detección y posibles
observaciones. A partir de otra función, denominada “viewClick”, detectamos si hemos pulsado el botón “Aceptar” lo que permite guardar, mediante sentencia SQL, la alergia en la tabla correspondiente, e inmediatamente visualizarlo en el grid. También se dispone de otro botón denominado “Actualizar” que guarda de la misma manera que el anterior los datos que hayamos introducido en el campo de texto de antecedentes.
Por último, cabe decir que los parámetros de entrada se reciben del mismo modo que en los datos del paciente, mediante la función “deskBoxParameter” que detecta cual es el parámetro que está recibiendo y de donde.
A continuación podemos observar la ventana de antecedentes y alergias con la pestaña de antecedentes activa, donde visualizamos el árbol, grid y campo de texto mencionados antes, y la ventana modal para añadir un antecedente al grid:
Figura 19: Ventana de Antecedentes y Alergias
Pasamos ahora a la pestaña de alergias. Aquí el profesional también tiene la posibilidad de añadir una nueva alergia al paciente si así lo requiere. Haciendo un click sobre el botón “Añadir” se abre una ventana modal donde podemos añadir una alergia, completando los mismos campos que en el grid anterior.
Esta funcionalidad se le permite a través de la función “viewClick”. Caundo se pulsa el botón se abre dicha ventana modal y nos permite añadir, a través de una sentencia SQL, nuestros datos sobre la nueva alergia a la tabla que le corresponde (vh_pac_alergias), para luego poder visualizarla en la ventana. Si la alergia no existe la añadimos y si ya existe la actualizamos con los nuevos datos introducidos, ya que un mismo paciente no puede tener dos alergias iguales.
Figura 20: Ventana modal de inserción de alergias
También disponemos de una vista estándar de esta ventana que veremos nada más abrir el escritorio. En esta sólo vemos el paciente y la asistencia que estamos tratando y sus antecedentes en un grid. No se puede añadir ni modificar información. Para ello deberemos abrir la vista ampliada o maximizada.
Figura 21: Vista estándar de Antecedentes y Alergias