manual tecnico de sixar's

81
1 Indicé Introducción..................................................................................................................................... 3 Descripción del problema ............................................................................................................ 4 Consulta Externa ........................................................................................................................ 5 Pasos para la atención de Consulta Externa ...................................................................... 5 Los Requisitos para nuevos pacientes: ............................................................................... 6 Necesidades del cliente ................................................................................................................ 7 Objetivos........................................................................................................................................... 8 Objetivos Generales ..................................................................................................................... 8 Objetivos Específicos .................................................................................................................. 8 Oportunidades del sistema.......................................................................................................... 9 Arquitectura del sistema ............................................................................................................ 10 Estudio de Factibilidad ............................................................................................................... 12 Factibilidad Técnica................................................................................................................. 12 Factibilidad Operativa ............................................................................................................. 13 Factibilidad Económica .......................................................................................................... 13 Modelo de proceso ...................................................................................................................... 16 Diagramas Casos de Uso “Registrar pacientes” ................................................................. 17 Diagramas Casos de Uso “Inscribir Pacientes” .................................................................. 18 Diagramas de Colaboración ...................................................................................................... 18 Diagramas de Secuencias...................................................................................................... 20 Diagramas de Clases................................................................................................................... 21 Diagramas de Casos de Uso ................................................................................................. 22 Diagramas de Contexto .......................................................................................................... 23 Diagrama de Flujo .................................................................................................................... 24 Diagrama hijo 1.1...................................................................................................................... 25 Diagrama hijo 2.1...................................................................................................................... 26 Diagrama de Entidad Relación ............................................................................................. 27 Diccionario de Datos ................................................................................................................... 28 Diagrama de Bases de Datos .................................................................................................... 29 Código Fuente del Sistema. ...................................................................................................... 30

Upload: jose-santos-sanchez-benavidez

Post on 13-Jun-2015

164 views

Category:

Software


5 download

DESCRIPTION

MANUAL DE SOFTWARE MEDICO ELABORADO POR INGENIERO SANCHEZ

TRANSCRIPT

Page 1: Manual tecnico de sixar's

1

Indicé

Introducción ..................................................................................................................................... 3

Descripción del problema ............................................................................................................ 4

Consulta Externa ........................................................................................................................ 5

Pasos para la atención de Consulta Externa ...................................................................... 5

Los Requisitos para nuevos pacientes: ............................................................................... 6

Necesidades del cliente ................................................................................................................ 7

Objetivos........................................................................................................................................... 8

Objetivos Generales ..................................................................................................................... 8

Objetivos Específicos .................................................................................................................. 8

Oportunidades del sistema .......................................................................................................... 9

Arquitectura del sistema ............................................................................................................ 10

Estudio de Factibilidad ............................................................................................................... 12

Factibilidad Técnica ................................................................................................................. 12

Factibilidad Operativa ............................................................................................................. 13

Factibilidad Económica .......................................................................................................... 13

Modelo de proceso ...................................................................................................................... 16

Diagramas Casos de Uso “Registrar pacientes” ................................................................. 17

Diagramas Casos de Uso “Inscribir Pacientes” .................................................................. 18

Diagramas de Colaboración ...................................................................................................... 18

Diagramas de Secuencias...................................................................................................... 20

Diagramas de Clases ................................................................................................................... 21

Diagramas de Casos de Uso ................................................................................................. 22

Diagramas de Contexto .......................................................................................................... 23

Diagrama de Flujo .................................................................................................................... 24

Diagrama hijo 1.1 ...................................................................................................................... 25

Diagrama hijo 2.1 ...................................................................................................................... 26

Diagrama de Entidad Relación ............................................................................................. 27

Diccionario de Datos ................................................................................................................... 28

Diagrama de Bases de Datos .................................................................................................... 29

Código Fuente del Sistema. ...................................................................................................... 30

Page 2: Manual tecnico de sixar's

2

Conclusiones ................................................................................................................................. 74

Anexos ............................................................................................................................................ 75

Herramienta CASE utilizada ...................................................................................................... 76

Casos de prueba ....................................................................................................................... 76

Proformas de equipos obtenidas para el estudio de factibilidad ................................ 77

Documentos proporcionados por el cliente. ........................................................................ 78

Hoja de Consultas .................................................................................................................... 78

Hoja de registro ........................................................................................................................ 78

Entrevista ................................................................................................................................... 79

Bibliografía ..................................................................................................................................... 80

Page 3: Manual tecnico de sixar's

3

Introducción

Hoy en día con el avance de la tecnología informática, implementada en las

empresas donde los sistemas informáticos forman parte importante en la eficacia y

eficiencia del funcionamiento de toda empresa, poder realizar esta nueva

adaptación informática en una empresa familiar en desarrollo abre las puertas hacia

una nueva forma de gestión, además supone ahorro de dinero, trabajo y mayor

organización dejando de lado el sistema de registro manual por archivos que

conlleva mayor probabilidad de equivocaciones.

Este nuevo sistema en implementación permitirá entrar en una nueva etapa

permitiendo avanzar hacia una nueva forma de trabajo.

Se caracteriza la era de la información, sus componentes; así como el impacto de

las tecnologías de la información y las comunicaciones en los sistemas

empresariales. Se particulariza en la importancia y el papel de la gestión de

información y el conocimiento como recursos estratégicos para el logro de los

objetivos notables en la empresa.

A nivel global la información automatizada se ha establecido como un elemento vital

en las diferentes empresas o instituciones.

Page 4: Manual tecnico de sixar's

4

Descripción del problema El hospital es una unidad en donde se atiende a la población de toda la región en diferentes especialidades. Se le elabora un Expediente a los pacientes los cuales se archivan por numeraciones y por apellidos no hay registros en el sistema. En el Hospital San Juan de Dios ofrece 16 especialidades en consulta externa que son:

PEDIATRIA OFTALMOLOGIA

ORTOPEDIA CARDIOLOGIA

CIRUGIA PEDIATRICA OTORRINO

ORULOGIA MEDICINA INTERNA

PSICOLOGIA MAXILO FACIAL

FISIATRIA CIRUGIA PLASTICA

DERMATOLOGIA CIRUGIA GENERAL

GINECOLOGIA HEMATO ONCOLOGIA

Cada especialidad tiene una agenda. El paciente que es referido por cualquier

centro de salud u hospital nacional tiene que ir primero a estadística para buscar un

número de expediente el que se busca un tarjetero manual que este por orden

alfabético donde se busca el paciente.

Si tiene el número de expediente se le da y se manda a atención al usuario donde

le van a programar las citas según agenda u orden médica. Y si no tiene número se

le da un numero nuevo a cada paciente se le entregara su número y se le pide que

lo guarde para así seguir programando citas si es referido.

Nota:

Los números de expediente tienen 6 dígitos por ej. 09-10-08 las numeraciones de las secciones son de 00-99.

Cada sección tiene un número.

Se busca primero los últimos dos dígitos 08 y después son ubicadas los dos primeros y después los dos dígitos del centro.

Cada enfermera lleva la hoja de consulta de PX atendidos en cada especialidad al Dpto de estadística donde un recurso de suma manualmente por edad, sexo y las clasifica por enfermedades.

Page 5: Manual tecnico de sixar's

5

Consulta Externa

Es un servicio dispensario que constituye la atención médica a pacientes, donde se realiza un tratamiento de la información de datos como:

Antiguas enfermedades.

Problemas de salud.

Situación actual que justifica su presencia en una entidad hospitalaria de salud.

Cabe destacar que en la Consulta Externa se recoge esta información, para comenzar a realizar exámenes preliminares que puedan identificar el daño de salud del paciente, no así como ocurre en el servicio de emergencia la atención médica es inmediata ya que se pone en riesgo la vida del sujeto, aquí se omite el primer proceso de recopilación de datos, la información será recabada al final.

Pasos para la atención de Consulta Externa:

Paciente con Historia:

En este caso se trata de un paciente subsecuente, es decir, que ha sido atendido anteriormente; la recopilación de datos y la información se basa únicamente en la sintomatología, en la indagación sobre la queja principal que presenta y con la estimación de los problemas que plantea de cara a determinar las áreas en las que se habrá de profundizar para establecer el tratamiento adecuado a seguir.

Paciente nuevo:

Se basa en la apertura de la Historia Clínica; y en la labor de recopilación y posterior análisis de datos, a veces se emplea la observación directa, ya sea en forma de signos clínicos o bien de referencias verbales claras recogidas en el curso de la entrevista o la exploración; mientras que en otras ocasiones deriva de un proceso de deducción, a partir de la interpretación de expresiones y referencias indirectas.

Page 6: Manual tecnico de sixar's

6

Los Requisitos para nuevos pacientes:

A más de la información detallada y personalizada, debe presentar documentos como:

Cédula de ciudadanía.

Carnet de afiliación (si fuere afiliado/a).

Transferencia u orden médica de alguna Unidad Operativa (Centro o Subcentro de Salud) o de alguna Institución particular.

Personal en Consulta Externa

Varía de acuerdo a las entidades de salud y a sus necesidades; sin embargo, en la mayoría de instituciones, el personal Administrativo se encarga de brindar información detallada al usuario que demanda servicios médicos, así como del cobro y entrega de turnos para cada especialidad según el caso. En ambos casos, dicho personal debe tener estudios superiores realizados en su especialidad y tener conocimientos básicos de "Gerencia Administrativa en Salud"; no obstante, todo el personal de salud debe capacitarse permanentemente tanto en "Administración de Servicios de Salud" como en "Relaciones Humanas". Los datos indispensables para obtener un turno en consulta externa son:

Nombres completos del paciente.

Apellidos completos del paciente.

Número de historia clínica.

Número de cédula de ciudadanía.

Número de carnet de afiliación.

Fecha de ingreso.

Fecha de nacimiento.

Estado civil.

Edad.

Sexo.

Lugar de procedencia.

Lugar de residencia habitual.

Tipo de especialidad médica.

Nombre del especialista a consultar.

Page 7: Manual tecnico de sixar's

7

Necesidades del cliente

El cliente desea un programa que me brinde una mayor seguridad en la

documentación porque es complicado trabajar con papel y en digital es más

cómodo y económico en el tiempo.

Su principal requisito es garantizar y proveer una mejor información segura

en el momento de llevar un control, si hay eficacia al momento de registrar

de manera ordenada a los pacientes.

Page 8: Manual tecnico de sixar's

8

Objetivos

Objetivos Generales

El objetivo general es el de realizar un Trabajo de análisis y diseño para un sistema de control de registros, en la que los de estadísticas y demás personal podrán controlar el registro de datos con mayor facilidad.

Brinda una herramienta a las unidades de salud, que les permitirá de forma más eficiente y ágil los expedientes clínicos del paciente y de esta forma brindar un servicio de mejor calidad para la población.

Elaborar el análisis y diseño del sistema de registro para el hospital, mediante la metodología orientada a objetos (U.M.L)

Objetivos Específicos

Proporcionar el control y acceso de la información a los pacientes.

Optimizar y agilizar los datos ingresados.

Agilizar el registro de pacientes al momento de pedir un expediente.

Page 9: Manual tecnico de sixar's

9

Oportunidades del sistema.

La flexibilidad al manejar gran volumen y diversidad de información con rapidez, oportunidad y precisión, lo que brinda una mejor herramienta de trabajo al personal, que facilitará sus labores.

Generar información más eficiente y confiable, que sirva de apoyo a la toma de decisiones.

Mejor capacidad de búsqueda y actualización de información, reduciendo la fuerza de trabajo en el proceso y control de recursos.

Capacidad de registrar y almacenar “automáticamente” datos de los registros, estandarizando el mantenimiento de los registros, lo que implica un aumento de la seguridad de almacenamiento de registros.

Que se logrará llevar un mejor control de toda la información por todos y cada uno de ellos.

Page 10: Manual tecnico de sixar's

10

Arquitectura del sistema

Se decidió utilizar un lenguaje de programación Microsoft Visual Studio 2008,

para la programación de las interfaces de usuario por las siguientes razones:

Se puede editar y continuar el desarrollo de un proyecto.

Las clases se generan dinámicamente a través de formularios.

Es un lenguaje de programación de fácil aprendizaje tanto en principiante

como programadores expertos.

La sintaxis tiene semejanza al lenguaje humano.

Se utilizó SQL SERVER 2008 como gestor de base de datos y para el diseño de la

base de datos, se construyó e implemento un modelo relacional de datos, ya que

soporta transacciones, soporta procedimientos almacenados. Incluye también un

entorno gráfico de administración, que permite el uso de comandos DDL y DML

gráficamente.

Permite trabajar en modo cliente-servidor, donde la información y datos se alojan

en el servidor y los terminales o clientes de la red sólo acceden a la información.

Además permite administrar información de otros servidores de datos.

Ofrece, además, herramientas de análisis y gestión de almacenes de datos,

servicios de creación de procedimientos almacenados.

Page 11: Manual tecnico de sixar's

11

En este tipo de arquitectura se supone que los clientes y los servidores se

encuentran dentro de una misma red corporativa.

Las ventajas que proporciona esta aproximación son variadas, como por ejemplo

la posibilidad de crear clientes con interfaces mucho más ricas (muy útiles para la

grabación y manipulación de datos), utilizar la capacidad de procesamiento de los

Pc’s, una mayor agilidad en las aplicaciones que se elaboran.

Page 12: Manual tecnico de sixar's

12

Estudio de Factibilidad

Es uno de los recursos más importantes y esperados de un proyecto. Este permite estimulador si el proyecto es o no es posible desde tres aspectos: Técnico, Económico y Operativo. La factibilidad en los dos primeros aspectos se refiere a las posibilidades de que el

proyecto pueda ser desarrollado y puesto en operación: la tercera factibilidad se

refiere a las posibilidades de que el producto resulte útil.

Factibilidad Técnica

Demuestra si el sistema propuesto tendrá éxito al momento de la implementación y

operación de este. Esto se hace que no hay disponible de hardware y software,

actualmente se cuenta con el personal administrativo que tiene los conocimientos

técnicos disponibles para administrar el sistema de control de paciente y consultas.

Después de haber analizado los aspectos mencionados se ha llegado a la conclusión.

a. Se cuenta con el recurso humano disponible que participara en el funcionamiento del sistema.

b. Para el desarrollo del sistema se tomaran en cuenta las especificaciones técnicas del hardware, el cual se desarrollara dentro de los requerimientos ya que actualmente no se cuentan con el equipo necesario.

c. Para la selección del software de este proyecto ya que de ello dependerá la determinación de la potencia de la base de datos a utilizar.

d. El nivel de conocimiento de las personas que darán soporte al sistema el adecuado para administrar la base de datos y utilizar un sistema operativo propuesto. Con este se asegura que el personal maneje el control de pacientes y consultas contara con el asesoramiento adecuado para la utilización de la aplicación de soporte para el sistema.

Page 13: Manual tecnico de sixar's

13

Factibilidad Operativa

Permite determinar si no existe resistencia al cambio entre los usuarios del sistema

que obstaculice la implementación y ejecución del mismo.

Después de realizado la entrevista sobre el grado de aceptación y necesidad de un

sistema de control de pacientes y consultas se llegó a las siguientes conclusiones:

a. El personal está de acuerdo en que se diseñe un sistema automatizado,

que consideran que es necesario de un sistema para solventar el

problema de la información tardada del control de pacientes y consultas

e informes.

b. Tomando como base el resultado de las encuetas realizadas se puede

afirmar que el personal administrativo considera necesario un cambio y

está dispuesto a realizarlo.

c. El proyecto es factible operativamente desde el punto de vista del recurso

que será utilizado, ya que todos los involucrados cumplen con los

requisitos necesarios para que el sistema opere de forma satisfactoria.

Factibilidad Económica

Se establecen los costos y beneficios del proyecto. Cabe aclarar que el proyecto es de carácter social, por lo tanto los beneficios que se obtendrán en su mayoría son de carácter intangible.

Hardware

Cantidad Descripcion Costo/Unitario Costo

2 PC de escritorio 480 $ 960

2 UPS 37 $ 74

30 metros de cable UTP 0.4 $ 12

8 Conectores RJ45 0.35 $ 2.8

3 Conectores RJ45 hembra 0.35 $ 1.05

1 Swith Base 100 8 puertos 44 $ 44

Costo de Hardware $ 1094

Page 14: Manual tecnico de sixar's

14

Costo de Recursos Humanos

Cantidad Descripcion Costo/unitario Costo

1 Analista 600 600

Costo de Recurso Humano $ 600

Capacitaciones

Cantidad Descripcion Costo/unitario Costo

10 Horas 12 120

Costo de Recursos Humanos $ 120

Licencias del Software

Elemento del software Detalle Costo

SQL SERVER 2008 Gestor de Bases de Datos

$499

Visual Studio 2008 Crear aplicaciones $ 499

Windows 7, Windows 8 Sistema Operativo $ 212

Costo de licencias de software $ 1210

Costo de implementación del sistema

Elemento del software Costo

Hardware $ 1093.9

Recursos Humanos $ 600

Capacitaciones $ 120

Licencias del software $ 1210

Imprevistos (8%) $ 280

Costo de implementación $ 6153.8

Después de determinar los costos determinados para el desarrollo del sistema

automatizado de control de pacientes/consultas.

Page 15: Manual tecnico de sixar's

15

Requerimientos técnicos de Hardware

Equipo Alternativa Especificaciones Tecnicas

PC 1 Procesador Pentium IV 365 Ghz

Memoria cache 512 KB

Memoria Ram 256 MB

Tarjeta de video 16 MB

DVD-RW TOSHIBA

Disco Duro 80 GB

PC 2 Procesador Pentium IV 365 Ghz

Memoria cache 512 KB

Memoria Ram 256 MB

Tarjeta de video 16 MB

DVD-RW TOSHIBA

Disco Duro 160 GB

IMPRESORA 3 BROTHER DCP7060 MULTIFUNCIONAL

Page 16: Manual tecnico de sixar's

16

Modelo de proceso

Page 17: Manual tecnico de sixar's

17

Diagramas Casos de Uso “Registrar pacientes”

Page 18: Manual tecnico de sixar's

18

Diagramas Casos de Uso “Inscribir Pacientes”

Diagramas de Colaboración

Administracion de Areas

Estadisctica

Registro en BD

Imprimir hoja de inscripcion

Registro

Hoja de inscripcion

Pacientes

Page 19: Manual tecnico de sixar's

19

Diagramas de Componentes

Page 20: Manual tecnico de sixar's

20

Diagramas de Secuencias

Page 21: Manual tecnico de sixar's

21

Diagramas de Clases

Page 22: Manual tecnico de sixar's

22

Diagramas de Casos de Uso

Page 23: Manual tecnico de sixar's

23

Diagramas de Contexto

Page 24: Manual tecnico de sixar's

24

Diagrama de Flujo

Page 25: Manual tecnico de sixar's

25

Diagrama hijo 1.1

Page 26: Manual tecnico de sixar's

26

Diagrama hijo 2.1

Page 27: Manual tecnico de sixar's

27

Diagrama de Entidad Relación

Page 28: Manual tecnico de sixar's

28

Diccionario de Datos

Page 29: Manual tecnico de sixar's

29

Diagrama de Bases de Datos

Page 30: Manual tecnico de sixar's

30

Código Fuente del Sistema.

Imports System.Windows.Forms

Public Class CMV

Private Sub OpenFile(ByVal sender As Object, ByVal e As EventArgs) Handles

OpenToolStripMenuItem.Click

Dim OpenFileDialog As New OpenFileDialog

OpenFileDialog.InitialDirectory =

My.Computer.FileSystem.SpecialDirectories.MyDocuments

OpenFileDialog.Filter = "Archivos de pdf (*.pdf)|*.pdf|Todos los archivos

(*.*)|*.*"

If (OpenFileDialog.ShowDialog(Me) =

System.Windows.Forms.DialogResult.OK) Then

Page 31: Manual tecnico de sixar's

31

Dim FileName As String = OpenFileDialog.FileName

' TODO: agregue código aquí para abrir el archivo.

End If

End Sub

Private Sub SaveAsToolStripMenuItem_Click(ByVal sender As Object, ByVal e

As EventArgs) Handles SaveAsToolStripMenuItem.Click

Dim SaveFileDialog As New SaveFileDialog

SaveFileDialog.InitialDirectory =

My.Computer.FileSystem.SpecialDirectories.MyDocuments

SaveFileDialog.Filter = "Archivos de pdf (*.pdf)|*.pdf|Todos los archivos

(*.*)|*.*"

If (SaveFileDialog.ShowDialog(Me) =

System.Windows.Forms.DialogResult.OK) Then

Dim FileName As String = SaveFileDialog.FileName

' TODO: agregue código aquí para guardar el contenido actual del

formulario en un archivo.

End If

End Sub

Private Sub ExitToolsStripMenuItem_Click(ByVal sender As Object, ByVal e As

EventArgs) Handles ExitToolStripMenuItem.Click

Me.Close()

End Sub

Private Sub CutToolStripMenuItem_Click(ByVal sender As Object, ByVal e As

EventArgs) Handles CutToolStripMenuItem.Click

' Utilice My.Computer.Clipboard para insertar el texto o las imágenes

seleccionadas en el Portapapeles

End Sub

Page 32: Manual tecnico de sixar's

32

Private Sub CopyToolStripMenuItem_Click(ByVal sender As Object, ByVal e As

EventArgs) Handles CopyToolStripMenuItem.Click

' Utilice My.Computer.Clipboard para insertar el texto o las imágenes

seleccionadas en el Portapapeles

End Sub

Private Sub PasteToolStripMenuItem_Click(ByVal sender As Object, ByVal e As

EventArgs) Handles PasteToolStripMenuItem.Click

'Utilice My.Computer.Clipboard.GetText() o My.Computer.Clipboard.GetData

para recuperar la información del Portapapeles.

End Sub

Private Sub StatusBarToolStripMenuItem_Click(ByVal sender As Object, ByVal

e As EventArgs) Handles StatusBarToolStripMenuItem.Click

Me.StatusStrip.Visible = Me.StatusBarToolStripMenuItem.Checked

End Sub

Private Sub CascadeToolStripMenuItem_Click(ByVal sender As Object, ByVal e

As EventArgs) Handles CascadeToolStripMenuItem.Click

Me.LayoutMdi(MdiLayout.Cascade)

End Sub

Private Sub TileVerticalToolStripMenuItem_Click(ByVal sender As Object, ByVal

e As EventArgs) Handles TileVerticalToolStripMenuItem.Click

Me.LayoutMdi(MdiLayout.TileVertical)

End Sub

Private Sub TileHorizontalToolStripMenuItem_Click(ByVal sender As Object,

ByVal e As EventArgs) Handles TileHorizontalToolStripMenuItem.Click

Me.LayoutMdi(MdiLayout.TileHorizontal)

Page 33: Manual tecnico de sixar's

33

End Sub

Private Sub ArrangeIconsToolStripMenuItem_Click(ByVal sender As Object,

ByVal e As EventArgs) Handles ArrangeIconsToolStripMenuItem.Click

Me.LayoutMdi(MdiLayout.ArrangeIcons)

End Sub

Private Sub CloseAllToolStripMenuItem_Click(ByVal sender As Object, ByVal e

As EventArgs) Handles CloseAllToolStripMenuItem.Click

' Cierre todos los formularios secundarios del principal.

For Each ChildForm As Form In Me.MdiChildren

ChildForm.Close()

Next

End Sub

Private m_ChildFormNumber As Integer

Private Sub AreaToolStripMenuItem_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles AreaToolStripMenuItem.Click

Especialidad.MdiParent = Me

Especialidad.Show()

End Sub

Private Sub MedicosToolStripMenuItem_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles MedicosToolStripMenuItem.Click

Doctors.MdiParent = Me

Doctors.Show()

End Sub

Page 34: Manual tecnico de sixar's

34

Private Sub PacientesToolStripMenuItem_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

PacientesToolStripMenuItem.Click

Pacientes.MdiParent = Me

Pacientes.Show()

End Sub

Private Sub PropiedadToolStripMenuItem_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

PropiedadToolStripMenuItem.Click

End Sub

Private Sub ConsultasToolStripMenuItem_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

ConsultasToolStripMenuItem.Click

Consultas.MdiParent = Me

Consultas.Show()

End Sub

Private Sub SCRAOK_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

End Sub

Private Sub MedicosToolStripMenuItem1_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles MedicosToolStripMenuItem1.Click

RegistroMedicos.Show()

End Sub

Page 35: Manual tecnico de sixar's

35

Private Sub EspecialidadToolStripMenuItem_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

EspecialidadToolStripMenuItem.Click

RegistroEspecialidad.Show()

End Sub

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles FPaciente.Click

Pacientes.MdiParent = Me

Pacientes.Show()

End Sub

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles FMedicos.Click

Doctors.MdiParent = Me

Doctors.Show()

End Sub

Private Sub FConsultas_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles FConsultas.Click

Consultas.MdiParent = Me

Consultas.Show()

End Sub

Private Sub FEspecialidad_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles FEspecialidad.Click

Page 36: Manual tecnico de sixar's

36

Especialidad.MdiParent = Me

Especialidad.Show()

End Sub

Private Sub ToolStripButton1_Click_1(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles ToolStripButton1.Click

BuscarPaciente.MdiParent = Me

BuscarPaciente.Show()

End Sub

End Class

Imports System.Data.SqlClient

Imports System.Data

Page 37: Manual tecnico de sixar's

37

Imports System.Data.Common

Imports Microsoft

Imports System.Drawing

Imports System.Data.Sql

Imports System.Data.OleDb

Imports System.Data.VersionNotFoundException

Public Class Pacientes

Dim tabla As DataTable

Dim vidp, idp As Integer

Dim vide, ide As Integer

Dim a As Integer

Private Sub Pacientes_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

Me.KeyPreview = True

Conectar()

CargarPacientes()

Desconectar()

End Sub

Private Sub Pacientes_KeyPress(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress

If e.KeyChar = ChrW(Keys.Enter) Then

e.Handled = True

SendKeys.Send("{TAB}")

End If

End Sub

Page 38: Manual tecnico de sixar's

38

Private Sub DataGridView1_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles GrillaPaciente.Click

Try

HabilitarBotones(False, True)

vidp = GrillaPaciente.CurrentRow.Cells(0).Value

Me.idc.Text = GrillaPaciente.CurrentRow.Cells(1).Value

Me.NExpediente.Text = GrillaPaciente.CurrentRow.Cells(2).Value

Me.DateTimePicker1.Value =

GrillaPaciente.Rows(GrillaPaciente.SelectedRows.Item(0).Index).Cells("FechaNaci

miento").Value

Me.DateTimePicker2.Value =

GrillaPaciente.Rows(GrillaPaciente.SelectedRows.Item(0).Index).Cells("FechaInsc

ripcion").Value

Me.Cedula.Text = GrillaPaciente.CurrentRow.Cells(3).Value

Me.Nombres.Text = GrillaPaciente.CurrentRow.Cells(4).Value

Me.Apellidos.Text = GrillaPaciente.CurrentRow.Cells(5).Value

Me.Edad.Text = GrillaPaciente.CurrentRow.Cells(8).Value

Me.Sexo.Text = GrillaPaciente.CurrentRow.Cells(9).Value

Me.EstadoCivil.Text = GrillaPaciente.CurrentRow.Cells(14).Value

Me.Direccion.Text = GrillaPaciente.CurrentRow.Cells(13).Value

Me.Ciudad.Text = GrillaPaciente.CurrentRow.Cells(10).Value

Me.Municipio.Text = GrillaPaciente.CurrentRow.Cells(11).Value

Me.Departamentos.Text = GrillaPaciente.CurrentRow.Cells(12).Value

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Page 39: Manual tecnico de sixar's

39

Private Sub CargarPacientes()

Dim vTabla As New DataTable

Dim dsGrid As New DataSet

Dim vAdaptador As New SqlDataAdapter("Select * From Paciente Order by

idp Desc", vCadena)

Dim vPacientes As New SqlDataAdapter("Select idp, idc,NExpediente,

NCedula, Nombres, Apellidos, Sexo, Edad, EstadoCivil, DireccionCiudad,

Municipio, Departamento ", vCadena)

GrillaPaciente.DataSource = GrillaPaciente

vAdaptador.Fill(vTabla)

GrillaPaciente.DataSource = vTabla

GrillaPaciente.Columns(0).Visible = False

GrillaPaciente.Columns(1).Visible = False

GrillaPaciente.Columns(2).Visible = True

GrillaPaciente.Columns(3).Visible = True

GrillaPaciente.Columns(4).Visible = True

GrillaPaciente.Columns(5).Visible = True

GrillaPaciente.Columns(6).Visible = True

GrillaPaciente.Columns(7).Visible = True

GrillaPaciente.Columns(8).Visible = True

GrillaPaciente.Columns(9).Visible = True

GrillaPaciente.Columns(10).Visible = True

GrillaPaciente.Columns(11).Visible = True

GrillaPaciente.Columns(12).Visible = True

GrillaPaciente.AutoSizeColumnsMode =

DataGridViewAutoSizeColumnsMode.Fill

Page 40: Manual tecnico de sixar's

40

End Sub

Public Sub activacion(ByVal x As Integer)

Select Case x

Case 1

Guardar.Enabled = False

Modificar.Enabled = True

Cancelar.Enabled = False

Eliminar.Enabled = True

Case 2

Guardar.Enabled = False

Modificar.Enabled = True

Cancelar.Enabled = False

Eliminar.Enabled = True

Case 3

Guardar.Enabled = False

Modificar.Enabled = True

Cancelar.Enabled = False

Eliminar.Enabled = True

Case 4

Guardar.Enabled = False

Modificar.Enabled = True

Cancelar.Enabled = False

Eliminar.Enabled = True

Me.Modificar.Text = " Actualizar"

Page 41: Manual tecnico de sixar's

41

Case 0

Guardar.Enabled = False

Modificar.Enabled = True

Cancelar.Enabled = False

Eliminar.Enabled = True

End Select

End Sub

Private Sub asignarDGB()

Dim vComando As New SqlCommand

Dim vAdaptador As New SqlDataAdapter

vComando.Connection = vCadena

vComando.Parameters.Clear()

tabla.Clear()

vComando.CommandType = CommandType.StoredProcedure

vComando.CommandText = "Mostrar_todos_los_Pacientes"

vAdaptador.SelectCommand = vComando

vAdaptador.Fill(tabla)

GrillaPaciente.DataSource = Nothing

Dim stile As New DataGridViewCellStyle

With stile

.BackColor = Color.LightGray

.ForeColor = Color.Black

End With

Page 42: Manual tecnico de sixar's

42

GrillaPaciente.DataSource = tabla

GrillaPaciente.AllowUserToAddRows = False

GrillaPaciente.AllowUserToDeleteRows = False

GrillaPaciente.RowHeadersVisible = False

GrillaPaciente.AllowUserToAddRows = False

GrillaPaciente.AllowUserToDeleteRows = False

GrillaPaciente.SelectionMode = DataGridViewSelectionMode.FullRowSelect

GrillaPaciente.AlternatingRowsDefaultCellStyle = stile

End Sub

Private Sub HabilitarBotones(ByVal Activo As Boolean, ByVal Inactivo As

Boolean)

Guardar.Enabled = Activo

Modificar.Enabled = Inactivo

Eliminar.Enabled = Inactivo

Cancelar.Enabled = Inactivo

End Sub

Private Sub Eliminar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Eliminar.Click

Dim vComando As New SqlCommand, vSql As String

If MsgBox("Desea eliminar el Paciente: " &

GrillaPaciente.CurrentRow.Cells(1).Value, MsgBoxStyle.YesNo) =

MsgBoxResult.Yes Then

vSql = "DELETE FROM Pacientes Where idp = '" & vidp & "'"

vComando.Connection = vCadena

vComando.CommandText = vSql

Conectar()

vComando.ExecuteNonQuery()

Desconectar()

Page 43: Manual tecnico de sixar's

43

Me.TextBox1.Text = Nothing

Me.TextBox1.Focus()

HabilitarBotones(True, False)

CargarPacientes()

MsgBox("Registro eliminado correctamente...", MsgBoxStyle.Information)

Else

Me.TextBox1.Text = Nothing

Me.TextBox1.Focus()

HabilitarBotones(True, False)

Exit Sub

End If

End Sub

Public Sub Eliminardatos_Pacientes()

If TextBox1.Text.Trim.Length > 0 And Windows.Forms.DialogResult.Yes =

MessageBox.Show("Eliminar el Registro Actual de la Base de Datos", "SAO",

MessageBoxButtons.YesNo, MessageBoxIcon.Stop) Then

Try

Dim vComando As New SqlCommand

vComando.Connection = vCadena

vComando.Parameters.Clear()

tabla.Clear()

vComando.Parameters.Clear()

vComando.CommandType = CommandType.StoredProcedure

vComando.CommandText = "Eliminardatos_Pacientes()"

vComando.Parameters.Add(New SqlParameter("@idp",

SqlDbType.Int)).Value = Val(TextBox1.Text.Trim)

Page 44: Manual tecnico de sixar's

44

vComando.ExecuteNonQuery()

Me.asignarDGB()

Catch ex As Exception

MessageBox.Show("El Registro no se Pudo eliminar", "SAO",

MessageBoxButtons.YesNo, MessageBoxIcon.Information)

End Try

End If

End Sub

Private Sub Guardar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Guardar.Click

If Me.NExpediente.Text = Nothing Then MsgBox("Ingrese el numero de

Expediente", MsgBoxStyle.Information) : Me.NExpediente.Focus() : Exit Sub

'Try

Conectar()

Dim vComando As New SqlCommand

Dim vTabla As New DataTable

Dim vAdaptador As New SqlDataAdapter("Select Max(idp) From Paciente",

vCadena)

vAdaptador.Fill(vTabla)

vComando.Connection = vCadena

vComando.CommandType = CommandType.StoredProcedure

vComando.CommandText = "Registrar_Pacientes"

vComando.Parameters.Add(New SqlParameter("@idc",

SqlDbType.Int)).Value = CInt(Me.idc.Text.Trim)

vComando.Parameters.Add(New SqlParameter("@NExpendiente",

SqlDbType.VarChar, 10)).Value = NExpediente.Text.Trim

Page 45: Manual tecnico de sixar's

45

vComando.Parameters.Add(New SqlParameter("@NCedula",

SqlDbType.VarChar, 17)).Value = Cedula.Text.Trim

vComando.Parameters.Add(New SqlParameter("@FechaNacimiento",

SqlDbType.SmallDateTime)).Value = DateTimePicker1

vComando.Parameters.Add(New SqlParameter("@FechaInscripcion",

SqlDbType.SmallDateTime)).Value = DateTimePicker2

vComando.Parameters.Add(New SqlParameter("@Nombres",

SqlDbType.VarChar, 50)).Value = Nombres.Text.Trim

vComando.Parameters.Add(New SqlParameter("@Apellidos",

SqlDbType.VarChar, 50)).Value = Apellidos.Text.Trim

vComando.Parameters.Add(New SqlParameter("@Sexo",

SqlDbType.VarChar, 15)).Value = Sexo.Text.Trim

vComando.Parameters.Add(New SqlParameter("@Edad",

SqlDbType.Int)).Value = Edad.Text.Trim

vComando.Parameters.Add(New SqlParameter("@EstadoCivil",

SqlDbType.VarChar, 20)).Value = EstadoCivil.Text.Trim

vComando.Parameters.Add(New SqlParameter("@Direccion",

SqlDbType.VarChar, 300)).Value = Direccion.Text.Trim

vComando.Parameters.Add(New SqlParameter("@Municipio",

SqlDbType.VarChar, 30)).Value = Municipio.Text.Trim

vComando.Parameters.Add(New SqlParameter("@Ciudad",

SqlDbType.VarChar, 50)).Value = Ciudad.Text.Trim

vComando.Parameters.Add(New SqlParameter("@Departamento",

SqlDbType.VarChar, 50)).Value = Departamentos.Text.Trim

vComando.ExecuteNonQuery()

CargarPacientes()

Desconectar()

'Catch ex As Exception

'MsgBox(ex.Message)

'Desconectar()

'End Try

End Sub

Page 46: Manual tecnico de sixar's

46

Private Sub Nuevo_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Nuevo.Click

GroupBox1.Enabled = True

GroupBox2.Enabled = False

Me.clear()

Me.activacion(1)

End Sub

Public Sub clear()

idc.Clear()

NExpediente.Clear()

Cedula.Clear()

Nombres.Clear()

Apellidos.Clear()

Edad.Clear()

Direccion.Clear()

Ciudad.Clear()

Municipio.Clear()

Departamentos.Clear()

End Sub

Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged

End Sub

End Class

Page 47: Manual tecnico de sixar's

47

Imports System.Data.SqlClient

Imports System.Data

Imports System

Public Class Consultas

Dim vide As Integer

Dim vidp As Integer

Dim vidc As Integer

Dim vEspecialidad As Integer

Dim vidm As Integer

Page 48: Manual tecnico de sixar's

48

'Private Sub txtFiltro_LostFocus(ByVal sender As Object, ByVal e As

System.EventArgs) Handles txtFiltro.LostFocus

' If txtFiltro.Text = Nothing Then

' MsgBox("Digite el Apellido", MsgBoxStyle.Exclamation)

' txtFiltro.Focus()

' Exit Sub

' End If

'End Sub

Private Sub Filtro_TextChanged(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Filtro.TextChanged

GrillaPaciente.Width = 550

GrillaPaciente.Height = 150

GrillaPaciente.Visible = True

GrillaPaciente.BringToFront() 'Envía la grilla al frente

Conectar()

Dim vTabla As New DataTable

Dim vAdaptador As New SqlDataAdapter("Select * From Paciente Where

Apellidos LIKE '" & Filtro.Text & "%'", vCadena)

vAdaptador.Fill(vTabla)

GrillaPaciente.Location = New Point(Filtro.Location.X, Filtro.Location.Y + 21)

GrillaPaciente.DataSource = vTabla

Desconectar()

FormatoGrillaPaciente()

End Sub

Sub FormatoGrillaPaciente()

With GrillaPaciente.ColumnHeadersDefaultCellStyle

.Alignment = DataGridViewContentAlignment.MiddleCenter

Dim Fuente = New Font(FontHeight, 10, FontStyle.Bold,

GraphicsUnit.World)

Page 49: Manual tecnico de sixar's

49

.Font = Fuente

End With

With GrillaPaciente.DefaultCellStyle

Dim miFuente = New Font(FontHeight, 10, FontStyle.Regular,

GraphicsUnit.World)

.Font = miFuente

End With

GrillaPaciente.AutoSizeColumnsMode =

DataGridViewAutoSizeColumnsMode.Fill

GrillaPaciente.Columns(0).Visible = True

GrillaPaciente.Columns(1).Visible = False

GrillaPaciente.Columns(2).Visible = False

GrillaPaciente.Columns(4).Visible = False

GrillaPaciente.Columns(5).Visible = False

GrillaPaciente.Columns(8).Visible = False

GrillaPaciente.Columns(9).Visible = False

End Sub

Private Sub GrillaPaciente_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles GrillaPaciente.Click

Try

vidp = GrillaPaciente.CurrentRow.Cells(0).Value

vEspecialidad = GrillaPaciente.CurrentRow.Cells(1).Value

Me.NExpediente.Text = GrillaPaciente.CurrentRow.Cells(2).Value

Me.Nombres.Text = GrillaPaciente.CurrentRow.Cells(4).Value

Me.Apellidos.Text = GrillaPaciente.CurrentRow.Cells(5).Value

Me.Edad.Text = GrillaPaciente.CurrentRow.Cells(8).Value

Me.Sexo.Text = GrillaPaciente.CurrentRow.Cells(9).Value

GrillaPaciente.Visible = False

Page 50: Manual tecnico de sixar's

50

Catch ex As Exception

End Try

End Sub

Private Sub SeleccionaEspecialidad(ByVal vCarrera As Integer)

Dim vTabla As New DataTable

Dim vSql As String = "Select Especialidad From Especialidad Where ide = '" &

vEspecialidad & "'"

Dim vAdaptador As New SqlDataAdapter(vSql, vCadena)

vAdaptador.Fill(vTabla)

Conectar()

Especialidad.Text = vTabla.Rows(0).Item(0).ToString

Desconectar()

End Sub

Private Sub Consultas_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

Me.KeyPreview = True

Conectar()

CargarConsultas()

CargarMedicos()

CargarEspecialidad()

Desconectar()

End Sub

Private Sub consultas_KeyPress(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress

If e.KeyChar = ChrW(Keys.Enter) Then

e.Handled = True

Page 51: Manual tecnico de sixar's

51

SendKeys.Send("{TAB}")

End If

End Sub

Private Sub CargarMedicos()

Dim vTabla As New DataTable

Dim vAdaptador As New SqlDataAdapter("Select * From Medicos", vCadena)

vAdaptador.Fill(vTabla)

cboMedicos.DataSource = vTabla

cboMedicos.DisplayMember = "Medicos"

cboMedicos.ValueMember = "Apellidos"

End Sub

Private Sub CargarEspecialidad()

Dim vTabla As New DataTable

Dim vAdaptador As New SqlDataAdapter("Select * From Especialidad",

vCadena)

vAdaptador.Fill(vTabla)

cboEspecialidad.DataSource = vTabla

cboEspecialidad.DisplayMember = "Especialidad"

cboEspecialidad.ValueMember = "ide"

End Sub

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles ToolStripButton1.Click

If Me.idm.Text = Nothing Then MsgBox("Ingrese el Cod",

MsgBoxStyle.Information) : Me.idm.Focus() : Exit Sub

Page 52: Manual tecnico de sixar's

52

Try

Conectar()

Dim vComando As New SqlCommand

Dim vAdaptador As New SqlDataAdapter("Select Max(idc) From

Consultas", vCadena)

vComando.Connection = vCadena

vComando.Parameters.Clear()

vComando.CommandType = CommandType.StoredProcedure

vComando.CommandText = "Registrar_Consultas"

vComando.Parameters.Add(New SqlParameter("@ide",

SqlDbType.Int)).Value = ide.Text

vComando.Parameters.Add(New SqlParameter("@idm",

SqlDbType.Int)).Value = idm.Text

vComando.Parameters.Add(New SqlParameter("@NExpediente",

SqlDbType.VarChar, 50)).Value = NExpediente.Text

vComando.Parameters.Add(New SqlParameter("@Nombres",

SqlDbType.VarChar, 100)).Value = Nombres.Text

vComando.Parameters.Add(New SqlParameter("@Apellidos",

SqlDbType.VarChar, 100)).Value = Apellidos.Text

vComando.Parameters.Add(New SqlParameter("@Sexo",

SqlDbType.VarChar, 15)).Value = Sexo.Text

vComando.Parameters.Add(New SqlParameter("@Edad",

SqlDbType.VarChar, 50)).Value = Edad.Text

vComando.Parameters.Add(New SqlParameter("@Pvez",

SqlDbType.VarChar, 50)).Value = Pvez.Text

vComando.Parameters.Add(New SqlParameter("@Subsecuente",

SqlDbType.VarChar, 80)).Value = Subsec.Text

vComando.Parameters.Add(New SqlParameter("@Hospitalizados",

SqlDbType.VarChar, 80)).Value = Hospitalizados.Text

vComando.Parameters.Add(New SqlParameter("@Motivo",

SqlDbType.VarChar, 100)).Value = Motivo.Text

vComando.ExecuteNonQuery()

Page 53: Manual tecnico de sixar's

53

CargarConsultas()

Desconectar()

Desconectar()

Catch ex As Exception

MsgBox(ex.Message)

Desconectar()

End Try

End Sub

Private Sub HabilitarBotones(ByVal Activo As Boolean, ByVal Inactivo As

Boolean)

Guardar.Enabled = Activo

Modificar.Enabled = Inactivo

Eliminar.Enabled = Inactivo

Cancelar.Enabled = Inactivo

End Sub

Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles ToolStripButton3.Click

Dim vComando As New SqlCommand, vSql As String

If MsgBox("Desea eliminar hoja de consultas: " &

DG1.CurrentRow.Cells(1).Value, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then

vSql = "DELETE FROM Consultas Where idc = '" & vidc & "'"

vComando.Connection = vCadena

vComando.CommandText = vSql

Conectar()

vComando.ExecuteNonQuery()

Desconectar()

Page 54: Manual tecnico de sixar's

54

Me.idc.Text = Nothing

Me.idc.Focus()

HabilitarBotones(True, False)

CargarConsultas()

MsgBox("Registro eliminado correctamente...", MsgBoxStyle.Information)

Else

Me.idc.Text = Nothing

Me.idc.Focus()

HabilitarBotones(True, False)

Exit Sub

End If

End Sub

Private Sub CargarConsultas()

Dim vTabla As New DataTable

Dim vAdaptador As New SqlDataAdapter("Select * From Consultas Order by

idc Desc", vCadena)

vAdaptador.Fill(vTabla)

DG1.DataSource = vTabla

DG1.Columns(0).Visible = False

DG1.Columns(1).Visible = False

DG1.Columns(2).Visible = False

DG1.Columns(3).Visible = True

DG1.Columns(4).Visible = True

DG1.Columns(5).Visible = True

DG1.Columns(6).Visible = True

DG1.Columns(7).Visible = True

DG1.Columns(8).Visible = True

DG1.Columns(9).Visible = True

Page 55: Manual tecnico de sixar's

55

DG1.Columns(10).Visible = True

DG1.Columns(11).Visible = True

DG1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill

End Sub

Private Sub DataGridView1_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles DG1.Click

Try

HabilitarBotones(False, True)

vidc = DG1.CurrentRow.Cells(0).Value

Me.ide.Text = DG1.CurrentRow.Cells(1).Value

Me.idm.Text = DG1.CurrentRow.Cells(2).Value

Me.NExpediente.Text = DG1.CurrentRow.Cells(3).Value

Me.Nombres.Text = DG1.CurrentRow.Cells(4).Value

Me.Apellidos.Text = DG1.CurrentRow.Cells(5).Value

Me.Edad.Text = DG1.CurrentRow.Cells(7).Value

Me.Sexo.Text = DG1.CurrentRow.Cells(6).Value

Me.Pvez.Text = DG1.CurrentRow.Cells(8).Value

Me.Subsec.Text = DG1.CurrentRow.Cells(9).Value

Me.Hospitalizados.Text = DG1.CurrentRow.Cells(10).Value

Me.Motivo.Text = DG1.CurrentRow.Cells(11).Value

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Public Sub activacion(ByVal x As Integer)

Page 56: Manual tecnico de sixar's

56

Select Case x

Case 1

Guardar.Enabled = False

Modificar.Enabled = True

Cancelar.Enabled = False

Eliminar.Enabled = True

Case 2

Guardar.Enabled = False

Modificar.Enabled = True

Cancelar.Enabled = False

Eliminar.Enabled = True

Case 3

Guardar.Enabled = False

Modificar.Enabled = True

Cancelar.Enabled = False

Eliminar.Enabled = True

Case 4

Guardar.Enabled = False

Modificar.Enabled = True

Cancelar.Enabled = False

Eliminar.Enabled = True

Me.Modificar.Text = " Actualizar"

Case 0

Guardar.Enabled = False

Modificar.Enabled = True

Page 57: Manual tecnico de sixar's

57

Cancelar.Enabled = False

Eliminar.Enabled = True

End Select

End Sub

Private Sub Nuevo_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Nuevo.Click

GroupBox1.Enabled = True

Me.clear()

Me.activacion(1)

End Sub

Public Sub clear()

ide.Clear()

idm.Clear()

NExpediente.Clear()

Nombres.Clear()

Apellidos.Clear()

Edad.Clear()

Motivo.Clear()

End Sub

End Class

Page 58: Manual tecnico de sixar's

58

Imports System.Data.SqlClient

Imports System.Data

Imports System.Drawing

Imports System.Data.Common

Imports System.Data.Sql

Imports System.Data.OleDb

Public Class Doctors

Dim tabla As DataTable

Dim vidm, idm As Integer

Dim vide, ide As Integer

Page 59: Manual tecnico de sixar's

59

Private Sub Medicos_KeyPress(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

If e.KeyChar = ChrW(Keys.Enter) Then

e.Handled = True

SendKeys.Send("{TAB}")

End If

End Sub

Private Sub GrillaM_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles GrillaM.Click

HabilitarBotones(False, True)

vidm = GrillaM.CurrentRow.Cells(0).Value

Me.TextBox2.Text = GrillaM.CurrentRow.Cells(1).Value

Me.TextBox1.Text = GrillaM.CurrentRow.Cells(2).Value

Me.TextBox3.Text = GrillaM.CurrentRow.Cells(3).Value

Me.MaskedTextBox1.Text = GrillaM.CurrentRow.Cells(4).Value

End Sub

Private Sub HabilitarBotones(ByVal Activo As Boolean, ByVal Inactivo As

Boolean)

Guardar.Enabled = Activo

Modificar.Enabled = Inactivo

Eliminar.Enabled = Inactivo

End Sub

Private Sub Medicos_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

Me.KeyPreview = True

Conectar()

CargarMedicos()

Page 60: Manual tecnico de sixar's

60

CargarEspecialidad()

Desconectar()

End Sub

Private Sub CargarEspecialidad()

Dim vTabla As New DataTable

Dim vAdaptador As New SqlDataAdapter("Select * From Especialidad",

vCadena)

vAdaptador.Fill(vTabla)

cboEspecialidad.DataSource = vTabla

cboEspecialidad.DisplayMember = "Especialidad"

cboEspecialidad.ValueMember = "ide"

End Sub

Private Sub CargarMedicos()

Dim vTabla As New DataTable

Dim vAdaptador As New SqlDataAdapter("Select * From Medicos Order by

idm Desc", vCadena)

vAdaptador.Fill(vTabla)

GrillaM.DataSource = vTabla

GrillaM.Columns(0).Visible = False

GrillaM.Columns(1).Visible = True

GrillaM.Columns(2).Visible = True

GrillaM.Columns(3).Visible = True

GrillaM.Columns(4).Visible = True

GrillaM.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill

End Sub

Private Sub asignarDGB()

Page 61: Manual tecnico de sixar's

61

Dim vComando As New SqlCommand

vComando.Connection = vCadena

Dim vAdaptador As New SqlDataAdapter

vComando.Parameters.Clear()

tabla.Clear()

vComando.CommandType = CommandType.StoredProcedure

vComando.CommandText = "Mostrar_todos_los_Medicos"

vadaptador.SelectCommand = vComando

vadaptador.Fill(tabla)

GrillaM.DataSource = Nothing

Dim stile As New DataGridViewCellStyle

With stile

.BackColor = Color.LightGray

.ForeColor = Color.Black

End With

GrillaM.DataSource = tabla

GrillaM.AllowUserToAddRows = False

GrillaM.AllowUserToDeleteRows = False

GrillaM.RowHeadersVisible = False

GrillaM.AllowUserToAddRows = False

GrillaM.AllowUserToDeleteRows = False

Page 62: Manual tecnico de sixar's

62

GrillaM.SelectionMode = DataGridViewSelectionMode.FullRowSelect

GrillaM.AlternatingRowsDefaultCellStyle = stile

End Sub

Private Sub Actualizar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs)

If Me.Modificar.Text.Trim = "Modificar" Then

Me.activacion(3)

Me.Modificar.Text = "Actualizar_Pacientes"

Me.GroupBox1.Enabled = True

Else

Me.Modificar.Text = "Modificar"

Me.Actualizar_Medicos()

Me.GroupBox1.Enabled = False

Me.activacion(1)

End If

End Sub

Public Sub activacion(ByVal x As Integer)

Select Case x

Case 1

Guardar.Enabled = False

Modificar.Enabled = True

Eliminar.Enabled = True

Case 2

Guardar.Enabled = False

Modificar.Enabled = True

Eliminar.Enabled = True

Case 3

Page 63: Manual tecnico de sixar's

63

Guardar.Enabled = False

Modificar.Enabled = True

Eliminar.Enabled = True

Case 4

Guardar.Enabled = False

Modificar.Enabled = True

Eliminar.Enabled = True

Me.Modificar.Text = " Actualizar"

Case 0

Guardar.Enabled = False

Modificar.Enabled = True

Eliminar.Enabled = True

End Select

End Sub

Private Sub Actualizar_Medicos()

Try

If TextBox4.Text.Trim.Length > 0 Then

Dim vComando As New SqlCommand

vComando.Connection = vCadena

vComando.Parameters.Clear()

vComando.CommandType = CommandType.StoredProcedure

vComando.CommandText = "Actualizar_Medicos()"

vComando.Parameters.Add(New SqlParameter("@idm",

SqlDbType.Int)).Value = Val(TextBox4.Text.Trim)

Page 64: Manual tecnico de sixar's

64

vComando.Parameters.Add(New SqlParameter("@Nombres",

SqlDbType.VarChar, 50)).Value = TextBox2.Text.Trim

vComando.Parameters.Add(New SqlParameter("@Apellidos",

SqlDbType.VarChar, 50)).Value = TextBox1.Text.Trim

vComando.Parameters.Add(New SqlParameter("@Sexo",

SqlDbType.VarChar, 50)).Value = TextBox3.Text.Trim

vComando.Parameters.Add(New SqlParameter("@Celular",

SqlDbType.VarChar, 50)).Value = MaskedTextBox1.Text.Trim

vComando.ExecuteNonQuery()

Me.asignarDGB()

Else

MessageBox.Show("Error no ha sido ingresado o seleccionado el codigo

de registro")

End If

Catch ex As Exception

MessageBox.Show(ex.Message)

MessageBox.Show("Error al intentar actualizar el archivo")

End Try

End Sub

Public Sub Eliminardatos_Medicos()

If TextBox4.Text.Trim.Length > 0 And Windows.Forms.DialogResult.Yes =

MessageBox.Show("Eliminar el Registro Actual de la Base de Datos", "SAO

SIXAR", MessageBoxButtons.YesNo, MessageBoxIcon.Stop) Then

Try

Dim vComando As New SqlCommand

vComando.Connection = vCadena

Page 65: Manual tecnico de sixar's

65

vComando.Parameters.Clear()

tabla.Clear()

vComando.Parameters.Clear()

vComando.CommandType = CommandType.StoredProcedure

vComando.CommandText = "Eliminardatos_Medicos()"

vComando.Parameters.Add(New SqlParameter("@idm",

SqlDbType.Int)).Value = Val(TextBox4.Text.Trim)

vComando.ExecuteNonQuery()

Me.asignarDGB()

Catch ex As Exception

MessageBox.Show("El Registro no se Pudo eliminar", "SAO SIXAR",

MessageBoxButtons.YesNo, MessageBoxIcon.Information)

End Try

End If

End Sub

Private Sub Cancelar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs)

Me.activacion(5)

End Sub

Public Sub clear()

TextBox1.Clear()

TextBox2.Clear()

TextBox3.Clear()

TextBox4.Clear()

MaskedTextBox1.Clear()

End Sub

Page 66: Manual tecnico de sixar's

66

Private Sub Guardar_Click_1(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Guardar.Click

If Me.TextBox2.Text = Nothing Then MsgBox("Ingrese los Nombres",

MsgBoxStyle.Information) : Me.TextBox2.Focus() : Exit Sub

Try

Conectar()

Dim vComando As New SqlCommand

vComando.Connection = vCadena

vComando.Parameters.Clear()

vComando.CommandType = CommandType.StoredProcedure

vComando.CommandText = "Registrar_Medicos"

vComando.Parameters.Add(New SqlParameter("@Nombres",

SqlDbType.VarChar, 50)).Value = TextBox2.Text

vComando.Parameters.Add(New SqlParameter("@Apellidos",

SqlDbType.VarChar, 50)).Value = TextBox1.Text

vComando.Parameters.Add(New SqlParameter("@Sexo",

SqlDbType.VarChar, 50)).Value = TextBox3.Text

vComando.Parameters.Add(New SqlParameter("@Celular",

SqlDbType.VarChar, 50)).Value = MaskedTextBox1.Text

vComando.ExecuteNonQuery()

CargarMedicos()

Desconectar()

Catch ex As Exception

MsgBox(ex.Message)

Desconectar()

End Try

End Sub

Private Sub Eliminar_Click_1(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Eliminar.Click

Dim vComando As New SqlCommand, vSql As String

Page 67: Manual tecnico de sixar's

67

If MsgBox("Desea eliminar el Medico: " & GrillaM.CurrentRow.Cells(1).Value,

MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then

vSql = "DELETE FROM Medicos Where idm = '" & vidm & "'"

vComando.Connection = vCadena

vComando.CommandText = vSql

Conectar()

vComando.ExecuteNonQuery()

Desconectar()

Me.TextBox4.Text = Nothing

Me.TextBox4.Focus()

HabilitarBotones(True, False)

CargarMedicos()

MsgBox("Registro eliminado correctamente...", MsgBoxStyle.Information)

Else

Me.TextBox4.Text = Nothing

Me.TextBox4.Focus()

HabilitarBotones(True, False)

Exit Sub

End If

End Sub

Private Sub Modificar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Modificar.Click

Dim vComando As New SqlCommand

Dim vSql As String

vSql = "UPDATE Medicos SET Medicos = '" & Me.TextBox4.Text & "' WHERE

idm = '" & vidm & "'"

vComando.Connection = vCadena : vComando.CommandText = vSql

Page 68: Manual tecnico de sixar's

68

Conectar()

Me.TextBox4.Text = Nothing

Me.TextBox4.Focus()

HabilitarBotones(True, False)

CargarMedicos()

Desconectar()

MsgBox("Registro Actualizado correctamente...", MsgBoxStyle.Information)

Me.TextBox4.Text = Nothing

Me.TextBox4.Focus()

HabilitarBotones(True, False)

Exit Sub

End Sub

Private Sub Nuevo_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Nuevo.Click

GroupBox1.Enabled = True

GroupBox2.Enabled = False

Me.clear()

Me.activacion(1)

End Sub

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs)

RegistroMedicos.Show()

End Sub

Page 69: Manual tecnico de sixar's

69

Private Sub cboEspecialidad_SelectedIndexChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

cboEspecialidad.SelectedIndexChanged

End Sub

End Class

Imports System.Data.SqlClient

Imports System

Imports System.Data.SqlTypes

Imports System.Data.Sql

Public Class Especialidad

Page 70: Manual tecnico de sixar's

70

Dim vide As Integer

Private Sub Especialidad_KeyPress(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

If e.KeyChar = ChrW(Keys.Enter) Then

e.Handled = True

SendKeys.Send("{TAB}")

End If

End Sub

Private Sub Especialidad_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

Me.KeyPreview = True

HabilitarBotones(True, False)

Conectar()

CargarGrilla()

Desconectar()

End Sub

Private Sub CargarGrilla()

Dim vTabla As New DataTable

Dim vAdaptador As New SqlDataAdapter("Select * From Especialidad",

vCadena)

vAdaptador.Fill(vTabla)

GrillaE.DataSource = vTabla

GrillaE.Columns(0).Visible = False

GrillaE.Columns(1).Visible = True

GrillaE.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill

End Sub

Page 71: Manual tecnico de sixar's

71

Private Sub HabilitarBotones(ByVal Activo As Boolean, ByVal Inactivo As

Boolean)

Guardar.Enabled = Activo

Modificar.Enabled = Inactivo

Eliminar.Enabled = Inactivo

End Sub

Private Sub GrillaE_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles GrillaE.Click

HabilitarBotones(False, True)

vide = GrillaE.CurrentRow.Cells(0).Value

Me.TextBox2.Text = GrillaE.CurrentRow.Cells(1).Value

End Sub

Private Sub Guardar_Click_1(ByVal sender As System.Object, ByVal e As

System.EventArgs)

If Me.TextBox2.Text = Nothing Then MsgBox("Ingrese el nombre de la

Especialidad", MsgBoxStyle.Information) : Me.TextBox2.Focus() : Exit Sub

Try

Conectar()

Dim vComando As New SqlCommand

vComando.CommandType = CommandType.StoredProcedure

vComando.CommandText = "Llena_Especialidad"

vComando.Connection = vCadena

vComando.Parameters.Add(New SqlParameter("@Especialidad",

SqlDbType.VarChar, 50)).Value = TextBox2.Text

vComando.ExecuteNonQuery()

CargarGrilla()

Desconectar()

Me.TextBox2.Text = Nothing

Page 72: Manual tecnico de sixar's

72

Catch ex As Exception

MsgBox(ex.Message)

Desconectar()

End Try

End Sub

Private Sub Nuevo_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Nuevo.Click

TextBox2.Clear()

End Sub

Private Sub Modificar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Modificar.Click

Dim vComando As New SqlCommand

Dim vSql As String

vSql = "UPDATE Especialidad SET Especialidad = '" & Me.TextBox2.Text & "'

WHERE ide = '" & vide & "'"

vComando.Connection = vCadena : vComando.CommandText = vSql

Conectar()

vComando.ExecuteNonQuery()

CargarGrilla()

Me.TextBox2.Text = Nothing

Me.TextBox2.Focus()

Desconectar()

MsgBox("Actualizado correctamente", MsgBoxStyle.Information)

End Sub

Private Sub Eliminar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Eliminar.Click

Dim vComando As New SqlCommand, vSql As String

Page 73: Manual tecnico de sixar's

73

If MsgBox("Desea eliminar la Especialidad: " &

GrillaE.CurrentRow.Cells(1).Value, MsgBoxStyle.YesNo) = MsgBoxResult.Yes

Then

vSql = "DELETE FROM Especialidad Where ide = '" & vide & "'"

vComando.Connection = vCadena

vComando.CommandText = vSql

Conectar()

vComando.ExecuteNonQuery()

Desconectar()

Me.TextBox2.Text = Nothing

Me.TextBox2.Focus()

HabilitarBotones(True, False)

CargarGrilla()

MsgBox("Registro eliminado correctamente...", MsgBoxStyle.Information)

Else

Me.TextBox2.Text = Nothing

Me.TextBox2.Focus()

HabilitarBotones(True, False)

Exit Sub

End If

End Sub

Private Sub GrillaE_CellContentClick(ByVal sender As System.Object, ByVal e

As System.Windows.Forms.DataGridViewCellEventArgs) Handles

GrillaE.CellContentClick

End Sub

End Class

Page 74: Manual tecnico de sixar's

74

Conclusiones

Se logró cumplir con los objetivos planteados, de crear un programa que permita

llevar el control de pacientes, consultas o médicos y seguimientos de registros en

las áreas del Hospital San Juan de Dios de Estelí.

Proporcionando un mayor control y acceso de la información a los pacientes/

médicos. Lo cual optimiza y agiliza los datos ingresados, perfeccionando de esta

manera el registro de pacientes o médicos al momento de pedir un expediente.

El mercado de software de historias clínicas no ha sido explotado debidamente,

entre otras razones, porque muchos médicos no tienen cultura informática y se les

dificulta el manejar una aplicación tradicional de PC. Es por esto que todo el

desarrollo de este sistema se enfoca en desarrollar e implementar una solución

simple y fácil de usar, dirigida a usuarios no diestros.

Page 75: Manual tecnico de sixar's

75

Page 76: Manual tecnico de sixar's

76

Herramienta CASE utilizada

Rational Rose Enterprise Edition.

Día

Asiut sistema de diseño

Visual Basic 2008

SQL Server 2008

Casos de prueba

Page 77: Manual tecnico de sixar's

77

Proformas de equipos obtenidas para el estudio de factibilidad

Page 78: Manual tecnico de sixar's

78

Documentos proporcionados por el cliente.

Hoja de Consultas

Hoja de registro

Page 79: Manual tecnico de sixar's

79

Entrevista

¿Cree usted necesario y/o útil la creación de un sistema automatizado donde se

almacenen los datos de los pacientes que el doctor atiende diariamente?, ¿Por qué?

Sí, porque pienso que de esta forma se agilizaría el sistema que actualmente

estamos utilizando y estaríamos trabajando con las nuevas tecnologías.

¿Qué beneficios cree usted que le proporcionaría la elaboración de un sistema

donde se almacenen toda la información de los pacientes?

Se evitaría la compra constantes de cuadernos, agendas, libretas, lapiceros que

anualmente se usan para registrar a los pacientes. Obtendríamos más información

de los pacientes ya que normalmente solo se registra el número de cédula. Y se

visualizaría de una forma más legible la información.

¿Usted como secretaria que datos cree que son necesarios al momento del registro

de los pacientes?

Sería bueno anotar, nombres y apellidos, cédula, edad, sexo, profesión, dirección,

número telefónico, motivo de consulta, procedencia o referencia, tipo de asistencia,

fecha de consulta, si asiste por seguro (empresa de seguro) o particular y monto de

consulta cancelado (consulta primera vez, consulta + campo visual, consulta familiar

de médico, consulta por seguro). Para el Doctor (Usuario Secundario): A usted como

Doctor,

¿Le agrada la idea de la elaboración de un sistema donde pueda almacenar los

datos necesarios, así como el diagnóstico dado a sus pacientes?, ¿Por qué?

Si, ya que sería mucho más fácil buscar la historia de un paciente y podría obtener

toda la información referente a él, porque actualmente ocupo mucho espacio en el

disco de la computadora, debido a que las historias las guardo en documentos de

Word y es un poco tedioso al momento de realizar la búsqueda de una de ellas

¿Qué datos son registrados al momento de describir la evaluación realizada por

usted al paciente?

Los datos que normalmente registro son: valoración psicológica, trauma emocional,

intento de homicidio, Diagnóstico, tratamiento recetado.

Page 80: Manual tecnico de sixar's

80

Bibliografía

Meta patrones. Una nueva aproximación a los patrones de diseño’. Moisés Daniel Díaz Toledano. Url http://www.moisesdaniel.com/es/wri/metapatrones.html Patterns of Enterprise Application Architecture’, Martin Fowler. URL: http://martinfowler.com/isa/index.html Client/Server: Past, Present and Future’, George Schussel. URL: http://www.sei.cmu.edu/str/descriptions/clientserver_body.html Client/Server architectures for Business Information Systems. A pattern Language’, Renzel y Keller, Plop’97. URL: http://jerry.cs.uiuc.edu/~plop/plop97/Proceedings/renzel.pdf Architecture Patterns for Business Systems’, por Lorraine Boydj, Plop’97, URL: http://jerry.cs.uiuc.edu/~plop/plop97/Proceedings/boyd.pdf Big Ball of Mud’, Foote y Yoder, URL: http://www.laputan.org/mud/ Application Design Guidelines: From N-Tier to .NET’, by Chappell, Kirk. URL: http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnbda/html/bdadotnetarch001.asp J2EE, Java 2 Platform, Enterprise Edition’, URL: http://java.sun.com/j2ee/

Jorge Magallanes, Jairo Reyes y Fernando Zamudio, “Diseño e implementación de

un sistema para historias clínicas” (Tesis, Facultad de Ingeniería en Electricidad y

Computación, Escuela Superior Politécnica del Litoral, 2005).

Roger S. Pressman. “Ingeniería del Software, Un Enfoque Práctico”, [3era.

Edicion, MacGraw Hill, 1998], pp. 5

Marjorie Lazoff, MD, Julio 2001, “Medical Software on the Web”, Medical

Computing Today.

http://www.medicalcomputingtoday.com

http://www.seis.es/informes/2003/

Walter H, Saldías JA, Zambano R. Historias clínicas electrónicas. Experiencia en

un Hospital Nacional.

Universidad Michoacana de San Nicolás Hidalgo-Facultad de Contaduría y

Ciencias Administrativa

Page 81: Manual tecnico de sixar's

81