DEPARTAMENTO DE INGENIERIA ELECTRICA INGENIERIA EN ELECTRONICA

DEPARTAMENTO DE INGENIERIA ELECTRICA INGENIERIA EN ELECTRONICA AREA DE CONCENTRACION: COMPUTACION PROYECTO TERMINAL DE INGENIERIA ELECTRONICA AUTOM...
0 downloads 0 Views 3MB Size
DEPARTAMENTO DE INGENIERIA ELECTRICA

INGENIERIA EN ELECTRONICA

AREA DE CONCENTRACION: COMPUTACION PROYECTO TERMINAL DE INGENIERIA ELECTRONICA

AUTOMATIZACI~NHOSPITALITARIA DESARROLLADO PARA EL HOSPITAL DEL VALLE DE CHALCO. ASESOR: M. en I.B. DAVID UZZIEL LOPEZ ILLEZCAS ALUMNO: BRISEÑO SAQUEDO CALOS ARMANDO

MAT. 87222373

UNIDAD

:IZTAPALAPA.

DIVISION

:CIENCIAS BASICAS E INGENERIA.

CARRERA

:ING. ELECTRONICA ENCOMPUTACI~N

MATERIA

:PROYECTO TERMINAL

TITULO

:AUTOMATIZACIóN DE HOSPITAL.

FECHA

:5 DE ENERO DE 2000.

ALUMNO

:BRISEÑO SAQUEDO CARLOS ARMANDO.

a

MATRICULA 537222373.

ASESOR

i

7EL LOPEZILLESCAS.

: M en I.B. DAVID UZ

ASESOR EXTERNO : M en T.E. ROSALBA GARCÍA RODRÍGUEZ.

INTRODUCCION.

LACOMPUTADORA ES REALMENTEUNAMAQUINAASOMBROSA. POCAS HERRAMIENTAS TE PERMITEN REALIZAR TANTAS TAREAS DIFERENTES. YA SEA QUE QUIERAS DAR SEGUIMIENTO A UNA INVERSION, PUBLICAR UN PERIODICO, DISEÑAR UN EDIFICIO O ASUMIR LA PERSONA DE INDIANA JONES EXPLORAR Y CAVERNAS EN SUDAMERICA PODRAS HACERLO CON UNA COMPUTADORA. EN 1982, LAREVISTA TIME NOMBRO “HOMBRE DEL A ÑO’ AUNA COMPUTADORA, DESDE ENTONCES, ESTAS COMPLEJAS MAQUINAS (CONSTRUIDAS CON SILICIO, METAL Y PLASTICO) HAN VENIDO A INFLUIR EN CASI TODOS LOS ASPECTOS DE NUESTRAS VIDAS.EN DONDE QUIERA QUE COINCIDANEL INTELECTO HUMANO YLATECNOLOGIA, AHI ENCONTRAS COMPUTADORAS.

EN LA MEDICINA Y CUIDADO DE LA SALUD.

ACTUALMENTE, SE USAN LAS COMPUTADORAS PARA MEDICINA, DESDE DIAGNOSTICOS ENFERMEDADES DE HASTA MONITOREO PACIENTES DE DURANTE CIRUGIA PERMENENTE DE PROTESIS.

TODO EN EL Y CONTROL EL

ALGUNAS APLICACIONES MEDICAS INTERESANTES USAN PEQUEÑAS COMPUTADORASDEPROPOSITO ESPECIFICO QUEOPERANDENTRODEL CUERPOHUMANOPARAAYUDARLEAFUNCIONARMEJOR.UNEJEMPLO SERIAN LOS MARCAPASOS; OTRO ES ÉL IMPLANTE DE COCLEA, UN APARATO ESPECIAL PARA EL OIDO QUE PERMITE ESCUCHAR A PERSONAS CONMARCADADEFICIENCIAAUDITIVA.PARTEDELDISPOSITIVOESUNA PEQUEÑACOMPUTADORAQUETRANSFORMAEL SONIDO EN IMPULSOS ELECTRICOS QUE SON TRANSMITIDOS AL CEREBRO MEDIANTE UN DISPOSITIVO INSTALADOENEL OIDO.OTR0 USO DELASCOMPUTADORAS EN HOSPITALES ES LA AUTOMATIZACION DE TECNICAS PARA CREAR IMÁGENES, LAS CUALES PRODUCEN IMÁGENES COMPLETAMENTE

DIMENSIONALESCONMUCHOMAYORDETALLEYMENOR RIESGO QUE LAS PELICULAS COMUNES DE RAYOS X. EL PRIMER USO EXTENDIDO DE LA CREACIONDEIMÁGENESFUECONLOSBARRIDOSDETOMOGRAFIA AXIAL COMPUTARIZADA(CAT).

QUIZAELEJEMPLOMAS DRAMATIC0 DELAFORMAENQUELAS COMPUTADORAS PERSONALES ESTAN MEJORANDO LA VIDA DE LAS PERSONAS TIENEN QUE VER CON INDIVIDUOS CON IMPEDIMENTOS FISICOS. ANTES DE LAS COMPUTADORAS PERSONALES, LAS PERSONAS CON DISCAPACIDADES FISICAS CON FRECUENCIA ENCONTRABAN MUCHOS PROBLEMAS PARA REALIZARTAREASDIARIASY TEMAN OPOTUNIDADES LIMITADAS PARA CONSEGUIR EMPLEO. ACTUALMENTE, UNA AMPLIA VARIEDAD DE SOFTWARE Y HARWARE, ESTA DISPONIBLE PARA AYUDAR A PERSONAS CON DIVERSOS IMPEDIMENTOS FISICOS. AUNQUE LA COMPUTADORA NO ES LA PANACEA, SI ESTA AYUDANDO YA QUE CUALQUIER PERSONA QUE TENGA UN MUSCULO BAJO SU CONTROL PODRA UTILIZAR UNA COMPUTADORA.

EN SU MAYOR PARTE, LAS COMPUTADORAS SON MAQUINAS DE USO GENERAL, MUCHAS PUEDEN SER USADAS CON LA MISMA EFICIENCIA PARA TRABAJAR CON NUMEROS, QUE PARA CREAR DOCUMENTOS, PARA CONTROLAR MAQUINAS o PARA AUTOMATIZAR HOSPÍTALES LAS COMPUTADORAS SE HANVUELTOTAN IMPORTANTES PARA LA MAYORIA DE LOS HOSPITALES QUE SE HAN TOMADO AMPLIAS PRECAUCIONES PARAASEGURARSEDEQUELOSSISTEMASYLOSDATOS ESTEN DISPONIBLES TODO EL TIEMPO, INCLUSO DURANTE GUERRAS, DESASTRES NATURALES U OTRAS CRISIS NACIONALES. HAN SURGIDO ELABORAJIAS ORGANIZACIONES INTERNAS PARA HACERSE CARGO DE LAS OPERACIONES QUE SE LLEVAN ACABO. EN OCASIONES, LAS TECNOLOGIAS QUE HACEN LA DIFERENCIA MÁS GRANDE SON AQUELLAS QUE RECIBEN LA MENOR COBERTURA DE PRENSA.UNATECNOLOGIAMUYSENSILLALLAMADAED1(INTERCAMBIO ELECTRONIC0 DEDATOS),ESTACAMBIANDOLA MANERA EN QUE LAS COMPAÑIAS LLEVAN A CABONEGOCIOS, ELIMINANDO CASI POR COMPLETO LAS FORMASDEORDENESENPAPELY SE MANIFIESTAEN COME'mIAS GRANDES POR DOQUIER.

EL ED1 ES UN PROCESO EN ELQUE DIFERENTES COMPUTADORAS COMPARTEN INFORMACION INDEPENDIENTEMENTE QUIEN LAS FABRIQUE, DONDE SE ENCUENTRE O QUE TAN RAPID0 CORRAN. NO ES UNA TECNOLOGIA ATRACTIVA RARA VEZ ES DISCUTIDA EN EL MEDIO PERO EL ED1 ESTA AYUDANDO A MUCHOS NEGOCIOS A BAJAR COSTOS ASOCIADOS CON ENBARQUES, ENTREGAS Y ALMACENAMIENTO DE PARTES Y SUMINISTROS.

EN EL HOSPITAL EVANSTON COW, EN EVANSTON, ILLINOIS, EL ED1 A CAMBIADO LA MANERA EN QUE ESTE HOSPITAL ORDENA SUMISTROS Y EN EL PROCESO, HA DEFINIDO NUEVAMENTE LA FORMA ENQUE LA COMPAÑÍA MANEJA SUS INVENTARIOS Y LA COMUNICACIóN CON SUS PROVEEDORES. LOS CAMBIOS SON TANDRAMATICOS QUE, EN UN SOLO AÑO, EL HOSPITAL AHORRO MÁS 2 MILLLONES DE DOLARES. EL ED1 PERMIT10 A LAS COMPUTADORAS DEL HOSPITAL ORDENAR Y PROGRAMAR LA ENTREGA DE UN AMPLIO GRUPO DE SUMISTROS EN FORMA AUTOMATICA, CONFORME SE NECESITABAN ESOS PRODUCTOS.

DESCRIPCION DEL PROYECTO.

EL OBJETIVO DEESTE PROYECTO SERÁ EL DE AUTOMATIZAR UN HOSPITAL, Y GENERARLAS CITAS DE PACIENTES, ELLABORATORIO Y EL CARNET DEL PACIENTE EN FORMA AUTOMÁTICA, EL SISTEMA DEBE TENER LA CAPACIDAD DE MANEJAR TODO TIPO DE CONSULTAS EN CUANTO A LOS PACIENTES Y QUIMICOS, REALIZAR las INSCRIPCIONES, BAJAS Y MODIFICACIONES DE LOS PACIENTES, TAMBIÉN DEBE DE LLEVAR UN REGISTRO DE LOS PACIENTES EN EXISTENCIA COMO ASÍ EL MANTENIMIENTO SOBRE ESTOS.

EL SISTEMADEBE DE PROPORCIONARLAS SIGUIENTES CARACTER~STICAS:

0

SEGURIDAD: LA INFORMACIÓN DELICADA SOLO DEBE PODER SER MANEJADA POR LAPERSONA INDICADA.

0

CONFIABILIDAD: EL SISTEMA DEBE DE PROPORCIONAL INFORMACI~N VERÍDICA. FUNCIONALIDAD: DEBE DE CUMPLIR CON LOS ESTABLECIDOS AL INICIO DEL PROYECTO.

REQUISITOS

ESTE TAMBIÉN PROPORCIONARA UN SUBSISTEMA DE AYUDA EN LÍNEA Y UNA BARRA DE MENSAJES QUE INDICARAN LAS FUNCIONES DISPONIBLES A EJECUTAR Y EL CóMO HACERLO, TODO ESTO CON E L .FIN DE HACER MÁS FÁCIL su MANEJO.

ENTREVISTAS.

EL PRIMER PASO EN EL DESARROLLO DEL PROYECTO SON LAS ENTREVISTAS CONLOSUSUARIOS. UN USUARIO ES AQUEL (O AQUELLOS) PARA QUIENES SE CONSTRUYE EL SISTEMA; DE ESTAS SE ESTAJ3LECI6 LO SIGUIENTE PARA EL DEPARTAMENTO DE ARCHIVO: 0

ALTASDE PACIENTES QUETENDRAN SERVICIOS HOSPITALARIOS.

o

MODIFICAR DATOS DE LOS DIRECCION, TELBFONO ETC.

0

AÑADIR REACTIVOS AL LABORATRIO

0

EQUIPOS 0 0

NUEVOS MODIFICAR BAJAS

PROGRAMAR CONSULTAS 0 0

0

GENERAL OBSTETRICIA GINECOLOGIA QUIROFANO PERINATOLOGIA

DE LOS

PACIENTES COMO EL CAMBIO DE

EL DEPARTAMENTO DE LABORATORIO

0

DERECHO ALUSO

DESARROLLO DEL PROYECTO

EL DESARROLLO DE UN SISTEMA DE COMPUTACI~NIMPLICA VARIAS ETAPAS Y DIVERSOS ESPECIALISTAS PARA CADA UNA DE ESTAS, S E N D 0 EL ESTABLECIMIENTO DE LOS TIEMPOS DE TERMINOPOSTERIOR AL ANALISIS. LA GRÁFICA DE GANT SIGUIENTE MUESTRA LOS TIEMPOS PARAEL DESARROLLO DE ESTE PROYECTO

TIEMPO MESES ACTIVIDAD

O

2

1

3

4

5

6

Investigación y estudio de las herramientas Entrevistas con usuarios

m

Anfdisis y Requerimientos de prueba DiseAo y programación Pruebas Documentación Generación de Manuales Generación del Reporte Presentación Instalación y pruebas del usuario Liberación del sistema

O

CONSULTAS ALA BASE DE DATOS. 0

PACIENTES 0 PORNOMBRE 0 PORCLAVE

0

REACTIVOS 0 TIPO

0

DOCTORES 0 HORARIOS 0 ESPECIALIDADES

GRABAR TODOS LOS DATOS ACERCA DEL HOSPITAL GENERAR LOSREPORTES o o

o o

o 0

DEL AREA DE RECURSOS HUMANOS DE LA AERAADMINISTRATIVA DELOSDOCTORES DE LOS REACTIVOS DE LABORATORIO DELOS PACIENTES DEBODEGA

EL SIGUIENTE PASO ES EL MODELADO DEL SISTEMA QUE DESEA EL USUARIO. UN SISTEMA DE PROCESO DE DATOS INVOLUCRA TANTO DATOS COMO ELPROCESO. LA HERRAMIENTA QUE UTILIZAMOS PARA DESCRIBIR LA TRANSFORMACIóN DE ENTRADAS A SALIDAS DE UN DIAGRAMA DE FLUJO DE DATOS. LOS DIAGRAMAS DE FLUJOS DE DATOS CONSISTEN EN PROCESOS, AGREGADOS DE DATOS, FLUJOSY TERMINADORES: 0

LOS PROCESOS SE REPRESENTAN POR MEDIO DE “BURBUJAS”, EN DIAGRAMA. EL REPRESENTAN LAS DIVERSAS FUNCIONES INDIVIDUALES QUE EL SISTEMA LLEVA A FUNCIONES TRANSFORMAN ENTRADAS EN SALIDAS.

CÍRCULOS O CABO. LAS

LOS FLUJOS SE MUESTRAN POR MEDIODEFLECHASCURVAS.SONLAS CONEXIONES ENTRE LOS PROCESOS(FUNCI0NES DEL SISTEMA) Y REPRESENTAN LA INFORMACIóN QUE DICHOSPROCESOSREQUIEREN COME ENTRADAO LA INFORMACIÓN QUE GENERAN COMASALIDA. 0

LOS AGREGADOS DE DATOS SE REPRESENTAN POR MEDIO DE DOS L h E A S PARALELAS O MEDIANTEUNAELIPSE.MUESTRANCOLECCIONES (O AGREGADOS)DEDATOS QUE EL SISTEMADEBE RECORDAR POR UN PERIODO DE TIEMPO.

0

LOS TEMINADORES MUESTRAN LAS ENTIDADES EXTERNAS CON LAS QUE EL SISTEMA SE COMUNICA.

A CONTINUACIóN SE MUESTRAN LOS DIAGRAMAS DE FLUJOS DE DATOS PARA LOS DEPARTAMENTOS:

LISTA DE EVENTOS EVENTOS DE PROCESO Citas Generación de reportes

EVENTOS DE MANTENIMIENTO Inventario Altas, bajas de pacientes Cambio de situación del paciente: Baja temporal 0 Especialidad o Domicilio 0 Resello

PROCESO DE CONSULTA Búsqueda de pacientes Búsqueda de doctores Búsqueda de reactivos

HOSPITAL.

Informacion de Pacientes

Informacion de Doctores

Informacion de Reactivos Informacion de Citas

altas Inf. Eouino

Inf. Doctores

Bodega

~

.

Cambios

-

Bodega

altas Base doc. Cambios

Nuevo Paciente

Archivo

___L ~

Archivo

Base doc.

DIAGRAMAS DE FLUJOS DE DATOS EVENTOS DE PROCESO

Inf. Pacientes Archivo

Cita

-

Inf. Paciente

Inf.Laboratori-

Estudios Clinicos

EVENTOS DE MANTENIMlENTO

-

altas

l n f Reactivos

Laboratorio Cambios

A continuación se presenta el diagrama de flujo de datos para el sistema bibliotecario

Altas

b

Bajas

+

Cambios

pacientes doctores

______,

Pacientes Laboratorio

_____*

Nombre Paciente ~

N Folio Archivo

Apellidos

T

Reactivos

Actualuacion de reactivos

Actualizaciondeinf. dedoctores

-

Mantenimieto

. Inf.

Doctores

. - \ --(-)

Nuevos Datos Del

Paciente N Folio

Apellido

Hodificacih

( carnet

Archivo

7. Búsquedas

b-

Buscar Reactivos

--

Laboratori

Por ultimo tenemos las consultas, que tienen el siguiente diagrama

N Folio

Busqueda

Reactivo

doctor

Archivo Resultado de consulta

Reporte

Estos diagramasaunqueútiles,soloresaltanun aspecto principal de un sistema:sus hnciones. Necesitamos conocer a detalle la información que debe contener el sistema, y no solo eso, sino también la relación que existe entre los agregados de información. Para esto necesitamos lo quese conoce como diagrama de entidad-relacion. En base anuestros diagramas anteriores podemos obtener nuestras entidades que son las que se muestran a continuación.

Para el caso del mantenimiento del laboratorio tenemosel siguiente diagrama.

Infomacion del Reactivo __I_____)

Eliminar

t

E Laboratorio Laboratorio

Reactivo ___)

Infomacion del Reactivo

Como puede verse este proceso se encargara de dar de alta, debajq hacer cambios y consultar datos referentes alos Pacientes.

Proceso Citas: Datos de Paciente N-Folio

Validar

Fecha de Citas y Consultorios Registrar

Cita

-

Colocacion

Doctores

Consultorio

Para tener una mejor visión del sistema,es necesario desglosarcada burbuja de tal forma que la fbnción que cada proceso realizasea perceptible. Se muestran a continuación la “explosión” de cada una de ellas. Para la esfera titulada paciente tenemosel siguiente diagrama.

Infomacion del nuevo paciente

Insertar

E Paciente

N-Folio ___)

Infonnacion del paciente 4

Lista de entidades: Paciente. NFolio Nombre Dirección Teléfono Enfermedad Fecha de cita Fecha de hospitalización Consultorios Reactivos Recursos humanos administración

Doctor Nombre teléfono especialidad

Con baseen las entidades anteriores y en los diagramas de flujos de datos podemos obtener las relaciones entre las distintas entidades: Relaciones y cardinalidad Las líneasque atraviesan las líneas de unión entre las diferentes entidades representan relaciones 1 a 1 y las 2 líneas oblicuas indican relacionesde muchos. Doctores

I

t t

t Paciente

I

Notamos en este diagrama que existen relaciones uno a muchosentre la entidad doctor y la entidad cita, y la relación paciente cita es uno a uno.

f

ff

S c. - ,

L

. .

.

PLANTEAMIENTO DEL PROBLEMA. AUTOMATIZACIONDELHOSPITAL.ENELHOSPITALISEMDELVALLEDE AS1 COMOUNA CHALCO SÉ ENCONTROUNADUPLICACIONDEDATOS; DE CONTROL EN LOS RECURSOS MATERIALES y LENTITUD Y FALTA HUMANOS.

ESTUDIOS DE FACTIBILIDAD. SE LLEVO A CABO UN ESTUDIO DE LAS POSIBILIDADES TANTO DE RECURSOS HUMANOS (QUE TANTO CONOCIMIENTO SÉ TENIA CON COMPUTADORAS. QUE TANFACTIBLE ES QUE LA GENTE SE PRESTARA PARA ENSEÑARLE Y NO BIERAN CON MIEDO EL CAMBIO)Y MATERIALES(C0NQUE EQUIPOS SE CONTABA QUE PRESUPUESTO SÉ HIV ADESIGNAR), POR LO QUE SELLEGO A LA CONCLUSION QUE SÉ COLOCARIAUNAREDENTODOEL HOSPITAL UN SISTEMA BASADO EN VISUAL BASIC.

ANALISIS Y DISEÑO

SÉ ANALISO LASPARTESDELSISTEMA Y COMOSERELACIONANENTRE UN CONJUNTODE SIPOR LO QUE; ELSISTEMAESTACOMPUESTOPOR SUBSISTEMAS,LOSCUALESESTARANCONTROLANDOCADAAREACOMO POR EJEMPLO LABORATORIO, CITAS, ARCHIVO Y CONTROL DE REACTIVOS; AVIENDODENTRODEESTOSSUBSISTEMASOTROSSUBSISTEMAS. POR EJEMPLO CITAS. QUE CONTIENE, CITAS GINECOLOGIA, HURGENCIASY ECT.

CON ESTO SE LOGRARAUN MAYOR CONTROL DEL SISTEMA NO PERDIENDO DE VISTA LA INTERRELACION CON LAS DISTINTAS PARTES QUE LO COMPONEN. ELSISTEMASELLEVARAA CAE30 CON UN SISTEMACELULAR, ES DECIR PUDEN TENER MAS DE DOS NODO LAS BASES DE DATOS. FUNCION DELDBA(S0FWARE) SEGURIDADDELSISTEMA 0 INTEGRIDAD DE LA BASE DE DATOS 0 CONTROL DE CONCURRENCIA Y SINCRO NIZACION FUNCION DELDBA(PERS0NA) DEFONE LOS ESQUEMAS DE LA B.D. DA MANTENIMIENTO DE LOS ESQUEMAS 0 DEFINE LOS NIVELES DE SEGURIDADPARA CADA USUARIO 0 DEFINE LOS PROCEDIMIENTOS DE RESPALOD DELA INFORMACION

CODIFICACION. ANEXA SEPROGRAMA EL CON DESARROLLADAS PARA EL SISTEMA

ALGUNAS LAS DE

IMÁGENES

USO Y MANTENIMIENTO.

PARA MINIMIZAR EL COSTO DEL CICLO DE VIDA DEL SOFWARE ES NECESARIO A)LASPARTESDELSISTEMACORRESPONDANCONLASPARTESDEL PROBLEMA. B)LA FORMA ESTRUCTURADAENLA QUE SERELACIONANLASPARTES DEL SISTEMA SE CORRESPONDA CON LA FORMA EN QUE SE RELACIONA LAS PARTES DEL PROBLEMA PARA LOGRAR ESTOS OBJETIVOS SE NECESITA TENER LOGICO Y FISICO BIEN ELABORADO.

UN

DISENO

EL DISEÑO LOGICO: SE DETERMINA A UN NIVEL GENERAL EXCLUSIVAMENTE A PARTIR DE LA ESTRUCTURA DEL PROBLEMA, DANDO EL MODELO LOGICO. DISEÑO FISICO: SE SACA APARTIR DEL MODELO LOGICO EJEMPLO

PROBLEMA

LOGICO

DISEÑO FISICO

MODELO FISICO

1

I

#

# #

#”----

1

DATOS BEHERALES DEL PAUEHTE

Nombre

3

3

3

3

3

3

3

JJ

6

8

8 a

o

c

1 3

H cp I d

-.

-.L

w

N

1

11

7 ?

x

I

f f-

k k

Y

"

Y

11 I

I

'

Y

g G - 9

k

1

HOSPITAL.VBP

Código de modulo uno. Private Sub Abrir-Click() Form2.Show End Sub Private Sub Nuevo-Click() 'FRMLAB.Data1 .Recordset.MoveLast 'FRMLAFlDatal .Recordset.AddNew FRMLAB.Show 1 End Sub

Código datos personales. Private Sub Textl-Change() End Sub Private Sub Commandl-Click() folio = FRMLAB.Text5.Text Form2.Text44.Enabled = False Datal .Recordset.Update FRMLAB.Hide 'Call h-TipoExamen.inicia1iza1-2 b-TipoExamen.Show 1 End Sub Private Sub Comand2_Click() End End Sub Private Sub Fom-Initialize0

FRMLAB.Data1.Recordset.MoveLast FRMLAB.Data1 .Recordset.AddNew

End Sub Private Sub Text2-LostFocus() Dim nombre As String nombre = Text2.Text If nombre = "" Then MsgBox "el nombreno ha sido llenado" Text2.SetFocus End If End Sub Private Sub Text5-LostFocus() Dim folio As String, Y As Boolean folio = Text5.Text Y = IsNumeric(fo1io) If Y = False Then MsgBox "el numero defolio es incorrecto" Text5.SetFocus End If End Sub

Public Sub inicializar() FRMLAB.Data1 .Recordset.MoveLast FRMLAB.Data1 .Recordset.AddNew End Sub

Código de examen de orina. Private Sub Conunand-SI-Click() Datal .Recordset.Update frm-Ex-orina.Hide End Sub Public Sub inicio() h-Ex-orina.Data1 frm-Ex-orina.Data1 h-Ex-orina.Text1 k-Ex-orina.Text1 h-Ex-orina.Text1 End Sub

.Recordset.MoveLast .Recordset.AddNew .Enabled = True .Text = folio .Enabled = False

Código tipo de examen. Private Sub Commandl-Click() Dim respuesta As Integer respuesta = MsgBox("¿Desea agregarotro registro?", vbYesNo) If respuesta = 6 Then Me.Hide Call FRML,AB.inicializar Unload fnn-TipoExamen FRMLAB.Visible = True Else Unload h-TipoExamen Unload FEWLAB End If End Sub Private Sub Checkl-Click() Call Frm-Hematl .inicio Frm-Hemat 1.Show 1 Check1 .Enabled= False End Sub Private Sub Check2_Click() Call h-Hemat2.inicio frm-Hemat2.Show 1 Check2.Enabled = False End Sub Private Sub Check3_Click() Call fm-Hemat3.inicio h-Hemat3 .Show 1 Check3 .Enabled= False End Sub Private Sub Check4_Click() Call fnn-Ex-orina.inicio h-Ex-orina.Show 1 Check4.Enabled = False End Sub Private Sub CheckS_Click()

Call h-q-clinica.inicio fi-m q_clinica.Show 1 Che")

Msk-Fec-Nac.Text = IIfTIsNull(datObste.Recordset("Fecha-Nac")), / I-", Fomat(datObste.Recordset("Fecha-Nac"), ""/DDIYYYY")) It "

txtCalle.Text = IIf(IsNull(datObste.Recordset("Calle~No")), "",Format(datObste.Recordset("Cal1e-No"), ">")) txtCol.Text = IIf(IsNull(datObste.Recordset("Col")), "",Format(datObste.Recordset("Col"), txtLoc.Text = IIfOsNull(datObste.Recordset("Loc")), "",Format(datObste.Recordset("loc"), Ir>")) txtMun( l).Text = IIf(IsNull(datObste.Recordset("Mun")), "",Format(datObste.Recordset("Mun"), ">")) ''>'I))

'Tabla2 Obste-Exp-Urg (Exploraci6n en Urgencias) Msk-FecExp( 1) = IIf(IsNull(datObste.Recordset("Fecha_Exp")), Format(datObste.Recordset("Fecha-Exp"), "MMDDNYYY")) MskYHoraExp(2).Text= IIf(IsNull(datObste.Recordset("Hora_E:x")), 11 . "Format(datQbste.Recordset("Hora-Exp"), "hh:mn~W P M " ) ) t

L

~

L

"

'I,

'I,

txtInf-Exp(O).Text = IIf(IsNull(datObste.Recordset("1nf-Exp")),, "",datObste.Recordset('Tnf-Exp")) txtTA.Text = IIf(IsNull(datObste.Recordset("TA")), "",datObste.Recordset("TA")) txtPulso.Text = IIf(IsNull(datObste.Recordset("Pulso")), "",datObste.Recordset("Pu1so")) txtTemp.Text = IIf(IsNull(datObste.Recordset("Temp")), "",datObste.Recordset("Temp")) txtGesta.Text = IIf(IsNull(datObste.Recordset("Gesta")), "",datObste.Recordset("Gesta")) txtPara.Text = IIf(IsNull(datObste.Recordset("Para")), "",datObste.Recordset("Para")) txtAbort.Text = IIf(IsNull(datObste.Recordset("ab")), "",datObste.Recordset("Ab")) txtCesa.Text = IIf(IsNull(datObste.Recordset("Ces")), "",datObste.Recordset("Ces")) txtEdad.Text = IIf(IsNull(datObste.Recordset("Edad)), "",datObste.Recordset("Edad")) txtICD.Text = IIf(IsNull(datObste.Recordset("Cont-Dol")), "",datObste.Recordset("Cont-Dol"))

-

mskFUM = IIf(IsNull(datObste.Recordset("HrsFUM")), "AL"Format(datObste.Recordset("HrsFUM"),"MWDDIYYYY")) 'I,

mskFPP = IIfTIsNull(datObste.Recordset("FPP")), " I I-", Format(datObste.Recordset("FPP"), "MMIDDNYYY")) "

txtSem-Ges.Text = IIf(IsNull(datObste.Recordset("Gesta")), "",datObste.Recordset("Gesta")) txtFon-Ut.Text = IIf(IsNull(datObste.Recordset("T -Uter")), "",datObste.Recordset("T-Uter")) txtTon-Ut.Text = IIf(IsNull(datObste.Recordset("F-Uter")), "",datObste.Recordset("F-Uter")) chkEdema.Value = IIf(IsNull(datObste.Recordset("Ederna")), O, 1) chkSang.Value = IIf(IsNull(datObste.Recordset("Sang")), O, 1) 'Tabla3 Obste-Cerv-Memb (Cervix/membranas/ ) 'Pendiente End Sub 'Esta función simplemente reemplaza todoslos cuadros de texto 'del registro actual por espacios vacios. Public Sub Limpia() 'Tabla :Datos Generales (HCP-Dat-Gen) txtFolio.Text = txtNom-Pac.Text = "" txtApe-Pat-Pac.Text = "" txtApe-Matqac.Text = "" Msk-Fec-Nac.Text = I I " txtCalle.Text = "" txtCol.Text = "" txtLoc.Text = '"' txtMun( l).Text = "" "'I

I'

'Tabla 2: Exploraci6n en Urgencias Msk-FecExp(1) = " I I '' Msk_HoraExp(2).Text = " : txtInf-Exp(O).Text = "" txtTA.Text = txtPulso.Text = "" txtTemp.Text = "" txtGesta.Text = "" txtPara.Text = "" txtAbort.Text = "" txtCesa.Text = "" txtEdad-Text= txtICD.Text = "" mskFUM=" / I mskFUM= '' I I txtSem-Ges.Text = "" I'

'I"

"'I

I'

I'

txtFon-Ut.Text = "" txtTon-Ut.Text = '"' chkEdema.Value = False chkSang.Value = False 'Tabla3 Obste-Cew-Memb (Cervix/membranas/ ) 'Pendiente End Sub Function Alta() As Boolean a r las consultas Dim SQL As String 'Variable de Texto para m Dim RSAs Recordset Dim FolioAs Integer On Error GoTo CapError 'Antes de insertar los valores delos campos del nuevoregistro 'en la tabla específica se obtiente el valor del últimoregistro 'existente para que el nuevo registro tenga el último valor Set RS = bdArchivo.OpenRecordset("se1ect max(fo1io) as new-folio from OBSTE-Dat-Gen") Folio = RS("NEW FOLIO") + 1 'Incremento sobre el valor num&ico del último registro txtFolio.Text = Folio RS.Close 'Campos elegidos para que siempre tengan algúndato cuando se (dade ALTA If IsNull(txtFo1io.Text) Or IsNull(txtNom-Pac.Text) Or IsNull(txtApe-Pat-Pac.Text) Or IsNull(txtApe-Matgac.Text) Then MsgBox "Debe proporcionarel FOLIO, el NOMBRE y los APELLIDOS del paciente", vbInformation + vbOKOnly, "Error en de Actualización" Exit Function Else 'Tabla1 OBSTE-Dat-Gen SQL = "Insert into OBSTE-Dat-Gen ('I 'Datos proporcionados porel usuario SQL = SQL & " Folio SQL = SQL & 'I, Nom-Pac SQL = SQL & Ape-Pat-Pac SQL = SQL & Ape-Matqac SQL = SQL & Fecha-Nac" SQL = SQL & Calle-No " SQL = SQL & ",Col 'I SQL = SQL & LOC SQL = SQL & ",Mun )" 'I

'I,

'I

I'

'I, 'I,

'I,

'I,

SQL = SQL & It VALUES ('I 'Datosproporcionadospor SQL = SQL & Folio SQL = SQL & I' , & Moja-ObstetricatxtNom-Pac & I' SQL SQL & , & Moja-0bstetrica.txtApe-Pat-Pac & "' SQL = SQL & I' , & smHoja-0bstetrica.txtApe-Matqac & *'I "I

'I

el usuario

'I'

I'

'I1

"I

'I

SQL = SQL & , '" & IIf(hnHCP-Base.Msk-Fecha-Nac(0) = / / ","NULL", Format(fmHCP-Base.Msk-Fecha-Nac(O), "MM/DD/YYYY1'))& "' " It

'I-

SQL = SQL & , & 1IflfnnHCP-Base.txtCalle= "","Null", hHCP-Base.txtCalle) & It

'I'

''I

SQL = SQL & , & IIf(frmHCP-Base.txtCo1 = '"', "Null", fmHCPBase.txtCo1) & 'It I' 'I

'I1

SQL = SQL & 'I , 'I' & IIf(frmHCP-Base.txtLoc = "","Null", fimHCP-Base.txtLoc) & ''I SQL = SQL & 'I , "' & IIf(frmHCP-Base.txtMun( 1) = "","Null", fimHCP-Base.txtMun( 1)) & )" 'I1

bdArchivo.Execute SQL, dbFailOnError 'Ejecuta instrucciones SQL de Acciones 'Tabla2 OBSTE-Exp-Urg SQL = Ynsert intoOBSTE-Exp-Urg SQL = SQL & "Folio 'I SQL = SQL & ' I , Fecha-Exp" SQL = SQL & ' I , Hora-Exp 'I SQL = SQL & ",Inf-Exp" SQL = SQL & 'I, TA SQL = SQL & Pulso 'I SQL = SQL & Temp SQL = SQL & ",Gesta 'I SQL = SQL & Para" SQL = SQL & Ab SQL = SQL & 'I, Ces I r SQL = SQL & Edad SQL = SQL & 'I, Cont-Dol SQL = SQL & 'I, HrsFUM" SQL = SQL & ' I , FPP SQL = SQL & TUter SQL = SQL & F-Uter SQL = SQL & ,Edema SQL = SQL & Sang )"

('I

'Datos proporcionadospor el usuario

'I

'I, 'I,

'I, 'I,

'I

It,

'I

It

'I

'I,

'I,

'I

'I

'I

'I,

SQL = SQL & VALUES SQL = SQL & Folio

('I

'Datos proporcionados por el usuario

SQL = SQL & , '" & IIf(fmHoja-0bstetrica.Msk-FecExp( 1) = 'I / / "NULL", Format(fmHoja-0bstetrica.Msk -FecExp( I), "MU/B)D/YYYY")) &

111

SQL = SQL & , ''' & IIf(frmHoja~Obstetrica.Msk~HoraExp(2) = 'I : "NULL", Format(fimHoja~Obstetrica.Msk~HoraExp(2),"hh:mAMPM")) &

'I'

'I

'I,

'I,

SQL = SQL & , "' & fimHoja_Obstetrica.txtIxtInf_Exp(O)& SQL = SQL & , & Moja-0bstetrica.txtTA & SQL = SQL & , & Moja-0bstetrica.txtPulso & SQL = SQL & , & hHoja-0bstetrica.txtTemp.Text & SQL = SQL & I' , & M o j a 0bstetrica.txtGesta.Text& 'I SQL = SQL & , & frmHoja~Obstetrica.txtPara& SQL = SQL & , & Moja-0bstetrica.txtAbort & SQL = SQL & , & Woja-Obstetrica.txtCesa & 'I

"I

I'

It

'I 'I

I' 'I

'I

'I

'I

'I

'I

'I

'I

'I

I'

'I 'I

'I

It

SQL = SQL & , & IIf(fmHoja-0bstetricatxtEdad.Text Moja-0bstetrica.txtEdad) & SQL = SQL & 'I , 'I & fimHoja-Obstetrica.MICD.Text& "' 'I 'I

''I

=

"", "null",

I"

SQL = SQL & I' ,"' & IIf(hHoja-0bstetrica.mskFUM = / / "NULL", Format(fimHoja-Obstetrica.mskFUM, "MMDDiY'lrTYy")) & '" It

'I,

SQL = SQL & " , & IIf(€imHoja-Obstetrica.mskFPP = / i/ "NULL", Format(fimHoja-Obstetrica.mskFPP,""/DD/YYYY")) & "' " 'I'

I),

SQL = SQL & " , & Woja-Obstetrica.txtFon-Ut & SQL = SQL & , I' & IIf(fimHoja-Obstetrica..txtTon-Ut.Text I' 'I

I'

=

"", "null",

fmHoja-0bstetrica.txtTon-Ut) & SQL = SQL & , & Moja-0bstetrica.chkEdema & SQL = SQL & " ,"' & Moja-0bstetrica.chkSang & "')" 'I 'I

'I

'I1

"I 'I

bdArchivo.ExecuteSQL,dbFailOnError'EjecutainstruccionesSQLde etc.)

AccionesfAltas, Bajas,

MSgSox "Registro dado de ALTA", vbOKOnly, "Hoja Obstetrica" datObste.Refresh 'Recuperael control el Datacontrol Exit Function Cap-Error: 'Captura de posibles errores en tiempo de ejecuación IfNot Err = 3022 Then MsgBox Err.Description, vbCritica1, "ERROR" Else MsgBox "ElExpediente ya existe (RECTIFIQUE...)", vbcritical, "ERROR" Exit Function End If End If End Function 'Recupera y muestra un registro Function Consulta(Fo1ioAs Integer) As Boolean txtFolio.Embled = True 'El Datacontrol recupera el valor de todos los campos contenidos 'en laconsulta OBSTE disefiada en Access para el registro especificado 'en Obste-DAT-GEN.FOLI0 Set datObste.Recordset = bdArchivo.OpenRecordset("SELE:CT * from OBSTE WHERE Obste DAT-GEN.FOLIO=" & Folio) End Function 'Esta función actualiza los camposdel registro actual Function Modificacion(Fo1ioAs Integer) As Boolean Dim bdArchivo As Database 'Variable para guardar el es reslutado de la consulta Dim SQL As String 'Variable para armarlas consultas 'Validación de campos queno puede estar vacíos If IsNuH(txtFoIio.Text) Or IsNull(txtNom-Pac.Text) Or IsNull(txtApe-Pat-Pac.Text) Or IsNull(txtApe-Matqac.Text) Then MsgBux "Debe proporcionar elFOLIO, el NOMBRE y los APELLIDOS del paciente",vbInformation + vbOKOnly, "Error de Actualización" Exit Function EIse

'TABLA1 HCP-Dat-Gen (DATOS GENERALES) SQL = "UPDATE OBSTE-DAT-GEN I' SQL = SQL & It SET Nom-Pac = & frmHoja-0bstetrica.txtNom-Pac & 'Conjunto de selección SQL = SQL & Ape-Pat-Pac = 'I' & Moja-ObstetricatxtAp-Pat-Pac & '" SQL = SQL & ",Ape-Mat-Pac = "' & fí"Ioja-Obstetrica.txtApe-Matgac & "' 'I SQL = SQL & ",Fecha-Nac = & Format(frmHoja-Obstetrica.Msk_Fec-Nac, "MMIDDNYYY") 'I'

In

'I,

"I

&

'IVI)

SQL = SQL & 'I, Calle = "' & fmHoja-0bstetrica.txtCalle & 'I1"' SQL = SQL & ",LOC= I" & fimHoja-Obstetrica.txtLoc & 'I SQL = SQL & Col = & fkmHoja-0bstetrica.txtCol & SQL = SQL & It,Mun = '" & hHoja-Obstetrica.txtMun( 1) & SQL = SQL & " WHERE Folio = "' & fimHoja-Obstetricatolio & "' " 'Criterio de actualizacih ''I

'I,

It'

"I

''I Ir

bdArchivo.Execute SQL, dbFaiIOnError 'Ejecución de la consulta MsgBox "Informede Actualización: Registro ActuaIizado",vbhformation + vbOKOnIy, Actualizacibn de Expedientes Clínicos" Exit Function End If End Function 'Esta función elimina permanentemente el registro actual Function Baja(FolioAs Integer) As Boolean Dim SQL As String 'Variable de Texto para armara lsconsultas Dim Mensaje, Estilo, Título, Respuesta, MiCadena Mensaje = "E& seguro de querer ELIMINAR PERMANENTEMENTE este expediente" Define el mensaje. EstiIo = vbYesNo + vbcritical + vbDefaultButton2 Define los botones. Título = " C o n f í e..." Define el titulo. I'

Respuesta = MsgBox(Mensaje, Estilo,Título) On Error GoTo Cap-Error If Respuesta = vbYes Then El usuario eligió el botón Si. MiCadena = "Sí" Ejecutaa s l acciones siguientes 'Consultas de eliminación independientespara cada Tabla SQL = "DELETE FROM OBSTE-DAT-GEN WHERE Folio = I' & txtFolio & 'I bdArchivo.Execute SQL, dbFailOnError SQL = "DELETE FROM OBSTE-EXP_URG WHERE Folio = " & txtFolio & bdArchivo.Execute SQL, dbFailOnError SQL = "DELETE FROMObste-Gem-Memb WHERE Folio == 'I & txtFolio & bdArchivo.Execute SQL, dbFailOnError

+ vbOKOnly, MsgBox "Expediente Eliminado", vbInformation "Estado Actualdel expediente"

'I

'I

"

'I It

datObste.Refresh 'Recupera el control el Datacontrol Exit Function Else ' E1 usuario eligió el botón No. MiCadena = "NO" End If Exit Function Cap-Error: If Not Err = 3022 Then MsgBox Err.Description,vbcritical, "ERROR' Exit Function Else MsgBox "El Expedienteno existe o ya €ué eliminado (RECTIFIQUE...)", vbInformation + vbOKOnly, "Intento de eliminación" Exit Function End If End Function Private Sub Form-Unload(Cance1 As Integer) bdArchivo.Close 'Cierra la base de datos (la retira de la memoria) End Sub

o

LOGIN. Option Explicit Public LoginSucceeded As Boolean Private Sub cmdCanceI-CIick() 'establece lavariable global a false 'para indicar un fallo en el inicio de sesión LoginSucceeded = False End End Sub Private Sub cmdOK-Click() 'comprueba lacontraseña correcta If txtPassword= " U M " Then 'sitúe cirdigo aquí para indicarque 'se conoce¡a contraseña 'lo más fácil es establecer una variable global LoginSucceeded = True Unload Me Else MsgBox "Contras&a no válida, vuelva a intentarlo",, "Inicio de sesi6n" txtPassword.SetFocus SendKeys "fHome)+(End)" End If End Sub

3 2

3

z O

3

7

3

3

9

z o

m

3

3

$3

4 m

o P F

1771

3

3

z E o

MENU Option Explicit 'Carga Ia Forma de la Hoja Obstetrica Private Sub cmdCargar-HO-Glick() MsgBOx "Base de Datos y Formulario en proceso de disefio", vbhformation + vbOKOnly, "Mensje del programador... hMenuFormas.Hide frmHoja-0bstetrica.Show End Sub 'Carga la Formade la Solicitud de Atención Médica Private Sub cmdCargar_SAM-CIick() MsgBox "Basede Datos y Formulario en procesode diseiio", vbhformation + vbOKOnly, "Mensje del programador..." fimMenuFomas.Hide hSoi-Atencion-Med.Show End Sub 'Carga la Forma de la HistoriaClinica Perinatal Private Sub cmdcargar-HCP-Click() MsgElox "Base de Datos y Formulario en procesode-diseiio",v b h f m a t i o n + vbOKOnly, "Mensje del programador..." frmMenuFormas.Hide fimHCP-Base.Show End Sub Private Sub cmdFin-Click() Unload M e n u F o r m a s End End Sub 'I

Option Explicit Private Sub cmdAlta-Click() Alta End Sub Private Sub Form-Load() 'NOTA: PARA CARGAR UNA FORMA NO SE REQUIERE SU NOMBRE I f Not Conectar-Base-Ms Then 'Oseasi Conectstr_&ase-Datos=False MsgEbx W O se puede conectar a la base de datos. Verifiquela ruta",vbCritical+ vBOKOnly, "ERROR" Else

'El Datacontrol se enlaza a laconsulta de selección Obste 'creada en la base de datos en Access Set datSAM.Recordset= bdArchivo.OpenRecordset("SELECT * fkom SAM") End I f End Sub Private Sub cmdNuevo-Exp-CIick() txtFolio,Enabled= False 'Deshabilita el cuadro de texto del folio 'para evitar que el usuario lo pueda modificar Limpia 'Se Hama a la fbnci6n que renova todos los cuadros de texto, 'los botones de opción y selección End Sub Private Sub cmdElimínar-Exp-Click() If txtFolio = "" Then 'No se puede eliminarun registro si se 'desconoce su Folio MsgBox "Debeespecificar un número de 'FOLIO"', vbCritica1, ''Error" Else Baja txtFolio.Text 'Llamaa función de eliminación de registros Exit Sub End I f End Sub Private Sub cmdConsulta-Click() 'abre el expediente cuyofolio se especifique If WFolio = "" Then 'No se puede eliminarun registro si se 'desconoce su Folio MsgEkx "Debeespecificar un númerode 'FOLIO", vwritical, "Error" Exit Sub Else Consulta txtFolio.Text Exit Sub End Tf End Sub 'Guarda cuakpier cambio miizado alregistro actual Private Sub cmdGuardar_Exp-Click() si se If WFolio = "" Then 'Nose puede eliminar un registro 'desconoce su Folio Msg3ox "Debeespecificar un número de 'FOLIO"', vbCriticd, "Error'' Else Modificacion txtFolio.Text Exit Sub End I f End Sub 'Esta función solo es temporal ya que se utilizará 'Crystal Reports para imprimir los informesde las consultas Private Sub cmdImprimir-Click() (31Error GoTo ErrorEandíer ' Configura el controlador de errores. Debug.P&t "Datos en la tablaactual antes de ejecutar la ConsuIta 'I

Exit Sub ErrorHandler: MsgBox "No se puedeImprimir impresora" -

el expediente.Verifique conexiones y configuracióndeseu

,vbCritica1 + vbOKCance1, "Error de Impresi6n" Resume Next 'i? End Sub Private Sub cmdSdir_Cliek() Dim Mensaje, Estilo, Titulo, Respuesta, MiCadena Mensaje = "&Desea Guardarlos cambios realizados .antesde salir?" ' Define el mensaje. Estilo = vbYesNoCancel + vbCritid + vbDefaultButton1 Define los botones. Titulo = "Importante" Define el título. Respuesta = Ms@ox(Mensaje, Estilo, Título)

If Respuesta = vbYes Then El usuario eligi6 el both Si. MCadena = "Si" ' ModificaciontxtFoiio.Text Elsdf Respuesta = vbNo Then MiCadena = "No" Unload hSoI-Atencion-Med fimMenuFormas.Show Else: Respuesta= vbCancel MiCadena = "Can.celar" Exit Sub End I f End Sub Private Sub datSAh4-Reposition() Muestra-SAM End Sub 'Esta.funcián controla medianteel DATA CONTROL 'el despliegue delcwtenido de los campos del registro actual 'traidos desdea ls tablas específicas de este formulario. Sub Muem-SAM() If datSAM.Recurdset.RecurdCountG=O Then datSAM.Caption = "No existe tal registro" MsgElox "NO existe tal registro" Limpia Exit Sub End I f datSAM.Caption = Registro & datSAM.Recordset.AbsoluteF'osition+ 1 & de & datSAM.Recordset.RecordCount 'I

'I

'Tabla 1 Sol-At-Med-DAT-GEN (Datos Generales) txtFolio.Text = datSAM.Recordset("Sol-At-Med_DATGEN.folio") txtNom-Pac.Text = Format(datSAM.Recordset("Nomgac"), txtApe-Pat-Pac.Text = Format(datSAM.Recordset("apeqatgac"),">'I) txtApe-Matqac.Text = Format(datSAM.Recordset("ape-mat$ac"), ">") Msk-Fecha-Nac(O).Text = IIf(IsNull(datSAM.Recordset("Fech~~-Nac")), " / /-", Format(datSAM.Recordset("Fecha-Nac"), "MM/DD/YYYY'I)) 'I>")

"

txtCalle.Text = IIf(IsNull(datSAM.Recordset("Cal1e-No")),

"",Format(datSAM.Recordset("Cal1e-No"), 'Y')) txtCol.Text = IIf(IsNull(datSAM.Recordset("Col")), '"'. Format(datSAM.Recordset("Col"),">''))

-

txtLoc.Text = Ilf(IsNull(datSAM.Recordset("Loc")),"",Format(datSAM.Recordset("Loc"), ">")) txtMun( l).Text = IIf(IsNull(datSAM.Recordset("Mun'')), "",Format(datSAM.Recordset("Mun"), 'I>")) txtTel.Text = IIf(IsNull(datSAM.Recordset("Tel")),"",datSAM.Recordset("Te1"))

-

comEst.Text = Format(datSAM.Recordset("Est"), ">") End Sub 'Esta función simplemente reemplaza todos los campos del registro 'actual por espacios vacios. Public Sub Limpia() 'Tabla Sol-atMed-Dat-Gen (Datos Generales) txtFolio.Text = "" txtNom-Pac.Text = "" txtApe-Pat-Pac.Text = ''" txtApe-Matgac.Text = "" txtCalle.Text = "" txtCol.Text = "" txtLoc.Text = "" txtMun( l).Text = '"' txtTel.Text = "" comEst.Text = "" Msk-Fecha-Nac(O).Text = " / / End Sub 'SECCIóN DE FUNCIONES PARA EL MANEJO DE LA BASE DE DATOS Function Alta()As Boolean Dim SQL As String 'Variable de Texto paraarmar las consultas Dim RS As Recordset Dim Folio As Integer On Error GoTo Cap-Error 'Antes de insertar los valores de los campos del nuevoregistro 'en la tabla específicase obtiente el valor del últimoregistro 'existente para que el nuevo registro tenga el últimovalor 'I

Set RS = bdArchivo.OpenRecordset("se1ect max(fo1io) as from folio newSol-At-Med-DAT-GEN") Folio = RS("NEW FOLIO") + 1 'Incremento sobre el valor nurrkrico del último registro txtFolio.Text = Folio RS.Close 'Validación de algunos campos nulos cuando se da de ALTA If IsNull(txtFo1io.Text) Or IsNull(txtNom-Pac.Text) Or IsNull(txtApe-Pat-Pac.Text) Or IsNull(txtApe-Matgac.Text) Then Msgl3ox "Debe proporcionarel FOLIO, el NOMBREy los APEiLLIDOS del paciente",vbInformation + vbOKOnly, "Error en de Actualización" Exit Function Else SQL = "Insert into Sol-At-Med-DAT-GEN (" 'Estos son los campos en losque SQL = SQL & Folio " 'se incertarán los datos 'I

SQL = SQL & Nom-Pac" SQL = SQL & Ape-Pat-Pac SQL = SQL & ",Ape-Mat-Pac SQL = SQL & Calle-No " SQL = SQL & ",Col SQL = SQL & ",LOC" SQL = SQL & Mun " 'SQL = SQL & sex " SQL = SQL & ",Te1 " SQL = SQL & 'I, Est SQL = SQL & ",FechaNac ) 'I, 'I,

" "

'I,

'I

'I,

'I,

I'

'I

SQL = SQL & VALUES 'Datosproporcionadosporelusuario SQL = SQL & " & Folio & "' " SQL = SQL & " , 'I' & frmSol-Atencion-Med.txtNom-Pac & "' SQL = SQL & " ,'I' & fhnSol_Atencion-Med.txtApe-PatPac ¿k "' " SQL = SQL & " ,'" & h S o l Atencion Med.txtApe-Matqac & 'I' " SQL = SQL & " , & fhnSo

Suggest Documents