scieee AI-readable full text Open interactive document viewer

Prototipo de programa para clínica dental mediante el uso de interfaz táctil

Bustos Fernández, Daniel

Full text

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA UNIVERSIDAD POLITÉCNICA DE VALENCIA PROYECTO FINAL DE CARRERA PROTOTIPO DE PROGRAMA PARA CLÍNICA DENTAL MEDIANTE EL USO DE INTERFAZ TÁCTIL Director: D. Juan Vicente Oltra Gutiérrez Autor: D. Daniel Bustos Fernández INDICE INTRODUCCIÓN Y OBJETIVO DEL PROYECTO pág. 1 Introducción Objetivo del PFC Estado actual Posibles soluciones Solución a desarrollar METODOLOGÍA pág. 4 Definición de metodología Metodología Métrica V3 ANÁLISIS DETALLADO DEL SISTEMA DE INFORMACIÓN ACTUAL pág. 6 Descripción de la situación actual Arquitectura del S.I. actual Análisis de Puntos Fuertes y Riesgos de la organización ANÁLISIS DE REQUISITOS DEL SISTEMA pág. 8 Establecer el ámbito y el alcance del proyecto Identificación de los usuarios participantes Identificar y definir requisitos Estudio de los Procesos del sistema y sus requisitos ESPECIFICACIÓN FUNCIONAL DEL SISTEMA pág. 12 Construcción del modelo de procesos del nuevo sistema Procesos y Casos de uso Diseño del diagrama de contexto del sistema Identificación y definición de subsistemas Definir la interfaz de usuario Especificación de formularios DISEÑO DE LA BASE DE DATOS pág. 49 Diseño conceptual Especificación de restricciones del diseño conceptual Elaboración del esquema lógico de datos del sistema A tener en cuenta en la construcción del esquema lógico de datos SOFTWARE UTILIZADO PARA EL DESARROLLO pág. 53 XAMMP MySQL y PhpMyAdmin Adobe Flash 8 y ActionScript Zinc v3 ANEXO I. REUNIONES pág. 57 1. Primera Reunión 2. Segunda Reunión 3. Reuniones periódicas ANEXO II PRUEBAS DEL SISTEMA pág. 60 El proceso de prueba Técnicas de diseño de casos de prueba Pruebas de la aplicación ANEXO III MANUAL DE USUARIO pág. 64 Introducción a los manuales de usuario Menú principal y guía rápida Gestión de Clientes Gestión de Citas Gestión de Facturas Gestión de Stock Otras gestiones ANEXO IV SEGURIDAD Y PROTECCIÓN DE DATOS pág. 79 Seguridad Protección de datos Acceso al sistema Internet y conexión al equipo de memorias USB Copias de seguridad Cifrado del disco Protección de datos personales ANEXO V DOCUMENTOS ORIGINALES DE LA CLÍNICA pág. 87 Ficha de cliente Historia médica Otros documentos BIBLIOGRAFIA pág. 90 PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 1 INTRODUCCIÓN Y OBJETIVO DEL PROYECTO Introducción Existen muchas pequeñas empresas familiares cuyos trabajadores no tienen tiempo ni recursos para aprender a manejar un ordenador, pero que desearían usar uno para poder beneficiarse del uso de la tecnología de un sistema informático. Las aplicaciones para administrar PYMES son muchas y variadas. En el sector de las clínicas dentales, que es el que se va a estudiar, podemos encontrar desde aplicaciones específicas a paquetes de aplicaciones que engloban todos los casos imaginables. Todas estas aplicaciones coinciden en algo: el usuario tiene que saber manejar un ordenador a nivel ofimático. Y no todos los profesionales, sobre todo los que tienen más años en sus espaldas, saben hacerlo. Estos profesionales también desearían usar el sistema informático, pero la informática es una barrera insalvable. Los motivos son los siguientes: - Se requiere un aprendizaje previo, esto implica invertir tiempo y ganas (“que no se tiene”). - Utilizar estas herramientas provocan miedo al cambio (¿para qué cambiar si el “papel y lápiz” siempre me ha funcionado?). - Esfuerzo mental que no se quiere asumir (“no estoy en la edad, ya es tarde para aprender”). - Frustración al usar nuevas tecnologías (“no entiendo cómo va esto”). - En algunos casos se requiere una inversión económica considerable (“no tengo dinero para esto”). La motivación de este proyecto es desarrollar un sistema informático para personas “que no saben informática” en el contexto de una clínica dental real, de forma que puedan usarlo evitando las barreras antes mencionadas. Se analizarán el sistema de información existente en esta clínica dental, discutiendo las distintas formas de implementar un sistema informático que persiga el Objetivo del PFC: Se trata de construir un prototipo de aplicación para la gestión de una clínica dental, para usuarios que no sabe usar o tienen mucha dificultad en usar un sistema informático, utilizando para ello una interfaz táctil, sencilla y adaptativa al contexto, de forma que el sistema sea el equivalente a un electrodoméstico. Hoy día, los programas de administración dirigidos a PYMES, exigen conocimientos tanto de ofimática como de informática. Por ello, una persona que es ignorante en cultura informática aunque tenga mucha experiencia en su campo de trabajo, se encuentra con un muro difícil de superar. En el mejor de los casos, terceras personas tiene que hacer de puente entre el profesional y la aplicación, lo cual es frustrante para el profesional que ve que no depende de sí mismo en su trabajo. En el peor de los casos, el profesional evita modernizar su empresa y sigue con el “papel y lápiz” de toda la vida, con los inconvenientes que esto conlleva. Este proyecto trata de dar soluciones estos problemas. Para ello se van a analizar los problemas antes descritos y se va a desarrollar un prototipo funcional en base al trabajo desarrollado en una clínica dental de barrio, donde podremos implementar y probar si efectivamente las soluciones propuestas funcionan y facilita el trabajo de los empleados de dicha clínica. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 2 Estado actual Este proyecto nace por la voluntad del creador del presente PFC en implementar un sistema informático en una pequeña clínica dental familiar, y hacerlo de forma que los trabajadores de la clínica sean capaces de utilizarlo sin tener que “aprender informática”. El escenario al que nos enfrentamos es una clínica dental en la cual sólo hay un ordenador desde el cual se redactan algunas facturas personalizadas utilizando para ello un programa de procesador de textos común. Este ordenador es usado por el auxiliar, el proyectando y, a veces y a duras penas, por el dueño. Sin embargo no hay ningún sistema informático para el día a día y todo se realiza a mano con lo que esto conlleva. Se utiliza una agenda para las citas. Además se utilizan fichas de pacientes y otros documentos, como radiografías, que se guardan en un mueble archivador. El S.I. por tanto ni es centralizado ni está automatizado. El dueño de la clínica tiene la voluntad para intentar implementar el nuevo sistema informático, lo cual es fundamental en cualquier cambio a éste nivel. Posibles soluciones Las posibles soluciones en la informatización de la clínica son las siguientes: - Implementar un paquete informático para PYMES genérico. Es a lo que se recurre normalmente cuando hay plantilla suficiente como para que “otros” manejen el sistema informático. En el caso de una clínica dental lo suelen hacer los auxiliares y los doctores más jóvenes, que ya poseen experiencia en ofimática. Estos programas suelen tener muchas opciones pero sólo se suelen usar unas pocas. Son las ERP de las clínicas dentales. Se trata de aplicaciones muy potentes pero requieren formación y pueden llegar a ser complicadas de usar. Son soluciones caras. - Implementar un paquete informático para PYMES “a medida”. Son sistemas informáticos que cubren las necesidades específicas de la empresa. Debido a ello no tienen más opciones de las necesarias, lo que no significa que el sistema sea sencillo de usar. Son soluciones que pueden ser más o menos caras según lo que el cliente requiera. - Utilización de programas ofimáticos para la administración de la PYME. Se refiere al uso de programas ofimáticos genéricos para llevar la administración de la PYME. Un ejemplo sería la utilización de Microsoft Word / Excel con plantillas para generar documentos. Se trata de una solución “barata” que sigue requiriendo habilidades informáticas y que presenta grandes desventajas: el S.I. no está centralizado, todo se hace en base a ficheros por lo que a partir de cierto volumen es difícil encontrar algo, no hay forma de hacer un mantenimiento ordenado de la BBDD y hace falta que alguien “externo” que cree y mantenga las plantillas a utilizar. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 3 Solución a desarrollar Las soluciones expuestas no satisfacen los planteamientos de éste PFC. El usuario siempre debe saber manejar un ordenador y tener cierta cultura ofimática, no importa qué solución escojamos, sea más o menos compleja e independientemente del coste. Ninguna de estas soluciones crea la ilusión de que el usuario maneja el sistema como un “electrodoméstico común”. Y esto es así porque, en todas las soluciones, vemos el ordenador con sus botones “de ordenador”, sus menús “de ordenador”, sus ficheros “de ordenador”, etc. y esto crea una barrera con nuestro usuario tipo. La interfaz y la manera de interactuar con el programa son siempre típicos de un programa informático, y siempre vamos a necesitar un elemento “extraño” para alguien que nunca ha usado un ordenador: el ratón. Así que vamos a crear una interfaz con la que el usuario pueda interactuar de una forma natural e intuitiva, vamos a crear una interfaz que sea usada con un elemento que el “usuario tipo” sabe utilizar perfectamente: sus manos. Vamos a utilizar una pantalla táctil. La idea es utilizar un Tablet o “tableta” como elemento con el que se pueda interactuar, con un teclado y una base de carga donde dejarla cuando no se use. Usar una pantalla táctil no es por sí misma una solución a nuestros problemas. Analizando la historia reciente de los teléfonos móviles y de las PDA, vemos una rápida evolución en cuanto al interfaz táctil y a las posibilidades que nos brindan los “smartphones” que podemos adquirir hoy día. ¿Qué diferencias hay entre las antiguas PDA y los modernos smartphones? Inspirado por soluciones como la que Apple creo para el IPhone, vamos a crear una interfaz sencilla, que se adapte al contexto, que sea fácil de usar. No vamos a basarnos en soluciones en bases a “menús de PC”, sino a elementos visuales (como iconos), y a adaptar la interfaz a lo que se puede o no hacer en cada momento. Vamos a olvidarnos de complicadas formas de generar documentos. Para generar una nueva factura, vamos a crear la ilusión de que lo hacemos casi como si lo hiciésemos con papel y lápiz. Y vamos a facilitar el trabajo de la clínica, añadiendo elementos nuevos, completamente automáticos y transparentes para el usuario, para que el sistema sea el que avise al usuario de algún problema, y no sea el usuario el que tiene que buscar la información. No vamos a basarnos en ficheros, no habrá que buscar nada en el disco duro. La información se guardará en una BBDD y el usuario no verá ‘ficheros’ si no directamente la información, ya que el sistema beberá directamente de la BBDD. Obviamente hay que ser realistas en la utilización de la pantalla táctil. Para introducir información nada mejor que un teclado, no estamos trabajando sobre un smartphone. No vamos a contemplar la utilización de un teclado en pantalla, pero sí de un teclado normal. En cuanto al ratón, se podrá utilizar si así se desea, pero no será necesario. Este PFC sólo es un prototipo, pero espero que en él se refleje lo que quiero transmitir en estos párrafos. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 4 METODOLOGÍA Definición de metodología Para desarrollar software se precisa de una serie de pasos y procedimientos, un método de trabajo que ayude a los desarrolladores a realizar software de forma sistemática. Las metodologías de desarrollo de software constituyen un conjunto de filosofías, fases, procedimientos, reglas, técnicas, herramientas y aspectos de formación para los desarrolladores de sistemas de información. Reuniendo todos estos aspectos, obtenemos que una metodología es un conjunto de componentes que especifican: ● Cómo dividir un proyecto en etapas claramente diferenciadas. ● Tareas que deben llevarse a cabo en cada una de las anteriores. ● Qué salidas se producen y en qué momento se deben producir. ● Qué restricciones deben tenerse en cuenta. ● Herramientas a utilizar. ● Cómo se debe gestionar y controlar un proyecto. De forma general, se pueden identificar tres necesidades principales que intenta cubrir una metodología: 1. Conseguir mejores aplicaciones. Si consideramos mejores sistemas a los de mejor calidad, hay que tener en cuenta que el seguimiento de una metodología no basta para asegurar la calidad del producto final. 2. Un mejor proceso de desarrollo que identifica las salidas de cada fase de forma que se pueda planificar y controlar el proyecto. Así, los sistemas se desarrollan más rápidamente y con los recursos apropiados. 3. Un proceso estándar en la organización, lo que aporta claros beneficios. Por ejemplo, la mayor integración entre los sistemas y una mayor facilidad en el cambio del personal de un proyecto a otro. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 5 Métrica V3 ¿Qué es MÉTRICA? Se trata de una metodología de Planificación, Desarrollo y Mantenimiento de sistemas de información. La metodología MÉTRICA Versión 3 ofrece a las organizaciones un instrumento útil para la sistematización de las actividades que dan soporte al ciclo de vida del software dentro del marco que permite alcanzar los siguientes objetivos: ● Proporcionar o definir Sistemas de Información que ayuden a conseguir los fines de la Organización mediante la definición de un marco estratégico para el desarrollo de los mismos. ● Dotar a la Organización de productos software que satisfagan las necesidades de los usuarios dando una mayor importancia al análisis de requisitos. ● Mejorar la productividad de los departamentos de Sistemas y Tecnologías de la Información y las Comunicaciones, permitiendo una mayor capacidad de adaptación a los cambios y teniendo en cuenta la reutilización en la medida de lo posible. ● Facilitar la comunicación y entendimiento entre los distintos participantes en la producción de software a lo largo del ciclo de vida del proyecto, teniendo en cuenta su papel y responsabilidad, así como las necesidades de todos y cada uno de ellos. ● Facilitar la operación, mantenimiento y uso de los productos software obtenidos. Métrica v3 es la metodología oficial para el desarrollo de software de la administración española. El desarrollo del proyecto se inspira por tanto de esta metodología. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 6 ANÁLISIS DETALLADO DEL SISTEMA DE INFORMACIÓN ACTUAL Se va a realizar una descripción detallada del sistema de información (S.I.) existente, siguiendo la metodología de métrica. Esto incluye: - La Descripción de la situación actual. - Describir la Arquitectura del Sistema de Información. - Un análisis técnico de puntos fuertes y riesgos. Descripción de la situación actual Vamos a analizar una clínica dental real, con un sistema de información rudimentario, esto es, la mayor parte de las tareas se realizan de forma manual (aka “lápiz y papel”). No hay tareas automatizadas. El S.I. que funciona actualmente en la clínica consta de distintos tipos de documentos en papel, documentos electrónicos y otros elementos variados (agenda, radiografías, etc). Hay un ordenador PC estándar que se usa para visualizar radiografías (se hacen con un equipo electrónico conectado al PC), y para hacer facturas electrónicas ocasionalmente, a partir de plantillas existentes. Arquitectura del Sistema de Información actual Como ya se ha comentado previamente, no existe un S.I. informático, sino varias fuentes de información separadas. Algunos de los documentos que se citan a continuación se pueden encontrar en el anexo correspondiente. • Agenda: En ella se especifican las citas. Cada cita se compone del nombre del cliente y del trabajo a realizar. Es una agenda de papel. • Ficha de cliente: Es un documento esencial. En las fichas de cliente se guardan los datos personales de cada cliente, junto con el estado dental del cliente y la lista de trabajos realizados a ese cliente, también llamada historia dental. Son documentos en papel, se guardan en un archivador. • Radiografías: Se guardan en un sobre, uno por cliente, junto con las fichas. • Documento de Historia médica: Son los historiales médicos de cada cliente, dónde se guardan los datos médicos de cada cliente. Es un documento en papel, se guarda junto con las fichas, en un sobre. • Factura: Algunos clientes piden una factura por uno o más trabajos. Cuando se necesita hacer “en el momento” se crea a mano a partir de una plantilla en papel. Si no es necesario hacer la factura en ese momento, se creará a partir de una plantilla de un programa de procesador de textos común. Es un documento electrónico. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 13 Para detectar los actores En primer lugar hay que tener en cuenta que los usuarios pueden jugar varios roles cuando interactúan con el sistema. Es decir, un usuario se puede corresponder con varios actores. Cualquier grupo o individuo que caiga en alguna de las siguientes categorías será un actor en nuestro modelo: ¿Quién usará el sistema? ¿Quién instalará el mismo? ¿Quién hará labores de mantenimiento? ¿Quién lo apagará? ¿Qué otros sistemas se comunicarán con éste? ¿Quién obtiene información? ¿Quién proporciona información? Para Encontrar los Casos de Uso Las respuestas a cada una de las siguientes preguntas representan flujos de eventos que identifican casos de uso candidatos: ¿Cuáles son las tareas que los actores quieren que el sistema realice para ellos? ¿Podrá un actor crear, almacenar, cambiar o borrar datos del sistema? ¿Será necesario que un actor informe al sistema sobre cambios que han ocurrido en el exterior del mismo? ¿Será necesario que el actor sea informado sobre ciertas ocurrencias o cambios dentro del sistema? Identificación de los actores del sistema ¿Quién usará el sistema? El auxiliar de la clínica, los odontólogos. ¿Quién instalará el mismo? El proyectando. ¿Quién hará labores de mantenimiento? Las labores de mantenimiento las hará inicialmente el proyectando. Una vez terminado el proyecto y puesta en marcha la aplicación, esa labor debe ser hecha por el auxiliar o el doctor. ¿Quién lo apagará? El auxiliar de la clínica, los odontólogos. ¿Qué otros sistemas se comunicarán con éste? En principio ninguno. ¿Quién obtiene información? Tanto el actor Auxiliar como el actor Doctor obtienen la información a imputar en el sistema (por ejemplo el auxiliar suele obtener información de sus pacientes respecto a las citas y los pagos y el odontólogo el PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 14 historial médico o dental). ¿Quién proporciona información? El cliente proporciona información, principalmente al darse de alta. Pero son el Auxiliar y el odontólogo los que proporcionan la información a imputar en el sistema Por tanto el cliente NO interactúa directamente con el sistema, por lo que no lo consideraremos actor. Por tanto los actores son: 1. El auxiliar: Se trata del profesional que realiza tareas diversas relacionadas con el sistema, como puede ser todo lo relacionado con los pacientes, sus citas, la facturación y el control de stock. 2. El odontólogo: Se trata del profesional que trata a los pacientes y que interactúa con el sistema apuntando en él lo relacionado con el tratamiento médico. Identificando los casos de uso Antes de identificar los casos de uso, hay que realizar una matización. Nuestro sistema está diseñado para que cualquier actor pueda hacer cualquier cosa, aunque en la práctica no siempre sea así. Por eso al analizar los casos de uso hemos especificado el actor que suele hacerlo, pero tanto el actor Auxiliar como el actor Doctor serán capaces de utilizar toda la funcionalidad del sistema. ¿Cuáles son las tareas que los actores quieren que el sistema realice para ellos? A petición del auxiliar, el sistema debe ser capaz de generar un listado de impagos, un listado de las citas de ese día y del resto de la semana. A petición del doctor, el sistema debe ser capaz de mostrar el historial dental, el historial médico, el odontograma y un listado de trabajos. El sistema debe avisar al auxiliar cuando se trabaje con un cliente que no tenga su DNI imputado o bien sea erróneo, debe proporcionar las citas actuales y futuras de ese cliente y los trabajos impagados por dicho cliente. El sistema debe, a partir de un cliente y de ciertos trabajos pagados, ser capaz de generar una factura. El sistema debe ser capaz, a petición del auxiliar, de mostrar un listado del stock tanto general como clasificado por trabajos o familias. Por otro lado, el sistema debe ser capaz de realizar varias tareas de forma automatizada cuando está en marcha. Estas tareas son: Avisar de productos fuera de stock, avisar de la existencia de impagos. ¿Podrá un actor crear, almacenar, cambiar o borrar datos del sistema? El auxiliar puede dar de alta un cliente y modificar la información del cliente. El auxiliar puede dar de alta una cita, cambiarla y borrarla. El auxiliar o el odontólogo pueden añadir información al historial médico de un cliente, modificar esta información y borrar esa información. ¿Será necesario que un actor informe al sistema sobre cambios que han ocurrido en el exterior del mismo? El auxiliar o el doctor deben ajustar el stock para que se ajuste a la realidad cuando no cuadre con lo informado por el sistema. ¿Será necesario que el actor sea informado sobre ciertas ocurrencias o cambios dentro del sistema? PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 15 El sistema debe avisar de productos fuera de stock, debe avisar de clientes morosos. Los casos de uso son: 1. Dar de alta un cliente. 2. Editar la información personal de un cliente. 3. Editar el odontograma de un cliente. 4. Editar la historia dental de un cliente. 5. Editar la historia médica de un cliente. 6. Dar cita a un cliente. 7. Revisar cita de un cliente. 8. Eliminar cita. 9. Mostrar calendario de citas. 10. Crear una nueva factura. 11. Editar factura. 12. Eliminar factura. 13. Consultar stock actual. 14. Modifica stock. 15. Ordenar productos por Trabajo. 16. Ordenar productos por Familia. 17. Mostrar listado de productos sin stock. 18. Mostrar lista de morosos. 19. Ocultar moroso. 20. Mostrar moroso oculto. 21. Aviso automático de cliente moroso. 22. Aviso automático de cliente con DNI incorrecto. 23. Aviso automático de producto fuera de stock. 24. Cambiar doctor actual. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 16 Caso de uso 1: Dar de alta un cliente. Información de entrada necesaria: Datos del cliente, como son el nombre y los apellidos, el DNI, un teléfono fijo, un teléfono móvil, la dirección. Además podemos apuntar las observaciones que creamos oportunas. Información de salida: Listado de clientes actualizado. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: DAR DE ALTA UN CLIENTE ACTORES: Auxiliar PROPÓSITO: Dar de alta un nuevo cliente DESCRIPCIÓN: El Auxiliar da de alta un nuevo cliente en el sistema, para lo cual necesita una serie de información proporcionada por el cliente. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar indica que quiere imputar un cliente nuevo. 2. El auxiliar imputa los datos del cliente. 3. El sistema comprueba que se han imputado los datos mínimos para dar un alta y que el cliente no exista ya en la base de datos. Si todo es correcto, muestra la opción OK. 4. El auxiliar valida el alta. 5. El sistema da de alta el nuevo cliente en el sistema, creando las carpetas, ficheros y estructuras en la BBDD necesarios. 6. El sistema recarga la lista de clientes. Extensiones Síncronas Extensiones Asíncronas #1. Si en 3 el auxiliar no ha escrito el nombre o los apellidos (al menos uno) o el domicilio, Y al menos un teléfono (ya sea fijo o móvil), el sistema no dejará continuar. #1. Si en 2 el auxiliar imputa un DNI correcto, el sistema lo indicará con un símbolo. Restricciones: Los datos mínimos necesarios son: Nombre, Apellidos, Dirección y al menos un teléfono (no importa si es el fijo o el móvil). Opcionalmente se pueden introducir el DNI, las observaciones y, si no se ha introducido, el teléfono que faltase. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 17 Caso de uso 2: Editar la información personal de un cliente. Información de entrada necesaria: Datos del cliente a editar (nombre y apellidos) y los datos a cambiar (DNI, teléfono fijo, teléfono móvil, dirección, observaciones, doctor preferido). Información de salida necesaria: Listado de clientes actualizado. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: EDITAR LA INFORMACIÓN DE UN CLIENTE ACTORES: Auxiliar DESCRIPCIÓN: El Auxiliar modifica los datos del cliente en el sistema. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar selecciona un usuario de la lista de clientes. 2. El sistema muestra un resumen de la información del cliente. 3. El auxiliar actualiza alguno de los datos del cliente. 4. El auxiliar valida el alta. 5. El sistema graba las modificaciones del cliente en la BBDD. 6. El sistema recarga la lista de clientes. Extensiones Sí ncronas Extensiones Asíncronas #1. Si en 3 el auxiliar no ha escrito el domicilio Y al menos un teléfono (ya sea fijo o móvil), el sistema no dejará continuar. #1. Si en 2 el auxiliar imputa un DNI correcto, el sistema lo indicará con un símbolo. #2. Si en 3 el auxiliar ha cambiado el “Doctor Preferido”, la validación es automática. Restricciones: Los datos mínimos necesarios son: Nombre, Apellidos, Dirección y al menos un teléfono (no importa si es el fijo o el móvil). Opcionalmente se pueden introducir el DNI, las observaciones y, si no se ha introducido, el teléfono que faltase. Si se borran los teléfonos existentes, o la dirección, no es posible grabar los cambios en la BBDD. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 18 Caso de uso 3: Editar el odontograma de un cliente. Información de entrada necesaria: Datos del cliente (nombre y apellidos) y los datos a cambiar. En este caso el estado dental de un diente. Información de salida necesaria: Odontograma actualizado. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: EDITAR EL ODONTOGRAMA DE UN CLIENTE ACTORES: Odontólogo DESCRIPCIÓN: El odontólogo modifica los datos del odontograma del cliente en el sistema. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el doctor selecciona un diente del odontograma del cliente. 2. El sistema muestra el diente en grande y muestra los elementos de edición. 3. El doctor edita el diente del odontograma. 4. El auxiliar valida la edición. 5. El sistema graba las modificaciones del odontograma en el fichero correspondiente. 6. El sistema actualiza el diente. Extensiones Síncronas Extensiones Asíncronas #1. En 1, el sistema mostrará, si existiese, la radiografía del diente seleccionado. #1. Si en 3 el doctor pulsa la ‘X’, se cancela la edición y los cambios no se graban. #2. Si en 3 el doctor selecciona cambiar a cualquier otra parte del programa, se cancela la edición y los cambios no se graban. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 19 Caso de uso 4: Editar el historial dental de un cliente. Información de entrada necesaria: Datos del cliente (nombre y apellidos) y los datos a cambiar. En este caso, para editar el historial dental, necesitaremos el trabajo a editar, la fecha y la cantidad de dinero pagado si lo hubiese. Información de salida necesaria: Listado de trabajos actualizado. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: EDITAR LA HISTORIA DENTAL DE UN CLIENTE ACTORES: Auxiliar, Doctor DESCRIPCIÓN: El Auxiliar o el doctor modifican los datos del historial dental del cliente en el sistema. Cada línea del historial dental es un trabajo. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar o el doctor revisa la historia dental de un cliente. 2. El auxiliar o el doctor pueden crear una línea nueva en la historial dental (un trabajo) o seleccionar una de las líneas existentes. 3. En el caso de la selección de una línea existente, el sistema muestra es línea con un color diferenciador. Además, muestra los elementos de edición. 4. El auxiliar o el doctor insertan, editan o borran la información correspondiente a la línea. 5. El sistema va mostrando la información de la línea. 6. El auxiliar valida la edición. 7. El sistema graba las modificaciones del historial dental en la BBDD. 8. El sistema muestra el historial dental actualizado. Extensiones Síncronas Extensiones Asíncronas #1. Si en 4 el auxiliar o el doctor no imputan la información necesaria, el sistema no deja continuar hasta que esta es imputada. #1. Si en 2 o en 4 el auxiliar o el doctor seleccionan cambiar a cualquier otra parte del programa, se cancela la edición y los cambios no se graban. #2. Si en 4 el auxiliar o el doctor pulsan en “Pagar línea”, se da por pagado el trabajo y se graban automáticamente los cambios en la BBDD. Restricciones: No se puede crear un trabajo sin especificar fecha, pieza dental y nombre del PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 20 trabajo. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 21 Caso de uso 5: Editar la historia médica de un cliente. Información de entrada necesaria: Datos del cliente (nombre y apellidos) y los datos a cambiar. En este caso el historial médico. Información de salida necesaria: Historia médica actualizada. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: EDITAR LA INFORMACIÓN DE UN CLIENTE ACTORES: Auxiliar, Doctor DESCRIPCIÓN: El Auxiliar o el doctor modifican los datos del historial dental del cliente en el sistema. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar o el doctor revisa la historia médica de un cliente. 2. El sistema muestra la historia médica. 3. El auxiliar o el doctor, editan la información correspondiente. 5. El sistema graba las modificaciones del historial dental en la BBDD. 6. El sistema muestra la historia dental actualizada. Extensiones Síncronas Extensiones Asíncronas #1. En 3, cada vez que el auxiliar o el doctor cambian algún campo, se graban los datos automáticamente en la BBDD. #2. Si en 3 el auxiliar o el doctor seleccionan cambiar a cualquier otra parte del programa, se cancela la edición y los cambios no se graban. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 22 Caso de uso 6: Dar cita a un cliente. Información de entrada necesaria: Datos del cliente (nombre y apellidos), fechas disponibles y fechas preferidas por el cliente, trabajo solicitado. Información de salida necesaria: Horario de citas modificado. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: DAR CITA A UN CLIENTE ACTORES: Auxiliar DESCRIPCIÓN: El Auxiliar busca y registra una cita para un cliente para un trabajo determinado. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar busca una fecha adecuada para dar una cita. 2. El sistema muestra la semana en curso. 3. El auxiliar busca una fecha adecuada y la selecciona. 4. El sistema muestra el botón “Nueva cita”. 5. El auxiliar pulsa en “Nueva cita” para confirmarle al sistema que quiere dar de alta una cita nueva. 6. El sistema muestra el listado de clientes. 7. El auxiliar elige un cliente o crea uno nuevo en ese momento. 8. El sistema muestra el listado de trabajos. 9. El auxiliar elige un trabajo de la lista. 10. El sistema muestra el botón “Aceptar” 11. El auxiliar valida la cita. 12. El sistema graba la cita en la BBDD. 13. El sistema muestra el horario actualizado. Extensiones Síncronas Extensiones Asíncronas #1. Si en 7 o en 9 el auxiliar no imputa la información necesaria, el sistema no deja continuar hasta que esta es imputada. #1. Si en 3, 5,7 o 9 el auxiliar selecciona cambiar a cualquier otra parte del programa, se cancela la edición y los cambios no se graban. Restricciones: Los datos mínimos necesarios para dar de alta un cliente, desde esta pantalla, son: Nombre, Apellidos, Dirección y al menos un teléfono (no importa si es el fijo o el móvil). PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 29 PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 30 Caso de uso 13: Consultar stock actual. Información de entrada necesaria: consulta a la BBDD de stock por producto. Información de salida necesaria: Listado de productos y stock. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: CONSULTAR STOCK ACTORES: Auxiliar DESCRIPCIÓN: El Auxiliar solicita al sistema la lista de productos de la clínica y su stock actual. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar entra en la opción “Totales” del menú Inventario. 2. El sistema muestra el listado de productos, su stock y el stock mínimo para cada producto. Extensiones Síncronas Extensiones Asíncronas PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 31 Caso de uso 14: Modificar Stock. Información de entrada necesaria: producto, consulta a la BBDD de stock. Información de salida necesaria: Listado de stock actualizado. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: MODIFICAR STOCK ACTORES: Auxiliar DESCRIPCIÓN: El Auxiliar modifica el stock de un producto determinado. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar entra en la opción “Totales” del menú Inventario. 2. El sistema muestra el listado de productos, su stock y el stock mínimo para cada producto. 3. El auxiliar pulsa en uno de los productos. 4. El sistema resalta el producto elegido. Se muestran los botones “Añadir Ud.” y “Quitar Ud.” 5. El auxiliar pulsa en uno de los dos botones para añadir o quitar una Ud. 6. El sistema actualiza la BBDD. 7. El sistema muestra la lista actualizada. Extensiones Síncronas Extensiones Asíncronas PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 32 Caso de uso 15: Ordenar productos por trabajo. Información de entrada necesaria: Trabajo. Información de salida necesaria: Listado de productos utilizados en un trabajo. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: ORDENAR PRODUCTOS POR TRABAJO ACTORES: Auxiliar DESCRIPCIÓN: El Auxiliar consulta los productos utilizados para realizar un trabajo determinado, recibiendo un listado por parte del sistema, que puede ser modificado. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar entra en la opción “Ordenar por Trabajo” del menú Inventario. 2. El sistema muestra el listado de trabajos de la clínica, clasificados por distintos grupos. 3. El auxiliar pulsa en uno de los grupos. 4. El sistema muestra los trabajos de ese grupo. 5. El auxiliar pulsa en uno de los trabajos. 6. El sistema muestra los productos utilizados para realizar ese trabajo. 7. El auxiliar pulsa en uno de los productos. 8. El sistema muestran los botones “Añadir Ud.” y “Quitar Ud.” 9. El auxiliar pulsa en uno de los dos botones para añadir o quitar una Ud. 10. El sistema actualiza la BBDD. 11. El sistema muestra el listado actualizado de los productos utilizados para realizar ese trabajo. Extensiones Síncronas Extensiones Asíncronas PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 33 Caso de uso 16: Ordenar productos por Familia. Información de entrada necesaria: Producto, familia del producto. Información de salida necesaria: Listado de stock de productos. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: ORDENAR PRODUCTOS POR FAMILIA ACTORES: Auxiliar DESCRIPCIÓN: El Auxiliar a partir de una familia de productos, consulta el stock de un producto, pudiendo ser modificado. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar entra en la opción “Ordenar por Familia” del menú Inventario. 2. El sistema muestra el listado de productos de la clínica, clasificados por distintas familias. 3. El auxiliar pulsa en una de las familias. 4. El sistema muestra los distintos productos de esa familia. 7. El auxiliar pulsa en uno de los productos. 8. El sistema muestran los botones “Añadir Ud.” y “Quitar Ud.” 9. El auxiliar pulsa en uno de los dos botones para añadir o quitar una Ud. 10. El sistema actualiza la BBDD. 11. El sistema muestra una lista actualizada de los distintos productos de esa familia. Extensiones Síncronas Extensiones Asíncronas PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 34 Caso de uso 17: Mostrar listado de productos sin Stock. Información de entrada necesaria: aviso de sin stock. Información de salida necesaria: Listado de productos sin stock. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: MOSTRAR LISTADO DE PRODUCTOS SIN STOCK ACTORES: Auxiliar DESCRIPCIÓN: El Auxiliar recibe un aviso de sin stock del sistema, entonces realiza una consulta y el sistema muestra el listado de productos sin stock. Es posible modificarlo in-situ. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar entra en la opción “Sin Stock”. 2. El sistema muestra el listado de productos de la clínica por debajo del stock mínimo. También informa del stock mínimo para ese producto 3. El auxiliar pulsa en uno de los productos. 4. El sistema muestran los botones “Añadir Ud.” y “Quitar Ud.” 5. El auxiliar pulsa en uno de los dos botones para añadir o quitar una Ud. 6. El sistema actualiza la BBDD. 7. El sistema muestra el listado de productos sin stock. Extensiones Síncronas Extensiones Asíncronas PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 35 Caso de uso 18: Mostrar lista de morosos. Información de entrada necesaria: Consulta a la BBDD. Información de salida necesaria: Lista de clientes con uno o más impagos, cantidad a pagar. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: MOSTRAR LISTA DE MOROSOS ACTORES: Auxiliar DESCRIPCIÓN: El Auxiliar solicita al sistema una lista de clientes con uno o más impagos, el sistema genera la lista e informa de la cantidad total debida por cada cliente. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar entra en la opción “Impagos”. 2. El sistema muestra el listado de clientes morosos de la clínica y el total de su deuda. Extensiones Síncronas Extensiones Asíncronas 1. En #2 el sistema muestra por defecto la lista de clientes morosos con deuda no oculta. 1. En #1 el usuario puede pulsar en “Mostrar todos” para mostrar tanto los morosos con deuda oculta como aquellos con deuda no oculta. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 36 Caso de uso 19: Ocultar moroso. Información de entrada necesaria: Datos del cliente (nombre y apellidos) Información de salida necesaria: no aparición en listado de morosos. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: OCULTAR MOROSO ACTORES: Auxiliar DESCRIPCIÓN: El Auxiliar solicita al sistema que un cliente determinado no aparezca en el listado de morosos. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar entra en la opción “Impagos”. 2. El sistema muestra el listado de clientes morosos de la clínica y el total de su deuda. 3. El auxiliar selecciona uno de los clientes. 4. El sistema muestran los botones “Ocultar deuda” y “Mostrar deuda”. 5. El auxiliar pulsa en “Ocultar deuda”. 6. El sistema actualiza la BBDD. 7. El sistema muestra el listado actualizado. Extensiones Síncronas Extensiones Asíncronas 1. En #2 el sistema muestra por defecto la lista de clientes morosos con deuda no oculta. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 37 Caso de uso 20: Mostrar moroso oculto. Información de entrada necesaria: Datos del cliente (nombre y apellidos). Información de salida necesaria: Lista de productos con poca cantidad en stock. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: MOSTRAR MOROSO OCULTO ACTORES: Auxiliar DESCRIPCIÓN: El Auxiliar solicita al sistema la lista completa de morosos (ocultos y no ocultos), y a partir de ella “marca” un cliente oculto para que vuelva a aparecer en el listado habitual de impagos. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando el auxiliar entra en la opción “Impagos”. 2. El sistema muestra el listado de clientes morosos de la clínica y el total de su deuda. 3. El auxiliar pulsa en el botón “Mostrar todos”. 4. El sistema muestran todos los clientes morosos y los morosos con deuda oculta. 5. El auxiliar pulsa en uno de los clientes con deuda oculta. 6. El sistema muestran los botones “Ocultar deuda” y “Mostrar deuda”. 7. El auxiliar pulsa en “Mostrar deuda”. 8. El sistema actualiza la BBDD. 9. El sistema muestra el listado actualizado. Extensiones Síncronas Extensiones Asíncronas 1. En #2 el sistema muestra por defecto la lista de clientes morosos con deuda no oculta. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 38 Caso de uso 21: Aviso automático de cliente moroso. Información de entrada necesaria: inicio de programa. Información de salida necesaria: aviso en pantalla de falta de impago. Modelo de casos de Uso correspondiente: Tabla de Casos de uso correspondiente: CASOS DE USO: AVISO AUTOMÁTICO DE CLIENTE MOROSO ACTORES: SISTEMA DESCRIPCIÓN: El Sistema consulta la lista de trabajos y mira si hay impagos en alguno de ellos. En caso afirmativo muestra un discreto aviso en pantalla. INTENCIONES DE USUARIO OBLIGACIONES DEL SISTEMA 1. El caso de uso se inicia cuando se accede al menú principal. 2. El sistema hace una consulta, en esa consulta comprueba si existen clientes morosos, pero NO los que tengan deuda oculta. 3. Si existen, muestra un discreto aviso. Extensiones Síncronas Extensiones Asíncronas PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 45 La Interfaz del usuario incluye elementos no visuales. En este caso incluiremos efectos sonoros para ciertos elementos del programa. El caso más común son los botones. Añadiendo un sonido de “clic” simulamos la falta de un teclado físico. La interactividad entre el programa y usuario es fundamental en este proyecto. Los programas de PC, desde hace ya unos años, suelen seguir algunos de los parámetros antes mencionados. Podríamos mencionar por ejemplo la zona común de información, un menú fijo en la parte superior o lateral, iconos, etc. Naturalmente se da por hecho el uso de un ratón. Pero de lo que se trata en este PFC es de ir un paso más allá, tratando de traer las ventajas de las últimas interfaces de terminales móviles para simplificar el manejo del programa. El ejemplo más claro de esto sería el paso de las viejas interfaces de las PDA tipo Palm a las nuevas interfaces como la que marcó el lanzamiento del Iphone. Al igual que el Iphone, nuestra interfaz está pensada para poder usarse con las manos. Si algo sabe manejar nuestro trabajador tipo son sus manos, al fin y al cabo las usa cada día para su trabajo. Recordemos que sus conocimientos en informática son cercanos a null. Así pues los elementos interactivos de la interfaz del usuario tendrán el tamaño suficiente como para poder ser tocados con el dedo de una mano. Nuestro programa no considerará el uso de más de un dedo a la vez en pantalla ni los gestos táctiles que incorporan algunos interfaces táctiles pues no son necesarios. Además, se mostrarán los elementos suficientes y necesarios en cada momento según el contexto. Al contrario que muchos programas de PC actuales, la interfaz se adapta según en qué parte del programa nos encontramos. La idea es que el usuario no se pierda entre una multitud de opciones. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 46 Especificación de formularios Se va a describir los formularios que se desearían tener en la aplicación y sus elementos correspondientes desde el punto de vista funcional. Para presentar la información de un cliente intentaremos tener algo similar a la ficha todo-en-uno del documento original, pero aprovechando las ventajas de tener un sistema digital. Así que para mostrar la información de un cliente, dividiremos esta información en varios apartados, para aprovechar la pantalla tanto como podamos, pero teniendo un acceso directo entre cada apartado. Así, cuando veamos la Ficha de cliente, podremos ver los datos personales del cliente y, a un solo clic del “dedo” (que no del ratón), podemos pasar a la ficha, al odontograma, a la historia dental o a la historia médica. No debe ser más de un paso lo que separa los distintos apartados, o será molesto utilizar el sistema para consultar la información rápidamente. Este detalle, que se escapa en muchos de los diseños funcionales de programas actuales para PC, es fundamental en cuanto a la usabilidad del sistema. La regla fundamental es la sencillez: mientras menos ‘clics’ necesites, mejor será la aplicación. Además, deberemos recibir ciertas “ayudas” que nos proporciona tener un sistema informático. Por ejemplo, al visualizar la ficha de un cliente, el sistema comprobará tres cosas: • Validación de DNI • Mostrar las citas futuras del paciente • Mostrar los impagos del paciente PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 47 Se exige que en pantalla nos muestre las diversas acciones a realizar según el contexto, ocultando lo que no podamos hacer en cada momento y mostrándolo en el momento adecuado. Un ejemplo claro lo tenemos al crear un nuevo cliente: sólo nos muestra la opción de OK cuando los campos mínimos necesarios estén cumplimentados. A la hora de añadir trabajos en la historia dental, será necesario representar de forma visual todos los trabajos que se pueden realizar para poder elegir el adecuado a cada caso, divididos en diferentes categorías. La forma de hacerlo será similar a la ficha de cliente, con varios iconos que dan acceso a las diferentes categorías. La forma de hacerlo es con un solo paso. Para representar el calendario de citas, se mostrará la semana en curso y las citas ya creadas en él, de forma que sea sencillo ver qué cliente tiene una cita, cuándo y por qué motivo. Además del calendario semanal, será necesario tener una vista del día actual y del mes actual. A diferencia del calendario semanal, la vista del día actual permite ver detalles del cliente que son importantes a la hora de dar cita a un cliente: sus otras citas y sus impagos. Por otro lado, el calendario mensual permite ver, por colores, el número de citas para un día en concreto, imitando el funcionamiento de un semáforo (verde: pocas o ninguna cita, amarillo: algunas citas, rojo: muchas citas). PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 48 Para representar las facturas de un cliente, se presentará una lista de facturas existentes, y se intentará imitar el formato de una factura real durante la creación y edición de la misma, de forma que trabajamos de una forma totalmente visual. Finalmente, para la representación del stock, recurriremos a diversos listados, clasificados de diversas formas, que nos ayuden según qué nos interese en cada momento. Y será posible cambiar este stock directamente desde la aplicación. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 49 DISEÑO DE LA BASE DE DATOS Diseño conceptual Vamos a diseñar la base de datos. El modelo que se ha determinado utilizar en el presente proyecto para dicho diseño es el Modelo entidadrelación, propuesto por P. Chen en 1976. El modelo ER permite representar, en lo que se llama diagrama ER, las estructuras que constituyen el contenido del sistema de información junto con restricciones de distintos tipos que limitan las ocurrencias válidas de las mismas. Para ello hace uso, fundamentalmente, de tres conceptos: entidad, atributo y relación. Además, para aumentar la capacidad expresiva del modelo también se contempla la definición de objetos compuestos mediante la agregación de entidades y la definición de objetos especializados (o generalizados). Además del Diagrama Entidad-Relación, también definiremos las restricciones de integridad externas y las transacciones. Las restricciones de integridad externas sirven para describir aquello que no puede ser representado en el diagrama de manera clara y concisa. Las transacciones se utilizan para describir cosas dinámicas, es decir, la manera en la que evoluciona el sistema. Se expone en primer lugar el diagrama en su totalidad, mostrando las entidades, las relaciones y restricciones existentes entre ellas, formando el conjunto de la Base de Datos. En segundo lugar se muestran cada una de las entidades con sus atributos y sus restricciones de Valor No Nulo, Restricción de Existencia, restricción de Cardinalidad Máxima y Restricción Estructural. En tercer lugar se realiza un análisis más exhaustivo de las entidades y relaciones que componen la base de datos para su completa comprensión. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 50 DIAGRAMA E – R Este es el diagrama E-R correspondiente al PFC: Se va a comentar brevemente este diagrama. Un cliente tiene 1 doctor (y como máximo 1), ninguna o ‘n’ citas y 1 historia médica (y como máximo 1). Un cliente tiene ninguna o 1 historia dental. Cada línea de la historia dental puede no pertenecer a ninguna factura o a 1 factura, pero cada una tiene 1 cliente (y como máximo 1) y un trabajo. Este trabajo puede estar ‘n’ veces, ya que a cada cliente le pueden efectuar varias intervenciones del mismo trabajo (por ejemplo, una caries, que sería el trabajo, en varios dientes). Un trabajo incluye gasta cierta CantidadProductoUsado (o ninguna, depende del tipo de trabajo). Para cada CantidadProductoUsado se utiliza cierta cantidad de ProductoServicio. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 51 Especificación de restricciones del diseño conceptual Vamos a repasar las restricciones del esquema E-R. Vamos especificar qué campos van a ser clave primaria, cuales tendrán valor no-nulo, cuales son únicos y también especificaremos las restricciones de existencia. Restricciones de clave primaria Cliente (idCliente) Doctor (idDoctor) Historia Médica (NumHMedica) Cita (idCita) Historia dental (NumHDental) Detalle Factura (NumFactura) Trabajo (NumTrabajo) CantidadProductoUsado (NumTrabajo, NumProducto) ProductoServicio (NumProducto) Restricciones de valor no nulo Cliente (Apellidos, Nombre, Domicilio, Doctor, teléfono fijo*, teléfono móvil*). Doctor (Apellidos, Nombre, NumColegiado) Historia Médica (Pregunta, Respuesta) Cita (Fecha, Hora, TipoTrabajo) Historia dental (Fecha, Pieza, Observaciones, Debe, Haber) Detalle Factura (Fecha, Pagada) Trabajo (Trabajo) CantidadProductoUsado (CantidadUsada) ProductoServicio (CantidadActual, CantidadMinima, Descripción) * Un cliente debe tener al menos teléfono fijo o un teléfono móvil, esta restricción se comprueba desde el propio programa. Restricción de existencia Relación “asignado” de Cliente a Doctor. Relación “tiene” de H.Médica a Cliente. Relación “obtiene” de Cita a Cliente. Relación “compone” de H.Dental a Trabajo. Relación “incluye” de CantidadProductoUsado a Trabajo. Relación “utiliza” de CantidadProductoUsado a ProductoServicio. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 52 Elaboración del esquema lógico de datos del sistema El esquema lógico nos permite, a “grosso modo”, traducir el esquema entidad-relación, junto con las restricciones, a las tablas de la BBDD que hayamos decidido utilizar. A modo de ejemplo vamos a “traducir” la entidad Cliente, que es la más importante del PFC. Cliente Clave Primaria {idCliente} VNN {Apellidos, Nombre, Domicilio, Teléfono fijo, Teléfono móvil} Clave Ajena {idDoctor} Otros campos de los que deseamos guardar información CampoC DNI FechaNacimiento NPiezasExistentes Observaciones NO_LISTAR_MOROSO Todos estos campos pueden tener valor nulo. Como se menciona en el siguiente apartado, algunos de ellos se mantienen para mantener la compatibilidad con el S.I. antiguo. A tener en cuenta en la construcción del esquema de datos Hay un detalle a tener en cuenta respecto al PFC y es el hecho de que hay campos en el S.I. “antiguo” (el de lápiz y papel), que no deberían estar en la nueva BBDD, pero que de hecho lo están. Para la tabla cliente, por ejemplo, son los siguientes campos: • CampoC: Se utilizaba para guardar el tono del color de la dentadura del paciente. Necesario para encargar fundas y piezas dentales artificiales. • NPiezasExistentes: Cantidad de piezas que conserva el paciente. Estos campos se usaron un tiempo en el S.I. antiguo, después dejaron de usarse. En la nueva BBDD se han mantenido estos campos por el simple motivo de que el cliente al que va dirigido un producto (en este caso el PFC) es caprichoso e imprevisible. Como ingeniero informático intentamos optimizar el diseño y eliminar lo superfluo. Pero la experiencia nos dicta que un cliente que recibe un producto hecho a medida, aunque esté de acuerdo al 100% con el producto, a posteriori nos va a exigir que volvamos a implementar partes del programa que hemos eliminado. Por tanto, si el cliente decidiese darles uso a los campos antes mencionados, ya los tendríamos listos para su uso en la BBDD, sólo habría que modificar el programa, pero no la BBDD. Estos campos no suponen un problema para el uso de nuestro PFC, ya que estamos dándole un uso pequeño al SGBD, al tratarse de una clínica pequeña y ser “pocos” los datos que necesitamos manejar. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 53 SOFTWARE UTILIZADO PARA EL DESARROLLO XAMPP XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris y Mac OS X. Oficialmente, los diseñadores de XAMPP sólo pretendían su uso como una herramienta de desarrollo, para permitir a los diseñadores de sitios webs y programadores testear su trabajo en sus propios ordenadores sin ningún acceso a Internet. En la práctica, sin embargo, XAMPP es utilizado actualmente como servidor de sitios Web, ya que, con algunas modificaciones, es generalmente lo suficientemente seguro para serlo. Con el paquete se incluye una herramienta especial para proteger fácilmente las partes más importantes. Usaremos XAMPP para nuestro proyecto ya que nos permite instalar de una vez varios de los programas que necesitaremos, como son MySQL y phpMyAdmin, sin tener que instalar y configurar cada programa por separado. Es muy fácil de usar y es gratuito. Además, XAMPP instala un programa residente que nos permite activar y desactivar servicios y programas a voluntad, con lo cual controlarlos es muy sencillo. En el caso del PFC, utilizaremos el servidor Apache y MySQL. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 54 MYSQL y PhpMyAdmin MYSQL MySQL es un sistema de gestión de bases de datos relacional, multihilo, multiusuario y multiplataforma. Se trata de un sistema de gestión de BBDD potente y a la vez sencillo de usar. Las necesidades de nuestra PYME están más que cubiertas con este programa, ya que el acceso a la BBDD no es tan intensivo como para necesitar programas más potentes. PhpMyAdmin PhpMyAdmin es una herramienta escrita en PHP con la intención de manejar la administración de MySQL a través de páginas web, utilizando Internet. Actualmente puede crear y eliminar Bases de Datos, crear, eliminar y alterar tablas, borrar, editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos en varios formatos y está disponible en 62 idiomas. Se encuentra disponible bajo la licencia GPL. Mediante phpMyAdmin podremos controlar la BBDD durante el desarrollo de la aplicación, ya que nos permite crear y editar las tablas de la BBDD visualmente de una forma sencilla. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 61 Pruebas de la aplicación Como ejemplo, vamos a realizar los procesos de prueba relacionados con el alta de los datos personales de un cliente, pues es uno los procesos más importantes del presente PFC. PROCESO DE PRUEBA: ALTA DE NUEVO CLIENTE 1. Sistema: Prototipo del PFC, completo o parcial (parte de creación de nuevo cliente terminada). 2. Elementos a probar: • Comprobación del formato de los campos de entrada (restricciones de diseño). • Comprobación de que no se permite el alta sin los datos mínimos a imputar (restricción de diseño). • Comprobación del formato del DNI (restricción de diseño). • Comprobación de que se recogen correctamente los datos del alta. • Alta del cliente en la BBDD, comprobación de la consulta SQL. • Alta del cliente en la BBDD, comprobación del alta con PhpMyAdmin 3. Decidir cuál es el objetivo de la prueba, cuales son los criterios de éxito y de fracaso. El objetivo de la prueba es comprobar que la parte del código del programa para dar de alta un nuevo cliente funciona correctamente y que efectivamente el nuevo cliente es creado en la BBDD. 4. Hacer una lista de qué o quién interviene en el proceso, y de las tareas a realizar. Interviene en el proceso: el proyectando, que hace el papel de Auxiliar de la clínica. Las tareas a realizar son las siguientes: A. Definir los datos personales de un cliente ficticio (nombre, apellidos, número de teléfono fijo, número de teléfono móvil, DNI, dirección y observaciones). B. Imputar estos datos y comprobar que el sistema los recoge correctamente. C. Imputar estos datos y comprobar si el formato del DNI es chequeado correctamente. D. Imputar estos datos, pero no todos, y comprobar cuando no es posible dar de alta el cliente. E. Imputar estos datos y comprobar que la consulta SQL se ha construido correctamente. F. Imputar estos datos y generar la consulta SQL, comprobar que se imputado el nuevo cliente en la BBDD. 5. Definir el calendario de pruebas. Estas pruebas se realizarán tan pronto como se termine de programar el código de la parte del programa hecha para dar de alta un cliente. 6. Riesgos y contingencias que pueden ocurrir durante el proceso de prueba. En principio las pruebas no deberían suponer un riesgo para ninguna parte del sistema ni de la BBDD. No obstante puede suceder que la consulta a la BBDD esté mal realizada y afecte a otras partes de la BBDD. Para evitarlo comprobaremos la consulta SQL antes de lanzarla. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 62 TAREA A. Vamos a definir los datos personales de un cliente ficticio (nombre, apellidos, número de teléfono fijo, número de teléfono móvil, DNI, dirección y observaciones). Nombre: Rodrigo Apellidos: Díaz de Vivar Teléfono fijo: 963359060 Teléfono móvil: 665000222 DNI: 12322115A Dirección: Castillo del Reino de Valencia Observaciones: Paciente con hipertensión y diabetes tipo 2. TAREA B. Vamos a imputar los datos del cliente y comprobaremos que el programa los recoge correctamente. Para comprobarlo, utilizaremos la función prompt de Zinc que está contendido en la clase Dialogs de Zinc. Mediante esta función, podemos mostrar una ventana con el texto que deseemos. Además podemos mostrar el valor de una o varias variables en esa ventana. Podemos usar esta función cualquier parte de un programa Flash. Formato de la función prompt: mdm.Dialogs.prompt(message:String):Void Un ejemplo: mdm.Dialogs.prompt("Nombre: "+variableNombre+ “Apellidos: ”+ variableApellidos); Así, podemos comprobar uno a uno los datos del cliente, o todos de una vez. TAREA C. Para comprobar el código que hace el chequeo del DNI, escribiremos el código del DNI junto con la letra. Si es correcto debería aparecer una señal indicándolo. Existen innumerables programas que tienen implementada esta función, se trata de una simple operación matemática que asigna una letra, llamado dígito de control, a los 8 números del DNI. En el PFC se comprueba tanto el DNI para españoles para extranjeros (estos empiezan por ‘X’ o por ‘Y’). TAREA D. Tal y como se detalla en el caso de uso correspondiente, los datos mínimos necesarios para dar de alta un cliente son: Nombre, Apellidos, Dirección y al menos un teléfono (no importa si es el fijo o el móvil). Opcionalmente se pueden introducir el DNI, las observaciones y, si no se ha introducido, el teléfono que faltase. Por tanto haremos diversas pruebas poniendo algunos campos y otros no, de forma que el botón OK no debe aparecer si no se cumple lo dicho en el anterior párrafo. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 63 El algoritmo utilizado en el programa es el siguiente: 0-comprobar que existen nombre/apellidos y que ningún otro cliente de la BBDD se llama igual. 1-comprobar que existen nombre/apellidos/domicilio. 2-comprobar que Caso 1: existe teléfono, NO existe móvil Caso 2: NO existe teléfono, existe móvil Caso 3: existe teléfono, existe móvil 3-entonces comprobar que caso de los siguientes se da Caso a: NO existe DNI, NO existe Observaciones Caso b: existe DNI, NO existe Observaciones Caso c: NO existe DNI, existe Observaciones Caso d: existe DNI, existe Observaciones 4-grabar cliente. TAREA E. Una vez comprobados todos los casos posibles, comprobaremos que el texto de la consulta SQL se realiza correctamente, aunque NO haremos la consulta. Para ello utilizaremos la función prompt de Zinc (explicada en la Tarea B). Esta es la consulta para el caso 2.1 (cada caso tendrá su propia consulta): Consulta="INSERT INTO "+tableName+"(Nombre, Apellidos, Telefono1, Domicilio) VALUES ('"+envio_lv.Nombre+'\',\''+envio_lv.Apellidos+'\',\''+envio_lv.Telefono1+'\',\''+envio_lv.Domicilio+'\')' ”; mdm.Dialogs.prompt(Consulta); TAREA F. Vamos a comprobar todos los casos posibles, comprobaremos que la consulta SQL se realiza correctamente. Para ello primero utilizaremos una función llamada runQuery para comprobar que la BBDD nos devuelve éxito al crear el cliente. Después utilizaremos PhpMyAdmin para comprobarlo visualmente. Formato de la función runQuery: mdm.Database.MySQL.runQuery(query:String):Boolean Así, escribiremos: var querySuccess:Boolean = mdm.Database.MySQL.runQuery = "UPDATE "+tableName+" SET NO_LISTAR_MOROSO=1 WHERE idCliente = \'"+idclienteActual +"\'"; mdm.Dialogs.prompt(“Resultado consulta SQL: “+querySuccess); Además, podemos ver fácilmente si se ha grabado el nuevo cliente en la BBDD con PhpMyAdmin. Tan solo habrá que visualizar el contenido de la BBDD y la tabla cliente, y refrescar la información después de cada intento. Captura de PhpMyAdmin: PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 64 ANEXO III MANUAL DE USUARIO Introducción a los manuales de usuario Todo programa debe ir acompañado la documentación necesaria para poder llevar a cabo una buena utilización de dicho programa. En este PFC, que pretende crear un prototipo tan intuitivo como sea posible, este manual servirá como referencia rápida durante los primeros usos, y después como manual en cada uno de los apartados del programa. Por tanto dividiremos cada apartado del programa en uno de los puntos del manual, documentaremos cada pantalla del programa de forma visual e intentando escribir el menos texto posible. En el caso que nos ocupa, vamos a realizar el manual como si de un programa completo fuese, recordemos que el PFC es un prototipo. En primer lugar mostraremos una guía rápida (similar a las que se adjuntan en cualquier electrodoméstico), y después iremos repasando cada parte del programa. Para hacer el manual, se han de adjuntar capturas del programa para que el usuario pueda guiarse y no perderse en el proceso. No vamos a redactar un extenso manual pues no es la intención de éste PFC, pero sin duda podríamos extendernos mucho más, documentando cada posibilidad, errores, instalación del programa, instalación de los servicios en Windows, etc. Menú principal y guía rápida Veamos primero una Guía Rápida, y después veremos el menú principal. Respecto a la guía rápida, hay que tener en cuenta que, al igual que en muchos electrodomésticos, está guía debería proporcionarse en un formato grande, permite saber en qué parte del programa está la función que deseamos realizar, sin tener que leernos la guía completa. Veamos la guía rápida en la siguiente hoja: PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 65 PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 66 Pantalla principal Nada más iniciar la aplicación aparecerá la PANTALLA PRINCIPAL: En la parte superior, encontramos, además de la fecha, la advertencia de IMPAGOS (si existiesen) y la advertencia de FALTA DE STOCK (si hubiese). Ambas aparecen y desaparecen dependiendo de si hay impagos y falta de stock. Nótese que, en la barra de título de la ventana de la aplicación, aparece el nombre del DOCTOR ACTUAL. Distinguimos una barra de iconos en la parte central, desde la cual accederemos a las distintas partes de la aplicación. Estas partes son: • CLIENTES: Pulsaremos en CLIENTES para ver la ficha de un cliente, su odontograma, su historia dental y su historia médica. • CITAS: Pulsaremos en CITAS para gestionar las citas de un cliente. • FACTURAS: Pulsaremos en FACTURAS para gestionar las facturas de un cliente. • INVENTARIO: Pulsaremos en INVENTARIO para gestionar el inventario de la clínica. Además, en la parte inferior derecha, entraremos un icono en forma de ruedas dentadas (con un formato casi transparente). Es el acceso directo a la CONFIGURACIÓN, desde la cual podemos cambiar el doctor activo. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 67 Gestión de Clientes: elección de cliente Desde la PANTALLA PRINCIPAL, una vez pulsamos en el icono CLIENTES de la barra central, accedemos a la siguiente pantalla, desde la cual gestionaremos los clientes: Desde esta pantalla podemos hacer las siguientes acciones: • Podemos clasificar el listado de clientes por diversos criterios: o Por nombre y apellidos: Pulsando en “Ordenar por apellidos” o en “Ordenar por nombre” o Buscar un cliente con la barra de Búsqueda: Escribiendo su nombre, apellido o DNI. o Buscar un cliente pulsando en las letras: Ordenan por la inicial según nombre o apellido. • Dar de alta un nuevo cliente: Pulsando en el icono NUEVO CLIENTE. • Acceder la pantalla de Morosos: Pulsando en el icono IMPAGOS. CONSEJO: En cualquier parte del programa puede descartar lo que está haciendo y volver a la pantalla principal, pulsando en INICIO. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 68 Gestión de Clientes: Creación de nuevo cliente Desde la PANTALLA DE ELECCIÓN DE CLIENTES, una vez pulsamos en el icono NUEVO CLIENTE, accedemos a la siguiente pantalla, desde la cual daremos de alta a nuestros clientes: En esta pantalla tiene usted que introducir los datos personales del nuevo cliente. Tenga en cuenta que es necesario escribir el Nombre, los Apellidos, la Dirección del domicilio y, al menos, un teléfono (fijo o móvil)* Hecho esto, aparecerá el botón OK, al pulsarlo se da de alta el cliente. Además, puede guardar el DNI y las observaciones que se consideren necesarias. Como se puede observar, si el DNI es correcto aparecerá una marca indicándolo. En cualquier momento puede volver a empezar la edición pulsando en BORRAR, que borra todos los campos y los deja en blanco. Para salir sin crear el nuevo cliente, pulse en Volver o bien en INICIO. CONSEJO: Si usted no escribe el Nombre, los apellidos, la dirección y al menos un teléfono, el icono OK no aparecerá y el programa no le dejará dar de alta el cliente * PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 69 Gestión de Clientes: Resumen Desde la PANTALLA DE RESUMEN podemos gestionar el cliente seleccionado: En esta pantalla se puede encontrar un resumen de la ficha del cliente. Junto con sus datos personales, podemos ver los pagos pendientes y las próximas citas que tiene ese cliente. Si algún dato del cliente es erróneo o deseamos añadir información, basta con pulsar en el campo a editar y corregirlo. Aparecerán dos iconos en la parte inferior: • Botón OK: Graba los cambios • Botón BORRAR: Cancela la edición del cliente. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 70 Gestión de Clientes: Ficha, Dentadura, Historia Dental, Historia Médica. Desde la PANTALLA DE RESUMEN podemos gestionar el cliente seleccionado. Pulsando en: FICHA: Accedemos a la ficha del cliente. Podemos ver y editar los datos personales. Podemos ver cuál es el DOCTOR PREFERIDO del cliente y cambiarlo, pulsando en el desplegable. Además, podemos ver y editar las OBSERVACIONES que creamos necesarias. DENTADURA: Accedemos al odontograma del cliente. Podemos editar cada uno de los dientes del cliente, pintando en cada diente con diferentes colores para indicar enfermedades, tratamientos y otras cosas. Además, podemos ver la radiografía asociada a cada diente. Pulsando en la radiografía ésta se hace más grande para poder verla con más detalle. HISTORIA DENTAL: Accedemos a la historia dental del cliente. Podemos ver cada una de las líneas del cliente. Cada una representa un TRABAJO realizado al cliente, junto con su precio (campo DEBE) y lo que el cliente ha abonado (campo HABER). El campo SALDO representa la cantidad de dinero que debe el cliente por cada trabajo. Podemos crear nuevas líneas, editarlas y borrarlas. Veamos las diferentes pantallas de PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 77 Gestión de Stock Desde la PANTALLA PRINCIPAL, una vez pulsamos en el icono INVENTARIO de la barra central, accedemos a la siguiente pantalla, desde la cual gestionaremos el inventario de la clínica: Podemos acceder a tres diferentes pantallas para realizar diferentes acciones. Si pulsamos en: TOTALES : Se nos mostrará un listado con el stock completo de productos de la clínica. Además podemos editarlo fácilmente. Es posible añadir o quitar una Ud. de un producto pulsando en el botón ‘+’ o en el botón ‘-‘. ORDENAR POR TRABAJO: Se nos mostrarán los distintos trabajos de la clínica, agrupados por categorías. Al seleccionar un trabajo en concreto, el programa nos da una lista de los productos necesarios para hacer ese trabajo. Es posible añadir o quitar una Ud. de un producto pulsando en el botón ‘+’ o ‘-‘. ORDENAR POR FAMILIA: Se mostrarán los distintos productos de la clínica, agrupados por categorías. Es posible añadir o quitar una Ud. del stock de ese producto pulsando en el botón ‘+’ o ‘-‘ PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 78 Otras gestiones Desde la pantalla principal podremos acceder a la pantalla de MOROSOS y la pantalla de FALTA DE STOCK. En la pantalla de morosos se muestra una lista de los clientes que deben dinero por trabajos impagados. • Para un cliente determinado, es posible ocultar su deuda, para que no aparezca en la lista, seleccionando un cliente y pulsando en el botón OCULTAR DEUDA. • Para ver todos los pacientes morosos, incluidos aquellos con deuda oculta, pulsaremos en MOSTRAR TODOS, el listado se actualizará y aparecerán clientes con deuda oculta. • Aquellos con deuda oculta tienen una marca distintiva, podemos quitarla seleccionando el cliente y pulsando el botón MOSTRAR DEUDA. Ese cliente perderá la marca. En cuanto a la pantalla de FALTA DE STOCK, nos muestra una lista de productos por debajo del stock mínimo. Podemos aumentar o disminuir el stock de cada producto pulsando en él y luego en los botones “+” y “-“. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 79 ANEXO IV. SEGURIDAD Y PROTECCIÓN DE DATOS Seguridad El presente prototipo se ha basado en la utilización del paquete XAMPP sobre Windows. Vamos a repasar los principales problemas de seguridad en XAMPP y veremos las soluciones recomendadas para un sistema en producción. XAMPP es un paquete pensado para el desarrollo, nos permite instalar todos los programas que lo componen muy rápidamente sin tener que configurarlos uno a uno. Si instalamos por separado los diversos componentes de XAMPP, tardaremos mucho más y la configuración será más complicada. No obstante, la configuración XAMPP es insegura para un sistema en producción, y hay algunos parámetros a configurar si deseamos tener la máquina funcionando en un sistema real. Básicamente, las c arencias de seguridad en XAMPP son las siguientes: 1. El administrador (root) MySQL por defecto no tiene contraseña. 2. El demonio MySQL es accesible via network. 3. phpMyAdmin es accesible via network. 4. La demopage de XAMPP es accesible via network. Para comprobar la seguridad escribiremos esta dirección en un navegador: http://localhost/security Si XAMPP se instaló con éxito, veremos esta pantalla: Como se puede observar, XAMPP nos advierte (mensajes en rojo), que algunos puntos son inseguros. Al fin y al cabo nuestro programa en flash es sólo un prototipo, no está pensado para usar en entornos de producción, pero puede ser fácilmente adaptado como hemos descrito. En nuestro PFC, que en principio va a desarrollarse en una sola máquina que no estará conectada a Internet, los peligros son básicamente el acceso al equipo (solucionable con contraseñas de acceso) y el peligro de conectar algún USB con virus. No obstante, vamos a tratar la seguridad como si de un equipo conectado a Internet se tratase, al fin y al cabo puede suceder que en el futuro se quiera conectar el equipo a Internet por parte de los dueños de la clínica. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 80 Afortunadamente el propio XAMPP nos da la solución al tema de la seguridad. En la captura anterior se puede observar que XAMPP nos propone escribir esta dirección en un navegador: http://localhost/security/xamppsecurity.php Nos aparece la siguiente pantalla: En esta pantalla podemos: • Elegir una contraseña para el administrador MySQL. • Elegir una contraseña para el acceso a XAMPP La primera opción es MUY IMPORTANTE utilizarla para escribir una contraseña para el admin de MySQL, también llamado root. De esta forma nadie puede acceder a la BBDD y modificarla de forma maliciosa. La segunda opción nos permite bloquear el acceso a XAMPP para que nadie pueda modificarlo. Por tanto también es recomendable configurar esta opción, eligiendo nombre de usuario y contraseña. El prototipo del PFC está pensado para ser usado con el usuario root de MySQL y con acceso total a XAMPP, por lo tanto en su desarrollo no nos preocuparemos, pero para un entorno de producción es recomendable configurar la pantalla anterior. Además, en el caso de MySQL, es recomendable crear un usuario, además del usuario root, que es el que se utilizará para un uso diario en la clínica. Este usuario deberá tener los permisos adecuados para el uso del programa. No es la intención de este PFC entrar a valorar qué permisos son los más adecuados, pero podremos encontrar abundante información en la web de XAMPP y en la web de MySQL, además de en Internet. Para crear un usuario, no hay nada más fácil. La forma de hacer esto mediante XAMPP es acceder a esta dirección: http://localhost/phpmyadmin/ PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 81 Y hacer clic en la pestaña PRIVILEGIOS y después en “Agregar un nuevo usuario” y darle los privilegios adecuados: Una vez creados los usuarios/contraseñas que creamos oportunos, para volver a comprobar la seguridad escribiremos esta dirección en un navegador: http://localhost/security Esta vez XAMPP nos pide logearnos para acceder: Y ahora tenemos “luz verde” en seguridad: Nota: Los puntos en amarillo podemos ignorarlos, se refieren a la utilización de programas que no vamos a usar aquí, como son un servidor FTP, un servidor POP3 y el addon Tomcat. Si hacemos las modificaciones a la seguridad que hemos descrito, será necesario modificar el código flash y modificar las llamadas a la BBDD con el usuario/contraseña de MySQL. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 82 Protección de datos Vamos ahora a tratar el plan de protección de datos de la empresa. Cuando hablamos del plan de protección de datos, nos referimos principalmente al concepto de Seguridad de la Información. Más adelante hablaremos de cómo la legislación trata la protección de datos de carácter personal. Cuando hablamos de la Seguridad de la Información, nos referimos a varias cosas: • La propia información: hablaremos de su administración por usuarios autorizados y no autorizados. También hablaremos de su restauración en el caso de que la información sufra daños ya sea por accidentes, accesos no autorizados o desastres. • La infraestructura: hablaremos del sistema hardware y de cómo debe ser administrado para su correcto uso. • Los usuarios: Hablaremos de los distintos usuarios, de sus restricciones para acceder a la información y de sus funciones en cuanto al acceso y mantenimiento de la información. La información es el activo más importante de la empresa. Sin la información, la empresa no tiene datos con los que trabajar y, por tanto, debe ser asegurada. En el presente PFC el equipo informático consiste en un solo equipo sin conexión a Internet al que acceden tanto el doctor como el auxiliar. Cualquier otro usuario debe ser considerado como un usuario no autorizado en el uso del equipo. Este PFC es un tanto especial en cuanto a la distinción de usuarios. Normalmente se hace un listado de los distintos usuarios que pueden acceder a las distintas partes del programa, pero en este PFC, que está diseñado para que cualquiera pueda utilizarlo de una forma muy sencilla, no tiene razón de ser. Debido a que está creado para el uso en una pequeña clínica, en ocasiones tendremos trabajando tanto al auxiliar como al doctor, pero en alguna ocasión podemos encontrar sólo al doctor trabajando y haciendo todo el trabajo. Es por ello que tanto el auxiliar como el doctor tendrán los mismos privilegios desde el punto de vista de los programas. Sólo hay una distinción, y es el doctor que trata a los pacientes no siempre es el mismo. Esto es muy normal en pequeñas clínicas, además del “doctor principal” (que suele ser el dueño), trabajan a tiempo parcial algunos doctores están especializados en determinados trabajos (como pueden ser realizar endodoncias o colocar aparatos dentales). También se da el caso de que según el usuario, se le asigna un doctor u otro, a veces por preferencias del usuario, a veces por cómo trabaja el doctor. Así pues, sí distinguiremos al doctor que está trabajando en un momento determinado, y también el doctor preferido de un cliente. Esto se refleja de la siguiente forma: En la BBDD - Tabla cliente: Existe un campo para el doctor preferido. En la BBDD – Tabla hdental: Existe un campo para el doctor que ha realizado un trabajo determinado. En el programa – Fiche de cliente: Nos permite ver cuál es el doctor preferido y cambiarlo. En el programa – Configuración: Nos permite elegir qué doctor está trabajando en un momento PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 83 determinado. Acceso al sistema El acceso de usuarios no autorizados en el sistema es un asunto muy grave. Para evitar esto, el acceso al sistema se hace utilizando el sistema de usuario y contraseña en el arranque del sistema operativo. Una vez encendido el sistema, sólo se permitirá un uso reducido para evitar daños a los programas. Para ello, el sistema operativo Windows permite distinguir entre administrador y usuario estándar. La instalación del sistema y su puesta en marcha se hará con el usuario administrador. Una vez el sistema entre en producción, se utilizará el usuario estándar para el uso habitual. El usuario estándar no puede instalar programas ni realizar modificaciones que afecten al sistema o a otros usuarios. Internet y conexión al equipo de memorias USB Como ya se ha comentado, el sistema no estará conectado a Internet, pero como no siempre se puede saber lo que va a pasar en el futuro, nos aseguraremos de establecer cierta seguridad adicional, como es el uso de un antivirus. Existen varios antivirus en el mercado que son sencillos de uso y a precios asequibles. Existen también algunos antivirus gratuitos. Estos antivirus serán también adecuados para evitar la propagación de virus por USB. Aunque el presente PFC contempla el uso del USB para copias de seguridad, es posible que los clientes y doctores quieran utilizarlo para otro fin como, por ejemplo, copiar archivos de radiografías. Aunque este uso es lícito, si el USB estuviese infectado, podría ser peligroso sin un antivirus instalado. Copias de seguridad Siempre existe la posibilidad de que el sistema se vea afectado por un accidente (una subida de tensión p.e.), un accidente natural (un incendio p.e.) o un robo. Aunque el sistema puede ser reemplazado, se deben evitar las consecuencias de perder la información. Por ello se hará una copia de seguridad semanal. Esta copia de seguridad la realizará el auxiliar o el doctor, y consiste en el uso de un USB especial. Este USB lleva precargado un programa de copias de seguridad. Previamente a su uso diario, el programa debe ser configurado para su uso, tarea que hará el proyectando, pero una vez puesto en marcha, basta con conectar el USB al ordenador, esperar a que cargue el programa, y pulsar un botón en el USB. Existen muchas opciones en el mercado. Para el PFC, se ha elegido una memoria Kingston de 16 GB, configurada para hacer una copia incremental de la BBDD y de los archivos del sistema. Trimestralmente, el contenido del USB se vuelca a un disco duro en otro ordenador, con el fin de tener una copia. No obstante, si nos hiciera falta más capacidad, se puede usar cualquier software del mercado y un disco duro a tal efecto. Si hubiese que restaurar los datos, es muy sencillo devolver la información al sistema utilizando el software que lleva el USB incorporado. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 84 Cifrado del disco Por otro lado, y en cuanto a la protección de la información contra robo, lo más seguro es cifrar el contenido del disco duro, para que no pueda ser leído. El cifrado, de nuevo, es posible realizarlo con múltiples programas existentes en el mercado. No obstante, nosotros utilizaremos una utilidad llamada TrueCrypt. TrueCrypt es software libre, es fácil de instalar y usar. Puede encriptar una partición o el disco duro completo y, una vez instalado y configurado, es completamente transparente, es decir, todas las operaciones con archivos se realizan como si el volumen cifrado fuese un disco normal. Protección de datos personales Nos vamos a referir en este apartado a la Ley Orgánica 15/1999 de Protección de Datos de Carácter Personal y al Real Decreto 1720/2007 que la desarrolla, son dos de las normas que influyen de manera más determinante en la configuración de los sistemas informáticos de cualquier organización. Podemos encontrar la Ley 15/1999 de protección de datos de carácter persona, junto con mucha más información aquí: https://www.agpd.es/portalwebAGPD/index-ides-idphp.php Podemos encontrar el Real Decreto por el que se aprueba el reglamento de desarrollo de la Ley orgánica 15/99, de 13 de diciembre, de protección de datos de carácter personal aquí: https://www.agpd.es/portalwebAGPD/canaldocumentacion/legislacion/estatal/common/pdfs/RD_1720_20 07.pdf Todas las empresas, no importa cuál sea su área de negocio o su tamaño, están obligadas a cumplir con ella si en cualquiera de sus actividades tratan con datos de carácter personal. Existen unas pautas que podemos seguir para cumplir con las leyes de protección de datos personales. • Fase I. Adaptación de ficheros: una de las principales implicaciones que la normativa sobre protección de datos tiene para las empresas es la necesidad de notificar sus ficheros ante el Registro de la AEPD. Para ello, como paso previo, es necesario que la empresa identifique los datos de carácter personal que se están manejando en su ámbito y cómo se encuentran éstos organizados (ficheros automatizados, no automatizados, mixtos). • Fase II. Legitimación de datos: todos los datos de carácter personal recogidos por la empresa, deben contar con el consentimiento del afectado, así como cumplir una serie de principios y obligaciones básicas previstas en la normativa. • Fase III. Políticas de seguridad de datos: la LOPD y el RDLOPD establecen una serie de medidas de carácter técnico y organizativo que garanticen la seguridad de los datos de carácter personal, que habrán de adoptarse por la empresa o profesional que almacene estos datos. Entre estas medidas se incluye la elaboración de un documento de seguridad en el que se detallarán los datos almacenados, las medidas de seguridad adoptadas, así como las personas que tienen acceso a esos datos. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 85 Para cumplir con lo dispuesto en la Fase I será necesario notificar los ficheros a la AEPD (Agencia Española de Protección de Datos). Para realizar la inscripción inicial del fichero y, en su caso, la posterior modificación o supresión de la inscripción, se encuentra disponible el formulario electrónico NOTA (titularidad pública y titularidad privada) a través del que deberán efectuarse las solicitudes de inscripción de ficheros en el Registro General de Protección de Datos (aprobado mediante Resolución de la AEPD de 12 de julio de 2006B.O.E. 181 de 31 de julio). Este formulario permite la presentación de forma gratuita de notificaciones a través de Internet con certificado de firma electrónica. En caso de no disponer de un certificado de firma electrónica, también puede presentar la notificación a través de Internet, para lo cual deberá remitir a la Agencia la Hoja de solicitud correspondiente al envío realizado debidamente firmada. Por último, puede optar por el modo de presentación en soporte papel. Por tanto, en este paso deberemos remitir cómo guardamos los datos (en este caso en una BBDD electrónica), así como cualquier otro dato que pueda ser considerado de carácter personal (por ejemplo, las radiografías son documentos personales de cada paciente). Para cumplir con lo dispuesto en la Fase II será necesario disponer del consentimiento de cada paciente en la utilización de sus datos. Es por ello que será necesario obtener un documento firmado de cada paciente en la primera visita con vistas a cumplir la legalidad. En el antiguo S.I. de la clínica, el consentimiento se conseguía rellenando y firmando la Historia Médica (una copia de este documento puede verse en el Anexo V). Sin embargo al pasar a ser la Historia médica parte de la BBDD, no será posible firmarlo de la manera tradicional. PFC: Prototipo de Programa para Clínica Dental mediante el uso de interfaz táctil Daniel Bustos Fernández Prototipo de Programa para Clínica Dental Daniel Bustos Fernández 86 Este es el documento que deberá ser firmado por el paciente: NOMBRE DE LA CLÍNICA Fecha….…………….. CONSENTIMIENTO DE CESIÓN DE DATOS PERSONALES Don/Doña………………………………………………………………………………………….. con DNI ……………………… y con domicilio en ……………………………….............................. Fdo …………………….. Conforme a la Ley 15/1999, de 13 Dic., de Protección de Datos de Carácter Personal, los datos personales proporcionados SON CONFIDENCIALES y forman parte de los ficheros titularidad de NOMBRE DE LA CLÍNICA. Puede ejercer sus derechos de acceso, rectificación y oposición, dirigiéndose por escrito a nuestras oficinas, en la siguiente dirección DIRECCION DE LA CLÍNICA. Para cumplir con lo dispuesto en la Fase III será necesario establecer ciertas medidas para garantizar la seguridad de los datos personales. Las medidas que debemos tomar las hemos desarrollado en este PFC. Esto es, nos referimos a todas las medidas dispuestas para proteger el sistema y por ende a los datos). Estas medidas son las siguientes: • Protección de acceso al sistema. • La instalación de un antivirus. • Cifrar el disco duro. • Proteger el acceso a la BBDD. • Proteger el acceso a XAMPP. • Limitar los permisos del usuario en el S.O.