SlideShare una empresa de Scribd logo
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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
16
Modelo de proceso
17
Diagramas Casos de Uso “Registrar pacientes”
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
19
Diagramas de Componentes
20
Diagramas de Secuencias
21
Diagramas de Clases
22
Diagramas de Casos de Uso
23
Diagramas de Contexto
24
Diagrama de Flujo
25
Diagrama hijo 1.1
26
Diagrama hijo 2.1
27
Diagrama de Entidad Relación
28
Diccionario de Datos
29
Diagrama de Bases de Datos
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
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
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)
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
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
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
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
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
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
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
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"
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
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()
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)
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
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
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
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
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)
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
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
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
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()
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()
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
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)
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
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
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
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()
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()
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
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
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)
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
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
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
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
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
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
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
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
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
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
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.
75
76
Herramienta CASE utilizada
Rational Rose Enterprise Edition.
Día
Asiut sistema de diseño
Visual Basic 2008
SQL Server 2008
Casos de prueba
77
Proformas de equipos obtenidas para el estudio de factibilidad
78
Documentos proporcionados por el cliente.
Hoja de Consultas
Hoja de registro
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.
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/bdadotn
etarch001.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
81

Más contenido relacionado

Destacado

Mesa autonomía Andrés López
Mesa autonomía Andrés LópezMesa autonomía Andrés López
Mesa autonomía Andrés Lópezsemfycsemfyc
 
Unidad 3 procesamiento de los datos sergio 5
Unidad 3  procesamiento de los datos sergio 5Unidad 3  procesamiento de los datos sergio 5
Unidad 3 procesamiento de los datos sergio 5Sergio Alexis Guerrero
 
Presentación de May Groppo (Ideame) en Jautu 2011
Presentación de May Groppo (Ideame) en Jautu 2011Presentación de May Groppo (Ideame) en Jautu 2011
Presentación de May Groppo (Ideame) en Jautu 2011Jautu
 
Mesa AMF Enrique Gavilan
Mesa AMF Enrique GavilanMesa AMF Enrique Gavilan
Mesa AMF Enrique Gavilansemfycsemfyc
 
Iglesia de la sangre lliria
Iglesia de la sangre lliriaIglesia de la sangre lliria
Iglesia de la sangre lliriaamparopinter
 
TRABAJO PRACTICO TIC II_2013 Actividad de integración de la Unidad I
  TRABAJO PRACTICO TIC II_2013  Actividad de integración de la Unidad I  TRABAJO PRACTICO TIC II_2013  Actividad de integración de la Unidad I
TRABAJO PRACTICO TIC II_2013 Actividad de integración de la Unidad Iempleada
 
Segunda parte diapositivas 17 34 primeros pasos (uso de opciones basicas)
Segunda parte diapositivas 17 34 primeros pasos (uso de opciones basicas)Segunda parte diapositivas 17 34 primeros pasos (uso de opciones basicas)
Segunda parte diapositivas 17 34 primeros pasos (uso de opciones basicas)HorizonteConsultores
 
Formato de documento computable
Formato de documento computableFormato de documento computable
Formato de documento computable
Diana Parra
 
Para mejorar tus presentaciones
Para mejorar tus presentacionesPara mejorar tus presentaciones
Para mejorar tus presentaciones
Andres Perez Marin
 
Tic, tac, tep
Tic, tac, tepTic, tac, tep
Tic, tac, tep
Diana Parra
 
Vida en comunidad
Vida  en comunidadVida  en comunidad
Vida en comunidad
Lilian Arango
 
Publisher tutorial
Publisher tutorialPublisher tutorial
Publisher tutorialRechulicaS
 

Destacado (20)

La domotica maria alejandra
La domotica maria alejandraLa domotica maria alejandra
La domotica maria alejandra
 
Mesa autonomía Andrés López
Mesa autonomía Andrés LópezMesa autonomía Andrés López
Mesa autonomía Andrés López
 
Manual spss sexto noche
Manual spss sexto nocheManual spss sexto noche
Manual spss sexto noche
 
Unidad 3 procesamiento de los datos sergio 5
Unidad 3  procesamiento de los datos sergio 5Unidad 3  procesamiento de los datos sergio 5
Unidad 3 procesamiento de los datos sergio 5
 
Presentación de May Groppo (Ideame) en Jautu 2011
Presentación de May Groppo (Ideame) en Jautu 2011Presentación de May Groppo (Ideame) en Jautu 2011
Presentación de May Groppo (Ideame) en Jautu 2011
 
Mesa AMF Enrique Gavilan
Mesa AMF Enrique GavilanMesa AMF Enrique Gavilan
Mesa AMF Enrique Gavilan
 
Iglesia de la sangre lliria
Iglesia de la sangre lliriaIglesia de la sangre lliria
Iglesia de la sangre lliria
 
TRABAJO PRACTICO TIC II_2013 Actividad de integración de la Unidad I
  TRABAJO PRACTICO TIC II_2013  Actividad de integración de la Unidad I  TRABAJO PRACTICO TIC II_2013  Actividad de integración de la Unidad I
TRABAJO PRACTICO TIC II_2013 Actividad de integración de la Unidad I
 
Tarea pdf,embarazo
Tarea pdf,embarazoTarea pdf,embarazo
Tarea pdf,embarazo
 
Segunda parte diapositivas 17 34 primeros pasos (uso de opciones basicas)
Segunda parte diapositivas 17 34 primeros pasos (uso de opciones basicas)Segunda parte diapositivas 17 34 primeros pasos (uso de opciones basicas)
Segunda parte diapositivas 17 34 primeros pasos (uso de opciones basicas)
 
Ejercicios 1
Ejercicios 1Ejercicios 1
Ejercicios 1
 
Documento de vision
Documento de visionDocumento de vision
Documento de vision
 
Filosofía Moderna
Filosofía ModernaFilosofía Moderna
Filosofía Moderna
 
Formato de documento computable
Formato de documento computableFormato de documento computable
Formato de documento computable
 
Para mejorar tus presentaciones
Para mejorar tus presentacionesPara mejorar tus presentaciones
Para mejorar tus presentaciones
 
Tic, tac, tep
Tic, tac, tepTic, tac, tep
Tic, tac, tep
 
Semana11
Semana11Semana11
Semana11
 
Presentacion g20 ivan
Presentacion  g20 ivanPresentacion  g20 ivan
Presentacion g20 ivan
 
Vida en comunidad
Vida  en comunidadVida  en comunidad
Vida en comunidad
 
Publisher tutorial
Publisher tutorialPublisher tutorial
Publisher tutorial
 

Similar a Manual tecnico de sixar's

01 Auditoria Ficha Clinica Dr Reyes
01 Auditoria Ficha Clinica   Dr Reyes01 Auditoria Ficha Clinica   Dr Reyes
01 Auditoria Ficha Clinica Dr ReyesPedro Duran
 
Proyecto de Base de Datos 1ra Parte
Proyecto de Base de Datos 1ra ParteProyecto de Base de Datos 1ra Parte
Proyecto de Base de Datos 1ra ParteMary Paty Ayala
 
HISTORIAL CLINICO PARA PACIENTES CON ESTADOS
HISTORIAL CLINICO PARA PACIENTES CON ESTADOSHISTORIAL CLINICO PARA PACIENTES CON ESTADOS
HISTORIAL CLINICO PARA PACIENTES CON ESTADOS
BodegaUSA
 
Registros de guardia
Registros de guardiaRegistros de guardia
Registros de guardia
Mandirola, Humberto
 
Registros en salud.pdf
Registros en salud.pdfRegistros en salud.pdf
Entrega 170809 Cuestionario Entrevista
Entrega 170809 Cuestionario EntrevistaEntrega 170809 Cuestionario Entrevista
Entrega 170809 Cuestionario Entrevistaragmyl
 
Unidad 2 gestion de la informacion en la enfermeria
Unidad 2 gestion de la informacion en la enfermeriaUnidad 2 gestion de la informacion en la enfermeria
Unidad 2 gestion de la informacion en la enfermeria
Licenciada J
 
Expediente clinico kardex y notas de enfermería
Expediente clinico kardex y notas de enfermeríaExpediente clinico kardex y notas de enfermería
Expediente clinico kardex y notas de enfermería
Ministerio de Salud
 
Expediente clinico kardex y notas de enfermería
Expediente clinico kardex y notas de enfermeríaExpediente clinico kardex y notas de enfermería
Expediente clinico kardex y notas de enfermería
Ministerio de Salud
 
Expediente clínico de Enfermería como norma y su trascendencia ético-legal
Expediente clínico de Enfermería como norma y su trascendencia ético-legalExpediente clínico de Enfermería como norma y su trascendencia ético-legal
Expediente clínico de Enfermería como norma y su trascendencia ético-legal
SSI CONAMED
 
sustentacion para el dia de hoy corregido .pptx
sustentacion  para el dia de hoy corregido .pptxsustentacion  para el dia de hoy corregido .pptx
sustentacion para el dia de hoy corregido .pptx
Rony Asley Barria Peralta
 
Norma_oficial_mexicana_nom_004_SSA3_2012 SSOFIA.pptx
Norma_oficial_mexicana_nom_004_SSA3_2012 SSOFIA.pptxNorma_oficial_mexicana_nom_004_SSA3_2012 SSOFIA.pptx
Norma_oficial_mexicana_nom_004_SSA3_2012 SSOFIA.pptx
SofiaMartinez752330
 
expedienteclinico-kardex y notasdeenfermera.ppt
expedienteclinico-kardex  y notasdeenfermera.pptexpedienteclinico-kardex  y notasdeenfermera.ppt
expedienteclinico-kardex y notasdeenfermera.ppt
eliseo membreño
 
Cap tulo 2_ficha_cl_nica
Cap tulo 2_ficha_cl_nicaCap tulo 2_ficha_cl_nica
Cap tulo 2_ficha_cl_nicachiscolita
 
Historia clinica
Historia clinicaHistoria clinica
Historia Clinica
Historia ClinicaHistoria Clinica
Historia Clinica
VeronicaIzquierdoCas
 
Rips registro individual de prestación de servicios RIPS
Rips registro individual de prestación de servicios RIPSRips registro individual de prestación de servicios RIPS
Rips registro individual de prestación de servicios RIPS
Brendöski Jhönsön
 
Expediente clinico kardex y notas de enfermeria
Expediente clinico kardex y notas de enfermeriaExpediente clinico kardex y notas de enfermeria
Expediente clinico kardex y notas de enfermeria
ULADECH - PERU
 

Similar a Manual tecnico de sixar's (20)

Introducción m
Introducción  mIntroducción  m
Introducción m
 
01 Auditoria Ficha Clinica Dr Reyes
01 Auditoria Ficha Clinica   Dr Reyes01 Auditoria Ficha Clinica   Dr Reyes
01 Auditoria Ficha Clinica Dr Reyes
 
Proyecto de Base de Datos 1ra Parte
Proyecto de Base de Datos 1ra ParteProyecto de Base de Datos 1ra Parte
Proyecto de Base de Datos 1ra Parte
 
HISTORIAL CLINICO PARA PACIENTES CON ESTADOS
HISTORIAL CLINICO PARA PACIENTES CON ESTADOSHISTORIAL CLINICO PARA PACIENTES CON ESTADOS
HISTORIAL CLINICO PARA PACIENTES CON ESTADOS
 
Registros de guardia
Registros de guardiaRegistros de guardia
Registros de guardia
 
Registros en salud.pdf
Registros en salud.pdfRegistros en salud.pdf
Registros en salud.pdf
 
Entrega 170809 Cuestionario Entrevista
Entrega 170809 Cuestionario EntrevistaEntrega 170809 Cuestionario Entrevista
Entrega 170809 Cuestionario Entrevista
 
Unidad 2 gestion de la informacion en la enfermeria
Unidad 2 gestion de la informacion en la enfermeriaUnidad 2 gestion de la informacion en la enfermeria
Unidad 2 gestion de la informacion en la enfermeria
 
Expediente clinico kardex y notas de enfermería
Expediente clinico kardex y notas de enfermeríaExpediente clinico kardex y notas de enfermería
Expediente clinico kardex y notas de enfermería
 
Expediente clinico kardex y notas de enfermería
Expediente clinico kardex y notas de enfermeríaExpediente clinico kardex y notas de enfermería
Expediente clinico kardex y notas de enfermería
 
Expediente clínico de Enfermería como norma y su trascendencia ético-legal
Expediente clínico de Enfermería como norma y su trascendencia ético-legalExpediente clínico de Enfermería como norma y su trascendencia ético-legal
Expediente clínico de Enfermería como norma y su trascendencia ético-legal
 
sustentacion para el dia de hoy corregido .pptx
sustentacion  para el dia de hoy corregido .pptxsustentacion  para el dia de hoy corregido .pptx
sustentacion para el dia de hoy corregido .pptx
 
Norma_oficial_mexicana_nom_004_SSA3_2012 SSOFIA.pptx
Norma_oficial_mexicana_nom_004_SSA3_2012 SSOFIA.pptxNorma_oficial_mexicana_nom_004_SSA3_2012 SSOFIA.pptx
Norma_oficial_mexicana_nom_004_SSA3_2012 SSOFIA.pptx
 
expedienteclinico-kardex y notasdeenfermera.ppt
expedienteclinico-kardex  y notasdeenfermera.pptexpedienteclinico-kardex  y notasdeenfermera.ppt
expedienteclinico-kardex y notasdeenfermera.ppt
 
Informe final
Informe finalInforme final
Informe final
 
Cap tulo 2_ficha_cl_nica
Cap tulo 2_ficha_cl_nicaCap tulo 2_ficha_cl_nica
Cap tulo 2_ficha_cl_nica
 
Historia clinica
Historia clinicaHistoria clinica
Historia clinica
 
Historia Clinica
Historia ClinicaHistoria Clinica
Historia Clinica
 
Rips registro individual de prestación de servicios RIPS
Rips registro individual de prestación de servicios RIPSRips registro individual de prestación de servicios RIPS
Rips registro individual de prestación de servicios RIPS
 
Expediente clinico kardex y notas de enfermeria
Expediente clinico kardex y notas de enfermeriaExpediente clinico kardex y notas de enfermeria
Expediente clinico kardex y notas de enfermeria
 

Último

PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................
Yisel56
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
AlanL15
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 

Último (7)

PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 

Manual tecnico de sixar's

  • 1. 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
  • 2. 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
  • 3. 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.
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 12. 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.
  • 13. 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
  • 14. 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.
  • 15. 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
  • 17. 17 Diagramas Casos de Uso “Registrar pacientes”
  • 18. 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
  • 30. 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
  • 31. 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
  • 32. 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)
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. 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
  • 40. 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"
  • 41. 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
  • 42. 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()
  • 43. 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)
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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
  • 48. 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)
  • 49. 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
  • 50. 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
  • 51. 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
  • 52. 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()
  • 53. 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()
  • 54. 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
  • 55. 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)
  • 56. 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
  • 57. 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
  • 58. 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
  • 59. 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()
  • 60. 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()
  • 61. 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
  • 62. 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
  • 63. 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)
  • 64. 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
  • 65. 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
  • 66. 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
  • 67. 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
  • 68. 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
  • 69. 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
  • 70. 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
  • 71. 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
  • 72. 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
  • 73. 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
  • 74. 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.
  • 75. 75
  • 76. 76 Herramienta CASE utilizada Rational Rose Enterprise Edition. Día Asiut sistema de diseño Visual Basic 2008 SQL Server 2008 Casos de prueba
  • 77. 77 Proformas de equipos obtenidas para el estudio de factibilidad
  • 78. 78 Documentos proporcionados por el cliente. Hoja de Consultas Hoja de registro
  • 79. 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.
  • 80. 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/bdadotn etarch001.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
  • 81. 81