You are on page 1of 23

MANUAL

TCNICO

SISTEMA DE ADMINISTRACIN DE
RECURSOS INTEGRALES

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

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

Calendarizacin
Nombre
Planeacin.
Establecimiento
de
Tiempos.
Partes del Proyecto.
Realizacin de Diagrama
de Gantt.
Diseo.
Diseo de Base de Datos
Diseo de Diagrama
Entidad Relacin.
Diseo de Interfaces
Graficas.
Diseo de Diagrama
Formal de Datos (3
Etapas).
Construccin
Codificacin de Base de
Datos.
Codificacin de Interfaz
Grafica.
Unin Base de Datos Interfaz Grafica.
Montaje de Base de
Datos en Servidor.

Fecha de inicio
16/09/13
16/09/13

Fecha de fin
22/09/13
18/09/13

19/09/13
16/09/13

21/09/13
22/09/13

23/09/13
22/09/13
23/09/13

29/09/13
24/09/13
27/09/13

28/09/13

29/09/13

28/09/13

29/09/13

30/09/13
30/09/13

8/11/13
7/10/13

8/10/13

22/10/13

23/10/13

1/11/13

2/11/13

5/11/13

Realizacin de Manual
Tcnico.
Realizacin de Manual
de Usuario.
Despliegue.
Pruebas de Integridad de
Datos.
Pruebas del Software
Capacitacin
del
Personal.
Entrega Final
Comunicacin
Comunicacin
Entrevista con el Cliente.
Establecimiento
de
Requisitos.

30/09/13

19/10/13

20/10/13

8/11/13

9/11/13
9/11/13

9/12/13
13/11/13

14/11/13
19/11/13

18/11/13
8/12/13

9/12/13
5/12/13
10/09/13
10/09/13
13/09/13

9/12/13
5/12/13
15/09/13
12/09/13
15/09/13

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.

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.

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.

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.

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.

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.

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

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

10

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)

11

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.

MovPaciente
Nomovimiento

int(11)

Noexpediente

int(11)

Iduser

varchar(5)

noTipoMovimiento

int(11)

Tipomov

varchar(45)

Fechamov

date

Estatus

varchar(45)

PrimaryKey

(nomovimiento)
Tabla

detalleMovimiento:
Detalla los movimientos que se realizan a los expedientes de los pacientes
agrupndolos por fechas y el usuario que realiza dicho movimiento.

detalleMovimiento
Nodetalle

int(11)

Nomovimiento

int(11)

Iduser

varchar(45)

Detallemov

varchar(100)

PrimaryKey

nodetalle

12

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.

Medicamento
idMedicamento

int(11)

nombreMedicamento

varchar(45)

Clave

varchar(45)

fechaSumistro

Date

fechaRetiro

Date

Observacin

varchar(100)

PrimaryKey

idMedicamento

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.
Laboratorio
idLaboratorio

int(11)

nombre

varchar(45)

duracion

int(11)

fechaInicio

Date

fechaEntrega

Date

observacion

varchar(100)

PrimaryKey

idLaboratorio

13

Diagrama Entidad Relacin.


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

14

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);

15

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);

16

}
}
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());
}

17

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");
}

18

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();

19

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{

20

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 ++;
}
}

21

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.

22