Tesis Ana Maria Arguello Rubira

download Tesis Ana Maria Arguello Rubira

of 140

Transcript of Tesis Ana Maria Arguello Rubira

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    1/140

    1

    UNIVERSIDAD TECNICA DE MANAB

    FACULTAD DE CIENCIAS INFORMTICAS

    TESIS DE GRADO

    Previa a la obtencin del ttulo de:

    ANALISTA EN SISTEMAS

    TEMA:

    DESARROLLO DE UN SISTEMA INFORMATICO QUE PERMITA

    AUTOMATIZAR EL INGRESO DE LA HISTORIA CLNICA DE

    PACIENTES, PARA EL CONSULTORIO MDICO DEL DR. JOS

    INTRIAGO ANDRADE.

    AUTORA:

    ANA MARA ARGUELLO RUBIRA

    DIRECTOR DE TESIS

    Ing. Esthela San Andrs Laz Mg. Sc.

    PORTOVIEJO MANAB ECUADOR2010

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    2/140

    2

    CERTIFICACIN

    Ing. Esthela San Andrs Laz, certifica que la presente tesis ha sido elaborada por

    la Seora Ana Mara Arguello Rubira bajo mi direccin, control y seguimiento. El

    presente trabajo rene los requisitos de una investigacin y programacin

    concluida mediante el esfuerzo, dedicacin y constancia; tanto en la parte terica,

    investigativa y prctica, lo que permite otorgar su originalidad.

    Para constancia y validez, firmo el documento.

    Atentamente;

    _______________________

    Ing. Esthela San Andrs Laz

    DIRECTORA DE TESIS

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    3/140

    3

    UNIVERSIDAD TCNICA DE MANAB

    FACULTAD DE CIENCIAS INFORMTICASESCUELA DE COMPUTACIN

    TEMA:

    Desarrollo de un Sistema Informtico que permita automatizar el ingreso de la

    Historia Clnica de pacientes, para el consultorio mdico del Dr. Jos Intriago

    Andrade.

    TESIS DE GRADO

    Sometida a consideracin del Tribunal de Revisin y

    Sustentacin, legalizada por el Honorable Consejo Directivo como

    requisito previo a la obtencin del Ttulo de:

    ANALISTA EN SISTEMAS

    APROBADA POR:

    ___________________________ ________________________

    Ing. Carlos A. Intriago Zambrano Ing. Jimmy Zambrano Acosta

    __________________________

    Ing. Cristhian Torres Morn

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    4/140

    4

    DECLARATORIA DE AUTORIA

    Ana Mara Arguello Rubira, declara que la presente tesis constituye requisito

    previo la obtencin del ttulo de Analista en Sistemas bajo la supervisin de la

    Ing. Esthela San Andrs Laz.

    Autorizo al centro de informacin de la Universidad para que el presente trabajo

    se convierta en un documento de lectura, de acuerdo a los requisitos establecidos

    por la institucin. Finalmente expresamos que el presente trabajo investigativo ha

    sido de mi autora, razn por la cual cedo los derechos a la Universidad Tcnica

    de Manab.

    ________________________________

    Sra. Ana Mara Arguello Rubira

    Autor

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    5/140

    5

    AGRADECIMIENTO

    En la vida hay momentos de cambios donde hay que tomar decisiones y

    emprender nuevos propsitos. Yo estoy en ese instante de cambio, evolucin,

    aprendizaje y superacin gracias a mi esposo, merecedor de mi agradecimiento, l

    es quien me brind todo el apoyo y la paciencia necesaria para culminar mi

    carrera. El enriquecimiento personal que me brinda no tiene parangn, pues es en

    su autenticidad donde reside su secreto, su tesoro. Un tesoro que nadie podr

    robarle, una esencia de luz cristalina que forma su ser.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    6/140

    6

    DEDICATORIA

    Dedico este xito acadmico a mis hijos: Silvia, Jos Luis, Leticia , Ana Mara; a

    mis nietas: Melanie, Mara Cristina y Rafaela para que sepan y tengan siempre

    presente que no hay obstculo capaz de imponerse; si queremos podemos llegar

    ms lejos, si queremos podemos llegar ms alto, si queremos podemos hacer lo

    que seaSlo hay que proponrselo...

    Si alguna vez sus sueos se derrumban busquen un poco de luz en la ventana,

    promtanse a s mismo un arco iris y vuelvan a comenzar.

    No se detengan, construyan nuevos sueos. Piensen siempre que en su camino

    nada es imposible.

    Debo dedicar este esfuerzo tambin a mi madre, ya que nos inculc y nos sembren lo ms profundo de nuestro ser ese deseo de superacin que ha latido en mi

    hasta ahora y seguir latiendo por siempre.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    7/140

    7

    RESUMEN EJECUTIVO

    En la actualidad todas las instituciones pblicas o privadas no pueden prescindirde los adelantos tecnolgicos, la informtica se ha vuelto una herramienta

    indispensable para el desarrollo y servicio a la comunidad.

    Toda la informacin recopilada que sirvi como argumento para respaldar este

    programa, se basa en cinco aos de observaciones a los problemas vividos a diario

    en este consultorio por la falta de un sistema basado en un software de fcil

    manejo, el que dar un cambio total a la atencin en este lugar que presta tanto

    servicio a la comunidad de Baha de Carquez y a la zona norte de Manab.

    Este sistema ser un soporte indispensable para la administracin de la

    informacin de este consultorio.

    Dicho programa informtico desarrollado en la siguiente tesis cumple con las

    caractersticas de normatividad en aplicaciones de escritorio. Posee adems

    factibilidad justificada en su totalidad y respaldada econmicamente, cuyo detalle

    estn en el presente informe.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    8/140

    8

    EXECUTIVE SUMMARY

    Nowadays all public and private entities lack technological advances; computerscience has become an indispensable tool for the development and service of the

    community.

    All the information gathered was used as an argument to back up this program, it

    is based in five years of observing the problems encountered daily in this medical

    office due to the lack of adequate and easy to use software that will improve the

    customer service for Baha de Carquez community and Manabs north region.

    This system will be an indispensable support to organize and manage the

    information of this medical office.

    This program elaborated for this thesis complies with the normative

    characteristics of desktop applications. It also possesses total justified feasibility

    and an economical back up, which details follow in this report.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    9/140

    9

    INTRODUCCIN

    Desde que la informtica entr a constituir una herramienta bsica en todas las

    actividades del ser humano, tambin lo hizo en el trabajo de los mdicos y de sus

    lugares de trabajo, como consultorios, Hospitales, Clnicas, Dispensarios,

    Ministerios de Salud, Organismos Internacionales(OPS-OMS) etc. realizando para

    estas actividades programas informticos que han facilitado mucho el quehacer

    mdico, permitiendo en su base de datos conocer estadsticamente de manera

    rpida y oportuna la morbilidad, mortalidad de las diferentes enfermedades que

    afectan al hombre y sus comunidades.

    Sin embargo es muy poco lo que se ha hecho a nivel de los consultorios privados,

    los mismos que han tenido que adaptar su atencin en base a programas realizados

    para otro tipo de atencin mdica Institucional pblica o privada.

    En nuestro pas la actividad mdica privada atiende en sus consultorios ms del

    40% de las enfermedades ambulatorias, motivo por el que se realiz un programa

    especial, tomando como referencia el del Dr. Jos Intriago Andrade y dado que

    atiende seis horas diarias desde las 12:30 H. hasta las 14:30 y desde las 16:00H

    hasta las 20:00 H. con un promedio de atencin de veinte pacientes por da.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    10/140

    10

    El programa desarrollado sirve de gua y de gran utilidad para todos los mdicos

    que trabajan privadamente; cumplido este propsito, se hizo un gran aporte para la

    atencin exitosa de los pacientes particulares, facilitando el trabajo del los

    galenos, sustituyendo la Historia Clnica tradicional (manual), en soporte de

    papel, por Historias Clnicas Computarizadas y permitiendo adems que los

    organismos de salud pblica puedan conocer cuando lo requieran el estado de

    salud de los pacientes que se atienden en sus consultorios.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    11/140

    11

    CAPTULO I

    1.1. PLANTEAMIENTO DEL PROBLEMA

    Jugando la Historia Clnica un papel preponderante tanto en la vida del enfermo

    como en la del mdico; ya que reiteran resultados de pruebas que deberan estar

    permanentemente registrados; sin embargo, el tipo de ayuda que tradicionalmente

    ha estado a la disposicin de los mdicos para llevar a cabo esta tarea ha

    disminuido la utilidad de la informacin que el registro mantiene, pues tiende a

    perder precisin en el proceso de transcripcin y consecuentemente el mdico

    deja de percibir los beneficios que un registro mdico electrnico pudiera proveer

    como herramienta de soporte a decisiones capaces de sugerir intervenciones

    oportunas basadas en la informacin recopilada.

    1.2. FORMULACION DEL PROBLEMA

    Cmo incide el anlisis, diseo y desarrollo de un sistema informtico que

    permita automatizar el ingreso de las historias clnicas de los pacientes, en el

    consultorio mdico particular del Dr. Jos Intriago Andrade en la ciudad de Baha

    de Carquez?

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    12/140

    12

    1.3. DELIMITACIN DEL PROBLEMA

    La presente tesis se llev a cabo en el consultorio privado de consulta externa en

    medicina general del Dr. Jos Intriago Andrade ubicado en la ciudad de Baha de

    Carquez, Provincia de Manab.

    1.4. ANTECEDENTES

    La incorporacin de los avances tecnolgicos y cientficos a la medicina

    sorprenden por la fascinacin que producen y por su fuerza diagnstica y

    teraputica.

    La Medicina actual dentro de su desarrollo no ha escapado al fenmeno de la

    Computacin, y como condicin necesaria, su vnculo estrecho con la Ciencia de

    la Informacin, han dado lugar a la Informtica Mdica, que agrupa los campos

    del software y el hardware para su uso en la Medicina.

    La informatizacin de la historia clnica se ha convertido durante los ltimos aos

    en objetivo de la mayor parte de los trabajos de la Informtica Mdica.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    13/140

    13

    Ante esta realidad y luego de observar que losregistros mdicos tradicionalmente

    se lleva an en papeles y nos podramos encontrar con la sorpresa de que los datos

    que originalmente existan en relacin al paciente puede que no estn disponibles

    en la prxima visita que ste realice, ya que es un hecho bien conocido que parte

    de los registros pueden perderse con el pasar del tiempo como consecuencia de su

    manipulacin y almacenaje; esto acarrea consecuencias nefastas ya que estas

    notas clnicas tienden a ser resmenes de hechos importantes que han sido

    guardados previamente y que reiteran resultados de pruebas que deberan en todo

    momento estar a la disposicin. La computadora es el mtodo idneo para facilitar

    el registro, la elaboracin y procesamiento de la informacin y para lograr la

    adopcin de decisiones. En todos los sentidos la Computacin constituye una

    herramienta que ayuda a resolver los problemas que se presentan y esta ayuda no

    puede ni debe ser subestimada por los mdicos ya que nuestros das se

    caracterizan por un desarrollo colosal de la tcnica, y su aplicacin cada vez ms

    extensa a todos los mbitos de la vida humana, en particular.

    1.5. JUSTIFICACIN

    La historia clnica es una herramienta indispensable en la prctica clnica de los

    profesionales de la salud. Es un documento que debe contener la narracin escrita,

    clara, precisa, detallada y ordenada de todos los datos y conocimientos, tanto

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    14/140

    14

    personales como familiares, que se refieren a un paciente y que sirven de base

    para el diagnstico definitivo y tratamiento adecuado de su enfermedad sin

    embargo, en la actualidad en este consultorio su formato tradicional enfrenta

    diversas dificultades, que se han hecho evidentes durante la prctica diaria como

    es su deterioro o prdida, debido a que la historia convencional, en su formato de

    papel, slo puede existir en un lugar y en un momento determinado, en

    condiciones determinadas, as como la presencia de una escritura pobre, ilegible e

    incompleta que dificulta la interpretacin del mensaje que se pretende enviar. Otra

    de sus limitaciones es que slo puede contribuir de forma pasiva a la toma de

    decisiones y esto dificulta el anlisis con fines cientficos o de planeamiento de

    estrategias de salud.

    Toda esta problemtica fu motivo suficiente para justificar el anlisis y la

    creacin de un programa al cual tendr acceso el galeno de una manera rpida,

    gil y oportuna para obtener la informacin requerida.

    Teniendo el conocimiento de la existencia de una idiosincrasia difcil en nuestro

    medio, lo convierte a este estudio en un reto para lograr obtener desde el primer

    momento datos reales y precisos de cada paciente.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    15/140

    15

    Los beneficiarios de este trabajo sern los pacientes y los mdicos ya que tendrn

    informacin confiable e inmediata de la situacin del enfermo.

    1.6. OBJETIVOS

    1.6.1. OBJETIVOS GENERALES

    Disear e implementar un sistema informtico de Historias Clnicas para lograr

    que los registros de cada persona que se encuentren almacenados en una base de

    datos, sean de fcil acceso para el mdico.

    1.6.2. OBJETIVOS ESPECFICOS

    Crear una base de datos para globalizar los datos mdico-paciente

    Facilitar la bsqueda del registro de los pacientes.

    Obtener reportes inmediatos. Capacitar al personal que va a manipular el sistema.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    16/140

    16

    1.7. BENEFICIARIOS

    1.7.1 DIRECTOS

    Al implementar este sistema informtico los beneficiarios directos sern las

    personas que acuden al consultorio mdico del Dr. Jos Intriago Andrade.

    1.7.2 INDIRECTOS

    La comunidad de Baha de Carquez y del Cantn Sucre.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    17/140

    17

    CAPTULO II

    2.1. MARCO TERICO

    2.1.1. HISTORIAS CLINICAS

    Desde el punto de vista clnico, puede entonces afirmarse que la HC se origina

    con el primer episodio de la enfermedad o el control de salud, en cuyo contexto se

    atiende al paciente, sea en la atencin primaria o secundaria.

    Constituye, adems, el registro completo de la atencin prestada al paciente

    durante su enfermedad y de ello, su trascendencia como documento legal.

    No es un simple relato, la descripcin de una enfermedad aislada; comprende las

    consideraciones de mdico, de gran trascendencia en el aspecto jurdico. Tiene

    gran valor para diagnstico, el tratamiento, el pronstico y la epidemiologa,

    aparte de documentar la habilidad y conocimiento del mdico que la realiza.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    18/140

    18

    Segn Delfor Podest1 una historia clnica debe reunir ciertas condiciones

    fundamentales; ha de ser:

    a) Clara y precisa. Actualmente, no es utilizada slo por el mdico que laelabora, sino que ha de servir a otros profesionales que desempean su

    actividad en cualquier institucin sanitaria y pueden tener acceso a ella.

    b) Completa y metdicamente realizada. Es necesario seguir un plan en elexamen de los enfermos. La mayora de los errores diagnsticos no derivan de

    la ignorancia, sino de lo apresurado de una actuacin.

    c) Realizada de manera sistemtica, sin caer en una abstraccin que impida ver larealidad. A estos elementos aadiramos uno que la prctica de la medicina

    actual exige; el consentimiento informado del paciente.

    Si obviamos pocas anteriores, se puede decir que de Hipcrates son las primeras

    historias clnicas conocidas. Nacido 460 aos antes de Cristo, se lo considera el

    padre de la medicina. Las historias clnicas hipocrticas, o catstasis,consideraban la totalidad del hombre, su ambiente y poca de la vida. Hipcrates

    1 Delfor Podest L. La historia clnica. En: Mazzei E,Rozmann C. (Dirs.). Semiotecnia y fisiopatologa. BuenosAires: El Ateneo; 1977.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    19/140

    19

    dio importancia a la anamnesis y la observacin, y practic la percusin y la

    auscultacin inmediata. Aconsejaba interrogar al enfermo sobre la naturaleza y

    duracin de sus sufrimientos, sobre el funcionamiento del intestino y sobre la

    dieta que segua. Inici el mtodo racional de la descripcin cuidadosa de los

    sntomas y manifestaciones obtenidas directamente del enfermo y cre la historia

    clnica.

    2.1.2. EVOLUCIN DEL REGISTRO MEDICO ELECTRNICO COMO

    HERRAMIENTA

    El registro mdico electrnico ha existido por dcadas, pero a diferencia de otros

    sistemas computarizados en el sector salud, su adopcin ha sido limitada.

    Mltiples sistemas clnicos computarizados han sido implementados en una

    amplia variedad de plataformas y arquitecturas, desde el mainframe, pasando por

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    20/140

    20

    el mini computador y el computador personal hasta aquellos cuya operacin se

    basa en el uso la Internet2.

    Sin embargo, la adopcin de estos sistemas ha sido lenta y reducida a ciertas

    instancias. Varios son los factores que pudiesen asociarse a la limitada adopcin

    de los mismos, entre los cuales se pueden mencionar la tecnologa requerida para

    su operacin y uso, resistencia por parte de la comunidad mdica a su

    implementacin, factores socio-polticos, limitaciones econmicas, o simplemente

    el hecho de que stos reflejan un paradigma errneo del proceso clnico, la

    historia y evolucin de los pacientes cuya informacin es almacenada y

    administrada a travs de ellos, y en general de la relacin mdico-paciente y del

    papel que cada uno de ellos juega en el proceso de administracin de salud.

    El primer cambio significativo en el registro mdico ocurri durante la Guerra de

    Crimen, periodo durante el cual Florence Nightingale sistematiz el proceso de

    recoleccin y registro de informacin mdica. Este es el primer caso en el cual los

    registros mdicos tuvieron un rol significativo en el mejoramiento y orientacin

    de la salud pblica. Sin embargo, el cambio ms trascendental en la historia del

    registro mdico tuvo lugar con la contribucin hecha por Lawrence Weed a

    mediados del Siglo XX, quien introdujo la nocin de desarrollar el registro

    2 Safran C., Sands DZ, Rind DM. Online Medical Records: A Decade of Experience. MethodInform Medicine 1999; 38:308-12.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    21/140

    21

    mdico en torno a los problemas presentados por el paciente3. La innovacin

    hecha por Dr. Weed fue el reconocer la necesidad de organizar la historia del

    paciente en forma longitudinal en el contexto de los problemas presentados por el

    paciente en lugar de limitarse a recolectar las conclusiones del episodio de

    atencin al paciente.

    2.1.3. BASES DE DATOS

    El trmino base de datos fue acuado por primera vez en 1963, en un simposio

    celebrado en California.

    Una base de datos se puede definir como un conjunto de informacin homognea

    que mantiene una estructura ordenada, y que toda ella se encuentra relacionada

    con un mismo tema.

    3 Weed LL. Medical records that guide and teach. New Engl. J. Med. 278 (1968) 593600.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    22/140

    22

    CARACTERSTICAS:

    1. Independencia lgica y fsica de los datos.

    2. Redundancia mnima.

    3. Acceso concurrente por parte de mltiples usuarios: control de concurrencia

    mediante tcnicas de bloqueo o cerrado de datos accedidos.

    4. Distribucin espacial de los datos: la independencia lgica y fsica facilita la

    posibilidad de sistemas de bases de datos distribuidas.

    5. Integridad de los datos: se refiere a las medidas de seguridad que impiden que

    se introduzcan datos errneos. Esto puede suceder tanto por motivos

    fsicos (defectos de hardware, actualizacin incompleta debido a causas externas),

    como de operacin (introduccin de datos incoherentes).

    6. optimizacin de consultas permite la rpida ejecucin de las mismas.

    7. Seguridad de acceso y auditora: El sistema de auditora mantiene el control de

    acceso a la base de datos, con el objeto de saber qu o quin realiz una

    determinada modificacin y en qu momento.

    8.Respaldo y recuperacin de datos.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    23/140

    23

    9. Acceso a travs de lenguajes de programacin estndar: se refiere a la

    posibilidad ya mencionada de acceder a los datos de una base de datos mediante

    lenguajes de programacin ajenos al sistema de base de datos propiamente dicho.

    VENTAJAS

    La principal ventaja de utilizar bases de datos es que mltiples usuarios pueden

    acceder a ellas al mismo tiempo.

    2.1.4. VISUAL BASIC

    Visual Basic es una aplicacin y un lenguaje de programacin desarrollados por

    Alan Cooper para Microsoft. Se origina en el clsico lenguaje BASIC. La primera

    versin sali en 1991 en un entorno relativamente sencillo para facilitar la

    creacin de programas grficos. Visual Basic, como su nombre lo indica, utiliza

    una interfaz totalmente visual.

    Actualmente, los programas creados en Visual Basic slo funcionan en Windows.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    24/140

    24

    La aplicacin Visual Basic, permite crear ventanas, botones, mens, etc. de forma

    sencilla con solo arrastrar y soltar los elementos. Luego se pueden definir las

    apariencias, posiciones y comportamientos tanto de forma visual como utilizando

    cdigos de programacin.

    Este lenguaje toma elementos de diferentes paradigmas como el orientado a

    objetos y el orientado a eventos.

    Visual Basic suele considerarse un sistema RAD (Rapid Application

    Development), porque permite crear aplicaciones de forma rpida, especialmente

    para prototipos.

    Visual Basic constituye un IDE (entorno de desarrollo integrado o en ingls

    Integrated Development Enviroment) que ha sido empaquetado como un

    programa de aplicacin, es decir, consiste en un editor de cdigo (programa donde

    se escribe el cdigo fuente), un depurador (programa que corrige errores en el

    cdigo fuente para que pueda ser bien compilado), un compilador (programa que

    traduce el cdigo fuente a lenguaje de mquina), y un constructor de interfaz

    grfica o GUI (es una forma de programar en la que no es necesario escribir el

    cdigo para la parte grfica del programa, sino que se puede hacer de forma

    visual).

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    25/140

    25

    VENTAJAS

    Posee una curva de aprendizaje muy rpida.

    Integra el diseo e implementacin de formularios de Windows.

    Permite usar con suma facilidad la plataforma de los sistemas Windows.

    El cdigo en Visual Basic es fcilmente migrable a otros lenguajes.

    2.2. MARCO CONEPTUAL

    2.2.1. SISTEMA DE GESTIN DE BASE DE DATOS

    El propsito general de los sistemas de gestin de base de datos es el de manejar

    de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se

    convertirn en informacin relevante, para un buen manejo de datos.

    En el entorno informtico, la gestin de bases de datos ha evolucionado desde ser

    una aplicacin ms disponible para los computadores, a ocupar un lugar

    fundamental en los sistemas de informacin. En la actualidad, un sistema de

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    26/140

    26

    informacin ser ms valioso cuanto de mayor calidad sea la base de datos que lo

    soporta, la cual resulta a su vez un componente fundamental del mismo, de tal

    forma que puede llegarse a afirmar que es imposible la existencia de un sistema de

    informacin sin una base de datos, que cumple la funcin de "memoria", en todas

    sus acepciones posibles, del sistema.

    2.2.2. LENGUAJE DE PROGRAMACIN

    Los lenguajes de programacin son herramientas que nos permiten crear

    Programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc.

    Una computadora funciona bajo control de un programa el cual debe estar

    almacenado en la unidad de memoria; tales como el disco duro.

    2.2.3. SISTEMAS OPERATIVOS

    Un Sistema operativo (SO) es un programa informtico que acta de interfaz

    entre los dispositivos de hardware y el usuario. Es responsable de gestionar,

    coordinar las actividades y llevar a cabo el intercambio de recursos de un

    computador. Acta como estacin para las aplicaciones que se ejecutan en la

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    27/140

    27

    mquina. Uno de los ms prominentes ejemplos de sistema operativo, es el ncleo

    Linux2 , el cual junto a las herramientas GNU, forman las llamadas distribuciones

    GNU/Linux.

    2.2.4. INTERFAZ DEL USUARIO

    Es el medio con que el usuario puede comunicarse con una mquina, un equipo o

    una computadora, y comprende todos los puntos de contacto entre el usuario y el

    equipo, normalmente suelen ser fciles de entender y fciles de accionar.

    TIPOS DE INTERFAZ

    A) Una interfaz de hardware: teclado, ratn y pantalla visualizadora.

    B) Una interfaz de software: entrega informacin a travs de lo que usuario

    observa en la pantalla.

    C) Una interfaz de Software-Hardware: Es puente entre la maquina y las

    personas, permite a la maquina entender la instruccin y a el hombre entender el

    cdigo binario traducido a informacin legible.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    28/140

    28

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    29/140

    29

    CAPTULO III

    3.1. HIPOTESIS

    Desarrollar y disear un sistema informtico para Historias Clnicas, volver

    eficaz el manejo de la informacin de los pacientes.

    3.2. DEFINICIONES CONCEPTUALES Y OPERACIONALES DE LAS

    VARIABLES

    3.2.1 VARIABLE INDEPENDIENTE:

    Sistema informtico.

    3.2.2. VARIABLE DEPENDIENTE

    El manejo de la informacin de los pacientes.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    30/140

    30

    3.3. OPERACIONALIZACION DE VARIABLES

    3.3.1 Variable Independiente:

    CONCEPTUALIZACION CATEGORAS INDICADORES ITEMS BASICOS

    Coleccin de programas,procedimientos, datos yequipos utilizados en elproceso de la informacin.

    Normas a seguiren la construccinde software.

    Rapidez yseguridad en elmanejo de toda lainformacin aprocesar.

    Interpretacincrtica de una ovariasexperiencias que apartir de suordenamiento ydescubre la lgica.

    Flexibilidad enel manejo de lainformacin.

    Sistemainformticoconfiable.

    Representacinlgica mediantediagramas deflujos a travsde anlisis.

    Qu tipos deconocimientosse necesitanpara la

    informacin? Con qu tipo

    de tecnologase cuenta?

    3.3.2 Variable Dependiente:

    CONCEPTUALIZACIN CATEGORAS INDICADORESITEMS

    BASICOSCumplimiento de objetivospara poder satisfacer losrequerimientos exigidos porlos pacientes.

    Determinaciny orden deactividades quese deseansistematizar.

    Implementarun mejormanejo en el

    tratamiento dela informacin

    Mejorar eldesempeo delasistentemdico.

    Mejorar laatencin a lospacientes atravs de un

    manejo rpidoy seguro de lainformacin.

    Cmo seregistra elproceso ycontrol de lainformacin?

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    31/140

    31

    3.4. METODOLOGA

    En este trabajo se tomaron en cuenta los siguientes aspectos: mtodo,

    instrumentos de investigacin, poblacin, muestra y recursos.

    3.4.1. MODALIDAD DE LA INVESTIGACIN

    Se utiliz el modelo experimental; ya que es una modalidad fctica se ocupa de

    los hechos que realmente acontecen.

    Basados en hechos que se suscitan ha diario hemos podido desarrollar un sistema

    conveniente y eficaz que cubra las necesidades del consultorio mdico en estudio.

    La modalidad est abierta a la incorporacin de nuevos conocimientos y

    procedimientos con el fin de asegurar un mejor acercamiento a la verdad.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    32/140

    32

    3.5. TCNICAS

    Se utilizaron las tcnicas siguientes:

    La Observacin Directa: Se realizada constantemente mediante el tratomdico-paciente.

    La observacin Indirecta: valindonos de libros, revistas, informesrelacionados con lo investigado.

    3.5.1. INSTRUMENTOS

    La Encuesta. La entrevista.

    3.6. RECURSOS

    Se utilizaron los siguientes recursos:

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    33/140

    33

    3.6.1 RECURSOS HUMANOS:

    Interviene en este proyecto las siguientes personas:

    Tutor de tesis: Ingeniera Esthela San Andrs Laz. Dr. Jos Intriago Andrade. Estudiante: Ana Mara Arguello Rubira, asistente mdico.

    Personas que acuden diariamente a este consultorio como pacientes.

    3.6.2 RECURSOS MATERIALES

    Historias Clnicas en papel. CDS. Flash Memory Copias. Hojas A4. Cartuchos de tinta para impresora. Libros de soporte en base de datos. Libros de visual BASIC 6.0.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    34/140

    34

    3.6.3. RECURSOS TECNICOS

    Computador Software

    3.6.4. RECURSOS INSTITUCIONALES

    Universidad Tcnica de Manab Consultorio Mdico del Dr. Jos Intriago Andrade

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    35/140

    35

    3.6.5. RECURSOS ECONOMICOS:

    Rubros de gastosValor

    USD

    Internet 200,00

    Materiales de escritorio 50,00

    Material bibliogrfico 40,00

    Transporte 30,00

    Impresiones 250,00

    Fotocopias 43,00

    Empastado de tesis 150,00

    Asistencia Tcnica 450,00

    Imprevistos 10% 120,00

    TOTAL 1.333,00

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    36/140

    36

    CAPTULO IV

    4.1. CONCLUSIONES Y RECOMENDACIONES

    4.1.1. CONCLUSIONES

    Luego de terminado el trabajo de investigacin realizado con el apoyo de la

    informtica, mediante la creacin de un programa para el funcionamiento del

    consultorio privado del Dr. Jos Intriago Andrade, se concluye:

    Las actividades del establecimiento mdico en general fueron muybeneficiadas en todo el quehacer mdico.

    Mejor sustancialmente la calidad de atencin mdica saliendobeneficiados especialmente los pacientes y el personal que labora en el

    consultorio.

    El S.H.C. sirve como herramienta indispensable para determinar lamorbilidad, incidencias, prevalencias y mortalidad de los pacientes que se

    atienden en este establecimiento.

    Con informacin que se almacenamos en la base de datos se puedenrealizar investigaciones estadsticas, que aunque el universo no sea enorme

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    37/140

    37

    como sucede en una unidad de atencin pblica, sin embargo nos sirven

    como un valor referencial de gran importancia.

    4.1.2 RECOMENDACIONES

    Toda unidad de salud deben de tener un programa que permita realizar laslabores de atencin mdica y de investigacin ms eficientes.

    La utilizacin de un programa como este debe de universalizarse, tomandoen consideracin todos los programas que para este tipo de atencin

    existan en el pas, a fin de que teniendo un solo programa estandarizado a

    nivel nacional, se pueda organizar de manera uniforme la atencin mdica

    de los consultorios privados en el Ecuador.

    Al universalizar un programa de atencin mdica en los consultoriosprivados, estaramos como consecuencia estandarizando tambin los

    protocolos de atencin referentes al diagnstico y tratamiento de las

    diferentes patologas existentes en el pas.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    38/140

    38

    CAPTULO V

    PROPUESTA

    S.H.C

    5.1. DESCRIPCIN GENERAL DEL SISTEMA

    El sistema S.H.C. registrar la informacin de pacientes con todos los datos

    indispensables que conlleven a la buena elaboracin de una Historia Clnica,

    porque sigue siendo este el documento esencial del acto mdico, a pesar del

    desarrollo tecnolgico actual que nos ha llevado a conocer actividades por

    recuperar la salud del hombre verdaderamente deslumbrantes, como son: los

    diagnsticos por imgenes, los marcadores tumorales, las pruebas especficas para

    enfermedades infecciosas, la ciruga robtica. Sin embargo; una buena historia

    clnica contina siendo la base para el diagnstico correcto y para el tratamiento

    adecuado.

    El presente sistema informtico consta de los siguientes mdulos:

    FORMULARIO SPLASH. FORMULARIO LOGIN.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    39/140

    39

    FORMULARIO PRINCIPAL (MDI.) FORMULARIO DATOS PERSONALES. FORMULARIO HISTORIAS CLNICAS. FORMULARIO CAMBIO DE CONTRASEA. FORMULARIO CIUDADES. FORMULARIO DIAGNSTICO. FORMULARIO ESTADISTICA.

    5.2. IMPLEMENTACIN DE UN SISTEMA INFRMATICO

    5.2.1. Equipamiento central del Consultorio.-

    El consultorio Dr. Jos Intriago Andrade, cuenta actualmente con un equipo

    computacional con las siguientes caractersticas:

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    40/140

    40

    Procesador: Intel Dual Core

    Memoria: 2 GB

    Disco Duro: 250 GB

    DVD/R: Reproductor de CDs y DVDs

    Sistema Operativo: Windows 7

    Lenguaje de Programacin: Visual Basic 6.0

    Aplicaciones: Microsoft Office 2007

    Impresora: Lemax Z617

    Es un equipo ideal para las funciones que cumple y su configuracin es aceptable.

    Tiene posibilidades de crecimiento y el fabricante cuenta con repuesto y

    mantenimiento que garantiza la buena utilizacin del mismo.

    5.2.2. Requisitos de Instalacin del Software.-

    Los requerimientos principales del equipo de computacin que se necesita para un

    ptimo funcionamiento son:

    Pentium III, Pentium IV, Dual Core 1.60 GHZ, o Superior.

    Microsoft Windows XP Servipack 2 Profesional, Milenium.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    41/140

    41

    RAM mnima de 256 MB o superior.

    Disco Duro 60 GB o Superior.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    42/140

    42

    5.3. CRONOGRAMA DE ACTIVIDADES

    1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

    Construccin del problema

    Planificacin de metodologa

    Elaboracin del marco Terico

    Recoleccin de informacin

    Ejecucin del proyecto

    Elaboracin del informe finalPresentacin del informe

    Sustentacin

    Meses

    ACTIVIDADES A REALIZAR Primero Segundo Tercero Cuarto Quinto

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    43/140

    43

    5.4. RELACIONES EXISTENTE DE LA BASE DE DATOS

    La base de datos fue desarrollada en Microsoft Access, que es una aplicacin del paquete de Office.

    basehis.mdb; se le coloco contrasea para as dar seguridad a los datos almacenados en ella. Contiene

    estn relacionas entre s; las cuales se detallan a continuacin:

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    44/140

    44

    Tambin cabe recalcar que la tabla Enfermedades, se utiliza como tablas auxiliares para realizar consult

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    45/140

    45

    DETALLES Y RELACIONES DE LAS TABLAS DE LA BASE DE DATOS.

    Tabla Clave.- En esta tabla se almacena la clave(contrasea) y el nombre del usuario (alias). Contiene dos

    campos de tipo texto.

    Tabla Ciudades.- La tabla ciudades, archiva la

    residencia de los pacientes. Esta tabla se encuentra

    relacionada con la tabla Datos_Personales_Pacientes.

    Contiene dos campos uno numrico y uno de texto; idciudad, nombreciudad,

    respectivamente.

    Tabla Enfermedades.- Aqu se guardan las diferentes

    enfermedades, las mismas que servirn para realizar los

    debidos diagnsticos. Se encuentra relacionada con la

    tabla historia_clinica; contiene un campo de tipo numrico y uno de tipo texto.

    Tabla Datos Personales del Paciente.- La tabla

    datos personales del paciente, es de suma

    importancia, ya que en ella se almacena los datos

    personales del paciente; desde el nmero de cedula

    hasta los antecedente patolgicos tantos familiares,

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    46/140

    46

    personales, incluyendo alergias, todos ellos de mucha importancia para un buen

    diagnstico.

    Esta tabla se encuentra relacionada con la tabla ciudades, por medio del IdCiudad,

    que es de tipo numrico. Tambin se relaciona con tabla historias_clinicas.

    Contiene doce campos: dos de tipo numrico, seis texto, uno fecha/hora y tres tipo

    memo.

    Tabla Historias Clnicas.- Para

    almacenar las historias de lospacientes (visitas). Detallando,

    signos vitales, diagnsticos,

    tratamiento y prescripcin. Se

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    47/140

    47

    encuentra relaciona con la tabla Datos_Personales_Paciente y la tabla

    Enfermedades (se crean tres tablas auxiliares para relacionar con los campos

    diagnstico1, diagnstico2, diagnstico3; pero sigue siendo la tabla

    enfermedades).

    Esta tabla contiene diecisiete campos: cinco de tipo numrico, ocho de tipo texto,

    uno de tipo fecha/hora, tres tipo memo.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    48/140

    48

    ANEXOS

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    49/140

    49

    NDICE DE ANEXOS

    PAGS

    FOTOS DEL CONSULTORIO DEL DR. JOS INTRIAGO A. 50

    Fotografa 1: Archivadores delas historias Clnicas de los pacientes 51

    Fotografa 2. Dr. Jos Intriago Andrade prescribiendo 52

    Fotografa 3. Carpeta con documentos de Historias Clnicas 52

    Fotografa 4. Carpetas ordenadas por apellidos 53

    Fotografa 5. Dr. Jos Intriago Andrade auscultando a una paciente 53

    REALIZACIN DE LA PROPUESTA 54

    MANUAL DEL USUARIO 55

    MANUAL DEL PROGRAMADOR (CODIFICACIN) 63

    Programacin del Module 1 64

    Formulario SPLASH (Frm_SPLASH.Frm) 74

    Formulario CONTRASEA (Frm_Login.Frm) 74

    Formulario Principal MDI (Principal.Frm) 76

    Formulario Frm_datos_pacientes (frm_datos_pacientes.frm) 77

    Formulario Frm_historia (historia.frm) 87

    Formulario Cambio Contrasea (frm_contrasea.frm) 96

    Formulario Diagnstico frm_diagnostico (frm_diagnostico.frm) 97

    Formulario Ciudad frm_ciudad (frm_cuidades.frm) 100

    Formulario Estadstica frm_ reportes (frm_reportes.frm) 103

    AYUDA DEL SISTEMA 107

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    50/140

    50

    FOTOS DEL CONSULTORIO

    DR. JOS INTRIAGO

    ANDRADE

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    51/140

    51

    1.1. Fotografa 6. Archivadores delas historias Clnicas de los pacientes

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    52/140

    52

    1.2. Fotografa 7. Dr. Jos Intriago Andrade prescribiendo

    1.3. Fotografa 8. Carpeta con documentos de Historias Clnicas

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    53/140

    53

    1.4. Fotografa 9. Carpetas ordenadas por apellidos

    1.5. Fotografa 10. Dr. Jos Intriago Andrade auscultando a una paciente

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    54/140

    54

    REALIZACIN DE LA PROPUESTA

    TEMA:

    DESARROLLO DE UN SISTEMA INFORMATICO QUE PERMITA

    AUTOMATIZAR EL INGRESO DE LA HISTORIA CLNICA DE

    PACIENTES, PARA EL CONSULTORIO MDICO DEL DR. JOS

    INTRIAGO ANDRADE.

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    55/140

    55

    MANUAL DE USUARIO

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    56/140

    56

    PANTALLAS DEL SISTEMA INFORMTICO

    Pantalla que aparece cuando carga el Sistema S.H.C.

    Titulo: Ingreso de la Clave de los Usuarios Ventana # 1

    Se digita el nombre del usuarioque va a trabajar con el sistema.

    Se escribe la contrasea.

    Con un clic en el botn

    Aceptar, accede al sistema.Al hacer clic en el botnCancelar se cierra la ventanadel ingreso al sistema.

    Color: &H8000000F&

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    57/140

    57

    Titulo: Formulario Principal (MDI)

    Color: &H8000000F&

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    58/140

    58

    Titulo: Datos del Paciente

    Color: &H8000000F&

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    59/140

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    60/140

    60

    Titulo: Cambio de Contrasea Ventana # 5

    Se digita el nuevo nombre delusuario (alias).

    Se escribe la nueva contrasea.

    Con un clic en el botn Nuevo,activa los text para realizar elcambio de la contrasea.

    Al hacer clic en el botnGuardar, almacena la nuevacontrasea.

    Color: &H8000000F&

    Titulo: Diagnsticos Ventana # 6

    Ingreso del Diagnstico

    Listado de los diferentes

    Diagnsticos.

    Botones de Controles

    Color: &H8000000F&

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    61/140

    61

    Titulo: Ciudades Ventana # 7

    Ingreso de la Ciudad

    Listado de las DiferentesCiudades.

    Botones de Controles

    Color: &H8000000F&

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    62/140

    62

    Titulo: Estadsticas

    Color: &H8000000F&

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    63/140

    63

    MANUAL DEL

    PROGRAMADOR

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    64/140

    64

    CODIFICACIN DEL PROGRAMA

    Programacin del Module 1

    Option Explicit

    Public BaseDatos As New ADODB.Connection

    Public Declare Sub InitCommonControls Lib "comctl32" ()Public cn As New ADODB.ConnectionPublic rs As New ADODB.ConnectionGlobal StrConsulta, Mensaje As StringGlobal ResConsulta As StringPublic Nposicion As BytePublic viva As SingleGlobal CNumerico As StringGlobal CMayuscula As StringPublic TipoVali, op As IntegerGlobal Iva As DoubleGlobal IdPacienteDefecto As Long

    Public ListaArchivos() As StringPublic Const MAX_PATH = 260

    Public Type FILETIMEdwLowDateTime As LongdwHighDateTime As Long

    End Type

    Public Type WIN32_FIND_DATAdwFileAttributes As LongftCreationTime As FILETIMEftLastAccessTime As FILETIME

    ftLastWriteTime As FILETIMEnFileSizeHigh As LongnFileSizeLow As LongdwReserved0 As LongdwReserved1 As LongcFileName As String * MAX_PATHcAlternate As String * 14

    End Type

    Public Declare Function FindFirstFile Lib "kernel32" Alias"FindFirstFileA" (ByVal lpFileName As String, lpFindFileData AsWIN32_FIND_DATA) As LongPublic Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA"(ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As LongPublic Declare Function FindClose Lib "kernel32" (ByVal hFindFile AsLong) As Long

    #If Win32 ThenDeclare Function SendMessage Lib "User32" Alias "SendMessageA" _

    (ByVal hWnd As Long, ByVal wMsg As Long, _ByVal wParam As Long, lParam As Any) As Long

    Const CB_SHOWDROPDOWN = &H14F#Else

    Declare Function SendMessage Lib "User" _(ByVal hWnd As Integer, ByVal wMsg As Integer, _ByVal wParam As Integer, lParam As Any) As Long

    Const WM_USER = &H400

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    65/140

    65

    Const CB_SHOWDROPDOWN = (WM_USER + 15)#End IfConst CB_FINDSTRINGEXACT = &H158 'Buscar cadena completa en un ComboBoxConst LB_FINDSTRINGEXACT = &H1A2 'Buscar cadena completa en un ListBox

    Const CB_FINDSTRING = &H14C 'Buscar cadena desde el principio en unComboBoxConst LB_FINDSTRING = &H18F 'Buscar cadena desde el principio en unListBox

    Public Sub Combo(ByRef c1, KeyAscii)

    On Error Resume NextDim CB As LongDim FindString As StringConst CB_ERR = (-1)Const CB_FINDSTRING = &H14CIf KeyAscii < 32 Or KeyAscii > 250 Then Exit Sub'If KeyAscii = Asc("") Or KeyAscii Asc("") Then Exit SubIf c1.SelLength = 0 Then

    FindString = c1.Text & Chr$(KeyAscii)Else

    FindString = Left$(c1.Text, c1.SelStart) & Chr$(KeyAscii)End IfCB = SendMessage(c1.hWnd, CB_FINDSTRING, -1, ByVal FindString)If CB CB_ERR Then

    c1.ListIndex = CBc1.SelStart = Len(FindString)c1.SelLength = Len(c1.Text) - c1.SelStart

    End IfKeyAscii = 0

    End Sub

    Public Sub LlenaCombo(C As ComboBox, Ssql As String)

    Dim aux As New ADODB.RecordsetSet aux = BaseDatos.Execute(Ssql)'C.ClearIf Not aux.BOF Then

    Do While Not aux.EOFC.AddItem aux.Fields(0)aux.MoveNext

    LoopEnd Ifaux.CloseSet aux = Nothing

    End Sub

    Function ValidaCedula(ced As String) As Boolean

    Dim Dig(10) As ByteDim Comp As ByteDim i As ByteDim SumImpar As IntegerDim SumPar As Integer

    Dim Prox As IntegerSumPar = 0SumImpar = 0If Len(ced) = 10 ThenFor i = 1 To 9Dig(i) = Val(Mid(ced, i, 1))If (i Mod 2) = 0 ThenSumPar = SumPar + Dig(i)ElseDig(i) = Dig(i) * 2If Dig(i) > 9 Then Dig(i) = Dig(i) - 9

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    66/140

    66

    SumImpar = SumImpar + Dig(i)End IfNext iProx = (Fix(((SumPar + SumImpar) / 10)) + 1) * 10

    Comp = Val(Mid(ced, 10, 1))If Comp = Prox - (SumPar + SumImpar) ThenValidaCedula = TrueElse

    ValidaCedula = FalseEnd IfIf Comp = 0 And (Prox - (SumPar + SumImpar)) = 10 Then ValidaCedula =

    TrueElseValidaCedula = FalseEnd If

    End Function

    Public Sub EnterTab(Tecla As Integer)

    If Tecla = 13 ThenTecla = 0

    SendKeys "{tab}"End If

    End Sub

    Public Sub Sombrea(txt As Object)

    txt.SelStart = 0txt.SelLength = Len(txt)

    End Sub

    'funcin quita tilde de una cadena de textoPublic Function QuitaTilde(txt As String) As String

    Dim tran As StringDim n As Integer, i As Integern = Len(txt)For i = 1 To n

    Select Case UCase(Mid(txt, i, 1))Case ""tran = tran & "A"

    Case ""tran = tran & "E"

    Case ""tran = tran & "I"

    Case ""tran = tran & "O"

    Case ""tran = tran & "U"

    Case Elsetran = tran & UCase(Mid(txt, i, 1))

    End SelectNextQuitaTilde = tran

    End Function

    Public Function edad(X As String) As String

    Dim dn, mn, an As IntegerDim da, ma, aa As IntegerDim d, m, a As Integer

    dn = Day(X)mn = Month(X)an = Year(X)

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    67/140

    67

    da = Day(Now)ma = Month(Now)aa = Year(Now)

    Dim FechaActual As DateIf da < dn Thenma = ma - 1

    FechaActual = Now() - dnd = Day(FechaActual)Else

    FechaActual = Now() - dnd = Day(FechaActual)End IfIf ma < mn Then

    ma = ma + 12aa = aa - 1m = ma - mn

    Elsem = ma - mn

    End If

    a = aa - anedad = a & " Aos " & m & " Meses " & d & " Dias"End Function

    Sub LLenaGrid(Msf As MSFlexGrid, Cadena As String)

    Dim temp As New ADODB.RecordsetDim nrocampos, i As IntegerSet temp = BaseDatos.Execute(Cadena)nrocampos = temp.Fields.CountMsf.Cols = nrocampos + 1Msf.Rows = 1For i = 1 To nrocampos

    Msf.Row = 0

    Msf.Col = i

    Msf.CellFontBold = TrueMsf.Text = temp.Fields(i - 1).Name

    NextDo Until temp.EOF

    Msf.AddItem ""Msf.Row = Msf.Rows - 1For i = 1 To nrocampos

    Msf.Col = iMsf.Text = "" & temp.Fields(i - 1)Msf.ColWidth(i - 1) = 1800

    Nexttemp.MoveNext

    Loop

    Msf.ColWidth(0) = 0Msf.ColWidth(1) = 0

    End Sub

    Public Sub LlenaList(Lst As ListBox, Cadena As String)

    Dim aux As New ADODB.RecordsetSet aux = BaseDatos.Execute(Cadena)Lst.ClearIf Not aux.BOF Then

    Do While Not aux.EOFLst.AddItem aux.Fields(0)aux.MoveNext

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    68/140

    68

    LoopEnd Ifaux.CloseSet aux = Nothing

    End Sub

    Function Busca_Personas(formu As Form, txt As TextBox, Ssql As String,

    Mensaje1 As String) As Boolean

    Dim temp1 As New ADODB.RecordsetDim Encontrado As BooleanSet temp1 = BaseDatos.Execute("SELECT * FROM

    Datos_Personales_Paciente")If Not temp1.BOF Then

    Encontrado = FalseDo While Not temp1.EOF

    If temp1!cedula = txt ThenBusca_Personas = Trueformu.txthistoriaclinica = temp1!NumeroHistoriaClinicaExit Do

    End If

    temp1.MoveNextLoopIf temp1.EOF And Encontrado = False Then

    MsgBox "No Existe Paciente, Ingrese Informacin...",vbInformation, Mensaje

    temp1.CloseSet temp1 = Nothingformu.TxtApellidosNombres.SetFocusExit Function

    End IfElse

    temp1.CloseSet temp1 = NothingMsgBox "No Existe Registro de Paciente Ingrese Informacin...",

    vbInformation, MensajeExit Function

    End IfDim temp As New ADODB.RecordsetSet temp = BaseDatos.Execute(Ssql)Encontrado = FalseIf Not temp.BOF Then

    Do While Not temp.EOF()If temp!NumeroHistoriaClinica = temp1!NumeroHistoriaClinica

    ThenEncontrado = TrueExit Do

    End Iftemp.MoveNext

    LoopEnd IfIf Encontrado = True And Busca_Personas = True Then

    temp.Close

    Set temp = Nothingtemp1.CloseSet temp1 = Nothing'MsgBox Mensaje1, vbInformation, Mensaje

    'formu.txthistoriaclinica = ""formu.txtcedula = ""

    Exit FunctionElseIf Busca_Personas = True Then

    formu.txthistoriaclinica = temp1!NumeroHistoriaClinicaformu.txtcedula = temp1!cedula

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    69/140

    69

    formu.TxtApellidosNombres = temp1!Apellidos_Nombresformu.cbsexo = temp1!SEXOformu.DTPFechaNacimiento = temp1!Fecha_Nacimientoformu.cbestadocivil = temp1!Estado_Civil

    formu.txtocupacion = temp1!Ocupacionformu.txtocupacion = temp1!TELEFONOformu.TxtAlergias = temp1!ALERGIASformu.txtAntPatFamiliares = temp1!Antecedentes_Familiaformu.txtAntPatPersonales = temp1!Antecedentes_PacienteMsgBox "Paciente Existe, proceda...", vbInformation, Mensaje

    End Iftemp.CloseSet temp = Nothingtemp1.CloseSet temp1 = Nothing

    End Function

    Public Function busca_nombre(tabla_temp As String, valor As String,

    campo_temp As String) As Boolean

    Dim t_aux As New ADODB.Recordset

    busca_nombre = Falsevalor = QuitaTilde(valor)'MsgBox ("select " & campo_temp & " from " & tabla_temp) '& " where

    upper(" & campo_temp & ")='" & UCase(valor) & "'")Set t_aux = BaseDatos.Execute("select " & campo_temp & " from " &

    tabla_temp) '& " where upper(" & campo_temp & ")='" & UCase(valor) & "'")If t_aux.BOF Then

    busca_nombre = FalseElse

    Do Until t_aux.EOFIf QuitaTilde(t_aux.Fields(0)) = valor Then

    busca_nombre = TrueExit Do

    End Ift_aux.MoveNext

    LoopEnd Ift_aux.CloseSet t_aux = Nothing

    End Function

    Function Busca_PersonasAct(formu As Form, txt As TextBox, Ssql As String,

    Mensaje1 As String) As Boolean

    Dim temp1 As New ADODB.RecordsetDim Encontrado As BooleanSet temp1 = BaseDatos.Execute("SELECT * FROM

    Datos_Personales_Paciente")If Not temp1.BOF Then

    Encontrado = FalseDo While Not temp1.EOF

    If temp1!cedula = txt ThenBusca_PersonasAct = Trueformu.txthistoriaclinica = temp1!NumeroHistoriaClinicaExit Do

    End Iftemp1.MoveNext

    LoopIf temp1.EOF And Encontrado = False Then

    MsgBox "No Existe Paciente, Ingrese Informacin...",vbInformation, Mensaje

    temp1.Close

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    70/140

    70

    Set temp1 = Nothingformu.TxtApellidosNombres.SetFocusExit Function

    End If

    Elsetemp1.CloseSet temp1 = NothingMsgBox "No Existe Registro de Paciente Ingrese Informacin...",

    vbInformation, MensajeExit Function

    End IfDim temp As New ADODB.RecordsetSet temp = BaseDatos.Execute(Ssql)Encontrado = FalseIf Not temp.BOF Then

    Do While Not temp.EOF()If temp!NumeroHistoriaClinica = temp1!NumeroHistoriaClinica

    ThenEncontrado = TrueExit Do

    End Iftemp.MoveNextLoop

    End IfIf Encontrado = True And Busca_PersonasAct = True Then

    temp.CloseSet temp = Nothingtemp1.CloseSet temp1 = NothingMsgBox Mensaje1, vbInformation, Mensaje

    Exit FunctionElseIf Busca_PersonasAct = True Then

    formu.txthistoriaclinica = temp1!NumeroHistoriaClinicaformu.txtcedula = temp1!cedulaformu.TxtApellidosNombres = temp1!Apellidos_Nombres

    formu.cbsexo = temp1!SEXOformu.DTPFechaNacimiento = temp1!Fecha_Nacimientoformu.cbestadocivil = temp1!Estado_Civilformu.txtocupacion = temp1!Ocupacionformu.txtocupacion = temp1!TELEFONOformu.TxtAlergias = temp1!ALERGIASformu.txtAntPatFamiliares = temp1!Antecedentes_Familiaformu.txtAntPatPersonales = temp1!Antecedentes_PacienteMsgBox "Paciente Existe, proceda...", vbInformation, Mensaje

    End Iftemp.CloseSet temp = Nothingtemp1.CloseSet temp1 = Nothing

    End Function

    Function Busca_PersonasNew(formu As Form, txt As TextBox, Ssql As String,Mensaje1 As String) As Boolean

    Dim temp1 As New ADODB.RecordsetDim Encontrado As BooleanSet temp1 = BaseDatos.Execute("SELECT * FROM

    Datos_Personales_Paciente")If Not temp1.BOF Then

    Encontrado = FalseDo While Not temp1.EOF

    If temp1!cedula = txt Then

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    71/140

    71

    Busca_PersonasNew = Trueformu.txthistoriaclinica = temp1!NumeroHistoriaClinicaExit Do

    End If

    temp1.MoveNextLoopIf temp1.EOF And Encontrado = False Then

    MsgBox "No Existe Paciente, Ingrese Informacin...",vbInformation, Mensaje

    temp1.CloseSet temp1 = Nothingformu.TxtApellidosNombres.SetFocusExit Function

    End IfElse

    temp1.CloseSet temp1 = NothingMsgBox "No Existe Registro de Paciente Ingrese Informacin...",

    vbInformation, MensajeExit Function

    End IfDim temp As New ADODB.RecordsetSet temp = BaseDatos.Execute(Ssql)Encontrado = FalseIf Not temp.BOF Then

    Do While Not temp.EOF()If temp!NumeroHistoriaClinica = temp1!NumeroHistoriaClinica

    ThenEncontrado = TrueExit Do

    End Iftemp.MoveNext

    LoopEnd IfIf Encontrado = True And Busca_PersonasNew = True Then

    temp.Close

    Set temp = Nothingtemp1.CloseSet temp1 = NothingMsgBox Mensaje1, vbInformation, Mensaje

    'formu.txthistoriaclinica = ""formu.txtcedula.Locked = True

    Exit FunctionElseIf Busca_PersonasNew = True Then

    formu.txthistoriaclinica = temp1!NumeroHistoriaClinicaformu.txtcedula = temp1!cedulaformu.TxtApellidosNombres = temp1!Apellidos_Nombresformu.cbsexo = temp1!SEXOformu.DTPFechaNacimiento = temp1!Fecha_Nacimientoformu.cbestadocivil = temp1!Estado_Civilformu.txtocupacion = temp1!Ocupacionformu.txtocupacion = temp1!TELEFONO

    formu.TxtAlergias = temp1!ALERGIASformu.txtAntPatFamiliares = temp1!Antecedentes_Familiaformu.txtAntPatPersonales = temp1!Antecedentes_PacienteMsgBox "Paciente Existe, proceda...", vbInformation, Mensaje

    End Iftemp.CloseSet temp = Nothingtemp1.CloseSet temp1 = Nothing

    End Function

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    72/140

    72

    'funcin quita tilde de una cadena de textoPublic Function QuitaTilde1(txt As String) As String

    Dim tran As String

    Dim n As Integer, i As Integern = Len(txt)For i = 1 To n

    Select Case UCase(Mid(txt, i, 1))Case ""

    tran = tran & "A"Case ""

    tran = tran & "E"Case ""

    tran = tran & "I"Case ""

    tran = tran & "O"Case ""

    tran = tran & "U"Case Else

    tran = tran & UCase(Mid(txt, i, 1))

    End SelectNextQuitaTilde1 = tranEnd Function

    'escribir solo letrasPublic Sub letras(Tecla As Integer)

    Select Case TeclaCase vbKeyReturn, vbKeyLeft, vbKeyRightCase Asc("A") To Asc("Z")Case Asc("a") To Asc("z")Case Asc(""), Asc(""), Asc(""), Asc(""), Asc(""), Asc(""),Asc(""), Asc(""), Asc(""), Asc(""), Asc(""), Asc("")Case Asc("."), Asc(","), Asc("@"), Asc("_"), Asc("-"), Asc("("),Asc(")"), Asc("""), Asc(""")Case 27, vbKeyBack, 13, vbKeySpace

    Case ElseTecla = 0

    Exit SubEnd SelectEnd Sub

    Public Sub letras_num(Tecla As Integer)

    Select Case TeclaCase vbKeyReturn, vbKeyLeft, vbKeyRightCase Asc("0") To Asc("9")Case Asc("A") To Asc("Z")Case Asc("a") To Asc("z")Case Asc(""), Asc(""), Asc(""), Asc(""), Asc(""), Asc(""),Asc(""), Asc(""), Asc(""), Asc(""), Asc(""), Asc("")Case Asc(""), Asc("")Case Asc("."), Asc(","), Asc("@"), Asc("_"), Asc("-"), Asc("("),Asc(")"), Asc("""), Asc("""), Asc(""), Asc("/"), Asc("#"), Asc(":")Case 27, vbKeyBack, 13, vbKeySpaceCase Else

    Tecla = 0Exit SubEnd SelectEnd Sub

    Public Sub Telefonos(Tecla As Integer)

    Select Case Tecla

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    73/140

    73

    Case vbKeyReturn, vbKeyLeft, vbKeyRightCase Asc("0") To Asc("9")Case Asc("-"), Asc("("), Asc(")")Case 27, vbKeyBack, 13, vbKeySpace

    Case ElseTecla = 0Exit SubEnd SelectEnd Sub

    Public Sub presion_arterial(Tecla As Integer)

    Select Case TeclaCase vbKeyReturn, vbKeyLeft, vbKeyRightCase Asc("0") To Asc("9")Case Asc("/"), Asc("-")Case 27, vbKeyBack, 13, vbKeySpaceCase Else

    Tecla = 0Exit SubEnd Select

    End Sub

    Public Sub numero_punto(Tecla As Integer)

    Select Case TeclaCase vbKeyReturn, vbKeyLeft, vbKeyRightCase Asc("0") To Asc("9")Case Asc("."), Asc("-")Case 27, vbKeyBack, 13, vbKeySpaceCase Else

    Tecla = 0Exit SubEnd SelectEnd Sub

    Public Sub numero_va(Tecla As Integer)

    Select Case TeclaCase vbKeyReturn, vbKeyLeft, vbKeyRightCase Asc("0") To Asc("9")Case Asc("-")Case 27, vbKeyBack, 13, vbKeySpaceCase Else

    Tecla = 0Exit SubEnd SelectEnd Sub

    Public Sub numero(Tecla As Integer)

    Select Case TeclaCase vbKeyReturn, vbKeyLeft, vbKeyRightCase Asc("0") To Asc("9")Case 27, vbKeyBack, 13, vbKeySpace

    Case ElseTecla = 0

    Exit SubEnd SelectEnd Sub

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    74/140

    74

    Formulario SPLASH (Frm_SPLASH.Frm)

    Private Sub Timer1_Timer()

    Dim Control As IntegerDim vector(30500) As StringPB.Min = LBound(vector)PB.Max = UBound(vector)PB.Value = PB.MinFor Control = LBound(vector) To UBound(vector)

    vector(Control) = "texto sin importancia" & ControlPB.Value = Control

    NextPB.Value = PB.MinUnload Mefrm_Login.Show 1End Sub

    Formulario CONTRASEA (Frm_Login.Frm)Option Explicit

    Public LoginSucceeded As BooleanDim S As BooleanDim contrasea, aux, aux1 As New ADODB.Recordset

    Private Sub CmdAceptar_Click()

    Dim aa As StringSet contrasea = BaseDatos.Execute("SELECT * FROM Clave WHERE

    IdCLave='" & txtPassword & "' and usuario='" & txtUserName & "'")If contrasea.BOF Or contrasea.EOF Then

    MsgBox "Nombre de Usuario o Clave incorrecta", vbCritical,"Error"

    S = FalsetxtUserName = ""

    txtPassword = ""txtUserName.SetFocuscontrasea.CloseSet contrasea = NothingExit Sub

    ElseS = TrueUnload MePrincipal.Show

    End IfEnd Sub

    Private Sub CmdCancelar_Click()

    Unload MeEnd Sub

    Private Sub Form_KeyPress(KeyAscii As Integer)

    EnterTab KeyAsciiEnd Sub

    Private Sub Form_Unload(Cancel As Integer)

    If S = False ThenBaseDatos.Close

    EndEnd IfEnd Sub

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    75/140

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    76/140

    76

    Formulario Principal MDI (Principal.Frm)

    Option Explicit

    Private Sub BarraPrincipal_ButtonClick(ByVal Button AsMSComctlLib.Button)

    Select Case Button.KeyCase Is = "paciente"

    Load frm_datos_pacientesfrm_datos_pacientes.Show 1

    Case Is = "enfermedades"Load frm_diagnosticofrm_diagnostico.Show 1

    Case Is = "Calculadora"Call Shell("calc.exe")

    Case Is = "Salir"If MsgBox("Est seguro de Salir del Sistema...?", vbYesNo,

    "SISTEMA") = vbYes Then

    EndEnd If

    End SelectEnd Sub

    Private Sub MDIForm_Load()

    Mensaje = Principal.CaptionBaseDatos.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +

    App.Path + "\basehis.mdb;Persist Security Info=False;;Persist SecurityInfo=False;Jet OLEDB:DataBase Password='rajarrob'"

    frmSplash.Show 1End Sub

    Private Sub MDIForm_Unload(Cancel As Integer)

    If MsgBox("Esta seguro de salir del sistema...?", vbYesNo, "Preguntade seguridad") = vbYes Then

    End

    ElseCancel = 1

    End IfEnd Sub

    Private Sub mnuBEstado_Click()

    Select Case mnuBEstado.CheckedCase True

    mnuBEstado.Checked = FalseBarraEstado.Visible = False

    Case FalsemnuBEstado.Checked = TrueBarraEstado.Visible = True

    End SelectEnd Sub

    Private Sub mnuBHerramientas_Click()

    Select Case mnuBHerramientas.CheckedCase True

    mnuBHerramientas.Checked = FalseBarraPrincipal.Visible = False

    Case FalsemnuBHerramientas.Checked = TrueBarraPrincipal.Visible = True

    End SelectEnd Sub

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    77/140

    77

    Private Sub mnuCalculadora_Click()

    Call Shell("calc.exe")End Sub

    Private Sub mnuCiudad_Click()

    frm_ciudad.Show 1End Sub

    Private Sub mnuContrasea_Click()

    frm_contrasea.Show 1End Sub

    Private Sub mnuDatos_Click(Index As Integer)

    frm_datos_pacientes.Show 1End Sub

    Private Sub mnuenfermedad_Click()

    frm_diagnostico.Show 1

    End Sub

    Private Sub StatusBar1_MouseDown(Button As Integer, Shift As Integer, X

    As Single, Y As Single)

    If Button = 2 ThenPopupMenu mnuBHerramientas

    End IfEnd Sub

    Private Sub mnureportes_Click()

    frm_reportes.Show 1End Sub

    Private Sub mnusalir_Click()

    If MsgBox("Est seguro de Salir del Sistema...?", vbYesNo,

    "SISTEMA") = vbYes ThenEndEnd If

    End Sub

    Formulario Frm_datos_pacientes (frm_datos_pacientes.frm)

    Option Explicit

    Public llena As BooleanDim aux As New ADODB.RecordsetDim rela As New ADODB.RecordsetDim actualiza, Encontrado, Encontrado1, Busca1 As BooleanDim paciente As Boolean

    Dim aa

    Private Sub cbciudad_KeyPress(KeyAscii As Integer)Combo cbciudad, KeyAsciiEnd Sub

    Private Sub cbestadocivil_KeyPress(KeyAscii As Integer)

    Combo cbestadocivil, KeyAsciiEnd Sub

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    78/140

    78

    Private Sub cbsexo_KeyPress(KeyAscii As Integer)

    Combo cbsexo, KeyAsciiEnd Sub

    Private Sub CmdActualizar_Click()If txthistoriaclinica = "" Then

    MsgBox "Por Favor, Seleccione de la lista, el Paciente que deseaActualizar", vbInformation, Mensaje

    Exit SubElse

    actualiza = TrueBotones

    txtcedula.SetFocusEnd If

    End Sub

    Private Sub CmdCancelar_Click()

    LimpiarBotones

    actualiza = FalseEnd Sub

    Private Sub CmdCiudad_Click()

    llena = TrueLoad frm_ciudadfrm_ciudad.Show 1

    End Sub

    Private Sub CmdGuardar_Click()

    If Trim(txtcedula.Text) = "" Thentxtcedula.Text = "-"

    End IfIf Len(txtcedula) = 10 Or txtcedula.Text = "-" ThenElse

    MsgBox "La cedula, debe contener diez caracteres", vbInformation,Mensaje

    txtcedula.SetFocusExit Sub

    End If

    If Trim(TxtApellidosNombres) = "" ThenMsgBox "Por Favor, ingrese Apellidos y Nombres ", vbExclamation,

    MensajeTxtApellidosNombres.SetFocusExit Sub

    ElseIf Trim(cbsexo) = "" ThenMsgBox "Por Favor, seleccione Sexo", vbExclamation, Mensajecbsexo.SetFocusExit Sub

    ElseIf Trim(DTPFechaNacimiento) = "" Then

    MsgBox "Por Favor,seleccione la Fecha de Nacimiento",vbExclamation, Mensaje

    DTPFechaNacimiento.SetFocusExit Sub

    ElseIf Trim(cbestadocivil) = "" ThenMsgBox "Por Favor, seleccione el Estado Civil", vbExclamation,

    Mensajecbestadocivil.SetFocusExit Sub

    ElseIf Trim(cbciudad) = "" Then

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    79/140

    79

    MsgBox "Por Favor, ingrese Ciudad", vbExclamation, Mensajecbciudad.SetFocusExit Sub

    End If

    If Trim(txtocupacion) = "" Thentxtocupacion.Text = "-"

    End If

    If Trim(txttelefono) = "" Thentxttelefono.Text = "-"

    End If

    If Trim(TxtAlergias) = "" ThenTxtAlergias.Text = "-"

    End If

    If Trim(txtAntPatFamiliares) = "" ThentxtAntPatFamiliares.Text = "-"

    End If

    If Trim(txtAntPatPersonales) = "" ThentxtAntPatPersonales.Text = "-"

    End IfIf txtcedula = "-" ThenElseIf ValidaCedula(txtcedula.Text) = False Then

    MsgBox "N de Cdula no vlido", vbCritical, Mensajetxtcedula.SelStart = 0txtcedula.SelLength = Len(txtcedula.Text)txtcedula.SetFocusExit Sub

    End IfEnd IfSet aux = BaseDatos.Execute("SELECT * FROM Ciudades")Do Until aux.EOF

    If cbciudad = aux!nombreciudad Thenaa = aux!IdCiudad

    Exit DoElse

    aux.MoveNextEnd If

    Loopaux.CloseSet aux = Nothing

    If txtcedula = "-" ThenIf busca_nombre("Datos_Personales_Paciente",Trim(TxtApellidosNombres.Text), "Apellidos_Nombres") Then

    MsgBox "Apellidos y Nombre del Paciente, ya existe", vbCritical,Mensaje

    TxtApellidosNombres.SetFocusExit Sub

    End IfEnd IfIf actualiza = True Then

    Set aux = BaseDatos.Execute("SELECT cedula FROMDatos_Personales_Paciente")

    Busca1 = False

    Do Until aux.EOFIf txtcedula = aux!cedula Then

    Busca1 = True

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    80/140

    80

    Exit DoElse

    aux.MoveNextEnd If

    Loopaux.CloseSet aux = NothingIf txtcedula = "-" Then

    Busca1 = FalseEnd If

    Set aux = BaseDatos.Execute("SELECT NumeroHistoriaClinica,cedulaFROM Datos_Personales_Paciente")

    Do Until aux.EOFIf txthistoriaclinica = aux!NumeroHistoriaClinica And

    txtcedula = aux!cedula ThenBusca1 = FalseExit Do

    Else

    aux.MoveNextEnd IfLoopaux.CloseSet aux = NothingIf txtcedula = "-" Then

    Busca1 = FalseEnd If

    'SI LA CEDULA ES VERDADERA SALEIf Busca1 = True Then

    MsgBox "Ya existe este N de Cdula para Paciente",vbCritical, Mensaje

    txtcedula.SetFocusExit Sub

    End If

    BaseDatos.Execute ("UPDATE Datos_Personales_Paciente SET Cedula='" &txtcedula & "', Apellidos_Nombres='" & UCase(TxtApellidosNombres) & "',Sexo='" & UCase(cbsexo) & "',Fecha_Nacimiento='" & DTPFechaNacimiento &"',Estado_Civil='" & UCase(cbestadocivil) & "',IdCiudad=" & (aa) &",Ocupacion='" & UCase(txtocupacion) & "', Telefono='" & txttelefono &"', Alergias='" & UCase(TxtAlergias) & "', Antecedentes_Familia= '" &UCase(txtAntPatFamiliares) & "',Antecedentes_Paciente= '" &UCase(txtAntPatPersonales) & "' Where NumeroHistoriaClinica=" &txthistoriaclinica & "")

    MsgBox "Informacin Actualizada", vbInformation, Mensajeactualiza = False

    ElseIf txtcedula = "-" ThenEncontrado1 = FalseElse

    Encontrado1 = Busca_Personas(frm_datos_pacientes, txtcedula, "SELECT* FROM Datos_Personales_Paciente", "Paciente Existe, busque en lista...")

    End If

    If Encontrado1 = False ThenSet aux = BaseDatos.Execute("SELECT

    max(NumeroHistoriaClinica)AS mayor FROM Datos_Personales_Paciente")If IsNull(aux!mayor) Then

    txthistoriaclinica = 1

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    81/140

    81

    Elsetxthistoriaclinica = aux!mayor + 1

    End Ifaux.Close

    Set aux = NothingEnd If

    Set aux = BaseDatos.Execute("SELECT NumeroHistoriaClinica FROMDatos_Personales_Paciente")

    Busca1 = False

    Do Until aux.EOFIf txthistoriaclinica = aux!NumeroHistoriaClinica Then

    Busca1 = TrueExit Do

    Elseaux.MoveNext

    End IfLoop

    aux.CloseSet aux = Nothing

    'SI LA CEDULA ES VERDADERA SALEIf Busca1 = True Then

    MsgBox "Ya existe este N de Cdula para Paciente",vbCritical, Mensaje

    txtcedula.SetFocusExit Sub

    End IfIf Encontrado1 = False Then

    BaseDatos.Execute "INSERT INTODatos_Personales_Paciente(NumeroHistoriaClinica,Cedula,Apellidos_Nombres,Sexo,Fecha_Nacimiento,Estado_Civil,IdCiudad,Ocupacion,Telefono,Alergias,Antecedentes_Familia,Antecedentes_Paciente) values (" & txthistoriaclinica& ",'" & txtcedula & "', '" & UCase(TxtApellidosNombres) & "', '" &

    UCase(cbsexo) & "','" & DTPFechaNacimiento & "','" & UCase(cbestadocivil)& "'," & (aa) & " ,'" & UCase(txtocupacion) & "','" & txttelefono & "','"& UCase(TxtAlergias) & "', '" & UCase(txtAntPatFamiliares) & "','" &UCase(txtAntPatPersonales) & "' )"

    MsgBox "Informacin Almacenada", vbInformation, MensajeEnd If

    End IfLimpiarBotonesVisualizaDatos

    End Sub

    Private Sub CmdImprimir_Click()

    If txthistoriaclinica = "" ThenMsgBox "No Hay Registro Activo, debe seleccionar un Paciente de la

    lista", vbCritical, Mensaje

    Exit SubElseImprime txthistoriaclinicaEnd IfEnd Sub

    Private Sub CmdNuevo_Click()

    LimpiarBotonestxtcedula.SetFocus

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    82/140

    82

    End Sub

    Private Sub CmdSalir_Click()

    Unload Me

    End Sub

    Private Sub DTPFechaNacimiento_Change()

    lbedad.Caption = edad(DTPFechaNacimiento)End Sub

    Private Sub DTPFechaNacimiento_Click()

    lbedad.Caption = edad(DTPFechaNacimiento)End Sub

    Private Sub DTPFechaNacimiento_LostFocus()

    lbedad.Caption = edad(DTPFechaNacimiento)End Sub

    Private Sub Form_KeyPress(KeyAscii As Integer)

    EnterTab KeyAsciiEnd Sub

    Private Sub Form_Load()

    LLenaGrid msflista, "SELECTDatos_Personales_Paciente.NumeroHistoriaClinica,Datos_Personales_Paciente.Cedula,Datos_Personales_Paciente.Apellidos_Nombres,Datos_Personales_Paciente.Sexo,Datos_Personales_Paciente.Fecha_Nacimiento,Datos_Personales_Paciente.Estado_Civil,Ciudades.NombreCiudad,Datos_Personales_Paciente.Ocupacion, Datos_Personales_Paciente.Telefono,Datos_Personales_Paciente.Alergias,Datos_Personales_Paciente.Antecedentes_Familia,Datos_Personales_Paciente.Antecedentes_Paciente FROM Ciudades INNER JOINDatos_Personales_Paciente ON Ciudades.IdCiudad =Datos_Personales_Paciente.IdCiudad ORDER BY Apellidos_Nombres"

    msflista.ColWidth(2) = (1000)msflista.ColWidth(3) = (3500)DTPFechaNacimiento = (Date)LlenaCombo cbciudad, "SELECT NombreCiudad FROM Ciudades"

    End Sub

    Private Sub msflista_Click()

    If msflista.Rows = 1 Then Exit SubIf msflista.TextMatrix(msflista.Row, 1) = "" Then Exit Sub

    VaciarDatos msflista.TextMatrix(msflista.Row, 1)End Sub

    Private Sub msflista_DblClick()

    If msflista.Rows = 1 Then

    MsgBox "No Hay Registro Activo", vbCritical, MensajeUnload Me

    ElseSet rela = BaseDatos.Execute(" SELECT

    Datos_Personales_Paciente.NumeroHistoriaClinica,Datos_Personales_Paciente.Cedula,Datos_Personales_Paciente.Apellidos_Nombres,Datos_Personales_Paciente.Sexo,Datos_Personales_Paciente.Fecha_Nacimiento,Datos_Personales_Paciente.Estado_Civil,Ciudades.NombreCiudad,

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    83/140

    83

    Datos_Personales_Paciente.Ocupacion, Datos_Personales_Paciente.Telefono,Datos_Personales_Paciente.Alergias,Datos_Personales_Paciente.Antecedentes_Familia,Datos_Personales_Paciente.Antecedentes_Paciente FROM Ciudades INNER JOIN

    Datos_Personales_Paciente ON Ciudades.IdCiudad =Datos_Personales_Paciente.IdCiudad WHEREDatos_Personales_Paciente.NumeroHistoriaClinica = " &msflista.TextMatrix(msflista.Row, 1) & "")

    frm_historia.txthistoriaclinica = rela!NumeroHistoriaClinicafrm_historia.TxtApellidosNombres = rela!Apellidos_Nombresfrm_historia.lbedad = edad(DTPFechaNacimiento)frm_historia.TxtAlergias = rela!ALERGIASrela.CloseSet rela = Nothing

    LLenaGrid frm_historia.msflista, "SELECTDatos_Personales_Paciente.NumeroHistoriaClinica,(Historia_Clinica.Fecha_Elaboracion) as Fecha_Visita, (Enfermedades.Enfermedad) as Diagnostico1,(Enfermedades_1.Enfermedad) as Diagnostico2, (Enfermedades_2.Enfermedad)as Diagnostico3, (Enfermedades_3.Enfermedad) as Diagnostico4" & _" FROM (Ciudades INNER JOIN Datos_Personales_Paciente ON

    Ciudades.IdCiudad = Datos_Personales_Paciente.IdCiudad) INNER JOIN(Enfermedades AS Enfermedades_3 INNER JOIN (Enfermedades ASEnfermedades_2 INNER JOIN (Enfermedades AS Enfermedades_1 INNER JOIN(Enfermedades INNER JOIN Historia_Clinica ON Enfermedades.IdEnfermedad =Historia_Clinica.Diagnostico1) ON Enfermedades_1.IdEnfermedad =Historia_Clinica.Diagnostico2) ON Enfermedades_2.IdEnfermedad =Historia_Clinica.Diagnostico3) ON Enfermedades_3.IdEnfermedad =Historia_Clinica.Diagnostico4) ONDatos_Personales_Paciente.NumeroHistoriaClinica =Historia_Clinica.NumeroHistoriaClinica WHEREHistoria_Clinica.NumeroHistoriaClinica= " &frm_historia.txthistoriaclinica & " ORDER BYHistoria_Clinica.Fecha_Elaboracion"frm_historia.msflista.ColWidth(1) = 1000End IfCmdSalir_Click

    frm_historia.ShowEnd Sub

    Private Sub msflista_LeaveCell()

    msflista.CellBackColor = &H80000005End Sub

    Private Sub msflista_SelChange()

    If msflista.Rows = 1 Then Exit SubIf msflista.TextMatrix(msflista.Row, 1) = "" Then Exit SubVaciarDatos msflista.TextMatrix(msflista.Row, 1)

    End Sub

    Private Sub TxtAlergias_KeyPress(KeyAscii As Integer)

    letras_num KeyAscii

    End Sub

    Private Sub txtAntPatFamiliares_KeyPress(KeyAscii As Integer)

    letras_num KeyAsciiEnd Sub

    Private Sub txtAntPatPersonales_KeyPress(KeyAscii As Integer)

    letras_num KeyAsciiEnd Sub

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    84/140

    84

    Private Sub TxtApellidosNombres_Change()

    If frmbusqueda.Enabled = False ThenDim aux As New ADODB.RecordsetSet aux = BaseDatos.Execute("SELECT

    Datos_Personales_Paciente.NumeroHistoriaClinica,Datos_Personales_Paciente.Cedula,Datos_Personales_Paciente.Apellidos_Nombres,Datos_Personales_Paciente.Sexo,Datos_Personales_Paciente.Fecha_Nacimiento,Datos_Personales_Paciente.Estado_Civil,Ciudades.NombreCiudad,Datos_Personales_Paciente.Ocupacion, Datos_Personales_Paciente.Telefono,Datos_Personales_Paciente.Alergias,Datos_Personales_Paciente.Antecedentes_Familia,Datos_Personales_Paciente.Antecedentes_Paciente FROM Ciudades INNER JOINDatos_Personales_Paciente ON Ciudades.IdCiudad =Datos_Personales_Paciente.IdCiudad WHEREDatos_Personales_Paciente.Apellidos_Nombres LIKE '" & TxtApellidosNombres& "%'")

    msflista.Rows = 1Do Until aux.EOF

    msflista.AddItem "" & Chr(9) & aux!NumeroHistoriaClinica & Chr(9)& aux!cedula & Chr(9) & aux!Apellidos_Nombres & Chr(9) & aux!SEXO &Chr(9) & aux!Fecha_Nacimiento & Chr(9) & aux!Estado_Civil & Chr(9) &aux!nombreciudad & Chr(9) & aux!Ocupacion & Chr(9) & aux!TELEFONO &Chr(9) & aux!ALERGIAS & Chr(9) & aux!Antecedentes_Familia & Chr(9) &aux!Antecedentes_Paciente

    aux.MoveNextLoopaux.CloseSet aux = Nothing

    End IfEnd Sub

    Private Sub TxtApellidosNombres_GotFocus()

    Sombrea TxtApellidosNombresEnd Sub

    Private Sub TxtApellidosNombres_KeyPress(KeyAscii As Integer)

    letras KeyAsciiEnd Sub

    Private Sub txtbusqueda_Change()

    Dim aux As New ADODB.RecordsetSet aux = BaseDatos.Execute("SELECT

    Datos_Personales_Paciente.NumeroHistoriaClinica,Datos_Personales_Paciente.Cedula,Datos_Personales_Paciente.Apellidos_Nombres,Datos_Personales_Paciente.Sexo,Datos_Personales_Paciente.Fecha_Nacimiento,Datos_Personales_Paciente.Estado_Civil,Ciudades.NombreCiudad,Datos_Personales_Paciente.Ocupacion, Datos_Personales_Paciente.Telefono,

    Datos_Personales_Paciente.Alergias,Datos_Personales_Paciente.Antecedentes_Familia,Datos_Personales_Paciente.Antecedentes_Paciente FROM Ciudades INNER JOINDatos_Personales_Paciente ON Ciudades.IdCiudad =Datos_Personales_Paciente.IdCiudad WHEREDatos_Personales_Paciente.Apellidos_Nombres LIKE '" & txtbusqueda & "%'")

    msflista.Rows = 1Do Until aux.EOF

    msflista.AddItem "" & Chr(9) & aux!NumeroHistoriaClinica & Chr(9)& aux!cedula & Chr(9) & aux!Apellidos_Nombres & Chr(9) & aux!SEXO &Chr(9) & aux!Fecha_Nacimiento & Chr(9) & aux!Estado_Civil & Chr(9) &

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    85/140

    85

    aux!nombreciudad & Chr(9) & aux!Ocupacion & Chr(9) & aux!TELEFONO &Chr(9) & aux!ALERGIAS & Chr(9) & aux!Antecedentes_Familia & Chr(9) &aux!Antecedentes_Paciente

    aux.MoveNext

    Loopaux.CloseSet aux = Nothing

    End Sub

    Private Sub txtbusqueda_GotFocus()

    Sombrea txtbusquedaEnd Sub

    Private Sub txtcedula_GotFocus()

    Sombrea txtcedulaEnd Sub

    Private Sub txtcedula_KeyPress(KeyAscii As Integer)

    numero KeyAsciiEnd Sub

    Private Sub txtocupacion_GotFocus()

    Sombrea txtocupacionEnd Sub

    Private Sub txtocupacion_KeyPress(KeyAscii As Integer)

    letras KeyAsciiEnd Sub

    Private Sub txttelefono_KeyPress(KeyAscii As Integer)

    Telefonos KeyAsciiEnd Sub

    Sub Limpiar()

    txthistoriaclinica = ""txtcedula = ""TxtApellidosNombres = ""cbsexo = ""DTPFechaNacimiento = (Date)lbedad.Caption = ""cbestadocivil = ""cbciudad = ""txtocupacion = ""txttelefono = ""TxtAlergias = ""txtAntPatFamiliares = ""txtAntPatPersonales = ""txtbusqueda = ""End Sub

    Sub Botones()CmdNuevo.Enabled = Not (CmdNuevo.Enabled)CmdGuardar.Enabled = Not (CmdGuardar.Enabled)CmdCancelar.Enabled = Not (CmdCancelar.Enabled)CmdActualizar.Enabled = Not (CmdActualizar.Enabled)CmdSalir.Enabled = Not (CmdSalir.Enabled)frmbusqueda.Enabled = Not (frmbusqueda.Enabled)frmpaciente.Enabled = Not (frmpaciente.Enabled)

    End Sub

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    86/140

    86

    Sub VaciarDatos(id As Integer)

    Set aux = BaseDatos.Execute("SELECTDatos_Personales_Paciente.NumeroHistoriaClinica,

    Datos_Personales_Paciente.Cedula,Datos_Personales_Paciente.Apellidos_Nombres,Datos_Personales_Paciente.Sexo,Datos_Personales_Paciente.Fecha_Nacimiento,Datos_Personales_Paciente.Estado_Civil,Ciudades.NombreCiudad,Datos_Personales_Paciente.Ocupacion, Datos_Personales_Paciente.Telefono,Datos_Personales_Paciente.Alergias,Datos_Personales_Paciente.Antecedentes_Familia,Datos_Personales_Paciente.Antecedentes_Paciente FROM Ciudades INNER JOINDatos_Personales_Paciente ON Ciudades.IdCiudad =Datos_Personales_Paciente.IdCiudad WHEREDatos_Personales_Paciente.NumeroHistoriaClinica=" & id)

    If aux.EOF = False Thentxthistoriaclinica = aux!NumeroHistoriaClinicatxtcedula = aux!cedulaTxtApellidosNombres = aux!Apellidos_Nombres

    cbsexo = aux!SEXODTPFechaNacimiento = aux!Fecha_Nacimientolbedad.Caption = edad(DTPFechaNacimiento)cbestadocivil = aux!Estado_Civilcbciudad = aux!nombreciudadtxtocupacion = aux!Ocupaciontxttelefono = aux!TELEFONOTxtAlergias = aux!ALERGIAStxtAntPatFamiliares = aux!Antecedentes_FamiliatxtAntPatPersonales = aux!Antecedentes_Paciente

    End IfSet aux = Nothing

    End Sub

    Sub VisualizaDatos()

    Dim aux As New ADODB.Recordset

    Set aux = BaseDatos.Execute("SELECTDatos_Personales_Paciente.NumeroHistoriaClinica,Datos_Personales_Paciente.Cedula,Datos_Personales_Paciente.Apellidos_Nombres,Datos_Personales_Paciente.Sexo,Datos_Personales_Paciente.Fecha_Nacimiento,Datos_Personales_Paciente.Estado_Civil,Ciudades.NombreCiudad,Datos_Personales_Paciente.Ocupacion, Datos_Personales_Paciente.Telefono,Datos_Personales_Paciente.Alergias,Datos_Personales_Paciente.Antecedentes_Familia,Datos_Personales_Paciente.Antecedentes_Paciente FROM Ciudades INNER JOINDatos_Personales_Paciente ON Ciudades.IdCiudad =Datos_Personales_Paciente.IdCiudad ORDER BY Apellidos_Nombres")

    msflista.Rows = 1Do Until aux.EOF

    msflista.AddItem "" & Chr(9) & aux!NumeroHistoriaClinica & Chr(9)

    & aux!cedula & Chr(9) & aux!Apellidos_Nombres & Chr(9) & aux!SEXO &Chr(9) & aux!Fecha_Nacimiento & Chr(9) & aux!Estado_Civil & Chr(9) &aux!nombreciudad & Chr(9) & aux!Ocupacion & Chr(9) & aux!TELEFONO &Chr(9) & aux!ALERGIAS & Chr(9) & aux!Antecedentes_Familia & Chr(9) &aux!Antecedentes_Paciente

    aux.MoveNextLoopaux.CloseSet aux = Nothing

    End Sub

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    87/140

    87

    Sub Imprime(id As Integer)

    Dim tPaciente As New ADODB.RecordsetSet tPaciente = BaseDatos.Execute("SELECT

    Datos_Personales_Paciente.NumeroHistoriaClinica,Datos_Personales_Paciente.Cedula,Datos_Personales_Paciente.Apellidos_Nombres,Datos_Personales_Paciente.Sexo,Datos_Personales_Paciente.Fecha_Nacimiento,Datos_Personales_Paciente.Estado_Civil, Ciudades.NombreCiudad,Datos_Personales_Paciente.Ocupacion, Datos_Personales_Paciente.Telefono,Datos_Personales_Paciente.Alergias,Datos_Personales_Paciente.Antecedentes_Familia,Datos_Personales_Paciente.Antecedentes_Paciente FROM Ciudades INNER JOINDatos_Personales_Paciente ON Ciudades.IdCiudad =Datos_Personales_Paciente.IdCiudad WHEREDatos_Personales_Paciente.NumeroHistoriaClinica=" & id)Set DReportPacientes.DataSource = tPacienteDReportPacientes.Show 1End Sub

    Formulario Frm_historia ( historia.frm)

    Option Explicit

    Public llena As BooleanDim Modifica, Encontrado As BooleanDim aux As New ADODB.RecordsetDim aa, bb, cc, dd, feDim FEC As String

    Private Sub cmbdiagnostico1_KeyPress(KeyAscii As Integer)

    Combo cmbdiagnostico1, KeyAsciiEnd Sub

    Private Sub cmbdiagnostico2_KeyPress(KeyAscii As Integer)

    Combo cmbdiagnostico2, KeyAsciiEnd Sub

    Private Sub cmbdiagnostico3_KeyPress(KeyAscii As Integer)

    Combo cmbdiagnostico3, KeyAsciiEnd Sub

    Private Sub cmbdiagnostico4_KeyPress(KeyAscii As Integer)

    Combo cmbdiagnostico4, KeyAsciiEnd Sub

    Private Sub CmdActualizar_Click()

    If cmbdiagnostico1 = "" ThenMsgBox "Seleccione de la Lista, el Registro que desea actualizar

    ", vbCritical, MensajeExit Sub

    End IfBotonesModifica = Truetxtpresionarterial.SetFocus

    End Sub

    Private Sub CmdCancelar_Click()

    LimpiarBotonesModifica = False

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    88/140

    88

    End Sub

    Private Sub CmdDiagnostico_Click()

    llena = True

    Load frm_diagnosticofrm_diagnostico.Show 1

    End Sub

    Private Sub CmdGuardar_Click()

    Dim aux As New ADODB.RecordsetIf Trim(txtpresionarterial) = "" Then

    txtpresionarterial.Text = "-"End If

    If Trim(txtpulsaciones) = "" Thentxtpulsaciones.Text = "-"

    End IfIf Trim(txtrespiracion) = "" Then

    txtrespiracion.Text = "-"End If

    If Trim(txttemperatura) = "" Thentxttemperatura.Text = "-"

    End If

    If Trim(txtperimetrocefalico) = "" Thentxtperimetrocefalico.Text = "-"

    End If

    If Trim(txttalla) = "" Thentxttalla.Text = "-"

    End If

    If Trim(txtpeso) = "" Thentxtpeso.Text = "-"

    End If

    If Trim(txtmotivoconsulta) = "" ThenMsgBox "Ingrese el Motivo de la Consulta"txtmotivoconsulta.SetFocusExit Sub

    End If

    If Trim(txtprediagnostico) = "" Thentxtprediagnostico.Text = "-"

    End If

    If Trim(txttratamiento) = "" Thentxttratamiento.Text = "-"

    End If

    If Trim(txtprescripcion) = "" Thentxtprescripcion.Text = "-"

    End If

    Set aux = BaseDatos.Execute("SELECT * FROM Enfermedades")Do Until aux.EOF

    If cmbdiagnostico1 = "" Thenaa = 1Exit Do

    End If

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    89/140

    89

    If cmbdiagnostico1 = aux!enfermedad Thenaa = aux!Idenfermedad

    Exit DoElse

    aux.MoveNextEnd IfLoopaux.CloseSet aux = Nothing

    Set aux = BaseDatos.Execute("SELECT * FROM Enfermedades")Do Until aux.EOF

    If cmbdiagnostico2 = "" Thenbb = 1Exit Do

    End If

    If cmbdiagnostico2 = aux!enfermedad Thenbb = aux!Idenfermedad

    Exit DoElse

    aux.MoveNextEnd IfLoopaux.CloseSet aux = NothingSet aux = BaseDatos.Execute("SELECT * FROM Enfermedades")Do Until aux.EOF

    If cmbdiagnostico3 = "" Thencc = 1Exit Do

    End IfIf cmbdiagnostico3 = aux!enfermedad Then

    cc = aux!IdenfermedadExit Do

    Elseaux.MoveNext

    End IfLoopaux.CloseSet aux = Nothing

    Set aux = BaseDatos.Execute("SELECT * FROM Enfermedades")Do Until aux.EOF

    If cmbdiagnostico4 = "" Thendd = 1Exit Do

    End IfIf cmbdiagnostico4 = aux!enfermedad Then

    dd = aux!IdenfermedadExit Do

    Elseaux.MoveNext

    End If

    Loopaux.CloseSet aux = Nothing

    If Modifica = False Thenfe = CStr(Now)BaseDatos.Execute "INSERT INTO

    Historia_Clinica(NumeroHistoriaClinica,Fecha_Elaboracion,Motivo_Consulta,Presion_Arterial,Pulso,Respiracion,Temperatura,Perimetro_Cefalico,Talla,Peso,Prediagnostico,Diagnostico1,Diagnostico2,Diagnostico3,Diagnostico4,Tratamiento,Prescripcion) VALUES (" & txthistoriaclinica & ", '" &

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    90/140

    90

    CStr(Now) & "', '" & UCase(txtmotivoconsulta) & "', '" &UCase(txtpresionarterial) & "', '" & (txtpulsaciones) & "' , '" &txtrespiracion & "', '" & txttemperatura & "', '" & txtperimetrocefalico& "', '" & txttalla & "', '" & txtpeso & "','" & UCase(txtprediagnostico)

    & "'," & (aa) & "," & (bb) & "," & (cc) & "," & (dd) & ",'" &UCase(txttratamiento) & "', '" & UCase(txtprescripcion) & "' )"MsgBox "Informacin Almacenada", vbInformation, Mensaje

    ElseIf Modifica = True Thenfe = CStr(lbfechavisita)BaseDatos.Execute "UPDATE Historia_Clinica SET

    NumeroHistoriaClinica= " & txthistoriaclinica & ",Motivo_Consulta= '" &UCase(txtmotivoconsulta) & "', Presion_Arterial='" &UCase(txtpresionarterial) & "', Pulso='" & (txtpulsaciones) & "',Respiracion= '" & txtrespiracion & "', Temperatura='" & txttemperatura &"', Perimetro_Cefalico='" & txtperimetrocefalico & "', Talla='" &txttalla & "',Peso='" & txtpeso & "', Prediagnostico='" &UCase(txtprediagnostico) & "',Diagnostico1=" & (aa) & ",Diagnostico2=" &(bb) & ",Diagnostico3=" & (cc) & ",Diagnostico4=" & (dd) &",Tratamiento='" & UCase(txttratamiento) & "', Prescripcion='" &UCase(txtprescripcion) & "' WHERE CStr(Fecha_Elaboracion)='" &

    CStr(lbfechavisita) & "' and NumeroHistoriaClinica= " &txthistoriaclinicaMsgBox "Informacin Actualizada", vbInformation, MensajeModifica = False

    End IfIf MsgBox("Desea Imprimir la Receta", vbYesNo, Mensaje) = vbYes ThenImprimeRecetaG txthistoriaclinicaEnd If

    LimpiarBotonesVisualizaDatosEnd Sub

    Private Sub CmdImpHistorias_Click()

    If msflista.Rows = 1 Then

    MsgBox "No Hay Registro Activo", vbCritical, MensajeExit SubEnd IfImprimeHistorias txthistoriaclinicaEnd Sub

    Private Sub CmdImprimir_Click()

    If lbfechavisita = "" ThenMsgBox "No Hay Registro Activo, debe seleccionar una cita de la

    lista", vbCritical, MensajeExit Sub

    ElseImprime txthistoriaclinicaEnd IfEnd Sub

    Private Sub CmdNuevo_Click()

    If txthistoriaclinica = "" ThenMsgBox "Debe tener seleccionado un Paciente", vbInformation,

    MensajeElse

    LimpiarBotonestxtpresionarterial.SetFocus

    End If

  • 7/23/2019 Tesis Ana Maria Arguello Rubira

    91/140

    91

    End Sub

    Private Sub CmdPacientes_Click()

    llena = True

    CmdSalir_ClickLoad frm_datos_pacientesfrm_datos_pacientes.Show 1

    End Sub

    Private Sub cmdreceta_Click()

    If lbfechavisita = "" ThenMsgBox "No Hay Registro Activo, debe seleccionar una cita de la

    lista", vbCritical, MensajeExit Sub

    ElseImprimeReceta txthistoriaclinicaEnd IfEnd Sub

    Private Sub CmdSalir_Click()

    Unload MeEnd Sub

    Private Sub Form_KeyPress(KeyAscii As Integer)

    EnterTab KeyAsciiEnd Sub

    Private Sub Form_Load()

    lbfechavisita.Caption = ""lblFecha.Caption = Format(Date, "Long Date") & ", " &