Professional Documents
Culture Documents
Contenido
Introduccin ........................................................................................................................................ 3 Descripcin de la problemtica ........................................................................................................... 4 Objetivos ............................................................................................................................................. 5 General ............................................................................................................................................ 5 Especficos ....................................................................................................................................... 5 Justificacin ..................................................................................................................................... 5 Alcances y Limitaciones ....................................................................................................................... 6 Alcances........................................................................................................................................... 6 Limitaciones .................................................................................................................................... 6 DESARROLLO ....................................................................................................................................... 7 Ingeniera y anlisis del sistema ...................................................................................................... 7 REQUERIMIENTOS DE SOFTWARE ...................................................................................................... 7 Gestor de base de datos SQL .......................................................................................................... 7 Principales caractersticas y ventajas de SQL. ............................................................................... 9 Lenguaje de programacin Visual Basic .......................................................................................... 9 Principales caractersticas y ventajas de Visual Basic. ................................................................ 10 REQUERIMIENTOS DE HARDWARE ............................................................................................... 11 Anlisis de los requerimientos .......................................................................................................... 11 REQUERIMIENTOS DE INFORMACIN.......................................................................................... 12 REQUERIMIENTOS FUNCIONALES ................................................................................................. 14 Diseo................................................................................................................................................ 18 MODELO ENTIDAD-RELACIN. ...................................................................................................... 18 GRAFO RELACIONAL ...................................................................................................................... 20 MODELO ENTIDAD RELACIN (NOTACIN PATA DE GALLO) ....................................................... 21 DICCIONARIO DE DATOS DE LA BASE DE DATOS SSA .................................................................... 22 DIAGRAMAS CASOS DE USO.......................................................................................................... 27 DIAGRAMAS SECUENCIA ............................................................................................................... 28 Diagrama de Actividades ............................................................................................................... 33 Diagrama de Clases ....................................................................................................................... 34 Pantallas de interfaz ...................................................................................................................... 35
SCRIPT DE LA BASE DE DATOS ....................................................................................................... 38 Codificacin ....................................................................................................................................... 40 Pruebas.............................................................................................................................................. 49 PRUEBAS FUNCIONALES .................................................................................................................... 49 PUNTOS GENERALES PARA LA EJECUCIN DE PRUEBAS .............................................................. 49 Mantenimiento ................................................................................................................................. 55 ANEXOS ............................................................................................................................................. 56 Cuestionario contestado por Usuario ........................................................................................... 56
Introduccin
El expediente clnico electrnico es un repositorio centralizado de informacin que almacena el historial clnico de cada uno de los derechohabientes. Dicha informacin se mantiene disponible para consulta de los sistemas clnicos que existen en los tres niveles de atencin. El servicio que presta el sector salud es eficiente, y tiene un registro de todas las personas que acuden a l. Cada familia est registrada en un expediente y este a su vez contiene a cada uno de los miembros de la familia. A partir de este expediente se pueden conocer muchos datos importantes acerca del historial medico de los miembros de una familia, y tratar padecimientos oportunamente, adems de llevar un control de la historia clnica de una comunidad. Para proporcionar un servicio mejor y evitar retrasos y esperas innecesarias se necesita un sistema gil y una organizacin de archivos. Por lo que se propone el siguiente proyecto de un sistema de expedientes electrnico.
Descripcin de la problemtica
La asistencia a los centros de salud de la comunidad cada da es mayor, esto sucede por el aumento de poblacin y por las nuevas generaciones que van creciendo en las familias. Por lo mismo el registro de dichas familias necesita ser oportuno y estar a la mano siempre, adems necesita actualizarse en ciertas temporadas. La problemtica surge cuando dicha informacin se archiva en materiales usuales (hojas de papel), ya que dichos archivos tienden a deteriorarse y adems cuando la poblacin aumenta los archivos tambin. Los expedientes son una fuente valiosa de informacin y por ello es importante que se mantengan en orden pero al estar en dichas condiciones es costoso mantenerlos as.
Objetivos
General
Crear una interfaz para acceder al sistema de archivos de los expedientes familiares de los usuarios del servicio mdico del sector salud.
Especficos
Recopilar informacin para plantear la problemtica. Determinar los requerimientos funcionales y no funcionales del sistema. Plantear la solucin a los requerimientos a travs de la eleccin de las herramientas a utilizar. Disear una interfaz amigable para el usuario, con una base de datos que soporte el tratamiento y almacenamiento de los datos del sistema. Suministrar un mtodo mas sencillo y gil para el llenado de documentos (expediente clnico).
Justificacin
Es posible proporcionar acceso fcil y rpido al historial clnico de una familia, optimizar el registro de los integrantes de la misma y el uso de su informacin a travs de la creacin de un sistema (integrando base de datos con una interfaz grfica), con el fin de evitar prdida de informacin, un buen tratamiento de la informacin y prestar un mejor servicio a los habitantes de la comunidad.
Alcances y Limitaciones
Alcances
o El sistema esta diseado para facilitar el registro de expedientes de pacientes de un Centro de Salud Rural *, con el fin de agilizar el procedimiento de registro, aminorar el trabajo y tener un control y fcil manipulacin de los documentos del historial clnico familiar. o crear un expediente clnico electrnico se requiere que el llenado sea efectuado por el mdico, dicho sistema alberga un interrogatorio de los diferentes tipos de diagnsticos (Exploracin Fsica, Aparatos y Sistemas, Signos Vitales) y un resultado valorando y archivando dichos datos para usos posteriores.
Limitaciones
Debido a que el sistema es creado en una plataforma de Windows no es posible implementarlo en una de Software libre, a menos de que se adecue para ello. No es posible enviar un reporte mensual va internet de dichos reportes a la jurisdiccion que los necesita por falta de las tecnologas no implementadas en la comunidad.
DESARROLLO
El sistema Expedientes SSA se basa en la metodologa en cascada, para garantizar que el software cumpla con los requerimientos necesarios de aplicacin y verificacin de los procedimientos de desarrollo ser validado con las distintas fases intermedias de dicha metodologa. Estas fases se explican a continuacin:
REQUERIMIENTOS DE SOFTWARE
Gestor de base de datos SQL
El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por el motor de base de datos Microsoft jet. Microsoft SQL Server es un sistema de gestin de base de datos relacionales (SGBD) basado en el lenguaje Transact-SQL, y especficamente en Sybase IQ, capaz de poner a disposicin de muchos usuarios grandes cantidades de datos de manera simultnea. Es muy difcil hacer la operacin entre el rendimiento de SQL Server, Oracle y MySQL. El rendimiento de sus bases de datos depende ms bien de la experiencia de los desarrolladores y administradores de la base de datos. Se pueden utilizar ambos RDBMS para concluir un el sistema estable y eficiente.
alto Medio PL/SQL, XML, Aplicaciones APEX, Java, web a menudo etc. no aprovechar la funcionalidad del servidor de base de datos. Web aplicaciones web ms preocupadas por leer rpido. Entornos de 1.- Java 1.- PHP Desarrollo 2.- .NET 2.- Java (ms comn) 3.- APEX 3.- .NET 4.- PHP 4.- Perl 5.- Perl Transacciones InnoDB InnoDB
Si Si
Si Si
Al analizar la comparacin de los diferentes gestores de base de datos se concluye que se usar SQL, por que adems de ser fcil de usar se adecua a las necesidades de trabajo en la plataforma Windows, adems de la compatibilidad con Visual Basic que es el entorno donde se desarrollar el sistema de expedientes electrnicos SSA.
Visual Basic puede crear ejecutables (archivos EXE), controles de ActiveX o archivos DLL.
C Lenguaje muy eficiente puesto que es posible utilizar sus caractersticas de bajo de niveles para realizar implementaciones ptimas. Lenguaje ms portado en existencia, habiendo compiladores para casi todos los sistemas conocidos. Proporciona facilidades para realizar programas modulares y/o utilizar cdigo o bibliotecas existentes.
Incluye otras herramientas para facilitar la estructura del cdigo y el diseo de la aplicacin.
Despus de ver esta tabla comparativa entre VB, C y DELPHI se concluy que el lenguaje de programacin ms adecuado para el desarrollo del sistema papelera es VB.
10
REQUERIMIENTOS DE HARDWARE
HARDWARE Disco duro Memoria RAM Procesador DESCRIPCION 120 GB 1 GB Intel Pentium Dual-Core 1.7 GHz
11
REQUERIMIENTOS DE INFORMACIN
Para cumplir con los objetivos del sistema se identificaron los siguientes requisitos de informacin, donde se especfica toda la informacin que debe almacenar el sistema:
Intervalo temporal
Gestin de Expediente. RF-01 Crear Expediente. RF-02 Buscar Expediente. RF-03 Eliminar Expediente. RF-04 Inactivos El sistema debe almacenar la informacin correspondiente a cada paciente Clave Familiar Apellidos Jurisdiccin C. Municipal Localidad Centro de Salud Domicilio Familias Integrantes Pasado y presente Tabla 1. Requerimientos Gestin de Expedientes.
Gestin de Pacientes. RF-05 Ingresar a Expediente. RF-06 Buscar Paciente. RF-07 Eliminar Paciente. RF-08 Inactivos El sistema debe almacenar la informacin correspondiente a cada paciente Numero Expediente Nombre Completo Sexo Fecha de Nacimiento Ocupacin Direccin Composicin Familiar Antecedentes Hereditarios Antecedentes Personales
12
Intervalo temporal
RI-03
Requisito de informacin asociados Requisitos asociados. Descripcin Datos especficos
Consulta Mdica
RI-02 Gestin de Pacientes.
Intervalo temporal
RF-09 Primera vez. RF-10 Registrado. El sistema debe permitir a los empleados operar sobre datos de productos, proveedores, clientes, ventas, Numero Expediente Nombre Completo Sexo Fecha de Nacimiento Ocupacin Direccin Composicin Familiar Antecedentes Hereditarios Antecedentes Personales Padecimiento Actual Familia Pasado y presente Tabla 3. Requerimientos Consulta Mdica.
RI-04
Requisitos asociados. Descripcin Datos especficos
Historial.
RF-11 Consulta El sistema debe permitir a los empleados operar sobre datos de productos, proveedores, clientes, ventas, Nombre Clave Aparatos y Sistemas Signos Vitales Exploracin Fsica Resultados Pasado y presente Tabla 4. Requerimientos Historial.
Intervalo temporal
13
REQUERIMIENTOS FUNCIONALES
RF-01 Requisitos asociados Descripcin Precondicin Secuencia normal Creacin de Expediente RI-01 Gestin de Expediente. El sistema permitir agregar nuevos expedientes. Debe haber iniciado el sistema. Paso Accin 1 El usuario elige la opcin crear expediente. 2 El sistema muestra la pantalla para crear un nuevo expediente, y el usuario debe de agregar los datos correspondientes. 3 El usuario almacena los datos. 4 El sistema verifica los datos y almacena el nuevo expediente. 5 El sistema notifica que la creacin del nuevo expediente fue correcta. Se cre un nuevo expediente. Paso Accin 2 El usuario puede cancelar la accin y regresar al men principal. 4 El sistema notifica que se cancel la accin de agregar un nuevo expediente.
Post-condicin Excepciones
Post-condicin Excepciones
Bsqueda Expediente RI-01 Gestin de Expediente. El sistema permitir buscar un expediente. Debe haber iniciado el sistema y tener al menos 1 expediente. Paso Accin 1 El usuario elige la opcin buscar. 2 El sistema muestra la pantalla para buscar un expediente. 3 El usuario debe de ingresar la clave del expediente. 4 El sistema verifica la clave 5 El sistema muestra el expediente Se encontr un expediente existente. Paso Accin 2 El usuario puede cerrar la ventana. 3 El usuario puede decidir mostrar todos los expedientes. 5 El sistema permite mostrar los integrantes en el expediente y proporcionarles una consulta.
14
Post-condicin Excepciones
Eliminar Expediente RI-01 Gestin de Expediente. El sistema permitir eliminar un expediente. Debe haber iniciado el sistema y tener al menos 1 expediente. Paso Accin 1 El usuario elige la opcin eliminar. 2 El sistema muestra la pantalla para eliminar un expediente. 3 El usuario ingresa los datos. 4 El sistema muestra los expedientes. 5 El usuario elimina el expediente. 6 El sistema confirma la eliminacin del expediente. Se elimin un expediente existente. Paso Accin 2 El usuario puede cerrar la ventana. 3 El usuario decide los mtodos de bsqueda de expedientes.
Post-condicin Excepciones
Inactivos RI-01 Gestin de Expediente. El sistema permitir buscar un expediente. Debe haber iniciado el sistema y tener al menos 1 expediente eliminado. Paso Accin 1 El usuario elige la opcin inactivos. 2 El sistema muestra la pantalla para ver los expedientes inactivos. 3 El usuario debe de seleccionar el botn mostrar. 4 El sistema muestra los expedientes inactivos Se mostr los expedientes inactivos. Paso Accin 2 El usuario puede cerrar la ventana.
Ingresar a Expediente.
15
Post-condicin Excepciones
Se mostr los expedientes inactivos. Paso Accin 2 El usuario puede cerrar la ventana 3 El usuario proporcionar una consulta al paciente.
Post-condicin Excepciones
Eliminar Paciente.
Post-condicin Excepciones
16
Post-condicin Excepciones
Se mostr los pacientes inactivos. Paso Accin 2 El usuario puede cerrar la ventana
Post-condicin Excepciones
Post-condicin Excepciones
17
Post-condicin Excepciones
3 El sistema muestra los pacientes. 4 El usuario selecciona al paciente y selecciona el botn mostrar. Se mostr la consulta Paso Accin 2 El usuario puede cerrar la ventana 3 El usuario puede elegir el mtodo de bsqueda
Diseo
El diseo del software es realmente un proceso de muchos pasos pero que se clasifican dentro de uno mismo. En general, la actividad del diseo se refiere al establecimiento de las estructuras de datos, la arquitectura general del software, representaciones de interfaz y algoritmos. El proceso de diseo traduce los requisitos en una representacin de software.
MODELO ENTIDAD-RELACIN.
18
Dia es una herramienta diseada como un sustituto de la aplicacin comercial de Visio de Microsoft. Se puede utilizar para dibujar diferentes tipos de diagramas. Actualmente se incluyen diagramas Entidad-Relacin, diagramas UML, diagramas de flujo, diagramas de redes, diagramas de circuitos electrnicos.
19
GRAFO RELACIONAL
La figura 2 muestra el grafo relacional de la base de datos Expedientes SSA, en este se muestran los nodos que representan un esquema de relacin, es decir, una tabla de datos; cada nodo contiene los atributos que lo componen, indicando el nombre de la entidad (la celda de color), su llave primaria (atributo subrayado), sus llaves forneas (atributo escrito en cursiva) y llaves forneas que tambin son primarias (atributo escrito en cursiva y subrayado).
La figura 3 muestra el modelo E/R con la notacin pata de gallo de la base de datos Expedientes SSA, en este modelo se pueden apreciar las tablas que contiene la base de datos as como sus llaves primarias, llaves forneas, atributos y las relaciones entre las tablas.
Pata la elaboracin de la notacin pata de gallo se utiliz la herramienta Case Studio. Case Studio es una herramienta que permite realizar Diagramas Entidad-Relacin (DER) y Diagramas de Flujos de Datos (DFD) para distintos motores de base de datos. Algunos de stos pueden ser: Oracle, DB2, InterBase, MS SQL, MySQL y PostgreSQL entre otros. Otra de las caractersticas importantes es que permite realizar ingeniera inversa, o sea, a partir del modelo de tablas llegar al modelo lgico.
Expediente CONTENIDO FORMATO Clave del Expediente Apellido Lugar donde se crea exp. Numero de Jurisdiccion Coordinacin municipal Localidad Centro de salud Domicilio Actividad o inactividad 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z
NULL NO NO NO NO NO NO NO NO NO
KEY PK
FK REFERIDO A TABLA
Coordinacin_municipal Varchar(50) Localidad Centro_salud domicilio estado Varchar(50) Varchar(50) Varchar(50) Varchar(10)
22
ATRIBUTO
TIPO
Integrante CONTENIDO
FORMATO
NULL
KEY
FK REFERIDO A TABLA
Numero_exp Nombre_completo Fecha_nacimiento Ocupacin Direccin Composicin_familiar Antecedentes_hereditarios Antecedentes_personales Padecimiento_actual Estado Clave familiar
Varchar(50) Varchar(200) Datetime Varchar(30) Varchar(30) Varchar(10) Varchar(100) Varchar(100) Varchar(100) Varchar(10) Varchar(30)
Nmero de expediente Nombre completo Fecha de nacimiento Ocupacin Direccin Composicin familiar Antecedentes hereditarios Antecedentes personales Padecimiento actual Actividad o inactividad Clave familiar
0-9,A-Z 0-9,A-Z DD/MM/AA 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z 0-9,A-Z
NO NO NO NO NO NO NO NO NO NO NO
PK
FK
expediente
ATRIBUTO
TIPO
Consulta CONTENIDO
FORMATO
NULL
KEY
FK REFERIDO A TABLA
NO NO NO NO
PK
FK
Integrante
23
ATRIBUTO
TIPO
NULL
KEY
FK REFERIDO A TABLA
endocrino nervioso
Varchar(200) Varchar(200)
musculo_esqueletico
Varchar(200)
piel_mucosas_anexos consultaID
Varchar(300) Int
Identificador de chequeo Diagnostico cardiovascular Diagnostico Respiratorio Diagnostico gastrointestinal Diagnostico Genitourinario Diagnostico Hemtico linftico Diagnostico Endocrino Diagnostico Sistema Nervioso Diagnostico Musculo Esqueltico Revisin de piel, Mucosas etc. Clave de la consulta
NO NO NO NO NO NO
PK
0-9,A-Z 0-9,A-Z
NO NO
0-9,A-Z
NO
0-9,A-Z 0-9
NO NO FK Consulta
24
ATRIBUTO
TIPO
Signos_vitales CONTENIDO
FORMATO
NULL
KEY
FK REFERIDO A TABLA
Clave de signos vitales Nivel de Presin Temperatura corporal Frecuencia Cardiaca Frecuencia respiratoria Peso Altura Clave consulta
NO NO NO NO NO NO NO NO
PK
FK
Consulta
ATRIBUTO
TIPO
NULL
KEY
FK REFERIDO A TABLA
Identificador de exploracin Revisin Cabeza Revisin Cuello Revisin Torax Revisin abdomen Revisin Genitales Revisin extremidades Revisin Piel
NO NO NO NO NO NO NO NO
PK
25
ConsultaIDE
Int
Clave de consulta
0-9
NO
FK
Consulta
Int
Identificador de resultados Varchar(1000) Resultado de laboratorio Varchar(1000) Diagnostico Varchar(600) Prescripcin de frmacos Varchar(1500) Pronostico Final Int Clave consulta
NO NO NO NO NO NO
PK
FK
Consulta
26
27
DIAGRAMAS SECUENCIA
28
29
30
31
32
Diagrama de Actividades
33
Diagrama de Clases
34
Pantallas de interfaz
35
Menu
Nuevo Expediente
Buscar Expediente
Eliminar Expediente
36
Inactivos
Historial de Consultas
Nuevos Pacientes
Buscar Paciente
Consulta
37
38
piel_mucosas_anexos varchar(300)not null, consultaID int not null, constraint as_consulta foreign key(consultaID)references consulta(clave_consulta) on delete cascade on update cascade ) create table signos_vitales( clave_signos int primary key identity(1,1), tension_arterial varchar(20)not null, temperatura smallint not null, frecuencia_cardiaca int not null, frecuencia_respiratoria int not null, peso float not null, talla float not null, consultaIDS int not null, constraint sv_consulta foreign key(consultaIDS)references consulta(clave_consulta) on delete cascade on update cascade ) create table exploracion_fisica( clave_exploracion int primary key identity(1,1), cabeza varchar(200)not null, cuello varchar(200)not null, torax varchar(200)not null, abdomen varchar(200)not null, genitales varchar(200)not null, extremidades varchar(200)not null, piel varchar(200)not null, consultaIDE int not null, constraint ef_consulta foreign key(consultaIDE)references consulta(clave_consulta) on delete cascade on update cascade ) create table resultados( clave_resultado int primary key identity(1,1), laboratorio varchar(1000)not null, diagnostico varchar(1000)not null, farmacologico varchar(600)not null, pronostico varchar(1500)not null, consultaIDR int not null, constraint r_consulta foreign key(consultaIDR)references consulta(clave_consulta) on delete cascade on update cascade )
39
Codificacin
Esta fase consiste en traducir el diseo en una forma legible para la mquina. En el caso de la aplicacin del software de este proyecto, la generacin de cdigo se refiere tanto a la parte de la generacin de la interfaz como a la parte de la base de datos. La conexin entre el gestor de base de datos y los formularios de Visual Studio se genera con una cadena de conexin que se muestra con el siguiente cdigo:
Dim conexion As New SqlConnection("Data Source=PAME-PC;Initial Catalog=papeleria;Integrated Security=True")
La cual se nombra cadena de conexin. Dicha cadena se pone en todos los formularios que componen el proyecto de nuestro sistema. En la siguiente imagen se muestra el formulario nuevo expediente:
Cdigo:
Imports System.Data Imports System.Data.SqlClient Public Class Expediente Dim conexion As New SqlConnection("Data Source=(local);Initial Catalog=ExpedienteX;Integrated Security=True") Dim comando As New SqlCommand Public Sub insertar() Dim insertar As String insertar = String.Format("insert into expediente values ({0},'{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')", TextBox1.Text,
40
TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text, TextBox7.Text, TextBox8.Text, TextBox9.Text) comando = New SqlCommand(insertar, conexion) Try conexion.Open() comando.ExecuteNonQuery() conexion.Close() MsgBox("EXPEDIENTE REGISTRADO", MsgBoxStyle.Information, "EXPEDIENTE REGISTRADO") Catch ex As Exception MsgBox(ex.Message) End Try End Sub Public Sub limpiar() TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" TextBox8.Text = "" End Sub Sub buscarclave() ' Dim conexion As New SqlConnection("Data Source=(local);Initial Catalog=ExpedienteX;Integrated Security=True") 'Dim sql As String Dim sql As String = ("SELECT COUNT(*) FROM expediente where clave_familia='" & TextBox1.Text & "'") Dim cmd As New SqlCommand(sql, conexion) conexion.Open() Dim numReg As Integer = CInt(cmd.ExecuteScalar()) conexion.Close() If numReg > 0 Then MessageBox.Show("La familia ya esta registrada!") TextBox1.Text = "" Else insertar() End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Or TextBox5.Text = "" Or TextBox6.Text = "" Or TextBox7.Text = "" Or TextBox8.Text = "" Then MsgBox("Faltan datos") Else buscarclave() End If End Sub
41
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click limpiar() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Hide() men.Show() End Sub Private Sub Expediente_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub 'PROCEDIMIENTO PARA MOVER MI FORMULARIO Private mouseOffset As Point Private isMouseDown As Boolean = False Private Sub Expediente_MouseDown(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseDown Dim xOffset As Integer Dim yOffset As Integer If e.Button = MouseButtons.Left Then xOffset = -e.X - SystemInformation.FrameBorderSize.Width yOffset = -e.Y - SystemInformation.CaptionHeight - _ SystemInformation.FrameBorderSize.Height mouseOffset = New Point(xOffset, yOffset) isMouseDown = True End If End Sub Private Sub Expediente_MouseMove(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseMove If isMouseDown Then Dim mousePos As Point = Control.MousePosition mousePos.Offset(mouseOffset.X, mouseOffset.Y) Location = mousePos End If End Sub Private Sub Expediente_MouseUp(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseUp ' Changes the isMouseDown field so that the form does ' not move unless the user is pressing the left mouse button. If e.Button = MouseButtons.Left Then isMouseDown = False End If End Sub 'AQUI ACABA Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click Me.Hide()
42
End Sub Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click Me.WindowState = 1 End Sub End Class
Cdigo:
Imports System.Data Imports System.Data.SqlClient Public Class Nuevo_Integrante Dim conexion As New SqlConnection("Data Source=(local);Initial Catalog=ExpedienteX;Integrated Security=True") Dim comando As New SqlCommand Dim sexo As String Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Or TextBox5.Text = "" Or ComboBox1.SelectedIndex.Equals(-1) Or TextBox7.Text = "" Or TextBox8.Text = "" Or TextBox9.Text = "" Then MsgBox("Faltan datos !") Else If DataGridView1.CurrentRow Is Nothing Then MsgBox("No ha seleccionado !") Else ' TextBox6.Text = TextBox1.Text contarclave() End If End If End Sub Sub contarclave()
43
Dim sql As String = ("SELECT COUNT(*) FROM integrante where numero_exp='" & TextBox1.Text & "' ") Dim cmd As New SqlCommand(sql, conexion) conexion.Open() Dim numReg As Integer = CInt(cmd.ExecuteScalar()) conexion.Close() If numReg <= 0 Then insertar() Else MessageBox.Show("el numero de expediente ya esta en uso!") TextBox1.Text = "" End If End Sub Private Sub Nuevo_Integrante_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Button4.Visible = False Label11.Visible = False Select_Grid() End Sub Public Sub insertar() If TextBox6.Text = "" Then MsgBox("seleccione familia de la tabla") Else Dim insertar As String insertar = String.Format("insert into integrante values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}')", TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, ComboBox1.Text, TextBox7.Text, TextBox8.Text, TextBox9.Text, TextBox10.Text, TextBox6.Text) comando = New SqlCommand(insertar, conexion) Try conexion.Open() comando.ExecuteNonQuery() conexion.Close() MsgBox("INTEGRANTE REGISTRADO", MsgBoxStyle.Information, "INTEGRANTE REGISTRADO") Button4.Visible = True Label11.Visible = True Catch ex As Exception MsgBox(ex.Message) End Try End If End Sub Public Sub Select_Grid() Dim datos As New DataSet Dim adaptador_1 As New SqlDataAdapter("select clave_familia,apellido_paterno,apellido_materno from expediente where estado='activo'", conexion) adaptador_1.Fill(datos, "expediente") DataGridView1.DataSource = datos.Tables(0) End Sub Public Sub limpiar() TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = ""
44
ComboBox1.Text = "" TextBox7.Text = "" TextBox8.Text = "" TextBox9.Text = "" End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click limpiar() End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Consulta.Show() End Sub Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click Me.WindowState = 1 End Sub Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click Me.Hide() End Sub 'PROCEDIMIENTO PARA MOVER MI FORMULARIO Private mouseOffset As Point Private isMouseDown As Boolean = False Private Sub Expediente_MouseDown(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseDown Dim xOffset As Integer Dim yOffset As Integer If e.Button = MouseButtons.Left Then xOffset = -e.X - SystemInformation.FrameBorderSize.Width yOffset = -e.Y - SystemInformation.CaptionHeight - _ SystemInformation.FrameBorderSize.Height mouseOffset = New Point(xOffset, yOffset) isMouseDown = True End If End Sub Private Sub Expediente_MouseMove(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseMove If isMouseDown Then Dim mousePos As Point = Control.MousePosition mousePos.Offset(mouseOffset.X, mouseOffset.Y) Location = mousePos End If End Sub Private Sub Expediente_MouseUp(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseUp ' Changes the isMouseDown field so that the form does ' not move unless the user is pressing the left mouse button. If e.Button = MouseButtons.Left Then isMouseDown = False End If End Sub 'AQUI ACABA
45
Private Sub DataGridView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.DoubleClick TextBox6.Text = DataGridView1.CurrentRow.Cells(0).Value.ToString End Sub End Class
Formulario Consulta
Cdigo:
Imports System.Data Imports System.Data.SqlClient Public Class Consulta Dim conexion As New SqlConnection("Data Source=(local);Initial Catalog=ExpedienteX;Integrated Security=True") Dim comando As New SqlCommand Private Sub Consulta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'FALTA JALAR EL ID DE INTEGRANTE DEL FORM buscar_exp1.Datagridview2 Y PONERLO EN EL TEXTBOX3 DE ESTE FORM TextBox3.Text = buscar_exp1.TextBox2.Text TextBox3.Text = Nuevo_Integrante.TextBox1.Text TextBox3.Text = Buscar_integrante.DataGridView1.CurrentRow.Cells(0).Value.ToString End Sub 'PROCEDIMIENTO PARA MOVER MI FORMULARIO Private mouseOffset As Point Private isMouseDown As Boolean = False Private Sub Expediente_MouseDown(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseDown Dim xOffset As Integer Dim yOffset As Integer If e.Button = MouseButtons.Left Then xOffset = -e.X - SystemInformation.FrameBorderSize.Width yOffset = -e.Y - SystemInformation.CaptionHeight - _ SystemInformation.FrameBorderSize.Height
46
mouseOffset = New Point(xOffset, yOffset) isMouseDown = True End If End Sub Private Sub Expediente_MouseMove(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseMove If isMouseDown Then Dim mousePos As Point = Control.MousePosition mousePos.Offset(mouseOffset.X, mouseOffset.Y) Location = mousePos End If End Sub Private Sub Expediente_MouseUp(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseUp ' Changes the isMouseDown field so that the form does ' not move unless the user is pressing the left mouse button. If e.Button = MouseButtons.Left Then isMouseDown = False End If End Sub 'AQUI ACABA Public Sub insertar() Dim insertar As String insertar = String.Format("insert into consulta values ('{0}',{1},'{2}')", DateTimePicker1.Text, TextBox2.Text, TextBox3.Text) comando = New SqlCommand(insertar, conexion) Try conexion.Open() comando.ExecuteNonQuery() conexion.Close() MsgBox("CONSULTA REGISTRADA", MsgBoxStyle.Information, "CONSULTA REGISTRADA") Catch ex As Exception MsgBox(ex.Message) End Try End Sub Public Sub mostrar_clave() Dim clave As Int32 = 0 Dim comando As New SqlCommand("select ident_current ('consulta')", conexion) conexion.Open() clave = Convert.ToInt32(comando.ExecuteScalar()) conexion.Close() TextBox1.Text = String.Format(clave) End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click If TextBox2.Text = "" And TextBox3.Text = "" Then MsgBox("Faltan datos por ingresar") Else
47
Label7.Visible = True Label8.Visible = True Button1.Visible = True Button2.Visible = True Button3.Visible = True Button4.Visible = True End If End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Me.Hide() End Sub
Private Sub PictureBox5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox5.Click Me.WindowState = 1 End Sub Private Sub PictureBox6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox6.Click Me.Hide() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click revision_as.Show() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click revision_sv.Show() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click revision_ef.Show() End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click resultados.Show() End Sub End Class
48
Pruebas
Una vez que se ha generado cdigo, comienzan las pruebas del software o sistema que se ha desarrollad. De acuerdo con pressman, el proceso de pruebas se centra en los procesos lgicos internos del software, asegurando que todas las sentencias se han comprobado, y en los procesos externos funcionales, es decir, la realizacin de las pruebas para la deteccin de errores, en el caso de una herramienta de software para tratar el trastorno de lateralidad y ubicacin especial, es necesario tener etapas de pruebas tanto para la parte funcional del software, como para la parte aplicativa del mismo. Se requiere poder probar el software con sujetos reales que puedan evaluar el comportamiento a los desarrolladores. Es sumamente importante que durante el proceso de desarrollo no se pierda el contacto con los interesados o solicitantes del desarrollo del software, de esta manera los objetivos de proyectos se mantendrn vigentes y se tendr una idea clara de los aspectos que tienen que probarse durante el periodo de pruebas.
PRUEBAS FUNCIONALES
49
Prueba funcional: SSA (EXPEDIENTES ELECTRNICOS) Elaborado por: Neftal Zacaras Garca, Eduardo Pio Lpez, Pedro Soto Gonzlez
Versin 001
CONTROL DE VERSIONES DEL DOCUMENTO Fecha Descripcin Autor 29-Oct-2012 Creacin del Neftal Zacaras documento Garca, Eduardo Pio Lpez, Pedro Soto Gonzlez
50
Los botones se reprogramaron para validar la consulta de tal modo que fuera por clave o apellidos.
La consulta que en un principio se mostraba inclua a las familias inactivas as que se modifico dicha consulta.
51
PRUEBA: INACTIVOS
N de prueba 001 Item 1. Pudo ingresar correctamente a la ventana correspondiente? 2. Funcionaron correctamente los botones? 3. El sistema mostro correctamente la informacin requerida? N de prueba 001 Item 1. Pudo ingresar correctamente a la ventana correspondiente? 2. Funcionaron correctamente los botones? 3. Se notific el llenado de campos requeridos? 4. El sistema permiti que ingreso correcto de una consulta? 5. El sistema notifico correctamente el ingreso ingreso del paciente? 6. Se actualizaron correctamente las tablas? N de prueba 001 Item 1. Pudo ingresar correctamente a la ventana correspondiente? 2. Funcionaron correctamente Se cumple: Si No Si No Si No RF-04 Inicio de sesin Observaciones
Antes de notificar se validaron los campos para que se evitara enviar cadenas vacas.
52
los botones? 3. Funcionaron correctamente los diferentes tipos de bsqueda? 4. El sistema permiti el ingreso correcto de una consulta? 5.-Se actualizaron correctamente las tablas?
No Si No Si No Si No
Hubo cambios en la forma de consultar los datos por que si una familia estaba inactiva automticamente los integrantes tambin.
PRUEBA: INACTIVOS
N de prueba 001 Item 1. Pudo ingresar correctamente a la ventana correspondiente? 2. Funcionaron correctamente los botones? 3. El sistema mostro correctamente la informacin requerida? Se cumple: Si No Si No Si No RF-08 Inicio de sesin Observaciones
53
Si No Si No
PRUEBA: REGISTRADO
N de prueba 001 Item 1. Pudo ingresar correctamente a la ventana correspondiente? 2. Funcionaron correctamente los botones? 3. Funcionaron correctamente los diferentes tipos de bsqueda? 4. El sistema permiti que Se cumple: Si No Si No Si No RF-10 Inicio de sesin Observaciones
Si
54
No Si No
PRUEBA: CONSULTA
N de prueba 001 Item 1. Pudo ingresar correctamente a la ventana correspondiente? 2. Funcionaron correctamente los botones? 3. Funcionaron correctamente los diferentes tipos de bsqueda? 4. Se actualizaron correctamente las tablas? 5. Se mostraron correctamente los diagnsticos de las consultas? Se cumple: Si No Si No Si No Si No Si No RF-11 Inicio de sesin Observaciones
Mantenimiento
El software indudablemente sufrir cambios, y habr que hacer algunas modificaciones a su funcionalidad. Es de suma importancia que el software de calidad pueda adaptarse con fines de acoplarse a los cambios de su entorno externo. Una de las secciones posteriores de ese documento se refiere especficamente a posibles expansiones de este proyecto, y por medio de la documentacin apropiada y atinada del software se pueden presentar las vas para el mantenimiento y modificaciones al mismo.
55
ANEXOS
Cuestionario contestado por Usuario
Qu tipo de archivos utilizan? R = Se archiva todo en folders los expedientes son hojas impresas. Se cuenta con algn sistema para archivar expedientes? R = No La bsqueda de expedientes cada que llega un cliente es rpida? R = No, se tarda un poco en localizar los archivos Los expedientes se encuentran por persona o por familias? R = Por familia, dentro de la familia estn registrados todos los integrantes Es mucho el papeleo que se realiza? R = Si, debido a que cada familia tiene varios integrantes se tienen que llenar nuevos registros Es til el servicio como est organizado actualmente? R = No, es deficiente Sera til un sistema computarizado de archivos? R = Si, se ahorrara tiempo y todos los archivos estaran ordenados
Anexo 1
56
Anexo 2
57
Anexo 3
58
Anexo 4
Anexo 5
59