TESIS PUCP Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/ PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA Módulo de Instrumentación Electrónica y Software sobre Linux para Espirometría Tesis para optar el Título de: INGENIERO ELECTRÓNICO Presentado por: RIVER QUISPE TACAS LIMA – PERÚ 2006 RESUMEN Este trabajo consiste en el desarrollo e implementación de un prototipo de espirómetro de flujo para computadora, tomando como guía las recomendaciones dadas por la American Thoracic Society (ATS – Medical Section of the American Lung Association) y de la Sociedad Española de Neumología y Cirugía Torácica – SEPAR. La espirometría es una prueba médica que consiste en la medición del volumen y flujo respiratorio espirado por el paciente; y es una de las primeras pruebas que se realizan en pacientes que presenten anomalías respiratorias. El prototipo está compuesto de un módulo electrónico y software desarrollado para Linux-RTLinux. En el módulo electrónico se realiza la adquisición y digitalización del flujo respiratorio (±14 L/s), temperatura ambiental (17 a 37ºC) y presión barométrica (440 a 760 mmHg); para obtener este flujo se utiliza el sensor de flujo GISS, desarrollado en la PUCP (patente: US2004261540). El software se encarga del manejo del módulo electrónico, de realizar los cálculos y la medición, de obtener el volumen respiratorio por integración del flujo, y de interpretar y visualizar los resultados de la prueba. El prototipo realiza las mediciones de FVC, FEV1, FEV1%, FEF25-75% FET100%, PEF y VC; muestra las curvas de flujo-volumen, flujo-tiempo y volumen- tiempo, todo esto para pacientes entre 20 a 70 años y además realiza una aproximación sobre el tipo de anomalía respiratoria (obstructivo, restrictivo) que padecería el paciente. Las pruebas de medición se realizaron en pacientes del Hospital Guillermo Almenara, obteniéndose excelentes resultados; como por ejemplo, para una paciente (edad 44 años, estatura 150cm y peso 60kg) se midió FVC=1.4L, FEV1=1.3L, FEV1%=96.5% y se diagnosticó enfermedad del tipo restrictivo; estos resultados confirman su enfermedad, fibrosis pulmonar (enfermedad de tipo restrictivo), diagnosticado anteriormente por los médicos del hospital. A mis padres, Roque y Lucila, y a mis hermanos por su gran apoyo incondicional. A Bruno Castillón y a Eduardo Ismodes por sus grandes enseñanzas en el GIDEMS. A mis amigos de la escuela, del colegio, de la PUCP, del GIDEMS y del EHAS, por los grandes favores de amigo. A mi profesor Carranza y al doctor Durand, por su gran colaboración. ÍNDICE 1. INTRODUCCIÓN ___________________________________________________1 ANTECEDENTES PLANTEAMIENTO Y JUSTIFICACIÓN DE LA TESIS OBJETIVO 2. MARCO CONCEPTUAL ____________________________________________5 2.1 VENTILACIÓN PULMONAR 2.2 PRUEBAS DE FUNCIÓN RESPIRATORIA 2.3 ESPIROMETRÍA. 2.4 ESPIROMETRÍA NO FORZADA, VOLÚMENES Y CAPACIDADES PULMONARES. 2.5 ESPIROMETRÍA FORZADA Y PARÁMETROS ESPIROMÉTRICOS.. 2.6 VALORES DE REFERENCIA, ECUACIONES DE REGRESIÓN, INTERPRETACIÓN DE LA ESPIROMETRÍA Y ALTERACIONES ESPIROMÉTRICAS. 2.7 CONTROL DE CALIDAD EN ESPIROMETRIA. 2.8 MEDICIÓN DE FLUJO DE GASES Y SENSOR GISS. 2.9 SISTEMA OPERATIVO LINUX Y RTLinux. 2.10 SISTEMA GENERALIZADO DE INSTRUMENTACIÓN MÉDICA. 3. ANÁLISIS DE LOS MÉTODOS Y MATERIALES A USAR ________________22 3.1 ESPIRÓMETRO DE FLUJO ELECTRÓNICO PARA COMPUTADORA. 3.2 ELECCIÓN DEL SENSOR DE FLUJO PARA ESPIROMETRÍA. 3.3 RECOMENDACIONES DE LA ATS PARA ESPIROMETRÍA. 3.4 EXPRESIÓN DE LOS RESULTADOS ESPIROMÉTRICOS – SEPAR. 3.5 ELECCIÓN DEL SISTEMA OPERATIVO, MANEJO DE LA ADQUISICIÓN Y HERRAMIENTAS PARA DESARROLLAR EL SOFTWARE. 3.6 ESPECIFICACIONES PARA EL DESARROLLO DEL PROTOTIPO DE ESPIRÓMETRO. 4. DISEÑO DEL MÓDULO ELECTRÓNICO Y DEL SOFTWARE ______________38 4.1 DISEÑO DEL MÓDULO ELECTRÓNICO. 4.2 ECUACIONES PARA CALCULAR LOS VALORES DE LAS SEÑALES DIGITALIZADAS. 4.3 DISEÑO DEL SOFTWARE (SWXAIRE). 5. DESARROLLO E IMPLEMENTACIÓN ________________________________60 5.1 MÓDULO ELECTRÓNICO, DESARROLLO E IMPLEMENTACIÓN. 5.2 SOFTWARE, DESARROLLO E IMPLEMENTACIÓN. 5.3 PROTOTIPO DE ESPIRÓMETRO XAIRE. 6. PRUEBAS Y RESULTADOS ________________________________________73 6.1 PRUEBAS DE MEDICIÓN EN EL PROTOTIPO XAIRE, SIN UTILIZAR EL GISS. 6.2 PRUEBAS DE MEDICIÓN EN EL PROTOTIPO XAIRE UTILIZANDO EL GISS. 6.3 RESUMEN SOBRE LA ESPECIFICACIONES TÉCNICAS DEL PROTOTIPO XAIRE Y LA COMPARACIÓN CON EL ESPIRÓMETRO SPIROTRAC 6800. 6.4 UTILIZACIÓN DEL PROTOTIPO XAIRE. 6.5 PRUEBAS ESPIROMÉTRICAS CON PACIENTES DEL HOSPITAL GUILLERMO ALMENARA. CONCLUSIONES ____________________________________________________92 RECOMENDACIONES ________________________________________________95 BIBLIOGRAFÍA ______________________________________________________97 1. INTRODUCCIÓN La espirometría es una prueba médica, que consiste en la medición del volumen y flujo espiratorio; es una de las primeras pruebas que se realizan a un paciente con problemas respiratorios; el equipo utilizado para realizar esta prueba es el espirómetro. En el mercado existen distintos tipos de espirómetros, algunos utilizan a las computadoras para realizar la medición y visualización del volumen-flujo respiratorio. El presente trabajo consiste en el desarrollo e implementación de un prototipo de espirómetro de flujo para computadora, tomando como guía las recomendaciones del estándar para espirometría dada por la ATS1 y la SEPAR2. Este trabajo se desarrolló como una alternativa a los equipos existentes en el mercado y se utilizó, como apoyo, a los trabajos financiados por la DAI3. El prototipo está constituido por un módulo electrónico, un software desarrollado para Linux-RTLinux y utiliza el sensor GISS4 (patente US2004261540); con este prototipo se realizan las mediciones de FVC, FEV1, FEV1%, FEF25-75% FET100%, PEF y VC, 1 American Thoracic Society, Medical Section of The American Lung Association, http://www.thoracic.org 2 Sociedad Española de Neumología y Cirugía Torácica. 3 Dirección Académica de Investigación de esta universidad. 4 Prototipo de sensor de flujo respiratorio desarrollado en esta universidad. 1 muestra las curvas de flujo-volumen, flujo-tiempo y volumen-tiempo, todo esto para pacientes entre 20 a 70 años y además realiza una aproximación sobre el tipo de anomalía respiratoria (obstructivo, restrictivo) que padecería el paciente. Las pruebas de medición se realizaron en pacientes del Hospital Guillermo Almenara de ESSALUD5, obteniendo resultados óptimos. La colaboración de los asesores y amigos fue importante para el desarrollo de esta tesis. ANTECEDENTES El año 2002 se desarrolló el proyecto “Prototipo de un supervisor central y monitor local de mecánica ventilatoria para unidades de cuidados intensivos”; este prototipo se utiliza para monitorear las señales respiratorias de pacientes que hacen uso del ventilador pulmonar6. Este proyecto obtuvo diferentes premios tales como el primer puesto en el “Concurso de Prototipos de Innovaciones Tecnológicas” organizado por CONCYTEC7, 2002. El año 2003 la Dirección Académica de Investigación de esta universidad, financia el proyecto “Equipo médico para Diagnóstico del Síndrome Obstructivo y Síndrome Restrictivo”, trabajo que obtuvo el “Premio a la Investigación 2003”, categoría egresados, organizado por esta universidad; además, y específicamente los programas desarrollados en Linux-RTLinux, fueron expuestos en el “Fifth Real Time Linux Workshop8, Valencia-España 2003”, con el título “Prototype to Evaluate the Parameters of Forced Spirometry”. PLANTEAMIENTO Y JUSTIFICACIÓN DE LA TESIS En nuestro país se tiene como una de las causas importantes de mortalidad9 a las enfermedades respiratorias (neumonía, influenza, tuberculosis, etc.), por tanto es 5 ESSALUD: Seguro Social de Salud del Perú. 6 Equipo médico para la asistencia respiratoria. 7 Consejo Nacional de Ciencia y Tecnología del Perú. 8 Organizada por la Real Time Linux Foundation, Inc. y el Department of Computer Engineering, Universidad Politécnica de Valencia – España, en noviembre del 2003. 9 Estadísticas del Ministerio de Salud del Perú; http://www.minsa.gob.pe/ 2 importante los equipos que realizan pruebas de función respiratoria; la espirometría, es una prueba inicial del conjunto de pruebas de función respiratoria que existen; pero su uso aún no es generalizado en nuestro país; con un espirómetro se obtienen parámetros respiratorios, que brindan información relevante para conocer el estado de salud del paciente. La investigación y desarrollo en equipos médicos en nuestra universidad, es importante, puesto que se tiene grandes logros en esta área; el Grupo de Investigación y Desarrollo de equipos Médicos y Sistemas - GIDEMS de esta universidad, es un grupo que actualmente investiga y desarrolla en las áreas de mecánica ventilatoria, neonatología, neumática y afines; esta tesis como otras se desarrolló dentro de este grupo con el fin de dar inicio a innovaciones en estas áreas. OBJETIVO Objetivo general: Desarrollar e implementar un prototipo de espirómetro de flujo para computadora10, tomado como guía las recomendaciones del “Standardization of Spirometry 1994”, publicada por la American Thoracic Society. Objetivos específicos: 1. Utilizar el sensor GISS11, para obtener el flujo respiratorio. 2. Desarrollar un módulo electrónico para: ƒ Adquirir y digitalizar el flujo respiratorio (rango de ± 14 L/s.) cada 10 ms. ƒ Adquirir y digitalizar la temperatura ambiental (17 a 37 ºC) y la presión barométrica (440 a 760 mmHg). 3. Desarrollar un software en Linux-RTLinux, para: ƒ Manejar el módulo electrónico. ƒ Realizar las pruebas de espirometría simple (medición del VC) y las pruebas de espirometría forzada (medición de FVC, FEV1, FEV1%, FEF25-75%, FET100% y PEF), para pacientes de entre 20 a 70 años. ƒ Mostrar los valores espirométricos y las curvas de flujo-tiempo, volumen-tiempo y flujo-volumen. 10 Computadora personal - PC 11 Prototipo sensor de flujo respiratorio desarrollado en esta universidad. 3 ƒ Dar una aproximación al diagnostico sobre el tipo alteraciones vetilatoria (obstructivo, restrictivo) que padecería el paciente. 4 2. MARCO CONCEPTUAL 2.1 VENTILACIÓN PULMONAR. Los objetivos de la respiración, en una persona, son suministrar oxígeno a los tejidos y eliminar dióxido de carbono [1]; el sistema circulatorio también está implicado en esta tarea, mediante el transporte de estas sustancias entre los pulmones y el resto del organismo. La respiración puede dividirse en cuatro sucesos funcionales importantes [1]: ƒ Ventilación pulmonar, se refiere al flujo de aire de entrada y salida entre la atmósfera y los alvéolos pulmonares. ƒ Difusión del oxígeno y del dióxido de carbono entre los alvéolos y la sangre. ƒ Trasporte del oxigeno y del dióxido de carbono de la sangre y de los líquidos corporales a las células y desde ellas. ƒ Regulación de la ventilación y de otras facetas de la respiración. Para que la respiración se realice de forma correcta es necesario una adecuada ventilación pulmonar; ésta consiste en la entrada (inspiración) y la salida (espiración) de aire del pulmón; una persona adulta y sana normalmente respira de 12 a 15 veces por minuto y moviliza 0.5 litros de aire por respiración [2]. 5 2.2 PRUEBAS DE FUNCIÓN RESPIRATORIA. Se usan para identificar anormalidades funcionales de la respiración en una persona; con estas pruebas se cuantifica la severidad, se localiza el sitio de disfunción, se evalúa respuestas a tratamientos, se hacen seguimientos, etc. sobre las enfermedades respiratorias [3] que originan estas anormalidades. Estas enfermedades respiratorias se deben a una alteración ventilatoria (de tipo obstructivo o restrictivo [3]) o a una alteración del sistema circulatorio (cualidades de la sangre, funcionamiento del corazón) o a causas muy diferentes. La complejidad de la función respiratoria impide la existencia de una única prueba que refleje el funcionamiento global de la respiración; hay una gran variedad de pruebas de función respiratoria que se diferencian entre sí por su mayor o menor complejidad y por el nivel que evalúan; por lo que se escogen de acuerdo al problema de cada paciente. Las pruebas más comunes [4][5] que se realizan en los distintos laboratorios del mundo son: ƒ Espirometría. ƒ Prueba broncodilatadora. ƒ Pruebas de provocación bronquial. ƒ Estudio de los volúmenes pulmonares. ƒ Estudio de la capacidad de difusión pulmonar. ƒ Presiones musculares máximas. ƒ Prueba de esfuerzo cardiopulmonar. ƒ Estudio de distensibilidad pulmonar. 2.3 ESPIROMETRÍA. 2.3.1 Fundamentos de la espirometría. La espirometría es una prueba médica básica para el estudio de la función respiratoria; consiste en la medición del volumen de aire exhalado o inhalado en función del tiempo y de la velocidad a la cual el volumen está cambiando en el tiempo (flujo respiratorio) [6][7]; es una prueba sencilla y no invasiva; el equipo 6 diseñado para esta prueba es el espirómetro. La espirometría consta de dos partes habituales, la espirometría no forzada y la forzada [8]. La espirometría es una herramienta útil para detectar, seguir y manejar enfermedades respiratorias [9], brindando amplia información desde el punto de vista funcional, incluyendo la naturaleza del defecto (obstructivo, restrictivo); existen, como en toda prueba, indicaciones y contraindicaciones para la espirometría [10]. La espirometría, como la presión de sangre, es una prueba útil de la salud general; pero en ciertas situaciones será requerido realizar otras pruebas más para encontrar con exactitud el problema respiratorio que padecería el paciente [6]. La espirometría es una maniobra esfuerzo-dependiente que requiere entendimiento, coordinación y cooperación por parte del paciente, quien debe ser cautelosamente instruido para realizar correctamente la prueba [6]. Los médicos responsables de esta prueba son entrenados especialmente para realizar este tipo de tarea, con el fin de asegurar resultados óptimos [6]. La espirometría se realiza principalmente en los hospitales, especialmente en sus departamentos de neumología donde existen ambientes acondicionados para este tipo de prueba; también se realiza de manera ambulatoria, principalmente para el seguimiento de algunas enfermedades respiratorias. 2.3.2 Estado del arte y tipos de espirómetros. En el mercado existe muchas compañías extranjeras que fabrican distintos tipos de espirómetros; algunos se utilizan solo para monitoreo y otros, más completos, se utilizan para el diagnóstico; se pueden encontrar espirómetros mecánicos, portátiles, embebidos ó para computadoras; en el anexo B se listan algunos de estos espirómetros. En función del tipo de sensor utilizado para obtener la señal de aire en movimiento, los espirómetros se pueden clasificar en espirómetros de volumen y de flujo [10]: ƒ Espirómetros de volumen: son los primeros equipos que se utilizaron para medir el desplazamiento del volumen de aire pulmonar; es un equipo totalmente mecánico y aún se emplean en laboratorios de función pulmonar; consisten en un tambor invertido sobre una cámara de agua, un tubo para 7 conectar a la boca del paciente, y un registro mecánico12 para graficar volumen-tiempo sobre un papel continuo. Estos equipos fueron mejorados por sistemas de pistón o de fuelle y en ellos el movimiento de aire se traduce en un cambio de voltaje. ƒ Espirómetros de flujo: son equipos que incorporan un neumotacómetro (un tipo de sensor de flujo de aire) para medir el flujo respiratorio; actualmente es el más popular y habitual de los sistemas utilizados. Los neumotacómetros poseen una resistencia conocida al paso de flujo de aire; esta resistencia genera una diferencia de presión cuya magnitud está en función del flujo que pasa; por medio de un transductor esta diferencia de presión, se convierte en señal eléctrica para ser procesada y obtener volumen respiratorio. Existen otros tipos de sensores de flujo de aire en el mercado, que se usan en diferentes espirómetros tales como los de turbina, pistón, alambre caliente, ultrasonido, entre otros. Figura 2-1: Espirómetro de volumen. Figura 2-2: Espirómetro portátil de Flujo. 2.3.3 Estándares para espirometría. Para garantizar el desarrollo, la correcta realización e interpretación de los pruebas espirométricas, las diferentes sociedades médicas neumológicas internacionales, han editado diversas recomendaciones y normativas [10][12]. Uno de estos estándares es la publicada por la American Thoracic Society – ATS13 (Standardization of Spirometry, 1994 Update); en este estándar, se encuentran 12 Tambor con un papel escalado para graficar volumen-tiempo. 13 Medical Section of The American Lung Association, http://www.thoracic.org/ 8 recomendaciones para el desarrollo de equipos espirométricos, para el control de calidad, para el personal que dirigirá la prueba, para realizar las maniobras correctas, y otros casos. Otro estándar es la publicada por la European Respiratory Society - ERS14 y también está la publicada por la Sociedad Española de Neumología y Cirugía Torácica – SEPAR15. 2.4 ESPIROMETRÍA NO FORZADA, VOLÚMENES Y CAPACIDADES PULMONARES. La espirometría no forzada consiste en pedir al paciente que inspire o espire todo el volumen de aire que sea capaz, pero utilizando todo el tiempo que necesite [8]; de ahí el nombre de no forzada o simple; con esta prueba se mide de manera directa e indirecta los volúmenes y capacidades pulmonares. a. Volumen normal, volumen corriente o volumen tidal (TV): es el volumen de aire inspirado o espirado en cada respiración normal; en una persona adulta y sana y en condiciones normales el TV es de unos 0.5 L [1]. b. Volumen de reserva inspiratoria (IRV): es el volumen adicional que se puede inspirar por encima del volumen corriente normal; habitualmente es igual a 3 L [1]. c. Volumen de reserva espiratorio (ERV): es la cantidad de aire que se puede espirar por espiración forzada después de una espiración normal, normalmente es de unos 1.1 L [1]. d. El volumen residual (RV): es el volumen de aire que queda en el pulmón después de una espiración máxima; aproximadamente es unos 1.2 L [1]. e. Capacidad inspiratoria (IC): es la suma del TV más IRV; es la cantidad de aire que una persona puede respirar desde una espiración normal e hinchando al máximo sus pulmones; son unos 3.5L [1]. f. La capacidad residual funcional (FRC): es la suma entre RV y ERV; es la cantidad de aire que queda en los pulmones tras una espiración normal, son unos 2.3 L [1]. 14 http://www.ersnet.org/ers/ 15 http://www.separ.es 9 g. Capacidad vital (VC): es la máxima cantidad de volumen de aire exhalado desde una máxima inhalación o es el máximo volumen de aire inhalado desde una máxima exhalación; es la suma de TV, IRV y ERV; es unos 4.6 L [1][6]. h. La capacidad pulmonar total (TLC): es la suma de VC y RV; representa la cantidad total de aire que pueden contener los pulmones, es el máximo volumen que puede expandirse los pulmones con el máximo esfuerzo inspiratorio posible; son unos 5.8 L [1]. Figura 2-3: Diagrama volumen-tiempo que muestra los volumen y capacidades pulmonares. Con un espirómetro se puede medir TV, IRV, ERV, IC y VC, pero no se puede medir RV y las capacidades que lo involucran (al menos directamente), ya que este volumen no puede ser espirado; para medir se utiliza técnicas como la dilución del helio y la pletismografía corporal (prueba de estudio de volúmenes pulmonares) [1][8]. Todos los volúmenes y capacidades de una persona dependerán principalmente de su edad, talla y sexo [1]. 10 2.5 ESPIROMETRÍA FORZADA Y PARÁMETROS ESPIROMÉTRICOS. La espirometría forzada consiste en pedir al paciente que, tras una inspiración máxima, espire todo el aire que contengan sus pulmones en el menor tiempo posible (es decir, hasta que en los pulmones sólo quede RV); por lo general esto toma unos 6 segundos en una persona adulta sana [6]. Con esta prueba se obtiene diversos parámetros espirométricos, algunos de ellos se derivan de otros, entre las principales tenemos a: a. Capacidad vital forzada (FVC): es el máximo volumen de aire espirado, con el máximo esfuerzo posible, partiendo de una inspiración máxima; se expresa en litros [6]. b. Volumen espirado en el primer segundo de la espiración forzada (FEV1 ): es el volumen de aire que se expulsa durante el primer segundo de la espiración forzada, se expresa en litros [6]. c. Relación FEV1/FVC (%FEV1 = FEV1/FVCx100), expresado en porcentaje, indica la proporción de la FVC que se expulsa durante el primer segundo de la maniobra de espiración forzada. Es el parámetro más importante para valorar si existe una obstrucción, y es el patrón oro para la evaluación del asma [7]. d. Flujo espiratorio forzado entre el 25% y el 75% de la FVC (FEF25-75%): Es la relación del volumen expulsado entre el 25% y el 75% de la FVC y el tiempo que se ha tardado en expulsarlo, se expresa en litros/segundo [6]. e. Flujo respiratorio máximo pico de flujo (PEF): es el flujo de aire más grande conseguido durante una espiración forzada partiendo de una inspiración máxima, expresado en litros/segundo ó litros/minuto [6]. f. FET100%: tiempo total empleado en la realización de la maniobra espiratoria, en segundos [6]. Si se grafican las distintas relaciones entre el flujo, volumen y tiempo se obtienen curvas características como las mostradas en la figura 2-4, 2-5 y 2-6; de la curva flujo- tiempo se obtiene el PEF, y de la curva volumen-tiempo se obtiene principalmente FVC, FEV1, FEF25-75% y el FET100%; la curva flujo-volumen relaciona el flujo espirado en cada instante con el volumen espirado en ese instante, se observa una 11 fase de ascenso rápido hasta llegar al flujo espiratorio máximo (PEF), y luego un descenso más lento; esta curva aporta información clínica y técnica importantes. PEFF lu jo (L /s ) 0 1 2 3 4 5 Tiempo (s) 0 1 4 2 3 5 6 Figura 2-4: Flujo - tiempo. Fl uj o ( L /s ) Volumen ( L ) PEF 0 1 4 2 3 5 6 0 1 2 3 4 5 6 FVC Figura 2- 5: Flujo – Volumen. a b FEV1 75% 25% 0 1 2 3 4 5 Tiempo (s) FVC FEF 25-75% = a / b Vo lu m en (L ) FET 100% 0 1 4 2 3 5 6 100% Figura 2-6: Volumen – tiempo. 12 2.6 VALORES DE REFERENCIA, ECUACIONES DE REGRESIÓN, INTERPRETACIÓN DE LA ESPIROMETRÍA Y ALTERACIONES ESPIROMÉTRICAS. 2.6.1 Valores de referencia y ecuaciones de regresión para espirometría. Los valores de referencia en espirometría, para una persona, son los valores que debería tener como persona sana; éstas son obtenidos de una muestra suficientemente amplia de individuos sanos de las mismas características raciales (o étnicas) y antropométricas al paciente (principalmente sexo, edad, estatura, peso) [10][12][13]. Los valores de referencia son estimados a partir de unas ecuaciones de regresión que son desarrolladas, para una población específica, por los laboratorios interesados, y están principalmente en función a la raza, sexo, edad, estatura y peso [10][12][13]. Son muchas las ecuaciones de regresión utilizadas, entre ellos: Morris, Knudson, Crapo, Roca, etc, la mayoría de ellas son de origen anglosajón y guardan poca relación con nuestra población peruana. Para la interpretación de la espirometría se recomienda trabajar ecuaciones de regresión para el área geográfica (país, ciudad, región o grupo) donde se van a realizar las pruebas. Para aquellos laboratorios que no poseen ecuaciones para su población en estudio, existen dos soluciones [10]; la primera es obtener valores de un grupo reducido de voluntarios sanos que caractericen a su población, cuyo número sea lo suficiente para compararlos (por criterios estadísticos) con las ecuaciones publicadas, y escoger la que más represente a la población en estudio; la segunda alternativa consiste en la adopción directa del conjunto de ecuaciones publicadas que más estrechamente describan a la población en estudio; pero para seleccionar y usar estas ecuaciones se deben tener criterios, se obtendrán resultados erróneos si se usan otras que no correspondan con la población. La tabla 2-1 muestra las ecuaciones de regresión para obtener los valores de referencia de VC, FVC, FEV1, FEF25-75% y PEF; éstas son descritas por La Sociedad Española de Neumología y Cirugía Torácica – SEPAR16 [10][12]. 16 http://www.separ.es 13 Tabla 2-1: Ecuaciones de regresión para obtener los valores de referencia. Variable Sexo Ecuación (20-70 años) R SEE M 0.08831 A – 0.140068 E – 9.270 0.75 0.573 VC (L) 17 F 0.049698 A – 0.20308 E – 3.364 0.71 0.468 M 0.0678 A – 0.0147 E – 6.0548 0.72 0.53 FVC (L) 18 F 0.0454 A – 0.0211 E – 2.8253 0.75 0.403 M 0.0514 A – 0.0216 E – 3.9548 0.75 0.451 FEV1 (L) 18 F 0.0326 A – 0.0253 E – 1.2864 0.82 0.315 M 0.0392 A – 0.0430 E – 1.1574 0.55 1.0 FEF 25-75% (L/s) 18 F 0.0230 A – 0.0456 E + 1.1055 0.7 0.68 M 0.0945 A – 0.0209 E – 5.77 0.47 1.47 PEF (L/s) 18 F 0.0448 A – 0.0304 E + 0.350 0.47 1.04 M: masculino; F: femenino A: estatura (cm), E: edad (años), P: peso (kg). R: coeficiente de correlación múltiple; SEE: error estándar estimado. 2.6.2 Interpretación de los resultados de la espirometría. La interpretación de la espirometría se basa en la comparación de los parámetros medidos, con los valores de referencia que teóricamente le corresponderían a un individuo. Existen numerosos algoritmos para interpretar los resultados de la espirometría, entre ellos el “porcentaje del valor de referencia” (ecuación 2-1) [12]; éste es de uso generalizado por sus características, como la sencillez en el cálculo y en la comprensión. Vr VmVm 100% ×= Ecuación 2-1 donde: Vm: valor medido en la prueba Vr: valor de referencia del parámetro medido, %Vm: relación entre estos dos valores expresado en porcentaje. 17 Roca J. y otros, Static lung volumes and single-breath diffusing capacity reference values from a latin population. 18 Roca J. Spirometric reference values for a mediterranean population. Obtenido en el estudio Multicéntrico de Barcelona para la población española (hispana). 14 Desde un punto de vista práctico, este tipo de comparación permite clasificar las enfermedades respiratorias en alteraciones ventilatorias de tipo: ƒ Normal, valores en el margen de referencia. ƒ Alteración ventilatoria “obstructiva”. ƒ Alteración ventilatoria “no obstructiva” (restrictivo). Una vez determinado el tipo de alteración ventilatoria, puede graduarse su intensidad a partir de lo que propone la American College of Chest Physicians19 [10][12]. Tabla 2-2: Intensidad del %Vm. Intensidad FVC, FEV1 o ambos expresados como % del valor de referencia Ligera Hasta el 65% Moderada Entre el 64% y el 50% Intensa Entre el 49% y el 35% Muy intensa < 35% 2.6.3 Alteraciones espirométricas. Los parámetros indispensables para clasificar las enfermedades respiratorias son: FVC, FEV1 y %FEV1; estos, comparados con sus respectivos valores de referencia, proporcionan información global sobre las características mecánicas de la función respiratoria y permiten establecer de forma clara cuando existe una alteración ventilatoria de tipo obstructivo, no obstructivo (restrictivo) ó una combinación de ambos (mixto) [9][14]. a. Alteración obstructiva [7] [15]: Las alteraciones obstructivas son propias de enfermedades causadas por un aumento de las resistencias de las vías aéreas (enfermedad pulmonar obstructiva crónica - EPOC, asma bronquial, y otras) o 19 http://www.chestnet.org/ 15 por disminución de la presión elástica de retracción (enfisema); sus características para determinarlas se encuentran en la tabla 2-3. b. Alteración no obstructivo (restrictivo) [7][15][16]: La alteración no obstructiva se da por anormalidades en la pared torácica, tejido pulmonar o músculos respiratorios (fibrosis pulmonar idiopática, histoplasmosis, deformaciones torácicas, enfermedades neuromusculares, y otras). En diversas ocasiones, la espirometría forzada puede resultar equívoca en el diagnóstico de alteraciones del tipo restrictivo; para poder clasificar la alteración no obstructiva como realmente restrictiva es necesario otras pruebas, como el del estudio de los volúmenes pulmonares (técnica de dilución de gases inertes o pletismografía corporal [1][14]). Para determinar una alteración restrictiva, además de lo mostrado en la tabla 2-3 debe existir una disminución de la TLC y la VC; la TLC no es posible conocerla directamente con un espirómetro (dependiendo del tipo), pero en la atención primaria, sospecharemos restricción (no obstructivo) cuando se de lo mostrado en la tabla 2-3. c. Alteración mixta [7]: La alteración ventilatoria mixta puede ser causado por la asociación de una enfermedad de tipo obstructiva y una de tipo restrictiva. Para diferenciar esta situación mixta de otra que tuviera realmente sólo obstrucción o restricción, se recurre, por ejemplo, al estudio de los volúmenes pulmonares (técnica de dilución de gases inertes o la pletismografía corporal [1][14]); pero en atención primaria sospecharemos un alteración mixta cuando se de lo mostrado en la tabla 2-3. 16 Tabla 2-3: Criterios para el diagnósticos de las alteraciones ventilatorias [7][14][15][16]. %Vm Normal Obstrucción No obstrucción (restrictivo) Mixto Se considera normal (no alteración ventilatoria) aquellos que están entre el 80% y el 120% del valor de referencia. Disminución del FEV1 y del cociente %FEV1. Disminución de la FVC y aumento del %FEV1. Será restrictivo si la TLC y VC están también disminuidas. Disminución de los flujos espiratorios máximos y de la TLC y VC. FVC Normal, > 80% Normal o bajo, > 80% Bajo, < 80% Bajo, < 80% FEV 1 Normal, > 80% Bajo, < 80% Normal o bajo, < 80% Bajo, < 80% %FEV1 Normal, > 70% Bajo, < 70% Normal, > 70% Bajo, < 70% 2.7 CONTROL DE CALIDAD EN ESPIROMETRIA. El personal responsable del equipo debe establecer los siguientes puntos dentro de la rutina de funcionamiento del equipo: ƒ Un programa de mantenimiento preventivo. ƒ Un sistema de control de calidad que asegure que las mediciones obtenidas diariamente con el equipo son exactas y reproducibles dentro de los rangos establecidos. ƒ Disponer de un libro de registro de las calibraciones e incidencias del equipo de medición o cambios en los procedimientos de realización de la espirometría. ƒ Control mediante “personas patrón”; es recomendable cada 30 días y siempre que se sospeche algún problema. ƒ Revisión del software (si el espirómetro usa una computadora), registro de las fechas de cambio y en función de las modificaciones del fabricante. 17 Estas recomendaciones generales son dadas por la Sociedad Española de Neumología y Cirugía Torácica – SEPAR20 [10][12]. 2.8 MEDICIÓN DE FLUJO DE GASES Y SENSOR GISS. Existen diferentes métodos para medir el flujo de un gas, entre ellos podemos mencionar los que generan presión diferencial, los que usan un elemento térmico o un elemento magnético, etc; entre los sensores que generan presión diferencial, se encuentran el tubo de venturi y el de obstrucción de área variable [17]. Los sensores de obstrucción de área variable se caracterizan por utilizar una lámina flexible en posición perpendicular a la dirección del flujo de gas; ante las variaciones de flujo dicha lámina sufre una flexión con lo cual se produce un cambio del área de paso del flujo y junto con la forma del sensor (resistencia al paso de flujo) se genera la diferencia de presión entre los puntos extremos a la lámina flexible y cuya magnitud está en función del flujo que pasa [17]. El GISS21 es un sensor de flujo de gases, de tipo obstrucción de área variable; brinda una respuesta lineal (resistencia constante) entre la presión diferencial que se genera al pasar flujo de gas y ésta; el principio de funcionamiento y la construcción del GISS fue desarrollado en esta universidad [17][18] y es una patente (Indecopi22 trámite 000594-2002, USA US2004261540). El GISS es un codo simétrico, de 90 grados, de sección rectangular con una lámina flexible insertado en el centro de su simetría (figura 2-7) [18], y posee dos canillas con la función de acondicionar un transductor de presión diferencial y así medir esta diferencia de presión [18]; una característica adicional del GISS es la posibilidad de medir el flujo de aire en ambas direcciones (bidireccional) gracias a su simetría, por lo que lo hace ideal para medir flujo respiratorio. 20 http://www.separ.es 21 Nombre dado al prototipo de sensor de flujo respiratorio desarrollo en esta universidad por el Grupo de Investigación y Desarrollo de Equipos Médicos y Sistemas - GIDEMS. 22 Instituto Nacional de Defensa de la Competencia y de la Protección de la Propiedad Intelectual del Perú. 18 Figura 2-7: Esquema del sensor GISS. Canilla Pr es ió n di fe re nc ia l c m H 2O Flujo (LPM) Lamina Canilla Flujo Adicionalmente es recomendación [19], que los sensores para uso clínico deben ser esterilizados o desechables, debido a que las partículas de polvo, suciedad, medicación, agua condensada que se alojan en el sensor, afectan la calibración y transmiten enfermedades. 2.9 SISTEMA OPERATIVO LINUX Y RTLINUX. 2.9.1 GNU/Linux. GNU/Linux23 es un sistema operativo tipo unix, desarrollado bajo la Licencia Pública General GNU24 (GNU GPL25); GNU/Linux contiene todas las características de un sistema operativo moderno; existen una gran variedad de software disponibles para este sistema, la mayoría se puede conseguir bajo la licencia GNU GPL, permitiendo que Linux sea configurado para distintas aplicaciones. El más conocido sistema operativo para computadoras personales es el Windows (Microsoft Corporation26); pero actualmente el uso de GNU/Linux está en crecimiento, especialmente relacionado a las redes de computadoras. Ambos sistemas poseen excelente estabilidad, buena utilización de recursos, alto rendimiento y robustez [20]; además ambos ofrecen grandes alternativas de 23 http://www.linux.org 24 http://www.gnu.org 25 GNU GPL: GNU General Public License, http://www.gnu.org/copyleft/gpl.html 26 http://www.microsoft.com 19 herramientas para desarrollar GUI (interfaz gráfica de usuarios), como Visual Basic, Visual C++ para Windows y XForms, QT, GTK+ para Linux, entre otras. 2.9.2 Real Time Linux – RTLinux. GNU/Linux posee una extensión, RTLinux, para convertirse en un “sistema de tiempo real” (sistema informático cuyo correcto funcionamiento no depende sólo de que proporcione la respuesta adecuada, sino que también lo haga en un determinado momento). Real Time Linux o RTLinux es un sistema de tiempo real estricto (para el desarrollo de tareas críticas) desarrollado para distintas arquitecturas, y se distribuye bajo licencia GNU GPL. RTLinux posee un planificador expulsivo por prioridades fijas, en el cual si un proceso de mayor prioridad pasa a estar listo para ejecutarse, mientras se está ejecutando uno de menor prioridad, éste último será detenido para que se inicie el de mayor prioridad. [21]. RTLinux no es un código independiente ó una versión de Linux, parte de RTLinux es un parche sobre el código de Linux, y la otra parte son módulos cargables. Cada versión de RTLinux está diseñada para trabajar sobre una versión de kernel27 de Linux; por ejemplo el kernel 2.2.18 de Linux trabaja con la versión 3.0 de RTLinux. Hoy en día RTLinux continúa activamente con su desarrollo desde la empresa FSM Labs28. El Linux y RTLinux se pueden instalar en computadoras con procesadores 386 hasta en las actuales Pentium IV (primero se instala Linux y después RTLinux). Cuando RTLinux inicia, éste domina a la computadora y Linux pasa a ser una tarea más con una prioridad baja [21]; un proceso RTLinux está dominado por el RTLinux mientras que un proceso Linux está por el Linux; RTLinux atenderá al proceso RTLinux en los tiempos debidos, mientras que Linux atenderá al proceso Linux dependiendo de la carga de procesos en la computadora [21]. 27 Núcleo de un sistema operativo. 28 http://www.fsmlabs.com 20 2.10 SISTEMA GENERALIZADO DE INSTRUMENTACIÓN MÉDICA. Cada sistema de instrumentación tiene al menos algunos de los componentes funcionales mostrados en la figura 2.8 [22]. El sensor convierte la energía o propiedad física, a medir, en una señal eléctrica; después esta señal es procesada y mostrada para que la persona perciba la información; los bloques mostrados con líneas punteadas son opcionales para algunas aplicaciones. Sensor Procesamientode la señal Fuente de poder Almacenamieto de las datos Transmisión de la datos Señal de calibración Control y realimentación Visualización de los datoscantidad física, propiedad o condición Radiación, corriente eléctrica, o otro energía aplicada Salida perceptible Figura 2-8: Sistema generalizado de instrumentación biomédica. 21 3. ANÁLISIS DE LOS MÉTODOS Y MATERIALES A USAR 3.1 ESPIRÓMETRO DE FLUJO ELECTRÓNICO PARA COMPUTADORA. Existen muchas empresas internacionales que fabrican espirómetros, entre ellas tenemos a una de las más importantes en el mundo, Vitalograph Inc.29 que fabrica tres líneas principales de productos: ƒ Equipamiento de espirometría para pruebas pulmonares (en base a flujo y fuelle volumétrico) ƒ Medidores de pico de flujo para el manejo del asma ƒ Equipamiento de resucitación para emergencia Entre los espirómetros de flujo que fabrica Vitalograph, se encuentran los espirómetros para computadora30, de mesa y portátiles; cada uno posee características especificas; los portátiles generalmente son equipos para el monitoreo (PEF), y no muestran las curvas de volumen en tiempo real, o al menos no en detalle; los espirómetros para computadora brindan un mejor manejo del equipo y permiten medir varios parámetros, y principalmente visualizar en tiempo real las curvas de flujo 29 http://www.vitalograph.com 30 Computadora personal - PC 22 y volumen respiratorio, además permiten almacenar los resultados de los pacientes para su análisis posterior . Figura 3-1: Espirómetro de flujo portátil Micro Handheld de Vitalograph. Figura 3-2: Espirómetro de flujo para PC, Spirotrac 6800 de Vitalograph. En este trabajo de tesis se optó por desarrollar un prototipo de espirómetro para computadora; por lo que se tendrá que desarrollar un hardware (para la adquisición y digitalización del flujo respiratorio) y software (manejo del hardware, visualización y medición); la comunicación entre este hardware y la computadora será por el puerto paralelo. 3.2 ELECCIÓN DEL SENSOR DE FLUJO PARA ESPIROMETRÍA. En el mercado existen numerosos tipos de sensores de flujo de aire patentados, que se venden junto con el espirómetro para el cual fueron diseñados; para utilizarlos en otro equipo, primero se debe encontrar su curva de calibración (lineal ó no lineal), por que esto no es publicado; y por otro parte, existen restricciones de uso. Una alternativa, es desarrollar un sensor de flujo propio; por lo cual, en esta tesis, se optó utilizar el sensor de flujo GISS desarrollado en esta universidad. El sensor GISS se desarrolló inicialmente con el propósito de ser utilizado en ventilación pulmonar (rango de flujo: ± 4.17 L/s) [18], posteriormente se estudió la posibilidad de que podía también ser utilizado en espirometría, por lo que se analizó, se diseñó y se construyó un GISS para esta función [19], sus características se muestran en la tabla 3-1. 23 Tabla 3-1: Características del sensor GISS para espirometría. Rango de flujo: ± 14.0 L/s Rango de presión diferencial: ± 6.5 cmH2O Error de lectura: ± 8.8% Resistencia y presión de retroceso: 0.4573 cmH2O / L/s Diámetro de la boquilla: 2.54 cm Tipo de sensor: Obstrucción Figura 3-3: Sensor GISS para espirometría. Tanto las características y la curva de calibración del GISS se obtuvieron utilizando un calibrador de sensores de flujo31 desarrollado en esta universidad. Para obtener el flujo respiratorio, como señal eléctrica, se necesita de un transductor de presión diferencial (entrada: presión diferencial, salida: voltaje). La conexión entre el sensor GISS y el transductor es por medio de mangueras delgadas médicas. Para realizar las pruebas con pacientes, al GISS se le colocará un filtro antibacterial para disminuir posibles contagios a otros pacientes. 31 Desarrollado en esta universidad por el Grupo de Investigación y Desarrollo de Equipos Médicos y Sistemas – GIDEMS y financiado por la Dirección Académica de Investigación de esta universidad; Proyecto: “Desarrollo de un Prototipo de Equipo de Calibración de Sensores de flujo”, 2002. 24 Curva de Calibración del GISS y = 0,4573x R2 = 0,9928 -10 -8 -6 -4 -2 0 2 4 6 8 10 -20 -15 -10 -5 0 5 10 15 20 Flujo (L/s) Pr es ió n (c m H 2O ) Figura 3-4: Curva de Calibración del GISS. 3.3 RECOMENDACIONES DE LA ATS PARA ESPIROMETRÍA. 3.3.1 Acerca de la corrección a BTPS. Dado que la cantidad de vapor de agua varia con la temperatura y presión ambiental, el volumen de aire espirado varían también; por tanto es importante corregir las mediciones respiratorias que impliquen volumen, a condiciones estándares (página 716, [2]) para evitar errores en la interpretación; los estándares que involucran a la espirometría son: ƒ BTPS (Body Temperature and Pressure, saturated with water vapor): temperatura corporal y presión, saturado con vapor de agua. ƒ ATPS (Ambient Temperature and Pressure, saturated with water vapor): temperatura y presión del ambiente saturado con vapor de agua. El aire de nuestros pulmones está en condiciones BTPS (a 37ºC y con presión de vapor de agua saturado de 47 mm Hg), y cuando es espirado al ambiente adopta rápidamente condiciones ATPS en un espacio próximo a la boca del paciente. En general, el volumen de aire espirado va cambiando de acuerdo a las variaciones de temperatura y humedad del ambiente donde se va a realizar la prueba de espirometría [6]; la ATS recomienda hacer la corrección a condiciones BTPS para disminuir los errores de medición; para esto la temperatura no debe ser asumida 25 como constante sobre el curso de una sesión de espirometría, debe ser medida durante cada maniobra de respiración (página 1115 [6]); el factor de corrección BTPS se muestra en la ecuación 3-1 [10]. En la actualidad casi todos los equipos informan los resultados en condiciones BTPS, por lo tanto el prototipo desarrollado en esta tesis también lo hará. TPb OPHPb V V ATPS BTPS +×− −= 15.273 15.310 47 2 Ecuación 3-1 donde: VBTPS : Volumen corregido a BTPS VATPS : Volumen medido del espirómetro Pb : Presión barométrica (mmHg) T : Temperatura del ambiente donde se está realizado la espirometría (asumir que es igual a la temperatura del espirómetro [10]) en grados Celsius. PH2O : Presión de vapor de agua saturado (mmHg) a temperatura ambiente. 47 mm Hg : Presión de vapor de agua saturado (mmHg) a 37º C. 310.15 ºK : Temperatura corporal, 37ºC. La presión vapor de agua saturado, PH2O, se obtiene a partir de la ecuación 3-2 [23] y se utiliza para el rango de ± 40ºC. )273.15+ln(4.8451 - 273.15+ 6743.769 - 53.67957 2 0.75018 T TeOPH ××= Ecuación 3- 2 donde: PH2O : presión de vapor de agua saturado en mmHg T : temperatura de ambiente en ºC 26 Figura 3-5: Esquema de las condiciones BTPS Y ATPS. 3.3.2 Acerca de la temperatura ambiente. La ATS recomienda que la prueba de espirometría no debe ser realizado en ambientes menores a 17ºC o mayores a 40ºC, (página 1115, [6]). La temperatura del ambiente donde se está realizando la espirometría debe ser registrado con una exactitud de ±1ºC y con mayor razón si existe cambios mayores a 5ºC en menos de 30 minutos; esta medida se realiza para hacer la corrección a valores BTPS (página 1121, [6]). El rango de temperatura que manejará el prototipo se muestra en la tabla 3-2. Tabla 3-2: Rango y medición de la temperatura ambiental. Rango 32 Exactitud Medición 17 a 37 ºC ±1ºC La medición se hará cada vez que se realice la prueba de espirometría. 3.3.3 Acerca de la presión barométrica. Como no todos los espirómetros se utilizan a nivel del mar (blood pressure = 760 mm Hg), la ATS recomienda a los fabricantes establecer el rango de la presión barométrica donde su equipo trabajará sin problemas (página 1121, [6]). Los parámetros ventilatorios, como volumen y flujo respiratorio o presión proximal, varían con la altura [24], por tanto también varían los parámetros espirométricos en 32 Rango de medida en los equipos espirométricos para computadora de Vitalograph. 27 función a la altitud. La variación de la presión barométrica se puede expresar con la siguiente ecuación tomada de Texas Instrument [25]. )2(21)( hkkhPb ××= Ecuación 3-3 donde: k1 : 760 mmHg k2 : -0.0001813 m-1 Pb(h) : presión barométrica en función de la altura, en mm Hg. h : altura sobre el nivel del mar, en metros. El rango de presión barométrica que manejará el prototipo se muestra en la tabla 3-3. Tabla 3-3: Rango y medición para la presión barométrica. Rango Medición 760 mm Hg (0 msnm) a 440 mm Hg (4338 msnm 33, Cerro de Pasco). La medición se efectuará cada vez que el equipo se encienda. 3.3.4 Acerca de la frecuencia de la señal de flujo y la adquisición. El ancho de banda para la señal de flujo respiratorio, en pruebas de función respiratoria, varía de 0 a 40 Hz (página 11, [19]). Acerca de la frecuencia de muestreo para espirometría, la ATS menciona que los desarrolladores de espirómetros en base a sistemas computarizados deben saber que incluso con el muestreo de 100 Hz aún puede ser necesario interpolar linealmente entre los puntos del muestreo para determinar con exactitud el FEV1, FEF25-75% y otras medidas espirométricas similares, además se menciona que es recomendable una resolución de 12 bits (ADC) para la digitalización (página 1134-1135, apéndice D, [6]). Para el desarrollo del prototipo se tomará como base a 100Hz como frecuencia de muestreo y resolución de 12 bits para el ADC. 33 Portal Agrario, Ministerio de Agricultura del Perú, Hidrometeorología, http://www.minag.gob.pe 28 3.3.5 Acerca de los parámetros espirométricos. Los espirómetros no están exigidos a medir todos los parámetros espirométricos descritos en el estándar para espirometría de la ATS; pero se deben conocer las recomendaciones para aquellos parámetros que serán medidos por el equipo (página 1110 [6]). ATS diferencia entre varios tipos de equipos para espirometría; los equipos para propósitos clínicos, diagnóstico, epidemiológico y los recientes dispositivos para monitorización que son generalmente portables (peak flow meter); por lo tanto, en este estándar se diferencian dos grupos de recomendaciones para los parámetros espirométricos: uno para espirómetros de diagnóstico y otro para los dispositivos de monitoreo. ATS recomienda que los dispositivos de monitoreo no deben ser usados para el diagnóstico (cuando una medida es comparada con un valor de referencia) por que son menos exactos que los instrumentos de diagnóstico, al no poder ser calibrados para asegurar su performance; además su pequeña pantalla de visualización podría ser inadecuada para visualizar correctamente las curvas; pero estos equipos tienen una precisión excelente (página 1110, [6]). ATS recomienda aplicar las recomendaciones para “espirómetro de diagnóstico” en espirómetros que se usarán para propósitos clínicos o epidemiológicos; la tabla 3- 4 muestra las recomendaciones mínimas de medición de los principales parámetros espirométricos, para equipos de diagnóstico. Los parámetros más importantes y comunes para la espirometría son VC, FVC, FEV1, %FEV1, FEF25-75% , PEF, y FET100%, [6][7][10]. 29 Tabla 3-4: Recomendaciones mínimas de medición para espirómetros de diagnóstico. Test Und. Rango / exactitud (BTPS) Rango de flujo (L/s) Tiempo (s) Resistencia y Presión de retroceso VC L 0.5 a 8L ± 3% de la lectura or ± 0.050L. cero a 14 30 - FVC L 0.5 a 8L ± 3% de la lectura or ± 0.050L. cero a 14 15 Menos que 1.5 cm H20/L/s FEV1 L 0.5 a 8L ± 3% de la lectura or ± 0.050L. cero a 14 1 Menos que 1.5 cm H20/L/s PEF L/s Exactitud: ± 10% de la lectura or ± 0.300 L/s. cero a 14 - Igual que FEV1 FEF 25-75% L/s 7.0 L/s ± 5% de la lectura or ± 0.200 L/s. ± 14 15 Igual que FEV1 dv/dt L/s ± 14 Us ± 5 % de la lectura or ± 0.200 Us. cero a 14 15 Igual que FEV1 FET 100% s - - - - 3.3.6 Recomendaciones sobre el desempeño de las maniobras VC, FVC, PEF, sus mediciones, aceptabilidad y reproducibilidad. El estándar para espirometría de la ATS describe recomendaciones para la buena realización de las maniobras espirométricas, para la medición de cada uno de los parámetros, para la preparación del equipo y del personal que va a realizar las mediciones y para el paciente (lo que debe hacer antes de la prueba, durante y al término de ésta). 30 a. Desempeño sobre las maniobras VC, FVC y PEF. En la tabla 3-5 se muestra el desempeño para la realización de la maniobras FVC, que es la más completa; estos pasos se asemejan para las mediciones del VC y PEF (página 1119, [6]). Tabla 3-5: Desempeño de la maniobra FVC. 1 Chequear la calibración del espirómetro. 2 Explicar al paciente acerca de la importancia de la prueba espirométrica. 3 Preparar al paciente; preguntar si fuma, si está enfermo, que medicamentos usa. 4 Explicar y escenificar la maniobra al paciente: efectuar una inspiración profunda completa (hasta TLC) y espirar en forma forzada y completa. Además mostrar la correcta postura. 5 Desempeño de la maniobra. o Asegurarse que el paciente esté en la postura correcta (sentado, con la espalda derecha, el cuello en posición neutra, cómodo sin limitación de la vestimenta y con libertad de movimiento del tórax). o Colocar el clip nasal. o Inhalar completamente; rápido pero no forzado. o Colocar la boquilla (incluye al sensor de flujo) a la boca del paciente, asegurarse que la adaptación de los labios a la boquilla es adecuada. o Si el paciente está listo, debe realizar una exhalación máxima y rápida. o Repetir la prueba si hubo dificultades por parte del paciente; evaluar si la curva es aceptable sobre la base de los criterios de aceptabilidad preestablecidos. o Repetir por un mínimo de 3 maniobras; no más de 8; que son usualmente requeridos. o Seleccionar los mejores valores de las tres maniobras que cumplan con los criterios de reproducibilidad y hacer más maniobras si es necesario. b. Aceptabilidad y reproducibilidad para VC, FVC y PEF. La aceptabilidad es un concepto que permite establecer a una maniobra espirométrica como una maniobra aceptable de la cual se podrá obtener los parámetros espirométricos [3]; la reproducibilidad es un concepto que permite establecer a un grupo de maniobras espirométricas aceptables como las más representativas de todas las posibles maniobras hechas por el paciente, de las cuales se obtendrá las mediciones de los distintos parámetros de una manera más acertada que con sólo realizando una maniobra [3]; Las recomendaciones para decidir si una maniobra es aceptable o no están definidas en “Standardization of Spirometry 1994” [6]; para esta tesis el profesional que está a cargo de la prueba 31 será el encargado de decidir si la prueba es aceptable o no y si se necesita que el paciente haga más de una maniobra. ƒ Para la FVC (incluye FEV1 y FEF-25-75) y VC, la aceptabilidad está relacionada con el inicio de la maniobra, con el mínimo tiempo de exhalación, con el fin satisfactorio de la maniobra, y de otros criterios que son explicados en el Apéndice A del estándar de espirometría de la ATS; si se cumple con estos criterios se dirá que la maniobra es aceptable. El criterio de reproducibilidad es usado como una guía si por lo menos tres maniobras aceptables son necesarias; las maniobras inaceptables son descartadas antes de aplicar los criterios de reproducibilidad [6]; los criterios de reproducibilidad son: el mayor FVC (o VC) y el segundo mayor FVC (o VC) de maniobras aceptables no deben variar por más de 0.2 L, además el mayor FEV1 y el segundo mayor FEV1 no debe variar por más de 0.2 L (página 1122, de [6]). Habrá pacientes que por diversas razones no podrán realizar correctamente una maniobra y por tanto no podrán cumplir con los criterios de aceptabilidad, queda a criterio de quienes dirigen las mediciones (médicos, específicamente los neumólogos, técnicos y/o otros especialistas) si aceptan una maniobra como prueba válida o no; estos casos también son mostrados en este estándar. ƒ Para el PEF lo importante es que los pacientes deben realizar la maniobra espiratoria tan vigorosa como sea posible; los valores de cada maniobra deben ser grabados en el orden en que ocurren; ningún criterio de reproducibilidad específico se recomienda en este momento. (página 1122, de [6]). c. Procedimiento de medición de los parámetros espirométricos VC, FVC y PEF. ƒ VC: Un mínimo de 2 maniobras aceptables deben ser obtenidas en un máximo de 4 intentos; la mayor de todas las curvas aceptables de VC debe ser reportada; realizar 4 maniobras consecutivas como máximo, es un límite 32 práctico para la mayoría de pacientes, así se evitará la fatiga (páginas 1121- 1122, [6]). ƒ FVC, FEV1 (incluye FEF25-75): Hacer un mínimo de 3 maniobras aceptables; se pueden recurrir a los criterios de reproducibilidad si el paciente muestra una gran variabilidad (FVC y FEV1) entre las medidas (>0.2 L); se debe realizar máximo 8 maniobras consecutivas, éste es un límite práctico para la mayoría de pacientes para evitar la fatiga. El tiempo cero, desde donde será medido el FEV1, será desde que el volumen sea el 5% del FVC o 0.15L en la curva volumen-tiempo (página 1120, [6]). Para obtener el máximo FVC usualmente es requerido un plano en la curva volumen-tiempo, éste es el fin de la maniobra; hay pruebas en donde pequeñas exhalaciones son aceptadas sobre este plano (niños, adolescentes y algunos pacientes con alteración restrictiva), esto dependerá del responsable de la medición. Para considerar el fin de la maniobra es importante que el paciente continúe exhalando aire después de que haya exhalado la mayor cantidad de aire, y se debe observar en la curva volumen-tiempo un plano al final de esta curva ó debe pasar un tiempo razonable de exhalación (generalmente es de 6s para una persona adulta sana, página 1120, [6]). El plano de volumen que se debe observar no debe cambiar por lo menos 1s después del tiempo de exhalación; no cambiar se refiere a que el valor del volumen debe estar dentro de los 0.03L. Algunos pacientes necesitan más de 6s para lograr un plano en la curva volumen-tiempo, y muchos no alcanzan este plano después de 20s [6]; sin embargo tiempos mayores a 15s raramente cambian las decisiones clínicas, las exhalaciones prolongadas (mayores a 6s) son raramente justificadas (páginas 1120-1121, [6]). Se debe grabar la mayor FVC y FEV1 de todas las curvas aceptables, incluso si ellos no vienen de la misma curva; el FEF25-75 debe ser obtenido de la simple curva aceptable cuya suma de FVC y FEV1 sea el mayor (páginas 1121-1122, [6]). ƒ PEF: Puesto que el flujo máximo se alcanza generalmente cerca de un décimo de segundo, los pacientes deben ser animados a que realicen la maniobra 33 espiratoria tan vigorosa como sea posible; el paciente no debe toser durante la maniobra y una exhalación prolongada es innecesariamente, 1 ó 2s es adecuado; el paciente debe hacer un mínimo de dos maniobras y como máximo tres; se debe grabar todas desde el mayor al menor (páginas 1121- 1122, [6]). Esto es principalmente aplicado a dispositivos para monitorización. 3.3.7 Valores de referencia y estandarización de la interpretación de los resultados de la espirometría. a. Valores de referencia para espirometría. La ATS proporciona pautas para seleccionar valores de referencia e interpretación de los resultados (1991 Statement on Lung Function Testing: Selection of Reference Values and Interpretative Strategies). En esta tesis se utilizará las ecuaciones de regresión descritas en la tabla 2-1. b. Interpretación de los resultados. La interpretación de la espirometría implica dos tareas (página 1123, [6]): la primera se refiere a la clasificación de los valores de referencia con respecto a una población de referencia y una valoración de la confiabilidad de estos datos, esto es responsabilidad de los laboratorios; la segunda se refiere a la integración de los valores espirométricos en el diagnostico total, en la terapia y el pronóstico, esto es responsabilidad del médico que solicita los estudios. La interpretación de la espirometría se hará en base a la ecuación 2-1 y la tabla 2-3 con lo cual se obtendrá el tipo de alteración ventilatoria que padecería el paciente (diagnostico inicial). En general es responsabilidad del médico y del laboratorio desarrollar procedimientos para la interpretación de la espirometría y de seleccionar apropiadamente los valores de referencia; (página 1123, [6]). 3.4 EXPRESIÓN DE LOS RESULTADOS ESPIROMÉTRICOS - SEPAR. Los resultados deben expresarse en forma numérica y gráfica; para la expresión numérica suelen utilizarse tres columnas: en la primera se anotan los valores de 34 referencia para cada parámetro, en la segunda las medidas de los parámetros, y en la tercera el porcentaje de las medidas con relación a los de referencia. Para la representación gráfica es mejor el trazado de flujo-volumen que el volumen-tiempo; esto son recomendaciones de la Sociedad Española de Neumología y Cirugía Torácica – SEPAR 34 [12]. 3.5 ELECCIÓN DEL SISTEMA OPERATIVO, MANEJO DE LA ADQUISICIÓN Y HERRAMIENTAS PARA DESARROLLAR EL SOFTWARE. Las empresas fabricantes de espirómetros, como Vitalograph Inc, desarrollan software espirométrico para el sistema operativo Windows; por muchas razones estas empresas eligen este sistema; pero GNU/Linux es otra gran opción especialmente para reducir costos. El software espirométrico que se desarrollará en esta tesis será para el GNU/Linux, como una alternativa al software desarrollado para Windows. Al optar desarrollar un hardware (sección 3.1) para la adquisición y digitalización del flujo respiratorio, conlleva desarrollar un programa para su manejo. Desde un programa de usuario en GNU/Linux no se puede acceder directamente a los puertos de la computadora, se necesita de un driver; por otra parte, la adquisición del flujo respiratorio se realizará cada 10ms (100Hz), con lo cual se tendrá una tarea (proceso) que se repetirá periódicamente cada 10ms; el RTLinux ofrece herramientas para desarrollar drivers y tareas periódicas, asignándoles un periodo de repetición y una prioridad fija, además al ser un sistema de tiempo real se tendrá la seguridad de que los datos adquiridos y digitalizados se den en los tiempos establecidos [21][26]; por lo tanto, para el manejo del módulo electrónico se desarrollará una tarea RTLinux. La versión de RTLinux que se utilizará será la 3.0 (http://www.fsmlabs.com) que trabaja junto al kernel de Linux 2.2.18 (http://www.kernel.org/). Los programas para la medición, interpretación y visualización de los parámetros espirométricos, se desarrollarán bajo GNU/Linux; se utilizará XForms35 versión 0.89, como herramienta gráfica para desarrollar la interfaz gráfica de usuario (GUI); esta 34 http://www.separ.es 35 http://world.std.com/~xforms 35 herramienta es libre y sin restricción para el uso no comercial y no lucrativo. XForms permite una rápida construcción de GUI para sistemas XWindows, comparada con otras herramientas como QT y GTK+. La comunicación entre la tarea RTLinux y programas GUI será por medio de fifo36. 3.6 ESPECIFICACIONES PARA EL DESARROLLO DEL PROTOTIPO DE ESPIRÓMETRO. a. Se desarrollará un prototipo de espirómetro para computadora37. b. Se desarrollará un módulo electrónico (hardware) para la adquisición y digitalización del flujo respiratorio, temperatura ambiente y presión barométrica; tomando como interfaz al puerto paralelo entre la computadora y el hardware por desarrollar. c. Se desarrollará programas (software) para el manejo del módulo electrónico, para la medición, interpretación y la visualización de los resultados espirométricos. El sistema operativo a utilizar será GNU/Linux, utilizando las herramientas de RTLinux y las bibliotecas gráficas XForms para el desarrollo del software. d. Para sensar el flujo respiratorio se hará uso del prototipo de sensor de flujo respiratorio GISS. e. Se obtendrá el flujo respiratorio (±14 L/s) a una frecuencia de muestreo de 100Hz, y para realizar corrección a BTPS se obtendrá la temperatura ambiente (17-37ºC) cada vez que se inicie una prueba espirométrica y la presión barométrica (440 a 760 mmHg) cada vez que se encienda el equipo. f. El prototipo realizará pruebas de espirometría simple y forzada para pacientes entre 20 y 70 años. g. En la prueba de espirometría simple se medirá el VC, se calculará su valor de referencia, además se mostrarán las curvas de flujo-tiempo y volumen-tiempo (±14 L/s, 0 - 30s). 36 Se trata de mecanismos de comunicación entre procesos manejados por el kernel, tal como si fueran archivos. Las FIFO entre Linux y RTLinux proporcionan una comunicación rápida y sencilla ya que ambos residen en la mısma maquina. 37 Computadora Personal - PC 36 h. En la prueba de espirometría forzada se medirá el FVC, FEV1, %FEV1, FEF25- 75% , PEF y FET100%; se mostrarán las curvas de flujo-tiempo (0-14 L/s, 0-15s), volumen-tiempo (0-8 L, 0-15s) y la curva flujo-volumen (0-8 L, 0-14 L/s); además se calcularán los valores de referencia del paciente en base a las ecuaciones de predicción mostradas en la tabla 2-1, y se dará una interpretación inicial en base a la tabla 2-3. 37 4 DISEÑO DEL MÓDULO ELECTRÓNICO Y DEL SOFTWARE El prototipo de espirómetro que se desarrolla en esta tesis, está constituido por: ‰ Sensor GISS: utilizado para sensar el flujo respiratorio. ‰ Módulo electrónico: para la adquisición y digitalización de las señales de flujo respiratorio, temperatura ambiental y presión barométrica. ‰ Software: para la medición y visualización de los parámetros espirométricos. Sensor GISS Módulo Electrónico Software ( PC ) Flujo respiratorio Temperatura ambiente Presión barométrica Esquema del espirómetro XAIRE Figura 4-1: Partes del prototipo de espirómetro. 38 4.1 DISEÑO DEL MÓDULO ELECTRÓNICO. El módulo electrónico, se basa en el sistema generalizado de instrumentación médica definido en el subtítulo 2.10; contempla las etapas de sensado, procesamiento de señales, visualización de datos y fuente de poder. La interfaz entre este módulo y la computadora es el puerto paralelo. Flujo respiratorio Transductor de presión diferencial. Acondicionamiento de la señal Sensor de temperatura ambiente. Acondicionamiento de la señal Sensor de presión barométrica. Acondicionamiento de la señal Temperatura ambiente Presión barómetrica Adquisición y digitalización de señales Puerto ParaleloFuente de alimentación Sensor GISS Presión diferencial Módulo Electrónico PC Figura 4-2: Esquema del Módulo Electrónico. 4.1.1 Flujo respiratorio. Se utiliza el GISS para sensar el flujo respiratorio. Cuando el flujo de aire atraviesa el GISS se genera una diferencia de presión en los extremos del codo del GISS (figura 4-3), esta diferencia de presión es directamente proporcional al flujo; por tanto, para obtener el flujo respiratorio como señal eléctrica se necesita de un transductor de presión diferencial. La ecuación 4-1, obtenida de la curva de calibración del GISS (subtítulo 3.2), describe la relación lineal entre la diferencia de presión y el flujo que atraviesa el sensor. 39 FPd ×= 4573.0 Ecuación 4-1 donde “Pd” es la diferencia de presión en cm H20 y “F” es flujo en L/s. . flujo diferencia de presión GISS Transductor de presión diferencial señal eléctrica Módulo Electrónico manguera Figura 4-3: Esquema de la conexión entre el GISS y un transductor presión diferencial. 4.1.2 Presión diferencial. La diferencia de presión que se genera en el GISS, es sensada por el transductor de presión diferencial y lo transforma en voltaje. En la tabla 4-1 se listan los más representativos transductores de presión diferencial. Tabla 4-1: Transductores de presión diferencial y sus características. Marca y modelo Principales características Micro Switch 163PC01D36 Honeywell [25] o Rango: ±5 “H2O (±12.7 cmH2O). o Voltaje de salida de 1 a 6 ± 0.05 VDC (exactitud) a 8 VDC de alimentación. o Tiempo de respuesta 1 ms. Dwyer 646-0 o Rango: ±5 “H2O (±12.7 cmH2O). o Voltaje de salida de 0.25 a 4 ± 0.08 VDC (exactitud) a 5 VDC de alimentación. o Tiempo de respuesta 15 ms. 40 Omega PX139-0.3DV o Rango: ± 0.3 psi (±21.1 cmH2O). o Voltaje de salida de 0.25 a 4.25 ± 0.1 VDC (exactitud) a 5 VDC de alimentación. o Tiempo de respuesta no indicado. De acuerdo a las características de GISS expuesto en el subtítulo 3.2 y la frecuencia de muestreo expuesto en el subtítulo 3.3.4, se eligió el 163PC01D36 de Honeywell. Figura 4-4: El 163PC01D36 de Honeywell (las hojas de datos están en el CD adjuntado a la tesis). 5.31969.0 +×= PdVout Ecuación 4-2 donde “Pd” es la presión diferencial en cm H20 y “Vout” es voltaje de salida del filtro en V. „ Diseño Electrónico: El transductor se alimenta con 8 VDC, por medio del LT1021-10 (10V ± 0.05%) y el opam OPA277 (seguidor de voltaje) configurado con un transistor 2N3906 y resistencia de 220 Ω y 5.6KΩ para suministrar corriente de hasta 100mA (figura 4-5). 41 Pd Vout ADC CH0 Figura 4-5: Esquema del circuito electrónico del sensado de presión diferencial (Flujo respiratorio). La ecuación 4-2 representa la relación entre el voltaje de salida del sensor y la presión diferencial (deducida de los datos técnicos del fabricante [27]). Al ser alimentado con 8 VDC, el voltaje de salida del transductor varia entre 1.0 y 6.0 VDC (Span38 de 5 V) para el rango de ±12.7 cmH2O; pero el GISS sólo requiere un rango de ± 6.5 cmH2O para ±14 L/s, por tanto en el transductor ± 6.5 cm H2O representa 2.22V para -6.5 cm H2O y 4.78V para +6.5 cm H2O (ecuación 4-2); éste es el rango de voltaje de salida con que se trabajará. Se diseña un filtro con frecuencia de corte en 40 Hz (subtítulo 3.3.4) en base al opam 38 Rango total de salida cubierto por el transductor a un determinado voltaje de alimentación. 42 OPA277; este filtro es de tipo Butterworth, topología Sallen Key y de orden 4 [28] (figura 4-5); como el filtro posee una ganancia unitaria, la ecuación 4-2 también se cumplirá a la salida del filtro. „ Error de exactitud: Según las hojas técnicas del fabricante el error de exactitud para el 163PC01D36 es de ±1% [27] del Span para una alimentación de 8VDC, temperatura ambiente extrema de 5 ó 45 ºC y otros casos. El espirómetro que se desarrolla en esta tesis trabajará sobre el rango de temperatura ambiental de 17 a 37ºC, entonces el error de exactitud será de ± 0.5% del FSO (calculado de los datos técnicos [27]) para una alimentación de 8VDC y temperatura ambiente extrema de 17 ó 37ºC. 4.1.3 Temperatura ambiental. La familia LM35 [29] de National Semiconductor, ofrece una gran variedad de sensores de temperatura lineales; de acuerdo a los requerimientos expuestos en el subtítulo 3.3.1 y 3.6 (rango 17 a 37 ºC con exactitud ± 1 ºC) se eligió el sensor de temperatura LM35A y de empaque TO-46 (tabla 4-2) porque éste tiene una tiempo de respuesta mucho menor que los otros empaques. Tabla 4-2: Características del LM35A, empaque TO-46. Rango: -55 a +150ºC (para temperaturas menores a 0ºC se usa fuente de alimentación negativa) Error de exactitud: ± 0.2ºC a 25ºC y de ± 0.4ºC a -55 ó 150ºC, típicos. Voltaje de entrada: 4 a 30V DC Voltaje de salida: 10.0 mV/ ºC, 1500mV para 150ºC Tiempo de respuesta: 4s al 100% del valor final „ Diseño Electrónico: El sensor se implementa de acuerdo a las recomendaciones del fabricante [29] (figura 4-7); se alimenta con 5 VDC (configurado con un LT1021-5 y un transistor 2N3906). El voltaje de salida en 43 el sensor por cada grado centígrado es de 10 mV, entonces para 17 a 37ºC se tendrá un voltaje de salida que va de 170 a 370 mV; se utiliza el amplificador de instrumentación INA121 con un factor de ganancia de 10, para obtener 1.7 a 3.7V para 17 a 37 ºC, éste es el rango de voltaje de salida con que se trabajará. Se diseña un filtro con frecuencia de corte en 1Hz (subtítulo 3.3.2) en base al opam OPA277; este filtro es tipo Butterworth, topología Sallen Key y de orden 2 [28] (figura 4-7). Figura 4-6: Sensor de temperatura LM35A, empaque TO-46 (las hojas de datos están en el CD adjuntado a la tesis). Vout T= ×01. Ecuación 4-3 donde “Vout” es el voltaje a la salida del filtro y “T” es la temperatura en ºC. 44 T Vout ADC CH1 Figura 4-7: Esquema del circuito electrónico del sensado de temperatura ambiental. La ecuación 4-3, deducida de sus datos técnicos del fabricante [29], representa la relación entre el voltaje de salida del INA121 y la temperatura; como el filtro posee una ganancia unitaria esta ecuación también se cumplirá a la salida del filtro. „ Error de medición: En la tabla 4-2 se muestra el error típico; pero según la relación Accuracy vs. Temperature (Guaranteed), de las datos técnicos de este sensor, se calcula un error máximo de ± 0.6ºC para 17ºC, de ± 0.5ºC para 25ºC y de ± 0.6ºC para 37ºC. 45 4.1.4 Presión barométrica. Existe gran cantidad de sensores para medir presión barométrica como Fuji Electric EP5556, Motorola MPX4115A, Honeywell HPB, etc. que están diseñados para el desarrollo de altímetros o barómetros. Siguiendo los requerimientos para sensar presión barométrica (subtítulo 3.3.3) se eligió el sensor Motorola MPX4115A de case 867 [30] por ser el más económico entre éstos y cumplir con los requerimientos; éste cubre el rango de de 15 a 115 kPa (112 a 856 mmHg aproximadamente). Figura 4-8: Sensor de presión barométrica MPX4115A (las hojas de datos están en el CD adjuntado a la tesis). 475.0006045.0 −×= PbVout Ecuación 4-4 donde “Vout” es voltaje de salida en V, y “Pb” es presión barométrica en mmHg. „ Diseño Electrónico: El sensor se alimenta con 5 VDC (configurado con un LT1021-5 y un transistor 2N3906), se adicionan condensadores de 1uF y 0.01uF, según recomendaciones del fabricante [30]. Se diseña un filtro con frecuencia de corte en 1Hz (subtítulo 3.3.3); este filtro es de tipo Butterworth, topología Sallen Key y de orden 2 [28] (figura 4-9). La ecuación 4-4, deducida de sus datos técnicos del fabricante [30], representa la relación entre el voltaje de salida del sensor y la presión barométrica; por tanto, el voltaje de salida para 440 mmHg (Cerro de Pasco) será de 2.18V y para 760 mmHg (a nivel del mar) será 4.12V. Como el filtro posee una ganancia unitaria la ecuación 4-4 también se cumplirá a la salida del filtro. 46 Pb Vout ADC CH1 Figura 4-9: Esquema del circuito electrónico del sensado de presión barométrica. „ Error de medición: De acuerdo a las datos técnicos del fabricante [30] el error de medición máximo es de ± 1.5% para todo el rango de voltaje (0-5 V) y en una rango de temperatura de 0 a 85ºC. 4.1.5 Adquisición y digitalización de las señales. De acuerdo al subtítulo 3.3.4, el flujo respiratorio será muestreado a 100Hz, la temperatura ambiental será medida al inicio de cada prueba y la presión barométrica cada vez que es encendido el módulo electrónico; además las tres señales serán digitalizadas con una resolución de 12 bits. En el mercado existen 47 numerosos ADC, con diferentes características, entre ellos mostramos en la Tabla 4-3. Tabla 4-3 Conversores análogo digital y sus principales características. Modelo Principales características MAX196 de MAXIM [31] 6 Canales, 12 bits de resolución, 100 Ksps39, interfaz digital paralelo, voltaje de referencia interno, voltaje de alimentación 5 VDC. ADS7852 de Texas Instruments 8 Canales, 12 bits de resolución, 500 kHz de frecuencia de muestreo, interfaz digital paralelo, voltaje de referencia interno, voltaje de alimentación 5 VDC. LTC1851 de Linear Technology 8 canales, 12 bits de resolución, 1.25Msps, interfaz digital paralelo, voltaje de referencia interno, voltaje de referencia interno, voltaje de alimentación 6 VDC. No se necesita un ADC de alta frecuencia de muestreo (subtítulo 3.3.4), por tanto se eligió el MAX196; además al ser paralelo hace más rápido la transferencia de datos. „ Diseño electrónico: El ADC MAX196 se alimenta con 5 VDC (configuración con un LT1021-5 y un transistor 2N3906), se implementa según las recomendaciones del fabricante [31], sus pins de control y datos se conectan directamente al puerto paralelo (figura 4-10). La tabla 4-4 muestra la asignación de pines del puerto paralelo para el ADC. 39 Kilo muestras por segundo 48 Salida del ADC A Entrada del ADC V Figura 4-10: Esquema del circuito electrónico de la adquisición y digitalización. El rango de voltaje de entrada en los canales del MAX196 dependerá de cómo se le programe; éste acepta rangos de ±10V, ±5V, 0-10V ó 0-5V, para este diseño se elige el rango de 0-5V, con esto 1LSB=0.0012207 (1LSB = FS40/4096 [36]), y si esto se representa en una ecuación se obtendrá: VA ×= 20.819 Ecuación 4-5 donde “A” es un valor de 000h (0) a FFFh (4095), y “V” el es voltaje de entrada en un canal (0-5V). 40 Rango total de entrada aceptado por el ADC en una determinada configuración. 49 Tabla 4-4: Conexión entre pines del puerto paralelo y el ADC MAX196. DATA, 0x378, salida D7 D6 D5 D4 D3 D2 D1 D0 Pin DB25 9 8 7 6 5 4 3 2 Pin ADC D7 D6 D5 D4 D3 D2 D1 D0 STATUS, 0x379, entrada /S7 S6 S5 S4 S3 - - - Pin DB25 11 10 12 13 15 - - - Pin ADC INT D11 D10 D9 D8 - - - CONTROL, 0x37A, salida - - - - /C3 C2 /C1 /C0 Pin DB25 - - - - 17 16 14 1 Pin ADC - - - - /CS /WR /RD - 4.1.6 Fuente de alimentación. Se diseña una fuente de alimentación que trabaje a ±15 VDC y a 1A como máximo; el LT1021-10 requiera a la entrada 15V para obtener 10VDC, además no hay problema con los OPA277 y el INA121 ya que soportan hasta ±18V. Figura 4-11: Esquema del circuito electrónico de la fuente de poder. 50 4.2 ECUACIONES PARA CALCULAR LOS VALORES DE LAS SEÑALES DIGITALIZADAS. En la tabla 4-5 se listan las ecuaciones que se usarán en el software para calcular los valores de las señales digitalizadas de flujo respiratorio, temperatura ambiental y presión barométrica; éstas son obtenidas reemplazando las diferentes ecuaciones de cada sensor con la ecuación del ADC. Tabla 4-5: Ecuaciones para la digitalización de las señales. Señal Ecuación Presión diferencial 78.1700619.0 −×= APd d Ecuación 4-6 Flujo 88.3801356.0 −×= AF d Ecuación 4-7 Temperatura ambiental AT d ×= 01221.0 Ecuación 4-8 Presión barométrica 58.7820194.0 +×= APbd Ecuación 4-9 Donde “A” es un valor de 000h (0) a FFFh (4095), “Pdd” es la presión diferencial digitalizada en cmH2O, “Fd” es el flujo respiratorio digitalizada en L/s, “Td” es la temperatura digitalizada en ºC y “Pbd” es la presión barométrica en mmHg. 4.3 DISEÑO DEL SOFTWARE (SWXAIRE). El software se diseña en base a los subtítulos 2.4, 2.5, 2.6 y 3.3, y se le llamará como SWXAIRE; éste se encargará del manejo del módulo electrónico, medición, interpretación y visualización de los parámetros espirométricos; su desarrollo está bajo el sistema operativo GNU/Linux y RTLinux, y se divide en dos partes: ‰ driver_xaire: para el manejo del módulo electrónico. ‰ gui_xaire: para la medición, interpretación y la visualización de los parámetros espirométricos. 51 Módulo Electrónico Puerto Paralelo driver_xaire gui_xaire fifo 1: Flujo fifo 2: Temperatura fifo 3: Presión fifo 4: inicio del test fifo 5: tiempo Puerto 0x378 Puerto 0x379 Puerto 0x37A Figura 4-12: Esquema de comunicación entre los programas driver_xaire y gui_xaire. 4.3.1 driver_xaire. Al archivo principal de driver_xaire se le llamará driver.c (este nombre deberá ser cambiado porque es un nombre muy común para Linux). „ Diseño: En la figura 4-13 se muestra el diseño general del driver.c; su estructura es un bucle que se repita cada 10ms. A este programa se le asignará un periodo de 10ms (100Hz) y prioridad 1; al ser driver.c una tarea de RTLinux se tendrá la seguridad de que el flujo respiratorio se estará adquiriendo y digitalizando cada 0.01s. El driver.c manejará el módulo electrónico, programando al ADC MAX196 para que adquiera y digitalice el flujo respiratorio cada 10ms, temperatura ambiental cada vez que se realice una prueba espirométrica y la presión barométrica cada vez que se encienda el módulo electrónico. Cada valor recibido por el puerto paralelo (flujo, temperatura y presión) por el driver.c será enviado de inmediato a swxaire.c por medio de los fifos (figura 4-13). 52 Funcion ADC ( ) archivo driver.c Módulo Electrónico presion <--- Funcion ADC ( ) tiempo <--- tiempo +1 tiempo <--- 0 inicio_test 2 1 0 inicio_test <--- leer fifo 4 tiempo = 2999 y inicio_test = 1 tiempo = 1499 y inicio_test = 2 enviar tiempo por fifo 5 tiempo <--- 0 tiempo <--- 0 temperatura <--- Funcion ADC ( ) flujo <--- Funcion ADC ( ) enviar presion por fifo 3 enviar temperatura por fifo 2 enviar flujo por fifo 1 1 E. Simple 2 E. Forzada 0 No test 1 ó 2 swxaire.c Puerto paralelo tiempo presión flujo temperatura esperar nuevo ciclo RTLinux, control del tiempo, 10ms RTLinux, inicia nuevamente la tarea RTLinux SISI NO NO inicio temperatura <--- Funcion ADC ( ) tiempo <--- 0 Figura 4-13: Diagrama de bloques general del driver.c. El driver.c será el encargado de controlar los tiempos de cada prueba, para la prueba forzada será de 15s y para la prueba simple será de 30s (tabla 3-4 ); por la fifo 4 el driver.c recibirá la señal de “inicio de maniobra” (enviada por el swxaire.c), si se recibe 1 se estará iniciando una prueba de espirometría simple, si se recibe 2 se iniciará una espirometría forzada y 0 ninguna prueba; esto se hace por que ambos utilizan diferentes tiempos; por la fifo 5 se enviará 53 (desde que inicie una prueba) el tiempo instantáneo de la prueba; por las fifos 1,2 y 3 se enviarán las valores digitalizados (000h a FFFh, valores enteros) de flujo respiratorio, temperatura ambiental y presión barométrica respectivamente. 4.3.2 gui_xaire. Los programas de gui_xaire se desarrollan bajo GNU/Linux utilizando lenguaje C y las bibliotecas XForms; al archivo principal de gui_xaire se le llamará swxaire.c quien interactuará con el driver.c por medio de los fifos. „ Diseño: Se diseñan tres ventanas, una para recibir los datos del paciente (W1_DATOS), otra para la prueba de espirometría simple (W2_ESIMPLE) y otra para la forzada (W2_FORZADA). En la figura 4-14 se muestra el diagrama general de la función principal del programa swxaire.c, esta función será la que controle estas ventanas. En la figura 4-15 se muestra el diseño general del programa swxaire.c. a) Ventana W1_DATOS y funciones para la recibir los datos del paciente: Con esta ventana se recogerán los datos del paciente para obtener los valores de referencia, los datos que serán ingresados son: nombre del paciente, identificación del paciente, edad (años), estatura (cm), peso (kg.) y sexo; además aquí se elegirá la prueba a realizar. b) Ventana W2_ESIMPLE y funciones para realizar la prueba de espirometría simple: En esta ventana se realizará la medición del VC; las tareas que realizará son: mostrar el valor de referencia, medir y mostrar el VC, si se realiza una mala maniobra, dar la posibilidad de realizar una nueva, mostrar los tres mejores resultados de las n maniobras que se realicen; mostrar las curvas de flujo-tiempo y volumen-tiempo; mostrar la temperatura ambiental, la presión barométrica y realizar la corrección a BTPS. 54 clave = 1 configuración inicial mostrar W1_DATOS mostrar W3_EFORZADA ocultar W1_DATOS mostrar W2_ESIMPLE ocultar W2_ESIMPLE ocultar W3_EFORZADA clave <--- ingreso_datos() clave = 2 test_esimple() ocultar W1_DATOS test_eforzada() clave != 4 inicio fin SI NO SI NO SI NO 1 1 2 2 Función main() del swxaire.c Figura 4-14: Diagrama de bloques de la función principal de swxaire.c. c) Ventana W3_EFORZADA y funciones para realizar la prueba de espirometría forzada: En esta ventana se realizará la prueba de espirometría forzada y se hará la medición de FVC, FEV1, FEV1%, FEF2575% y PEF; las tareas que realizará son: mostrar los valores de referencia; mostrar los parámetros medidos; comparar estos con los de referencia y dar una diagnostico inicial; si se realiza una mala maniobra dar la posibilidad de realizar una nueva; mostrar los tres mejores resultados de las n maniobras que se realicen; mostrar las curvas de flujo-tiempo, volumen-tiempo y flujo-volumen; mostrar la temperatura ambiental y la presión barométrica y realizar la corrección a BTPS. 55 2 Función Cálculo del parámetro espirométrico 1 Función Cálculo del valor de referencia 3 Función Compración del resultado con el de referencia 4 Función Aplicación de la reproducibilidad Función e. simple Interfaz gráfica de usuario W2_SIMPLE Función ingreso de datos Interfaz gráfica de usuario W1_DATOS 1 Obteción de los datos del paciente inicio datos del paciente fin de prueba Función e. forzada Interfaz gráfica de usuario W3_EFORZADA 1 Función Cálculo de los valores de referencia 2 Función Cálculo de los parámetros espirométricos - aceptabilidad 3 Función Compración e Interpretación de los resultados 4 Función Aplicación de la reproducibilidad datos del paciente datos del paciente fin de prueba 2 Elección de la prueba Función Principal driver.c Archivo swxaire.c FIFOS Figura 4- 15: Esquema general del programa principal de gui_xaire, swxaire.c. El cálculo de los parámetros se realiza en base a los subtítulos 2.4, 2.5 y 3.3.6. Al iniciar la maniobra, tiempo 0, se van almacenando los valores de flujo y volumen en arreglos (lenguaje C), para la forzada se tiene 1500 valores, para el VC 3000 valores (cada valor se obtiene cada 0.01ms); después de transcurrir 15s (forzada) ó 30s (VC), se procede al cálculo de los parámetros. En la figura 4-16, 4-17, 4-18, 4-19 se muestran gráficamente el cálculo de estos parámetros. 56 ab FEV1 75% 25% 0 1 2 3 4 5 6 ... Tiempo (s) FVC FEF 25-75% = a / b Vo lu m en (L ) FET 100% 0 1 4 2 3 5 6 . . . flujo mínimo 0.15L inicio maniobra fin maniobra 1 s, ∆V= 0.03L 1 s Figura 4- 16: Obtención del FVC, FEV1, FEF25-75% y FET100%. PEFFl uj o (L /s ) 0 1 2 3 4 5 Tiempo (s) 0 1 4 2 3 5 6 max. flujo Figura 4-17: Obtención del PEF. Fl uj o ( L /s ) Volumen ( L ) PEF 0 1 4 2 3 5 6 0 1 2 3 4 5 6 FVC Figura 4-18: Curva Flujo-Volumen. 57 0 5 10 15 20 25 .... Tiempo (s) Vo lu m en (L ) -3 -2 1 -1 0 2 3 respiración normal respiración normal VC max. inspiración max. espiración Figura 4-19: Obtención del VC. 4.3.3 Secuencia de trabajo del gui_xaire y del driver_xaire. Al ejecutar el software, primero aparecerá la ventana W1_DATOS (swxaire.c), donde se ingresan los datos y se elegirá la prueba a realizar; después de esto se ocultará esta ventana y aparecerá la ventana respectiva de la prueba. Si se eligiera la prueba de espirometría forzada, aparecerá la ventana W3_EFORZADA mostrando ya los valores de referencia del paciente; si se desea dar inicio a la prueba, se presionará un botón de inicio, esto hará que se envié al driver.c el valor de 2 por la fifo 4 (inicio de la maniobra), a partir de este momento se estará recibiendo el tiempo por la fifo 5 (para este caso la prueba debe durar como máximo 15s), y a la vez se estará mostrando las tres curvas; llegado a los 15s el programa swxaire.c enviará al driver.c el valor de 0 por la fifo 4 (fin de la maniobra); el siguiente paso será el cálculo los parámetros (FVC, FV1, FV1%, FEF25-75%, FET100% y PEF) y la comparación con los de referencia, después se dará un diagnostico inicial (obstructivo, no obstructivo o mixto). En este momento, la persona responsable de la prueba, podrá decidir si la maniobra es aceptable o no (según sus criterios) y si así fuera se almacenará para ser comparados con otros pruebas (criterios de reproducibilidad); si no es aceptable será descartado; se aplicará el criterio de reproducibilidad en tres de los mejores pruebas (si se está 58 en la maniobra 4 y es aceptable pero comparados con los otros tres últimos no supera a ninguno en magnitud, será descartado), subtítulo 3.3.6. Para realizar una nueva maniobra, antes se elegirá si la maniobra actual es aceptable o no, después se podrán realizar otras maniobras, y cuantas sea necesaria. La prueba de medición del VC (espirometría simple) sigue una secuencia semejante a la de la forzada. 59 5 DESARROLLO E IMPLEMENTACIÓN 5.1 MÓDULO ELECTRÓNICO, DESARROLLO E IMPLEMENTACIÓN. En el anexo E, se muestra el diagrama electrónico completo del módulo electrónico, excepto el de la fuente de alimentación; y en el anexo C se listan los componentes y accesorios utilizados para su implementación. 5.1.1 Pruebas iniciales en el módulo electrónico. Se implementó este módulo inicialmente en protoboard para realizar pruebas preliminares de funcionamiento y medición, para corroborar el diseño; esto se muestra en la tabla 5-1. 60 Tabla 5-1: Mediciones preliminares en el módulo electrónico. Señal Medición a la entrada de cada sensor Medición a la salida de cada sensor Valor obtenido en base a las ecuaciones del subtítulo 4.1. Flujo respiratorio 0 L/s 3.49 V -0.11 L/s Temperatura ambiental 25.5 ºC 41 2.50 V 25.5 ºC Presión barométrica 749 (110 msnm) 42 4.05 V 748 mmHg (121 msnm) La máxima corriente que consume el módulo es de 65mA (a 25ºC , 749 mmHg y a más de 14L/s); además se observó ruido electrónico de aproximadamente 18 mV pp (a la salida de cada sensor) principalmente de 70-100 KHz; por lo tanto además de los filtros electrónicos se hará uso de un filtro de línea eléctrica para atenuar ruidos introducidos, el filtro de línea a usar es el 03DENG3B de Delta Electronics que elimina interferencias entre los 10Khz y 1GHz. 5.1.2 Tarjetas electrónicas del módulo electrónico. El módulo electrónico se dividió en dos tarjetas electrónicas: ƒ Tarjeta electrónica para la adquisición de las señales (aquí se ubican los sensores). ƒ Tarjeta electrónica para la fuente de alimentación. Para el desarrollo del circuito impreso de ambas tarjetas electrónicas, la disposición de los componentes está en base a la función que cumplen para una fácil ubicación y manipulación; además se colocaron puntos de prueba en distintos puntos, para facilitar las actividades de calibración o corrección de errores, y se implementó malla a tierra. 41 Medido con el Termómetro digital de Ertco-Eutechnics modelo 4400 42 Medido en Jesús Maria, Lima, por Senamhi. http://www.senamhi.gob.pe/ 61 5.1.3 Distribución de las partes del módulo electrónico sobre un alojamiento mecánico. La conexión entre el GISS y el sensor de presión diferencial es por medio de mangueras delgadas médicas; pero esto no se hace directamente, sino a través de espigas ubicadas en la pared frontal del alojamiento metálico. El sensor de temperatura ambiental se ubica en la pared frontal, para sensar la temperatura del medio donde se realiza la prueba espirométrica. La ubicación de éstos y de los otros componentes del módulo se muestra en la figura 5-1. 5.1.4 Protección al equipo y al paciente. Para la protección del módulo electrónico contra sobrecargas se implementó un fusible; y con el fin de prevenir potenciales peligrosos sobre las superficies metálicas (alojamiento metálico del módulo electrónico y de la computadora) debe existir puesta a tierra en la toma eléctrica; esto es importante y útil cuando se conecta el módulo electrónico a la computadora. Con lo referente al paciente, la única conexión entre éste y el módulo es el sensor GISS, por lo tanto no existe peligro respecto a corrientes o potenciales eléctricos; se usará filtros antibacteriales descartables para unir la boca del paciente con el GISS. 5.2 SOFTWARE, DESARROLLO E IMPLEMENTACIÓN. El código fuente del software, se encuentra en CD anexado a esta tesis; vea anexo F, para instalar el software Swxaire. 62 Filtro de línea ADC Sensor de presión bar. Sensor de temperatura Espigas Sensor de presión dif. Figura 5-1: Distribución de las partes del módulo electrónico en el alojamiento mecánico. 5.2.1 Características de la computadora y del GNU/Linux a usar. El desarrollo del software conlleva especificar las características de la computadora y la versión del Linux. ƒ La computadora debe poseer la alternativa de configurar el puerto paralelo como bidireccional (generalmente esto está por default). ƒ Tanto la tarjeta de video como el monitor de la PC deben soportan una resolución de 1024x768 píxeles, para observar mejor las ventanas. ƒ La computadora debe ser, por lo menos, una Pentium III de 500Mz43, 128MB de memoria y con una partición de 3GB de espacio en el disco duro (para la instalación de Linux y RTLinux). 43 Para más información vea anexo H. 63 ƒ En este trabajo de tesis se utilizó la distribución Red Hat 6.2 y 7.3; generalmente no interesa la distribución de Linux a usar, por que de todas maneras se debe conseguir un kernel de Linux que trabaje con un respectivo RTLinux; además la distribución y su versión a usar deben ser capaces de soportar el hardware de la computadora. ƒ El kernel de Linux que se puede utilizar es el kernel 2.2.18 junto con el RTLinux de versión 3.0; esto dependerá de la computadora a usar, por ejemplo para una PIV es mejor el RTLinux versión 3.1, con kernel Linux versión 2.4 por compatibilidad con el hardware. Se usó la versión 0.89 de XForms. 5.2.2 driver_xaire En base al análisis y diseño explicado en los capítulos anteriores se desarrolló el driver_xaire; en la tabla 5-2 se muestran los archivos involucrados. El Kernel de GNU/Linux que es utilizado es el 2.2.18 con el RTLinux versión 3.0. Tabla 5-2: Archivos que involucra a driver_xaire. Archivo Descripción Driver.c Archivo principal, es el código fuente para el manejo del módulo electrónico. Makefile Archivo para compilar el driver.c Rtl.mk Archivo que contiene el valor (rutas y comandos) de las variables utilizadas en Makefile. driver.o Es el módulo (proceso) RTLinux generado después de compilar driver.c; para ejecutarlo se debe instalar en el kernel (insmod). Este archivo se debe ejecutar antes que otro, por que aquí se está creando los fifos. En la tabla 5-3 se describen las funciones con lo que está compuesto el archivo driver.c. Tabla 5-3: Descripción de las funciones de la tarea RTLinux driver.c. Función Descripción adquisicion() Función para manejar el ADC: habilita el ADC, envía la palabra de control (para cada señal), espera y recoge los datos digitalizados. 64 *driver() Función principal de la tarea driver.c, aquí se envía los datos digitalizados al swxaire.c por medio de fifos; aquí está el bucle que se repite cada 10ms. init_module() Función para la configuración de la tarea RTLinux: periodo 10ms y prioridad 1, y la creación de fifos. cleanup_module() Función para enviar aviso al kernel para la desinstalación de la tarea RTLinux. 5.2.3 gui_xaire. Para su desarrollo se utiliza la versión 0.89 de XForms, además se usó la herramienta Form Designer44 de XForms, para crear, distribuir y dar características a los diferentes objetos utilizados; en la tabla 5-4 se muestran los archivos involucrados. Tabla 5-4: Archivos que involucra a gui_xaire Archivo Descripción swxaire.c Código fuente del programa principal, donde se realiza las tareas para el ingreso de datos del paciente, para la prueba de espirometría forzada y simple. W1_datos.c Contiene los objetos, sus especificaciones y características para la ventana “W1_DATOS,” todo dentro de una función. w2_esimple.c Contiene los objetos, sus especificaciones y características para la ventana “W2_ESIMPLE”, todo dentro de una función. w3_eforzada.c Contiene los objetos, sus especificaciones y características para la ventana “W3_EFORZADA”, todo dentro de una función. w1_datos.h Contiene la declaración de las variables y la función ubicada en w1_datos.c. w2_esimple.h Contiene la declaración de las variables y la función ubicada en w1_esimple.c. w3_eforzada.h Contiene la declaración de las variables y la función ubicada en w1_eforzada.c. swxaire Éste es el archivo ejecutable (proceso). Makefile Archivo para compilar el sfxaire.c 44 GUI builder 65 En la tabla 5-5 se muestran las funciones de la está compuesto el archivo swxaire.c. Tabla 5-5: Descripción de la funciones del swxaire.c Función Descripción: main() Función principal para el control (mostrar/ocultar) de las tres ventanas, configuraciones del XForms y otros. ingreso_datos() Función para obtener los datos del paciente, y para elegir la prueba. test_eforzada() Función para manejar W3_EFORZADA, y en general para manejar la prueba de espirometría forzada. funcion_paramatros_teoricos_ef() Función para obtener los valores de referencia para la espirometría forzada. funcion_parametros_medidos_ef() Función para hallar los parámetros de la espirometría forzada. funcion_patron_ef() Función para realizar la comparación y la interpretación. funcion_reproductibilidad_ef() Función para aplicar el criterio de reproducibilidad. test_esimple() Función para manejar W2_ESIMPLE, y en general para manejar la prueba de espirometría simple (medición de VC). funcion_paramatros_teoricos_es() Función para obtener el valor de referencia de VC. funcion_parametros_medidos_es() Función para hallar el parámetro de VC. funcion_patron_es() Función para realizar la comparación entre el valor de referencia y el medido. funcion_reproductibilidad_es() Función para aplicar el criterio de reproducibilidad. 66 5.2.4 Descripción sobre las opciones de las ventanas. El software del XAIRE (SWXARE) está compuesto del driver_xaire y del gui_xaire; el programa principal del driver_xaire es el driver.c y el proceso es el driver.o y del gui_xaire es el swxaire.c y el proceso que se ejecuta es el swxaire. En las figuras 5-2, 5-3 y 5-4 se muestra las ventanas desarrolladas; al ejecutar el gui_xaire (./swxaire) la primera ventana que aparecerá es la W1_DATOS, y dependiendo de la prueba aparecerán las otras ocultándose la primera ventana. „ Ventana W1_DATOS: para el ingreso de los datos del paciente (ver figura 5- 2). 1. Aquí se ingresan los datos del paciente, como nombre, un identificador (ID), sexo, edad (en años), estatura (en cm) y peso (en kg). 2. Borra lo escrito en 1 de manera rápida, útil para comenzar con un nuevo paciente. 3. Para dar término al software. 4. Se usa para imprimir los resultados (reproducibles) de una prueba (esto aún no está implementada). 5. Da inicio a la prueba de la espirometría simple, medición de VC. 6. Da inicio a la prueba de la espirometría forzada. 1 5 6 Figura 5-2: Ventana W1_DATOS. 3 2 4 67 „ Ventana W2_ESIMPLE: para realizar la medición de VC (ver figura 5-3). 1. Aquí se muestran el valor de referencia del VC. 2. Con esto se da inicio a la maniobra; como máximo debe demorar 30s; si el paciente termina antes, se debe esperar a que llegue a los 30s, para observar los resultados. 3. Aquí se muestra el valor de VC medido. 4. Aquí se muestra la relación de 1 y de 3 expresado en porcentaje. 5. Aquí se muestra el número de maniobra que se está realizando; cuando se pone rojo, se está iniciando el conteo de 30s, y al término de los 30s se pone en color amarillo. 6. Aquí se muestra la curva flujo-tiempo (±14L/s, 0-30s). 7. Valor del flujo respiratorio instantáneo (L/s). 8. Aquí se muestra la curva volumen-tiempo (±8L, 0-30s). 9. Valor del volumen instantáneo (L). 10. Si la maniobra VC es aceptable (decisión del responsable de la medición) se elige “Aceptar” (aceptabilidad) para ser comparado con las otras pruebas (reproducibilidad); “Salvar”, no implementado, se usará para guardar en archivo las pruebas no aceptables. 11. Aquí se muestra las pruebas elegidas como aceptables para su comparación (reproducibilidad); pero no están guardadas en archivo; al costado aparece la diferencia entre dos medidas (reproducibilidad). 12. Aquí se muestra la temperatura ambiental (ºC) y la presión barométrica (mmHg). 13. Cuando la maniobra termina, el programa ya no grafica, es decir se observa las curvas completas y detenidas; se utiliza este botón para dar término a esta maniobra; también se usa cuando una maniobra comenzó y se quiere dar por término antes de que acabe. 14. Se usa para salir de esta ventana y retornar a W1_DATOS; pero antes de salir se estará guardando en un archivo los resultados mostrados en 11 si es 68 que se eligen para ser guardados (esto aún no está implementado), y si se desea, puede ser impresos con la opción mostrada en la ventana W1_DATOS. 6 7 8 9 12 5 3 1 2 14 11 10 4 13 Figura 5-3: Ventana W3_SIMPLE. „ Ventana W3_EFORZADA: para realizar la medición de FVC, FEV1, %FEV1, FEF25-75%, PEF y FET100% (ver figura 5-4). 1. En esta fila se muestran los valores los de referencia. 2. Con esto se da inicio a la maniobra; como máximo debe demorar 15s; si el paciente termina antes, se debe esperar a que llegue a los 15s, para observar los resultados. 3. En esta fila se muestran las mediciones de los parámetros. 4. En esta fila se muestra la relación de 1 y de 3 expresado en porcentaje. 5. Aquí se muestra el tipo de alteración respiratoria, como resultado de la comparación dada por 4, (N: normal, O: obstrucción, R: restricción, M: mixto). 6. Aquí se muestra el número de maniobra que se está realizando; cuando se pone rojo, se está iniciando el conteo de 15s, y al término de los 15s se pone en color amarillo. 69 7. Aquí se muestra la curva flujo-tiempo (±14L/s, 0-15s). 8. Valor del flujo respiratorio instantáneo (L/s). 9. Aquí se muestra la curva volumen-tiempo (±8L, 0-15s). 10. Valor del volumen instantáneo (L). 11. Aquí se muestra la curva flujo-volumen (hasta 15L/s y hasta 9L). 12. Si la maniobra es aceptable (decisión del responsable de la medición) se elige “Aceptar” (aceptabilidad) para ser comparado con las otras pruebas (reproducibilidad); “Salvar”, aún no implementado, se usará para guardar en archivo las pruebas no aceptables. 13. Aquí se muestra las pruebas elegidas como aceptables para su comparación (reproducibilidad), sólo se muestran tres de las mejores pruebas (las mayores en magnitud); si se está realizando una cuarta prueba y éste es aceptable pero es menor en magnitud que las tres anteriores pruebas aceptables, éste será descartada. Al costado del FVC y FEV1 aparece la diferencia entre dos medidas (reproducibilidad). 14. Aquí se muestra la temperatura ambiental (ºC) y la presión barométrica (mmHg). 15. Cuando la maniobra termina, el programa ya no grafica, es decir se observa las curvas completas y detenidas; se utiliza este botón para dar término a esta maniobra; también se usa cuando una maniobra comenzó y se quiere dar por término antes de que acabe. 16. Se usa para salir de esta ventana y retornar a W1_DATOS; pero antes de salir se estará guardando en un archivo los resultados mostrados en 13 si es que se eligen para ser guardados (aún no está implementado), y se desea puede ser impresos con la opción mostrada en la ventana W1_DATOS. 70 7 8 11 10 9 14 5 4 13 6 3 16 15 2 1 12 Figura 5-4: Ventana W3_EFORZADA. 5.3 PROTOTIPO DE ESPIRÓMETRO XAIRE En la figura 5-5 se muestra el equipo implementado; a este prototipo desarrollado en esta tesis y que hace uso del GISS, se le dio el nombre de XAIRE. 71 GUI Módulo electrónico Sensor GISS Figura 5-5: Prototipo de espirómetro XAIRE desarrollado en este trabajo de tesis. 72 6 PRUEBAS Y RESULTADOS 6.1 PRUEBAS DE MEDICIÓN EN EL PROTOTIPO XAIRE, SIN UTILIZAR EL GISS. El desarrollo de la tesis no contempla el diseño y construcción del sensor GISS, por lo que primero se harán las pruebas sin utilizar este sensor. FiltroSensorPb ADC MAX196 driver.c ecuación 4-9 presión bar. swxaire.c ventanas W2 ó W3. a BTPS 3 pres. bar. A pres. dif. digitalizado Amp. Filtro Sensor Ta Sensor Pd Filtro ecuación 4-8 temperatura ecuación 4-7 flujo 2 temp. amb. 1 pres. dif. B temp. amb. digitalizado C pres. bar. digitalizado MÓDULO ELECTRÓNICO SOFTWARE ∫ Figura 6-1: Puntos de medición para obtener el error de lectura de Pd, Ta y Pb. 73 6.1.1 Presión diferencial (1-A). En esta prueba se comparan los puntos 1 y A de la figura 6-1, y los resultados se muestran en la tabla 6-1; la presión diferencial en el punto 1 se generó por medio de un manómetro de agua que se implementó, figura 6-2; en el punto A se obtienen los valores digitalizados de presión diferencial. Tabla 6-1: Cálculo del error de lectura de presión diferencial. Punto 1 presión dif. generada. Vv Punto A presión dif. digitalizada a 12bits. Presión dif. digitalizada, en base a ecuación 4-6 . Vm Error de lectura (Vv-Vm)*100 / Vv cmH2O 0 - 4095 cmH2O ± % 0.00 2876 0.05 - 1.40 3091 1.38 1.4 2.00 3195 2.03 -1.5 3.10 3360 3.06 1.3 4.10 3519 4.04 1.5 5.20 3714 5.25 -1.0 6.20 3853 6.11 1.5 Por lo tanto el error de lectura es de ±1.5%; esta prueba se realizó a 28ºC y a 749 mmHg. h escalímetro Pd señal eléctrica manguera sensor de presión diferencial MANÓMETRO Figura 6-2 Manómetro de agua implementado para realizar pruebas de presión diferencial. 74 6.1.2 Temperatura ambiental (2-B). En esta prueba se comparan los puntos 2 y B de la figura 6-1, y los resultados se muestran en la tabla 6-2; la medida en el punto 2 se realiza por medio del termómetro digital Ertco-Eutechnics 4400; en el punto B se obtienen los valores digitalizados de temperatura ambiental. Tabla 6-2: Cálculo del error de lectura de temperatura ambiental. Punto 2 temperatura amb. Vv Punto B temperatura amb. digitalizada. Vm Error de lectura. Vv – Vm ºC ºC ± ºC 21.6 22.3 -0.7 26.7 26.1 0.6 29.4 28.8 0.6 34.5 33.8 0.7 Por lo tanto el error máximo de lectura es de ± 1ºC, ver subtítulo 4.1.3. 6.1.3 Presión barométrica (3-C). En esta prueba se comparan los puntos 3 y C de la figura 6-1, y los resultados se muestran en la tabla 6-3; la medida en el punto 2 está dada por senamhi45; en el punto C se obtienen el valor digitalizado de presión barométrica. 45 http://www.senamhi.gob.pe/ 75 Tabla 6-3: Cálculo del error de lectura de presión barométrica. Punto 3 presión bar. Vv Punto C presión bar. digitalizada. Vm Error de lectura. (Vv-Vm)*100 / Vv mmHg mmHg ± % 749 46 754 0.7 * Por lo tanto el error de lectura es de ±1%. * Sólo se realizó pruebas en la ciudad de Lima; pero el sensor MPX4115A garantiza un error constante en todo el rango de medición (440-760 mmHg, a cualquier temperatura que esté entre 0-85ºC). 6.1.4 Ruido electrónico en el módulo electrónico. El ruido electrónico es un problema importante en el desarrollo de sistemas de instrumentación médica; en el equipo módulo electrónico se observa que el ruido posee una amplitud aproximada de 9 mV a una frecuencia que va desde los 9 a 95kHz (observado a la salida del filtro del sensor 163PC01D36, presión diferencial); esto se logró gracias a los filtros electrónicos y al de línea; éste valor puede aún mejorar si es que se tiene una buena instalación eléctrica. Figura 6-3: Señal de ruido de a la salida del filtro del 163PC01D36. 46 Medido en Jesús Maria, Lima, por Senamhi. http://www.senamhi.gob.pe/ 76 6.1.5 Potencia consumida en el módulo electrónico. El prototipo consume 1.3W a un flujo de aire de 14L/s, a temperatura ambiente de 28 ºC y una presión barométrica de 749 mmHg. 6.2 PRUEBAS DE MEDICIÓN EN EL PROTOTIPO XAIRE UTILIZANDO EL GISS. El sensor GISS tiene un error alto (error de lectura de 9% aprox.) debido principalmente a su linealidad (subtítulo 3-2); la estructura mecánica del GISS influye directamente sobre la linealidad del sensor, tal como las dimensiones de las piezas. El GISS se construyó de manera artesanal y es la razón principal por la que se obtiene este error alto; para disminuirlo se debe encontrar métodos más precisos para su construcción, como por ejemplo fabricar una matriz. 4 flujo de aire ecuación 4-7 flujo SOFTWARE ventanas W2 ó W3. a BTPS∫ volumen flujo tiempo 5 volumen de aire D flujo de aire digitalizado E volumen de aire digitalizado MÓDULO ELECTRÓNICO Sensor Pb Sensor GISS Figura 6-4: Puntos de medición para obtener el error de lectura de flujo y volumen. En esta prueba con el GISS, se comparan los puntos 4 y D de la figura 6-4, y los resultados de esta comparación se muestran en la tabla 6-4; el flujo de aire en el punto 4 se generó utilizando el calibrador de sensores47 de flujo desarrollado en 47 Desarrollado por el Grupo de Investigación y Desarrollo de Equipos Médicos y Sistemas – GIDEMS y financiado por la Dirección Académica de Investigación de esta universidad; Proyecto: “Desarrollo de un Prototipo de Equipo de Calibración de Sensores de flujo”, 2002. 77 esta universidad, en el punto D se obtienen los valores digitalizados de flujo de aire. Tabla 6-4: Cálculo del error de lectura de flujo y volumen de aire. Punto 1 flujo de aire generada. Vv Punto A flujo de aire digitalizada, en base a ecuación 4-7. Vm Error de lectura. (Vv-Vm)*100 / Vv L/s L/s ± % 0.0 0.10 - 3.0 3.31 -10.4 4.7 5.10 -8.5 6.7 6.13 8.5 7.9 7.17 9.2 11.1 11.65 -5.0 13.9 15.36 -10.5 * por tanto la error de lectura es de ±10.5% para flujo y volumen, esta prueba se realizó a 28ºC y 749 mmHg. * No se cuenta con un calibrador de volumen de aire, para realizar la calibración de volumen; pero se puede hacer indirectamente con el calibrador de sensores de flujo, midiendo el tiempo, ya que volumen es igual a flujo por tiempo; con esto se obtiene el mismo error que de flujo de aire; es recomendable contar con un calibrador para realizar esta tarea, en el anexo B se muestran algunos equipos de calibradores de volumen respiratorio. Este error obtenido para flujo respiratorio no es precisamente lo que recomienda el estándar de espirometría de la ATS; para resolver este problema se plantean dos soluciones en este momento, la primera es buscar otro sensor de flujo con menor error; la segunda es considerar que el GISS no es lineal y por lo tanto encontrar una ecuación polinómica (esto complicaría los cálculos) que siga la tendencia no lineal de su curva de calibración (figura 3-4). 78 El preVent pneumotach es un sensor de flujo de aire y es patente de MedGraphics48; posee una exactitud de ±3% de lectura, y está desarrollado para ser usado en diferentes pruebas respiratorias, como la espirometría. Si se utiliza este sensor en el prototipo XAIRE, en reemplazo del GISS, se obtendría un error de ±4.5% aproximado (3% del preVent y 1.5% del prototipo). Tabla 6-5: Características del preVent pneumotach 2 Rango de flujo: ± 18 L/s Exactitud: ±3% Resistencia y presión de retroceso: <1.20 cm H20/L/s a 12 L/s Diámetro de la boquilla: 3.5 cm Tipo: Tubo de pitot Figura 6-5: Sensor de flujo de aire preVent pneumotach. 6.3 RESUMEN SOBRE LA ESPECIFICACIONES TÉCNICAS DEL PROTOTIPO XAIRE Y LA COMPARACIÓN CON EL ESPIRÓMETRO SPIROTRAC 6800. En la tabla 6.6 y 6.7 se muestra un resumen sobre las especificaciones técnicas del XAIRE junto al GISS, como resultado de las pruebas anteriores; además son comparados con las recomendaciones dadas por el estándar de espirometría de la ATS (tabla 3-2, 3-3 y 3-4, se resumen en volumen y flujo tomando los mejores 48 http://www.medgraphics.com/ 79 valores); por último en la tabla 6-8 se muestran la comparación técnica entre los espirómetros Spirotrac 680049 de Vitalograph con el prototipo XAIRE. Tabla 6-6: Comparación 1: estándar para espirometría ATS y el XAIRE + GISS. Recomendación ATS XAIRE con GISS Señal Rango Exactitud – Error Rango Exactitud - Error Flujo ±14 L/s ±5% ±14 L/s ±10.5% Volumen 0.5 – 8 L ±3% ±8 L ±10.5% Tem. amb. 17 – 40 ºC ±1 ºC 17 – 37 ºC ±1 ºC Presión bar. no indicado no indicado 440 –760 mmHg 1.0% Tabla 6-7: Comparación 2: estándar para espirometría ATS y el XAIRE + GISS. Recomendación ATS XAIRE con GISS Resistencia y presión de retroceso. < 1.5 cmH2O / L/s a 14L/s 0.46 cmH2O / L/s en todo el rango Tiempo para FVC 15s 15s Tiempo para VC 30s 30s Tabla 6-8: Comparación técnica entre Spirotrac 6800 y XAIRE + GISS Especificaciones Spirotrac 6800 XAIRE con GISS Parámetros medidos Más de 30 parámetros configurables 7 parámetros: FVC, FEV1, FEV1%, FEFE25-75, FET100%, PEF y VC Presión de retroceso < 0.102cmH2O/L/s a 14 L/s 0.460 cmH2O / L/s, en todo el rango. Flujo max. ±16 L/s ±14 L/s 49 Espirómetro para computadora. http://www.vitalograph.com 80 Volumen max. No indicado ± 8L Duración max. de prueba FVC 20s , VC >30s FVC 15s , VC 30s Estándares de Seguridad Certificado ISO EN 60601-1/2 no se usó certificado 50 Alimentación batería de 9V ó fuente de alimentación 12VDC conexión directa a 220VAC, 60Hz Detección de flujo Neumotacógrafo tipo Fleisch Sensor GISS Exactitud - Error ±3% en volumen, ± 5% en flujo ±10.5% flujo y volumen Temperatura de uso 17ºC a 37ºC 17ºC a 37ºC Estándares espirométricos ATS ’94, ERS ’93 ATS ’94 Requerimientos de PC Min. 486 66MHz 51 Recomendable PIII 500MHz, 128MB RAM, video 1024x768 Sistemas operativos Windows 95, 98, 2000, ME, NT, XP Linux con kernel 2.2.18 52, RTLinux versión 3.0 y XForms versión 0.89. 6.4 UTILIZACIÓN DEL PROTOTIPO XAIRE. Linux-RTLinux es un sistema operativo muy estricto por lo que es necesario que siga los pasos siguientes en el orden descrito. Los pasos para la instalación del Linux, RTLinux, XForms y del software SWXAIRE están en el CD adjuntado a esta tesis, así como también están las fuentes. 1. Conectar el puerto paralelo entre la computadora y el módulo electrónico. 2. Encender la computadora, ingresar a Linux-RTLinux (modo gráfico). 50 Pero el prototipo posee las mínimas seguridades eléctricas ya explicadas 5.1.4. 51 Auque esta especificación es poco creíble, en el anexo B se muestra el espirómetro CPFS/D™USB., que requiere una PIII de 800MHz como mínimo. 52 Si la distribución de Linux no posee el kernel pedido, se recompila. 81 3. Encender el módulo electrónico. 4. Activar el driver del módulo electrónico, haciendo doble clic en el icono “driver_xaire_start” ubicado e el escritorio 5. Ejecutar la aplicación swxaire, haciendo doble clic en el icono “gui_xaire” ubicado en el escritorio, se abrirá la ventana de para el ingreso de los datos del paciente, después elija la prueba espirométrica. 6. Antes de empezar una prueba, esperar unos segundos y hacer clic sobre “N- deN” ubicado en la ventana de la prueba elegida. 7. Seguir la descripción del subtítulo 5.2.4. 8. Si desea apagar el equipo: ƒ Cierre la aplicación swxaire. ƒ Desactivar el driver del módulo electrónico, haciendo doble clic en el icono “driver_xaire_stop”. ƒ Apague indistintamente la computadora o el módulo electrónico. Antes de realizar las pruebas espirométricas, se debe cerrar los otros procesos Linux abiertos por el usuarios (browser, ftp, procesadores de texto, etc.). RTLinux atenderá el proceso driver.o (driver del módulo electrónico) en los debidos tiempos, mientras que Linux atenderá a la aplicación swxaire dependiendo de la carga de procesos en la computadora; mayor detalle en el anexo H. 6.5 PRUEBAS ESPIROMÉTRICAS CON PACIENTES DEL HOSPITAL GUILLERMO ALMENARA. En las entidades de salud, las pruebas de espirometría (y otras pruebas de función respiratoria) corresponden al área de neumología; en el hospital Guillermo Almenara de ESSALUD53, los médicos tratantes (neumólogos) de los pacientes, son los encargados de solicitar la espirometría y de realizar un diagnostico completo con otras pruebas; la realización de la espirometría está a cargo de otro médico (neumólogo). 53 Hospital del Seguro Social de Salud del Perú- ESSALUD, ubicado en la ciudad de Lima. 82 Para analizar el funcionamiento del prototipo de espirómetro XAIRE se realizó pruebas a tres pacientes de este hospital, además se realizó una prueba a un persona sana; se tomó como referencia al espirómetro SPIRO ANALYZER ST-250 (de Futuremed) propiedad del hospital Almenara, para realizar una comparación con el XAIRE. El espirómetro del hospital aunque fue diseñado para realizar diagnóstico no está configurado para esta tarea, el diagnóstico lo realiza el médico que solicitó la prueba, a través de tablas. El SPIRO ANALYZER ST-250 permite la impresión de los resultados pero generalmente éstos son transcritos en la ficha técnica, además muestra los mejores valores obtenidos; en cambio el XAIRE muestra las tres mejores maniobras (de las cuales se escoge los mejores valores, titulo 3.3.6) y también con éste se debe transcribir los resultados. Para realizar las pruebas es obligatorio contar con un filtro antibacterial54 para evitar posibles contagio a los otros pacientes. En este hospital, en principio se realiza la medición de un mismo grupo de parámetros (que incluye los que mide XAIRE) para todos los pacientes, y de realizar por lo menos tres maniobras; pero la medición de los parámetros dependerá de las que solicita su médico tratante y si la condición de salud del paciente permita realizar la medición. Figura 6-6: XAIRE. Figura 6-7: SPIRO ANALYZER ST-250. 54 Se utilizó el filtro Pall Pro-Tec, para pruebas de función respiratoria, de Pall Biomedical Inc. 83 Figura 6-8: Sensor GISS y el filtro Pall Pro-Tec. En este capítulo se analizará dos pruebas, la de la persona sana y la de una paciente. 6.5.1 Datos del ambiente y de los pacientes. Estas pruebas fueron realizadas a 27-28ºC y 746 mmHg, entre el medio día y las 4pm, en el área de bioingeniería-UCI (ambiente cerrado) del hospital, durante las ultimas semanas de febrero del 2005. Los datos de los pacientes se muestran en la tabla 6-9. Tabla 6-9: Datos de los pacientes. Paciente Sexo Edad Estatura Peso Observación 1 M 28 años 160 cm 53 Kg. Persona sana 2 F 44 años 150 cm 60 Kg. Paciente con fibrosis pulmonar 55 55 La Fibrosis pulmonar es una enfermedad caracterizada por la presencia de cicatrices en los pulmones; actualmente no se cuenta con tratamientos efectivos o una cura para esta enfermedad. 84 6.5.2 Prueba con el paciente 1. Tabla 6-10: Medición e interpretación de la espirometría con el XAIRE. Prueba 1, paciente 1, espirómetro XAIRE FVC FEV1 FEV1% FEF 25-75% FET 100% PEF VC Valor de referencia 4.4 L 3.7 L 83.6 % 3.9 L/s - 8.8 L/s 4.5 L Valores medidos 4.9 L 3.8 L 76.7 % 3.1 L/s 4.2 s 7.2 L/s 4.3 L Comparación 111 % 103 % 92 % 80 % - 82 % 96 % Alteración ventilatoria Ninguna (normal), por tanto es una persona sana. Tabla 6-11: Medición e interpretación de la espirometría con el ST-250. Prueba 2, paciente 1, espirómetro SPIRO ANALYZER ST-250 FVC FEV1 FEV1% FEF 25-75% FET 100% PEF VC Valor de referencia 4.35 L 3.75 L 85.4 % - - 8.07 L/s 4.35 L Valores medidos 4.57 L 4.13 L 93.2 % - - 8.53 L/S 4.10 L Comparación 105 % 110 % 109 % - - 106 % 94 % Alteración ventilatoria Este equipo no fue programa para realizar diagnóstico. Las mediciones entre ambos equipos son relativamente parecidos, no habiendo diferencia exageradas. En las siguientes gráficas se ven las fotografías de las gráficas de las señales de ambos equipos; una diferencia entre estos dos equipos es que el XAIRE grafica las señales de flujo o volumen pero solamente lo que el paciente espira, en cambio el ST-250 gráfica lo espirado y lo inspirado (vea figura 6-11), con el ST-250 después de que el paciente espire se le pide además que inspire para que se obtengan otros parámetro espirométricos relacionados con la inspiración. 85 Figura 6-9: Fotografía de la realización de la prueba forzada (espiración) con el XAIRE. Figura 6-10: Fotografía de la realización de la medición del VC (espiración - inspiración).con el XAIRE 86 Figura 6-11: Curva volumen – tiempo, espirometría forzada, con el SPIRO ANALYZER ST-250. Figura 6-12: Curva volumen - tiempo, cálculo del VC (espiración - inspiración) con el SPIRO ANALYZER ST-250. Figura 6-13: Curva volumen – flujo, espirometría forzada con el SPIRO ANALYZER ST-250. 1 2 2 3 5 7 864 9 10 8 6 4 0 Volumen L Tiempo s 0 Tiempo s Volumen L8 60 l l l l l _ _ _ _ _ _ _ Flujo L/s Volumen L 8 12 4 0 8 4 Inspiración Espiración Espiración Inspiración 87 Figura 6-14: Fotografía de la realización de la prueba espirométrica con el SPIRO ANALYZER ST-250. 6.5.3 Prueba con el paciente 2. Tabla 6-12: Medición e interpretación de la espirometría con el XAIRE. Prueba 3, paciente 2, espirómetro XAIRE FVC FEV1 FEV1% FEF 25-75% FET 100% PEF VC Valor de referencia 3.1 L 2.5 L 81.5 % 2.6 L - 5.7 L/s - Valores medidos 1.4 L 1.3 L 96.5 % 2.2 L 2.7 s 2.8 L/s - Comparación 45 % 53 % 118 % 84 % - 49 % - Alteración ventilatoria Restrictivo; esto confirma su enfermedad. Observación El paciente se fatigaba demasiado. 88 Tabla 6-13: Medición e interpretación de la espirometría con el ST-250. Prueba 4, paciente 2, espirómetro SPIRO ANALYZER ST-250 FVC FEV1 FEV1% FEF 25-75% FET 100% PEF VC Valor de referencia 2.82 L 2.43 L 85.2 % - - 5.51 L/s - Valores medidos 1.17 L 1.07 L 91.5 % - - 2.33 L/s - Comparación 42 % 44 % 107 % - - 42 % - Alteración ventilatoria No fue programada para el diagnóstico. Observación El paciente se fatigaba demasiado. Figura 6-15: Fotografía de la realización de la prueba forzada con el XAIRE. De la misma manera que la prueba anterior, las mediciones entre ambos equipos son relativamente parecidos. Se muestra la fotografía de las gráficas de las señales de flujo y volumen solamente del XAIRE, del ST-250 sólo se obtuvieron las mediciones porque en ese instante ya no se deponía de cinta de impresión. 89 Figura 6-16: Fotografía de la realización de la prueba espirométrica con el XAIRE. 6.5.4 Comentarios sobre las pruebas en el hospital Almenara. Con las pruebas en pacientes no se puede hacer una comparación directa entre el prototipo XAIRE y el espirómetro SPIRO ANALYZER ST-250, por que no se puede asegurar con exactitud que la cantidad de volumen expulsado por el paciente en un espirómetro sea la misma cantidad expulsada en el otro; pero si se debe observar tendencias y valores aproximados; de las tablas 6-10, 6-11, 6-12, 6-13, se observa que XAIRE muestra tendencias y medidas razonables respecto al SPIRO ANALYZER ST-250. Para comparar equipos espirométricos respecto a errores de medición, se recorre a utilizar patrones de volumen y flujo de aire. Los tres pacientes son mujeres (con las que se realizaron las pruebas) que superan los 40 años, y al estar enfermas, fue un esfuerzo grande para ellas realizar la maniobra espirométrica, tosían demasiado y se fatigaba rápidamente; por esto, en algunas casos no se le podía pedir que realiza varias maniobras. Como se explicó anteriormente, el médico es responsable de enseñar la 90 realización correcta de la maniobra espirométrica, y el paciente debe aprenderlo para obtener pruebas aceptables. Los hospitales peruanos no poseen ecuaciones de regresión para nuestra población, por lo cual se recurre a otras. Las ecuaciones utilizadas en XAIRE son las de Roca (tabla 2-1) y las del equipo SPIRO ANALYZER ST-250 son programadas según la raza, para esta prueba fue la de la raza hispana. Un espirómetro comercial se utiliza comúnmente en personas de 6 a 70 años; el prototipo XAIRE se desarrolló para personas de 20 a 70 años, pero esto no quiere decir que no se puede hacer mediadas en personas fuera de este rango; este rango de edad sólo se refiere a que sólo se tiene ecuaciones de regresión para este rango; para otros pacientes, por ejemplo niños, sólo se podrán hacer medidas pero no se podrá hacer la interpretación, a menos que se obtenga sus ecuaciones de regresión. La curva flujo-tiempo en la prueba del VC, no es una curva importante; sólo es útil la curva volumen-tiempo, el ST-250 solamente analiza esta última curva. El uso del espirómetro, en nuestro país, está dedicado principalmente para el control del fumador, prueba preoperatorio pulmonar, control del asma y para el monitoreo de la evolución de enfermedades respiratorias. 91 CONCLUSIONES 1. Se desarrolló un prototipo de espirómetro de flujo para computadora, que consta de: un módulo electrónico: para la adquisición y digitalización de las señales de flujo respiratorio, temperatura ambiente y presión barométrica; software: para el manejo del módulo, para el procesamiento, medición, interpretación y visualización de los resultados espirométricos; y se hace uso del prototipo de sensor flujo GISS para espirometría. 2. En el Perú se tiene como una de las causas importantes de mortalidad a las enfermedades respiratorias (neumonía, influenza, tuberculosis, etc.), por tanto es importante las pruebas de función respiratoria; la espirometría, es una prueba sencilla, en comparación con las otras, pero aquí, su uso aún no está generalizado; con este prototipo desarrollado se obtendrán parámetros espirométricos, que brindan información relevante para conocer el estado de salud del paciente. 3. Para el desarrollo de este prototipo se utilizó como referencia principal a: “Standardization of Spirometry, 1994 Update, American Thoracic Society” y las recomendaciones de la Sociedad Española de Neumología y Cirugía Torácica – SEPAR para espirometría; por que ambos abarcan todos los aspectos relacionados a espirómetros. 4. Este prototipo realiza las pruebas de espirometría no forzada (simple) y forzada para pacientes de 20 a 70 años. ♦ espirometría no forzada: mide el VC, calcula el valor de referencia y los compara, además muestra las curvas de flujo-tiempo, volumen-tiempo; la medición se hace con corrección a BTPS. ♦ espirometría forzada: mide FVC, FEV1, %FEV1, FEF25-75% , PEF y FET100%; calcula los valores de referencia y los compara con los medidos para realizar la interpretación del tipo de enfermedad (obstructivo, no obstructivo o mixto); además muestra las curvas flujo-tiempo, volumen-tiempo y flujo-volumen, la medición se hace con corrección a BTPS. 92 5. Este trabajo de tesis no contempla encontrar unas ecuaciones de regresión que representan con mayor exactitud a nuestra población; se usa las ecuaciones de Roca sólo como referencia; si se desea pruebas con otras ecuaciones estas debe ser entregadas para incorporarlas en el software. 6. Para obtener la exactitud de un equipo espirométrico se necesita de patrones de flujo y volumen para espirometría; pero para las primeras pruebas del prototipo se utilizó el calibrador de sensores de flujo desarrollado por alumnos y egresado de esta universidad; por otro lado sería de gran importancia invertir en este calibrador, por que sería útil no sólo para calibrar prototipos si no para dar servicios a terceros. El prototipo desarrollado está diseñado para una rango de flujo respiratorio de ±14L/s (error de lectura de ±10.5%); volumen respiratorio de ±8 L (error de lectura de ±10.5%); temperatura ambiental de 17–37 ºC (error de lectura de ±1ºC); y presión barométrica de 440–760 mmHg (error de lectura de ±1%). 7. El prototipo de sensor de flujo GISS desarrollado en esta universidad, cubre los rangos de flujo respiratorio para la espirometría; pero no tiene un error (9.0% de lectura aprox.) aceptable, esto debido a su construcción artesanal; el sensor GISS es una gran alternativa comercial, sólo falta encontrar métodos y materiales para mejorar su fabricación, ya queda a los interesados la inversión en este sensor. 8. El módulo electrónico esta compuesto de sensores de alta exactitud, opamps y un ADC de alta precisión, por lo que se obtiene una error del 1.5% para el caso de presión diferencial. 9. El sistema operativo que se utilizó para el desarrollo del software es el GNU/Linux (kernel 2.2.18), utilizando las herramientas de RTLinux versión 3.0 y las bibliotecas gráficas XForms versión 0.89; como base se usó la distribución Red Hat 6.2, 7.3 y 8.0. El software pudo ser desarrollado en Windows; pero en esta tesis se quiere mostrar que Linux es una gran alternativa para el desarrollo de aplicaciones complementarias de proyectos electrónicos. 10. En el driver.c, la frecuencia de muestreo es de 100Hz para el flujo respiratorio, la temperatura ambiente se muestrea cada vez que se inicie una prueba espirométrica y la presión barométrica cada vez que se encienda el equipo. El 93 programa driver.c al ser desarrollado en RTLinux garantiza la frecuencia de 100Hz, es decir, que la adquisición y la digitalización se dan en los tiempos establecidos. 11. Los programas de la GUI identifican el inicio y fin de las maniobras, por lo que se calcula el FET100%; pero no verifican si las maniobras son correctas o no; esto es decisión del responsable de la medición en decidir si la maniobra es aceptable o no; los programas analizan la reproducibilidad de las maniobras comparando sólo tres de las mejores que fueron elegidas como aceptables. 12. Las pruebas realizadas en el hospital Almenara con el XAIRE y la comparación con el espirómetro comercial de este hospital, comprueban que el XAIRE muestra resultados satisfactorios. 13. El desarrollo de esta tesis costó alrededor de 6500.00 dólares americanos (ver detalles en el anexo C que está en el CD adjuntado en esta tesis). 94 RECOMENDACIONES 1. Para comprobar el desempeño real del prototipo XAIRE, se recomienda realizar varias pruebas con distintos pacientes y en distintas regiones; y estudiar su comportamiento por lo menos 6 meses, ya sea utilizando el GISS o el preVent; esto está fuera del alcance de este trabajo, por que involucra costo-tiempo y un compromiso de trabajo serio entre la universidad y una entidad de salud. 2. La fuente de alimentación, es una parte muy importante en un equipo de instrumentación médica; en este trabajo de tesis se diseñó una fuente de alimentación con el propósito de disminuir costos; se puede adquirir una fuente de precisión alta, como ejemplo la fuente de alimentación Lascar Psu203 (rizado 5mV) cuyo costo supera los $ 60. 3. Las pruebas se llevaron a cabo en la ciudad de Lima; pero como los parámetros espirométricos varían con la altura, se recomienda realizar pruebas en distintos regiones del país, para comprobar el funcionamiento correcto del equipo. 4. No existe ecuaciones de regresión para nuestra población peruana; si se desea mejorar la interpretación espirométrica se tendrá que obtenerlas; esto es responsabilidad de las entidades de salud e involucra principalmente a médicos y matemáticos. Los espirómetros comerciales brindan diversas ecuaciones para ser configurados de acuerdo a la población, y para la nuestra se usa las ecuaciones para la raza hispana. 5. Aunque el manejo de los programas en Linux-RTLinux es más complicado que en Windows, este sistema es de gran alternativa para desarrollar distintas aplicaciones de proyectos de investigación-desarrollo en distintas áreas, no sólo por sus características sino también por el precio tan bajo comparado con los sistemas Windows. 6. XAIRE no imprime los resultados espirométricos (valores y curvas); además no los almacena; se recomienda desarrollar estas funciones, por ser importantes para el historial del paciente. 95 7. Una alternativa a la comunicación con fifos, es utilizar memoria compartida; pero una mejor alternativa es la posibilidad de que la adquisición, la medición de los parámetros y el control del tiempo sean realizados por un procesador, dejando a la computadora sólo para realizar la interpretación y la visualización de los resultados; ambas alternativas serán evaluadas para un mejoramiento de este prototipo. 8. Las pruebas que se realizaron para especificar las características técnicas del XAIRE, se realizaron a 28ºC; se recomienda realizar estas pruebas a temperaturas como de 17ºC ó 37ºC. 9. Si se desea trabajar con el preVent pneumotach, primero se debe obtener su curva de calibración, por que éste no viene junto al sensor. Con este sensor sólo se podrá hacer pruebas; si se tiene la idea de ir mas allá de un simple prototipo, para usar este sensor se tendrá que hacer algún trato con los dueños de su patente. 10. La prueba del MVV, máxima ventilación voluntaria, es una prueba importante y complementaria a los parámetros espirométricos forzados, por lo que también debería ser implementado en el software. 11. El espirómetro del hospital Almenara mide parámetros inspiratorios; éstos no están citados en el estándar ATS para espirometría; pero con estos se obtendría, el bucle flujo-volumen cerrado (espiración-inspiración), éste es una curva aún más importante que el bucle flujo-volumen abierto (sólo espiración); por lo que también debería ser implementados en el software y además se cuenta con un sensor de flujo bidireccional. 96 BIBLIOGRAFÍA [1] Guyton, C. Fisiología Humana. Ed. Mc Graw Hill, 9na ed. 1997, México. [2] William F. Ganong, MD. Fisiología Médica. Ed. El Manual Moderno, 1995, México D.F. [3] Dra. Luisa Rey, Pruebas de Función Pulmonar (PFP). Asociación Argentina de Alergia e Inmunología, Argentina. http://www.emc.alergia.org.ar/ [4] Pulmonary Function Tests (PFTs). updated January 2004. Asthma Initiative of Michigan (AIM), Michigan Asthma Communication Network, USA. http://www.getasthmahelp.org/ [5] Pulmonary function tests. Updated by: Allen J. Blaivas, D.O., Division of Pulmonary, Critical Care, and Sleep Medicine, University Hospital, Newark, NJ. Review provided by VeriMed Healthcare Network. Update January 2004. United States National Library of Medicine, Medical Encyclopedia, MedlinePlus, USA. http://www.nlm.nih.gov/ [6] Standardization of Spirometry, 1994 Update. AMERICAN THORACIC SOCIETY, Medical Section of the American Lung Association, USA. http://www.thoracic.org/ [7] Rob Pierce MD, FRACP, SPIROMETRY The Measurement and Interpretation of Ventilatory Function in Clinical Practice, July 2004. The National Asthma Council Australia (NAC), Australia. http://www.nationalasthma.org.au/ [8] Dr. Xavier Muñoz Servei de Pneumologia, Espirometría Simple y Forzada. Hospital Vall d'Hebron. Información de “La Enfermedad Pulmonar Obstructiva Crónica”, España. http://www.epocnet.com/ [9] Timothy J. Barreiro, D.O., and Irene Perillo, M.D.University of Rochester School of Medicine and Dentistry, Rochester, New York, An Approach to Interpreting Spirometry. Articulo, march 2004. American Academy of Family Physicians, USA. http://www.aafp.org/ [10] Joaquín Sanchis Sldás, Pere Casan Clarà, José Castillo Gómez, Nicolás González Mangado, Luis Palenciano Ballesteros, Josep Roca Torrent, Espirometría Forzada. Recomendación de La Sociedad Española de Neumología y Cirugía Torácica - SEPAR, España. http://www.separ.es/ [11] Patricia Ancic C. Espirometría y Mecánica Pulmonar. Facultad de medicina de la Universidad de Chile, Chile. http://www.med.uchile.cl 97 [12] Luis Puente Maestu, Procedimientos de evaluación de la función pulmonar. Manual SEPAR de Procedimientos 2002. Sociedad Española de Neumología y Cirugía Torácica – SEPAR, España. http://www.separ.es [13] Alfredo Jané Lara, Damaris Reyes Hernández, Ana Clúa Calderín, Tamara Álvarez Herrera, Delfina Machado Molina y Arístides Delcourt César, Ecuaciones de predicción derivadas de la espirometría en hombres sanos no fumadores; 2002. Centro de Investigaciones Clínicas Hospital Militar Central ‘Dr. Luis Díaz Soto’; Revista Cubana de Medicina Militar; Biblioteca Virtual en Salud de Cuba, Cuba. http://www.bvs.sld.cu/revistas/ [14] Joseph Roca, Aplicaciones Clínicas de las Pruebas de Función Pulmonar. Facultad de Medicina Universidad de Chile, Chile. http://www.med.uchile.cl/ [15] Thomas R. Gildea, MD Kevin McCarthy, RCP Mani S. Kavuru, MD, Pulmonary Function Testing: Basics of Physiology and Interpretation, 2003. The Cleveland Clinic Foundation, USA. http://www.clevelandclinicmeded.com/ [16] Spirometry Pulmonary Function Test PFT. 2004. Family Practice Notebook, http://www.fpnotebook.com/ [17] Alternativa Tecnológica para la Medición de Flujo de Gases en Aplicaciones Médicas. Proyecto financiado por la Dirección Académica de Investigación 2001 – PUCP, Perú. [18] Modelamiento matemático y caracterización del sensor GISS para su adaptación a diferentes aplicaciones medicas. Proyecto financiado por la Dirección Académica de Investigación 2003 – PUCP, Perú. [19] John G. Webster. Medical instrumentation application and design. Ed. John Wiley & Sons, Inc. 1995, New York. [20] Carlos Alejandro Pérez, Windows vs. Linux, Mitos y Realidades; Septiembre 2004. Revista MTJ .NET Online. Microsoft Corporation. http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/ [21] Ismael Ripoll, Tutorial de Real Time Linux, Abril 2000. Group of Industrial Informatics and Real-Time Systems, Department of Computer Engineering; Polytechnic University of Valencia, España. http://bernia.disca.upv.es/ [22] Ramón Pallás. Sensores y acondicionadores de señal. Ed. Marcombo, 1998, Barcelona. [23] Dr. Shing Yoh, Saturation Vapor Pressure of Water Vapor. Department of Geology and Meteorology; Kean University, New Jersey, USA. http://hurri.kean.edu/~yoh/ 98 [24] Presión Barométrica, reducción. Director del capítulo Walter Dümmer. Enciclopedia de Salud y Seguridad en el Trabajo, Instituto Nacional de Seguridad e Higiene en el Trabajo del Ministerio de Trabajo y Asuntos Sociales de España. http://www.mtas.es/insht/ [25] Application report low power signal condition for a pressure sensor SLAA034. Texas Instrument 1998. http:/www.ti.com [26] Armand Marchesin, Software Department of the Enterprise Solution Division, Private Communication Group, Alcatelhttp, Using Linux for Real-Time Applications, September 2004. IEEE Computer Society. http://www.computer.org/ [27] 160PC Series Low Pressure Differential. http://www.honeywell.com/ [28] Robert F. Coughlin. Amplificadores Operacionales y circuitos integrados lineales. Ed. Prentice Hall, quinta edición 1999, México. [29] LM35, Precision Centigrade Temperature Sensors. http://www.national.com/ [30] MPX4115A, Integrated Silicon Pressure Sensor for Manifold Absolute Pressure. Motorola. http://www.freescale.com/ [31] MAX196; MAXIM. http://www.maxim-ic.com/ 99 ANEXOS ANEXO A____________________________________________  Primera página del Estándar de Espirometría de la ATS. ANEXO B______________________________________________  Equipos espirométricos. En esta sección se listan algunos equipos espirométricos junto a sus precios (marzo del 2005). 1. Espirómetros de Vitalograph Inc. En la tabla B-1 se muestran los precios (en USA) de los equipos espirométricos de Vitalograph citados en esta tesis. Tabla B-1: Precios de espirómetros Vitalograph. Micro Handheld de Vitalograph. Precio: US $540 Spirotrac 6800 de Vitalograph Precio: US $1,975 2. Espirómetros de Futuremed Inc. El espirómetro SPIRO ANALYZER ST-250 de Futuremed, es un modelo antiguo; el precio (en USA) de un modelo más reciente y otro se muestran en la tabla B-2. Tabla B-2: Precios de espirómetros Futuremed. Discovery Spirometer 35000 Precio: US $2,085.00 SpiroVision-3+TM Precio: US $1,600 3. Equipos de MedGraphics Inc. El CPFS/D™USB de MedGraphics es un espirómetro para computadora; posee características comunes como los otros (rango de flujo: ± 18 L/s; exactitud: ± 3% o 50 ml.), además hace uso del sensor preVent pneumotach; este equipo requiere como mínimo una computadora Pentium III 800MHz, con 256 MB RAM (http://www.medgraphics.com/). Figura B-1: Espirómetro CPFS/D™USB. El Body Plesthymosgraph Model 1085, se utiliza para realizar muchísimas pruebas respiratorias, como la espirometría, la obtención de volúmenes y capacidades pulmonares, o la capacidad de difusión del monóxido de carbono. Su precio asciende a US $7,000.00 en USA. Figura B-2: Plesthymosgraph Model 1085. 4. Jeringas para la calibración de volumen. Estos accesorios son utilizados para realizar una calibración rápida de volumen en espirómetros (en promedio poseen una exactitud de 0.5%); esta calibración se debe realizar diariamente como parte del control de calidad [6]. En la tabla B-3 se listan los precios (en USA) de estos calibradores. Tabla B-3: Precios de jeringas de calibración. Calibration Syringe de Vitalograph Inc. 1L. Precio: US $315 Calibration Syringe 3 L de S&J Medical Inc. SJ1602. Precio: US $435.00 Adjustable Volume Aluminum Calibration Syringe de A-M Systems, Inc. De 0.5 L a 3.0 L. Precio: US $272.85 5. Equipos para la validación de Espirómetros Para la validación de equipos espirométricos, aparte de validar el flujo respiratorio (sensor de fuljo de aire) y volumen respiratorio, existen 24 curvas estándares (Apéndice C de [6]), que se utilizan de diversas maneras para evaluar hardware ó software espirométricos; el equipo Series 1120 Flow / Volume Simulator (Generate Spirometry and Breathing Waveforms) de Hans Rudolph Inc (http://www.rudolphkc.com), se utiliza para validar espirómetros y otros dispositivos respiratorios; este equipo genera las curvas de flujo y volumen especificadas por la ATS [6] y curvas personalizadas, genera flujo de aire en un rango amplio (para calibrar sensores de flujo), y puede ser usado para simular respiración (curva de flujo respiratorio); su precio es de US $18,500.00 en USA. Figura B-3: Series 1120 Flow / Volume Simulator. ANEXO C______________________________________________  Lista de precios (e inversión) de los componentes y accesorios utilizados para el desarrollado de este trabajo. Aquí se listan los componentes electrónicos, accesorios y otros utilizados para implementar el prototipo de espirómetro XAIRE. También se muestra el costo de desarrollo de este prototipo que asciende a un total de $ 6512.33 dólares americanos. Sensores Cantidad Precio US $ Transductor diferencial de presión 163PC01D36 1 175.0 Sensor de temperatura ambiental LM35AH 1 15.0 Sensor de presión barométrica MPX4115A 1 27.0 Total 217.0 Circuitos integrados Cantidad Precio US $ ADC MAX196 1 40.0 Amplificador operacional OPA277 5 15.0 Amp. de instrumentación INA121 1 7.5 Voltaje de referencia LT1021CCN8-5 3 29.0 Voltaje de referencia LT1021CCN8-10 1 9.5 Regulador de voltaje 7815 1 0.4 Regulador de voltaje 7915 1 0.4 Puente de diodo KBP206 1 0.8 Total 102.6 Componentes electrónicos Cantidad Precio US $ Potenciómetro de precisión 10k 2 2.0 100pF 8 0.8 470pF 1 0.1 0,01uF 3 0.3 0,22uF 4 0.4 0,33uF 2 0.2 0,47uF 1 0.1 Condensadores cerámicos 1uF 1 0.1 Condensadores de tantalum 10uF 9 3.6 4.7uF 2 0.8 1uF 2 0.8 0,1uF 10 4.0 2200uF/35V 2 1.2 Condensadores electrolíticos 0,1uF/50V 2 0.2 75Ω 1 0.35 220Ω 4 1.4 1,54k 1 0.35 2,4k 3 1.05 5,6k 1 0.35 8,25k 2 0.7 8,86k 1 0.35 24,3k 1 0.35 332k 2 0.7 453k 2 0.7 511k 2 0.7 Resistencias, precisión 1% 887k 2 0.7 Resistencias, precisión 5% 1k 2 0.1 Diodos IN4004 4 0.4 Leds 2 0.1 Transistor 2N3906 4 1.2 Transformador 18-0-18 VAC, 1A 1 3.0 Filtro de línea 10KHz – 1GHz 1 2.0 Total 29.1 Partes electrónicas y mecánicas. Cantidad Precio US $ Tarjeta electrónica - fuente 1 16 Tarjeta electrónica - sensores 1 45 Alojamiento mecánico 1 15.0 Sensor GISS 1 50.01 Conector puerto paralelo DB25 1 0.8 Conector para fuente de poder 5 2.0 Mangueras médicas 1m 2.0 Cable de poder, 220VAC 1 1.5 Cable paralelo 1 1.5 Interruptor 1 0.6 1 Este es el costo de materiales utilizados para la fabricación de un prototipo; este costo no contempla los gastos de desarrollo (proyectos de investigación). Fusible 1 0.2 Porta-fusible 1 0.2 Tornillos, cables de fuente - 1.0 Total 135.8 Linux y herramientas Cantidad Precio US $ Red Hat 7.3 1 1.83 RTLinux 1 Libre XForms 1 Libre Total 1.83 Instrumentos, equipo de cómputo y sistemas informático. Depreciación Cantidad Costo ($) vida útil (años) tiempo de uso (meses) costo efectivo US$ Osciloscopio TDS3012 1 5000 5 6 500.0 Ertco-Eutechnics 4400 1 600 5 1 10.0 Computadora personal 1 1000 5 8 135.0 Impresora 1 200 5 8 27.0 Windows 2000 300 3 3 25.0 Eagle 4,03 150 3 3 13.0 Microsoft Office 400 3 5 56.0 Uso del Sistema calibrador de sensores 1 1 50.0 Total 816.0 Otros Cantidad Precio US $ Tesista 2000 horas 5000.0 Componentes Electrónicos de Pruebas varios 80.0 Herramientas y pequeños instrumentos de prueba. varios 100.0 Movilidad 30.0 Total 5210.0 ANEXO D______________________________________________  Datos técnicos del sensor de presión diferencial 163PC01D36 para obtener la ecuación 4-1.  Datos técnicos del sensor de temperatura LM34A para obtener la Ecuación 4-2.  Datos técnicos de los sensor de presión barométrica MPX4115A para obtener la Ecuación 4-3. ANEXO E_________________________________________________________________________________  Esquemático-Eagle del diseño electrónico del módulo electrónico.  Board-Eagle del módulo electrónico. ANEXO F______________________________________________  Instalación del Linux/RTLinux, Xforms y Swxaire. Instalación del LINUX: Se trabajó en base a la distribución Red Hat, versiones 6.2, 7,2 y 8.0; pero se puede utilizar otras versiones como también otras distribuciones; los CD de Red Hat utilizado no está disponible en esta tesis. Linux necesita de alrededor de 2 a 5GB de partición para la “/” (dependerá de la distribución a utilizar y de los paquetes que se desea instalar), además de unos 256MB para el “swap”; ambas particiones puede ser lógicas o primarias. La instalación es fácil e intuitiva, sólo asegúrese de instalar como método de arranque al LILO, este será útil para configurar el arranque en RTLinux. Instalación del RTLINUX: RTLinux se instala de acuerdo a la versión del kernel del Linux instalado; en esta tesis se utilizaron RTLinux 3.0, que trabaja con el kernel 2.2.18 de Linux, y RTLinux 3.1 que trabaja con el kernel 2.2.19 y 2.4.4 (si no se dispone estos kernel, se debe conseguir las fuentes y recomipalar); además, RTLinux dependerá de la computadora del que se dispone, en esta tesis se trabajó con una PC PIII, por lo que usó en este caso la versión 3.0 (para PIV se debe usar la versión 3.1); los pasos para la instalación son los siguientes. ƒ Copie y descomprima la fuente rtlinux-3.0.tar.gz en /usr/src/ #tar -xvzf rtlinux-3.0.tar.gz ƒ Copie y descomprima la fuente linux-2.2.18.tar.gz en /usr/src/ #tar -xvzf linux-2.2.18.tar.gz ƒ Dentro de la carpeta /usr/src/rtlinux-3.0/ está el archivo INSTALL, aquí se encuentra los siguientes pasos para la instalación. RTLINUX INSTALLATION: --------------------- If you have downloaded the RTLinux distribution with a prepatched kernel, skip steps 1 and 2. Quick check: if your kernel contains file arch/i386/kernel/rtlinux.c, you do not need to patch the kernel. 1. put a fresh copy of the Linux kernel in the /usr/src/linux directory: cd /usr/src tar xzf linux-2.2.18.tar.gz cd linux 1.b. If you haven't done so already, put a fresh copy of the RTLinux kernel in the /usr/src/rtlinux directory: cd /usr/src tar xzf rtlinux.tar.gz 1. Create a symbolic link from within the rtlinux directory to the linux directory: cd /usr/src/rtlinux ln -sf /usr/src/linux ./linux 2. Patch the kernel with the RTLinux patch: cd /usr/src/linux patch -p1 < /usr/src/rtlinux/kernel_patch-2.2 OR, if you're using a 2.4.xx kernel: patch -p1 < /usr/src/rtlinux/kernel_patch-2.4 3. Now, configure the Linux kernel: cd /usr/src/linux make config or make menuconfig or make xconfig 4. After you are finished configuring the Linux kernel, type: make dep Note. Steps 5 through 7 are x86-specific. 5. Compile the Linux kernel and modules: make bzImage make modules 5.b Install the Linux modules: make modules_install cp arch/i386/boot/bzImage /boot/rtzImage 6. Configure LILO. To do so, edit /etc/lilo.conf to contain the following piece (you only need to do this once): image=/boot/rtzImage label=rtlinux read-only root=/dev/hda1 7. Install LILO. To do so, type: /sbin/lilo 7.b. Restart the computer: /sbin/shutdown -r now 7.c Load the RTLinux kernel: At the LILO: prompt, press "Shift" or "Tab". This will give you a listing of the available kernels. Enter: rtlinux RTLinux should boot. 8. Configure RTLinux: cd /usr/src/rtlinux make config OR make menuconfig OR make xconfig 9. Compile RTLinux: make make devices make install http://www.fsmlabs.com. Instalación de XForms: La versión del Xforms utilizado es esta tesis es la 0.89, su instalación es de la manera siguiente. ƒ Descomprima la fuente bxforms.tar en /usr/src/ #tar -xvf bxforms.tar ƒ Ingrese a la carpeta xforms. ƒ Copie la carpeta DEMOS en otro lugar. ƒ Haga, #make , en esta carpeta, y espere. ƒ Después de make, reemplace la carpeta de DEMOS por el guardado. ƒ Ingrese a FORMS, mueva los archivos libforms.so y libforms.so.0.89 a /usr/src/xforms/ ƒ Ingrese a DEMOS y nuevamente haga #make. Instalación de swxaire: ƒ Primeramente debe estar como root para la instalación. No olvidar la configuración del puerto paralelo en modo bidireccional, esto a veces ya no es necesario. ƒ El swxaire solo se podrá usar como root. ƒ Haga una copia del swxaire.tar.gz (buscarlo en el CD) en /usr/src/ ƒ En la carpeta /usr/src/ haga: #tar -xvzf swxaire.tar.gz ƒ En /usr/src/ se creará una carpeta llamada swxaire. ƒ Si la versión de rtlinux es distinta a 3.0 ingrese a swxaire/driver_xaire/ borre rtl.mk de esta carpeta y copie aquí mismo el rtl.mk del rtlinux instalado en su PC que está en /usr/src/rtlinux-.../ ƒ El Makefile que está en swxaire/driver_xaire/ es para la versión 3.0, pero es de uso general, si trae problemas en la compilación (vea después) tendrá que utilizar y modificar el que trae el rtlinux-... instalado en su PC (el Makefile esta dentro de /usr/src/rtlinux-.../examples/.../). ƒ En swxaire/driver_xaire/ borre driver.o y haga: #make con esto se creara un driver.o adecuado. ƒ Ingrese a swxaire/gui_xaire/ y borre el ejecutable swxaire y haga: #make con esto se creara el ejecutable swxaire adecuado. ƒ Ingrese a swxaire/scripts/ y haga: #sh iconos_xaire.sh 3.0 donde 3.1 es la versión del rtlinux usado, debe poner la versión que usa. ƒ Se creará iconos en el escritorio para utilizar el software. ƒ Para desinstalar el swxaire sólo borre los iconos creados en el escritorio y el link llamado rtlinux creado en /usr/src/ y si desea borre la carpeta /usr/src/swxaire. Nota: Las fuentes del kernel de Linux 2.2.18, RTLinux 3.0 y 3.1, XForms 0.89 y del SWXAIRE, se encuentran el CD adjuntado a la tesis. ANEXO G______________________________________________  Algunas fotografías del desarrollo de esta tesis y otras. En esta fotografía se muestra el momento de la calibración del XAIRE; al fondo se observa el sistema de calibración de sensores de flujo utilizado en el desarrollado de esta tesis. Fotografía G-1: Calibración del XAIRE, y colaborador. En la siguiente fotografía se muestra al prototipo XAIRE, junto al autor de esta tesis; éste fue tomado en la presensación final de proyectos de verano 2005 del Grupo de Investigación y Desarrollo de Equipos Médicos y Sistemas – GIDEMS. Fotografía G-2: Autor de XAIRE, River Quispe Tacas. En la siguiente fotografía se muestra a los integrantes del grupo GIDEMS; que de manera directa o indirecta, fueron grandes colaboradores del desarrollo de esta tesis. Fotografía G-3: Integrantes del grupo GIDEMS-PUCP, y la patente BAN. ANEXO H______________________________________________  Comunicación entre swxaire y driver.o. El software del XAIRE está compuesto del driver_xaire y del gui_xaire; el programa principal del driver_xaire es el driver.c y el proceso es el driver.o y del gui_xaire es el swxaire.c y el proceso que se ejecuta es el swxaire. Cuando se instala RTLinux, y se hace uso de éste, RTLinux domina a la computadora (figura H-1) y Linux pasa a ser una tarea más con una prioridad baja [21]. El proceso driver.o está dominado por el RTLinux mientras que el proceso swxaire está por el Linux. RTLinux atenderá el proceso driver.o en los debidos tiempos, mientras que Linux atenderá a swxaire dependiendo de la carga de procesos en la computadora. El método utilizado para la comunicación entre el driver.o y el swxaire (fifos) no es seguro si es que se carga demasiado a la computadora. El driver.o (tarea RTLinux), es atendida en los tiempo establecidos (no hay pérdidas de datos en la adquisición); pero un proceso Linux, como swxaire (use fifo u otro método de comunicación), será atendido dependiendo de la carga de procesos; Linux volcará toda su atención a swxaire, si es que no hay otro proceso como mayor prioridad que éste. Cuando se esté llevando acabo la prueba espirométrica, es recomendable no distraer al CPU con otros procesos que quizás sean más importantes que el swxaire, puede que este pierda datos del fifo. Figura H-1: Arquitectura del RTLinux. El bucle (figura 4-13) ubicado en *driver() (driver.c), se repite cada 10ms; el tiempo que demora en ejecutarse este bucle es aproximadamente 62us2 (en los momentos en que se está realizando una maniobra), después de esto el planificador (RTLinux ó Linux) atenderá a los otros proceso incluyendo al proceso swxaire, hasta un nuevo ciclo. Las fifos, son un método de comunicación, fácil y rápida de programar, sus características son: ƒ Si un proceso Linux, lee (read(fd, *buf, size)) un dato de fifo, éste se borra del fifo. Si no hay dato en el fifo, el proceso Linux espera a que haya para leerlo. (write(fd, *buf, size)); éste es una operación bloqueante. ƒ Para que un proceso Linux, escriba (write(fd, *buf, size)) un dato a fifo, debe haber espacio en el fifo; si no hay espacio, el proceso Linux espera a que haya; éste es una operación bloqueante. ƒ En una tarea RTLinux, para escribe en fifos se utiliza rtf_put(fifo_nr, *buf, n_bytes); esta función escribe si hay espacio en las fifos (y si tamaño_fifo>=dato_a_escribir); ésta es una operación no bloqueante. ƒ En una tarea RTLinux para realizar la operación de lectura en fifos se utiliza rtf_get(fifo_nr, *buf, n_bytes); éste intenta leer n_bytes bytes de la fifo y los deposita en buf; el valor de retorno indica el número de bytes que realmente se han podido leer; si no hay datos en la fifo entonces retorna inmediatamente indicando que se han leído cero bytes; éste es una operación no bloqueante. El proceso swxaire, en instantes pequeños, consume en promedio tiempo de CPU de 2.2%; normalmente este valor es más bajo (0.3 %); esto quiere decir que swxaire no hace demasiado uso del CPU; esto y las pruebas siguientes se realizaron en una Pentium III de 500Mhz con 128MB de memoria. En la figura H-2, se muestra las características del swxaire como proceso (comando gtop), en instantes diferentes (cuando empezó a realizar una prueba espirométrica); se observa que swxaire posee una prioridad de 1 (ó 3), es decir, es un proceso importante más que los otros procesos inicializados por default por el sistema, excepto el proceso X (encargado del entorno gráfico del sistema) y el gtop que se utilizó para observar los proceso. En este ambiente deben ser ejecutados los programas de SWXAIRE, es decir sólo con procesos inicializados por el sistema, por que aquí no existirá pérdida de datos. 2 Se utiliza la función Rtlinux clock_gethrtime(CLOCK_REALTIME) en driver.c. Figura H-2: Información sobre el proceso swxaire. n la figura H-3, se muestra una lista de procesos (comando gtop), en la que el E proceso gftp (prioridad mayor al swxaire), está consumiendo y distrayendo al CPU para que siga atendiendo al swxaire. En esta prueba se observó que el proceso swxaire perdió unos 100 elementos (1s). Figura H-3: Información sobre los procesos Linux Una alternativa, para realizar la comunicación, entre procesos RTLinux y Linux, es por medio de memoria compartida; pero también existe la posibilidad de que la adquisición, la medición de los parámetros y el control del tiempo sean realizados por un procesador, dejando a la computadora sólo para realizar la interpretación y la visualización de los resultados. Ambas alternativas estarán siendo evaluadas para mejorar este prototipo de espirómetro para computadora.