Manual Tecnico.pdf

23
Autores | INCC. Rubí Casarrubias Damián, INCC. Emmanuel Frías MANUAL TÉCNICO SISTEMA DE ADMINISTRACIÓN DE RECURSOS INTEGRALES

Transcript of Manual Tecnico.pdf

  • Autores | INCC. Rub Casarrubias Damin, INCC. Emmanuel Fras

    MANUAL TCNICO

    SISTEMA DE ADMINISTRACIN DE RECURSOS INTEGRALES

  • 1

    Contenido

    Calendarizacin ................................................................................................................................ 2

    Introduccin ....................................................................................................................................... 3

    Objetivo General ............................................................................................................................... 4

    Definicin ........................................................................................................................................... 5

    Caractersticas .................................................................................................................................. 5

    Aplicacin........................................................................................................................................... 5

    Modelo ................................................................................................................................................ 5

    Diagramas ......................................................................................................................................... 6

    Diagrama de Flujo de Datosnivel 0 (DFD-0) ............................................................................ 6

    Diagrama de Flujo de Datos nivel 1 (DFD-1) ........................................................................... 7

    Diagrama de Flujo de Datos nivel 2 (DFD-2) ........................................................................... 8

    Diagrama de Estado de Proceso ............................................................................................... 9

    Descripcin de la Base de Datos ................................................................................................. 10

    Diagrama Entidad Relacin. ......................................................................................................... 14

    Codificacin de las pantallas ........................................................................................................ 15

  • 2

    Calendarizacin

    Nombre Fecha de inicio Fecha de fin

    Planeacin. 16/09/13 22/09/13

    Establecimiento de Tiempos.

    16/09/13 18/09/13

    Partes del Proyecto. 19/09/13 21/09/13

    Realizacin de Diagrama de Gantt.

    16/09/13 22/09/13

    Diseo. 23/09/13 29/09/13

    Diseo de Base de Datos 22/09/13 24/09/13

    Diseo de Diagrama Entidad Relacin.

    23/09/13 27/09/13

    Diseo de Interfaces Graficas.

    28/09/13 29/09/13

    Diseo de Diagrama Formal de Datos (3 Etapas).

    28/09/13 29/09/13

    Construccin 30/09/13 8/11/13

    Codificacin de Base de Datos.

    30/09/13 7/10/13

    Codificacin de Interfaz Grafica.

    8/10/13 22/10/13

    Unin Base de Datos - Interfaz Grafica.

    23/10/13 1/11/13

    Montaje de Base de Datos en Servidor.

    2/11/13

    5/11/13

    Realizacin de Manual Tcnico.

    30/09/13 19/10/13

    Realizacin de Manual de Usuario.

    20/10/13 8/11/13

    Despliegue. 9/11/13 9/12/13

    Pruebas de Integridad de Datos.

    9/11/13 13/11/13

    Pruebas del Software 14/11/13 18/11/13

    Capacitacin del Personal.

    19/11/13 8/12/13

    Entrega Final 9/12/13 9/12/13

    Comunicacin 5/12/13 5/12/13

    Comunicacin 10/09/13 15/09/13

    Entrevista con el Cliente. 10/09/13 12/09/13

    Establecimiento de Requisitos.

    13/09/13 15/09/13

  • 3

    Introduccin

    En este manual hablaremos sobre el desarrollo tcnicode SARIN (Sistema

    de Administracin de Recursos Integrales), el cual est enfocado en la

    administracin de archivos en un entorno hospitalario, tambin incluiremos y

    describiremos algunas partes importantesdel cdigo que conforma este software.

    As como tambin hablaremos un poco sobre la base de datos que

    contiene, ya que esta es muy indispensable para el sistema.

  • 4

    Objetivo General

    Este sistema est enfocado a mejorar el servicio y uso de los archivos de

    pacientes de los hospitales en general ya sean pblicos o privados, esto con la

    finalidad de que realicen sus actividades las cuales tengan que ver con los

    archivos de los pacientes, se pretende registrar las modificaciones, el ingreso y

    egreso de cada archivo que solicite algn doctor o personal encargado de alguna

    rea en especifico, con el fin de mejorar el controlde archivos, altas, bajas,

    tramites y el buen uso del mismo para as evitar algunasprdidas de estos

    archivos.

  • 5

    Definicin

    SARIN es un software de aplicacin el cual est enfocado en facilitar la

    administracin de archivos de pacientes y el manejo de recursos.

    Caractersticas

    SARINcuenta con:

    Control de usuarios.

    Administracin de permisos.

    Una interfaz de conexin para mltiples usuarios.

    Manejo de archivo de pacientes, contacto y recursos.

    Interfaz que facilita la solicitud de medicamentos y estudios al

    paciente.

    Aplicacin

    SARINest diseado para funcionar dentro de cualquier entorno hospitalario

    ya sea en el ramo privado o pblico, siempre y cuando se cuente con la

    infraestructura necesaria para la funcionalidad de este.

    Modelo

    SARIN pertenece a un modelo de proceso en espiral, ya que se basa en el

    avance constante y desarrollo de nuevas funcionalidades, esto permitiendo una

    aplicacin novedosa y personalizable en base a las necesidades de cada usuario.

  • 6

    Diagramas

    Diagrama de Flujo de Datosnivel 0 (DFD-0)

    Tambin conocido como diagrama de contexto o nivel 0, este DFD muestra

    lasfunciones que realiza el sistemade manera general, las cuales se describen

    brevemente a continuacin:

    Consultas a las bases de datos del sistema:Realizando lecturas

    con la finalidad de obtener el contenido de las tablas de la base de datos.

    Modificacin de la informacin:Realiza actualizaciones en las

    tablas de la base de datos.

    Creacin de nuevos registros:Captura de informacin a travs de

    las interfaces grficas para crear nuevos registros.

  • 7

    Diagrama de Flujo de Datos nivel 1 (DFD-1)

    Este diagrama, tambin conocido como preliminar nivel 1, muestra como

    est conformado el sistema en niveles inferiores, nos explica mejor las

    interacciones entre las actividades que lleva acabo el usuario.

    Todas las acciones se basan en interacciones con la base de datos, mas

    delante de describen las tablas con las que trabaja el sistema y la base de dato.

  • 8

    Diagrama de Flujo de Datos nivel 2 (DFD-2)

    Tambin conocido como Flujo de Datos de Subnivel, describe de manera

    grfica un proceso en especfico, haciendo ms sencilla la comprensin de cada

    uno de estos.

    De manera ms concreta se toma en consideracin las funciones a partir de

    la base de datos, en sentido hacia las interfaces grficas, el orden de

    funcionalidad se describe de la siguiente manera:

    Se ingresan datos a travs de las interfaces grficas.

    El sistema se comunica con la base de datos.

    Recibe respuesta de la base de datos y la muestra en las

    interfaces grficas.

  • 9

    Diagrama de Estado de Proceso

    Tambin se le conoce como diagrama de funcin de estado, se especifica

    el proceso y se utiliza para describir todos los procesos del modelo y la forma del

    flujo de los datos, as como los la activacin de cada uno de los estados:

    Estado de ACCESO

    o Solicita un usuario y Contrasea

    o Se validan lo datos

    o Se cuenta el intento de Ingreso

    Estado de Reinicio

    o Valida la ruta de la base de datos

    o Valida la configuracin del usuario

    o Inicia el arranque de la interfaz grafica

    Estado Ocioso

    o Muestra men y opciones

    o Espera la seleccin de opciones

    Estado Activo

    o Se selecciona un nuevo paciente

    o Se selecciona modificar

    o Se selecciona captura de datos

    o Se selecciona cambio de configuracin

    o Seleccionar

    o Se validan datos

    o Guardar en base de datos

    o Se lee desde base de datos

  • 10

    Descripcin de la Base de Datos

    Se diseo la base de Datos para obtener un funcionamiento eficiente para el

    sistema con MySQL debido a que esta plataforma nos permite un diseo amplio y

    concreto de las tablas y los campos que contiene la Base de Datos.

    Tambin nos permite implementacin de restricciones de seguridad y llaves

    forneas entre otras cosas que incluye.

    En primera instancia se muestran las tablas que conforman la Base de Datos y

    una descripcin de su contenido y relaciones:

    Tabla UserPermission:

    esta tabla cuenta con los nombres de usuarios y contraseas asi como tambin

    los permisos de actividad para cada uno de estos.

    UserPermission

    iduser varchar(5)

    userpass varchar(45)

    lectura bit(1)

    escritura bit(1)

    modificar bit(1)

    usermod bit(1)

    groupmod bit(1)

    configmod bit(1)

    PrimaryKey iduser

  • 11

    Tabla expedientePaciente:

    En esta tabla se muestran los nmeros de expedientes as como tambin todos

    los datos personales de cada uno de los pacientes que se encuentran en el

    sistema.

    expedientePaciente

    noexpediente int(11)

    nombre varchar(45)

    apaterno varchar(45)

    amaterno varchar(45)

    curp varchar(18)

    edad int(11)

    finacimiento Date(yyyy/mm/dd)

    direccion varchar(45)

    codpostal varchar(45)

    colonia varchar(45)

    municipio int(11)

    estado int(11)

    numtel varchar(10)

    numcel varchar(20)

    correo varchar(45)

    PrimaryKey (noexpediente)

  • 12

    Tabla Movpaciente:

    Se muestran los movimientos que se realizan al archivo de cada paciente los cuales son:Altas, Bajas, Recetarios, Paces de estudio, Asignaciones de espacios, Paces de cirugas, etc.

    Tabla

    detalleMovimiento:

    Detalla los movimientos que se realizan a los expedientes de los pacientes

    agrupndolos por fechas y el usuario que realiza dicho movimiento.

    MovPaciente

    Nomovimiento int(11)

    Noexpediente int(11)

    Iduser varchar(5)

    noTipoMovimiento int(11)

    Tipomov varchar(45)

    Fechamov date

    Estatus varchar(45)

    PrimaryKey (nomovimiento)

    detalleMovimiento

    Nodetalle int(11)

    Nomovimiento int(11)

    Iduser varchar(45)

    Detallemov varchar(100)

    PrimaryKey nodetalle

  • 13

    Tabla Medicamento:

    En esta tabla se registran todas las claves, Nombres, Fechas de subministro,

    Fechas Retiro y las observaciones del medicamento que se le entrega al paciente.

    Tabla Laboratorio:

    En esta tabla se registran todos los nombres de los distintos laboratorios de las

    diferentes reas que hay as como tambin su duracin expresada en horas

    aproximadas, la fecha de inicio(cita), y la fecha de entrega del mismo.

    Medicamento

    idMedicamento int(11)

    nombreMedicamento varchar(45)

    Clave varchar(45)

    fechaSumistro Date

    fechaRetiro Date

    Observacin varchar(100)

    PrimaryKey idMedicamento

    Laboratorio

    idLaboratorio int(11)

    nombre varchar(45)

    duracion int(11)

    fechaInicio Date

    fechaEntrega Date

    observacion varchar(100)

    PrimaryKey idLaboratorio

  • 14

    Diagrama Entidad Relacin.

    A continuacin se muestra el diagrama entidad-relacin diseado para lo ya

    mencionado:

  • 15

    Codificacin de las pantallas

    El diseo de las pantallas se llevo a cabo con la aplicacin NetBeans (Java JDK

    1.7) as como tambin la codificacin de las mismas y la ejecucin de dicho

    proyecto.

    Ventana Inicio:

    import Conexiones.BaseDeDatos; import Entidades.Parametros; import java.awt.event.KeyEvent; import javax.swing.JOptionPane; import de.javasoft.plaf.synthetica.SyntheticaBlueLightLookAndFeel; import javax.swing.UIManager; import Objetos.LabeledTextField; public Login() { initComponents(); }

    cdigo del Botn Ingresar

    private void btnIngresarActionPerformed(java.awt.event.ActionEventevt) {

    if(new BaseDeDatos().validarLogin(txtLoginUsuario.getText(),

    String.valueOf(passLoginPass.getPassword()))){

    newBaseDeDatos().asignarPermisos(txtLoginUsuario.getText(), permisos);

    new Principal(permisos).setVisible(true);

  • 16

    this.dispose();

    }

    else new JOptionPane().showMessageDialog(null, "Hay algo mal con el usuario o

    password", "error", 2);

    ventana principal:

    Cdigo del botn nuevo registro

    private void btnNuevoRegActionPerformed(java.awt.event.ActionEvent evt) { if(permisos.isEscritura()){ noexpediente.setText(new Varios().maximoTabla(tablaPac)); this.defaultText(); this.noexpediente.setEditable(false); this.camposEditables(true); this.btnGuardarReg.setEnabled(true); this.btnCancelarReg.setVisible(true); this.txtNombre.isFocusOwner(); } }

    Cdigo del botn guardar registro

    private void btnGuardarRegActionPerformed(java.awt.event.ActionEvent evt) { if (permisos.isEscritura()){ if (this.validar()){ this.guardar (tablaPac, Integer.parseInt (noexpediente.getText())); this.camposEditables(false); this.btnGuardarReg.setEnabled(false); this.btnEliminarReg.setEnabled(false);

  • 17

    } } else new JOptionPane().showMessageDialog(null, "no tiene privilegios para esta accion", "Permisos", 2); }

    Cdigo del botn eliminar registro

    private void btnEliminarRegActionPerformed(java.awt.event.ActionEvent evt){ if(permisos.isModificar()){ int respuesta = JOptionPane.showConfirmDialog(null, "Seguro que desea eliminar este registro? ", "Confirmacin",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if(respuesta == JOptionPane.YES_OPTION){ new BaseDeDatos().eliminarRegistroDePaciente(Integer.parseInt(noexpediente.getText())); tablaPac.remove(Integer.parseInt(noexpediente.getText())); new JOptionPane().showMessageDialog(null, "Se elimino el registro correctamente", "Confirmacin", 1); this.btnEliminarReg.setEnabled(false); this.defaultText(); } } } Ventana movimientos

    public Movimientos(String user, Paciente pac){ initComponents(); this.paciente = pac; this.lblDiagnostico.setText("Enfermo"); this.lblUsuario.setText(user); this.lblFecha.setText(new Fechador().fechaLarga()); this.lblPaciente.setText(paciente.nombreCompleto()); }

  • 18

    Cdigo del botn aceptar

    private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) { } Ventana laboratorio

    public Laboratorio(String user, Paciente pac){ this.initComponents(); this.paciente = pac; this.lblUsuario.setText(user); this.lblPaciente.setText(paciente.nombreCompleto()); this.lblFecha.setText(new Fechador().fechaLarga()); this.lblDiagnostico.setText("Enfermo"); }

  • 19

    Cdigo del botn agregar

    private void btnAgregarActionPerformed(java.awt.event.ActionEvent evt) { if(boxArea.getSelectedIndex() == 0 || boxSeleccionEstudio.getSelectedIndex() == 0){ new JOptionPane().showMessageDialog(null, "Ingrese un estudio para agregar"); } else{ DefaultTableModel modelo = (DefaultTableModel) this.tablaLaboratorio.getModel(); String datos[] = {String.valueOf(row), "112ssd", String.valueOf(this.boxArea.getSelectedItem()), String.valueOf(this.boxSeleccionEstudio.getSelectedItem()), "n/a", new Fechador().fechaMedia()}; modelo.addRow(datos); row ++; } } Codigo del boton quitar private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) { tablaLaboratorio.remove(tablaLaboratorio.getSelectedRow()); tablaLaboratorio.repaint(); }

    Codigo del boton cancelar private void lblCancelarActionPerformed(java.awt.event.ActionEvent evt) { this.dispose(); } Cdigo del botn aceptar private void lblAceptarActionPerformed(java.awt.event.ActionEvent evt) { if(tablaLaboratorio.getModel().getRowCount() == 0){ new JOptionPane().showMessageDialog(null, "Agrege un estudio"); } else{ Observaciones obs = new Observaciones(this, true); obs.setVisible(true); if(obs.print){ new JOptionPane().showMessageDialog(null, "mandaste a imprimir"); obs.dispose();

  • 20

    this.dispose(); } if(obs.correo){ new JOptionPane().showMessageDialog(null, "mandaste correo"); obs.dispose(); this.dispose(); } } } Ventana administracin de medicamentos

    public Medicamento(String user, Paciente pac){ initComponents(); this.paciente = pac; lblUsuario.setText(user); lblPaciente.setText(paciente.nombreCompleto()); lblFecha.setText(new Fechador().fechaLarga()); lblDiagnostico.setText("Enfermo"); }

    Cdigo del botn agregar

    private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) { if(tablaMedicamento.getModel().getRowCount() == 0){ new JOptionPane().showMessageDialog(null, "Agrege un medicamento"); } else{

  • 21

    Observaciones obs = new Observaciones(this, true); obs.setVisible(true); if(obs.print){ new JOptionPane().showMessageDialog(null, "mandaste a imprimir"); obs.dispose(); this.dispose(); } if(obs.correo){ new JOptionPane().showMessageDialog(null, "mandaste correo"); obs.dispose(); this.dispose(); } } } Codigo del Boton cancelar

    private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) { this.dispose();

    }

    Codigo del boton aceptar

    private void btnAgregarActionPerformed(java.awt.event.ActionEvent evt) { if(boxDosificacion.getSelectedIndex() == 0 || boxSeleccion.getSelectedIndex() == 0 || boxHrs.getSelectedIndex() == 0 || boxPresentacion.getSelectedIndex() == 0 || boxTipo.getSelectedIndex() == 0){ new JOptionPane().showMessageDialog(null, "Seleccione un medicamento"); } else{ DefaultTableModel modelo = (DefaultTableModel) this.tablaMedicamento.getModel(); String datos[] = {String.valueOf(row), String.valueOf(this.boxSeleccion.getSelectedItem()), String.valueOf(this.boxPresentacion.getSelectedItem()), String.valueOf(this.boxDosificacion.getSelectedItem()), String.valueOf(this.boxHrs.getSelectedItem()), txtDuracion.getText() + " " + String.valueOf( this.boxDuracion.getSelectedItem()),new Fechador().fechaCorta()}; modelo.addRow(datos); row ++; } }

  • 22

    Diccionario de datos

    Modelo en espiral: Es un modelo evolutivo del proceso del software y se acopla

    con la naturaleza iterativa de hacer prototipos con los aspecto controlados y

    sistmicos del modelo de cascada.

    DFD: Es una representacin de grafica del flujo de datos a travs de un sistema

    de informacin.

    DFD nivel-0: Diagrama de contexto aqu se caracteriza todas las interacciones

    que realiza un sistema con su entorno, se dibuja un solo proceso que representa

    al sistema de manera general.

    DFD nivel-1: Diagrama preliminar se plasma todos los procesos que describen al

    proceso principal, en este nivel los procesos no suelen interrelacionarse

    directamente, sino que entre ellos debe existir un almacenamiento o entidad

    externa que los una.

    DFD nivel-2: Diagrama de subnivel es validado en forma conjunta con el usuario

    dado que en los niveles posteriores el alto grado de complejidad del diagrama

    puede resultar difcil de leer para personas ajenas al equipo de sistemas.

    Diagrama de estado de proceso: Muestra el conjunto de estados por los cuales

    pasa un objeto durante su vida en una aplicacin en respuesta a eventos, junto

    con sus respuestas y acciones.

    Base de datos: banco de datos es un conjunto de datos pertenecientes a un

    mismo contexto y almacenados sistemticamente para su posterior uso.

    Diagrama entidad relacin: Es una herramienta para el modelado de datos que

    permite representar las entidades relevantes de un sistema de informacin asi

    como sus interrelaciones y propiedades.