SciELO - Scientific Electronic Library Online

 
 número13Editorial: eSaúde - Sistemas e Tecnologias de Informação e Comunicação aplicados à SaúdeSistema de Apoio à Decisão para o Transporte Não Urgente de Doentes em Veículo Partilhado índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


RISTI - Revista Ibérica de Sistemas e Tecnologias de Informação

versión impresa ISSN 1646-9895

RISTI  no.13 Porto jun. 2014

https://doi.org/10.4304/risti.13.01-15 

Desarrollo de un Sistema de Decisión basado en Lógica Borrosa para el uso de Bombas de Insulina

Development of a Decision System based on Fuzzy Logic for the use of Insulin Pumps

 

José B. Galván1, Leticia Recarte1, María José Pérez-Ilzarbe1

1 Universidad Pública de Navarra, Campus de Arrosadía s/n, 31006 Pamplona, Spain E-mail: galvan@unavarra.es, leticiarecarte@hotmail.com, mjperez@unavarra.es

 

RESUMEN

Basándonos en el conocimiento de un usuario experto en la utilización de bombas de insulina, hemos desarrollado un software de apoyo para usuarios noveles de dicha tecnología. Nuestro sistema de decisión tiene en cuenta problemas tales como la influencia de las características específicas de cada usuario, el ritmo circadiano, la actividad prevista y la glucemia preprandial. La base de nuestro sistema es un controlador borroso para el que se ha desarrollado un constructor semiautomático de reglas. El sistema ha sido probado con éxito por dos usuarios muy diferentes entre sí, lo que prueba que las ideas implementadas son válidas y suponen una interesante línea de desarrollo de sistemas de ayuda a pacientes diabéticos.

Palabras-clave: Sistemas de decisión; Control Borroso; Bombas de Insulina

 

ABSTRACT

Basing on the knowledge of an expert user of insulin pumps, we have developed a supportive software for new users of this technology. Our decision system takes into account issues such as the specific characteristic of each user, the circadian rhythm, the planned activity and the preprandial glycemia. We have developed a semiautomatic rule constructor for the base of our system, which is a fuzzy controller. The system has been successfully tested by two different users, proving that the implemented ideas are valid and represent an interesting line of development of helping systems for diabetic patients.

Keywords: Decision system; Fuzzy controller; Insulin Pumps

 

1. Introducción

La diabetes mellitus tipo 1 (DM1) es una enfermedad autoinmune que produce la destrucción de las células b del páncreas lo que provoca un drástico descenso de la insulina disponible hasta casi su completa desaparición.

La insulina es una hormona responsable del metabolismo de hidratos de carbono, su déficit provoca hiperglucemia: altos niveles de glucosa (azúcar) en sangre. La glucemia en sangre, que es la cantidad de glucosa que contiene, se mide en miligramos por decilitro (mg/dl). Se considera un valor normal, normoglucemia, a valores preprandiales de 100 mg/dl. Está establecido que hiperglucemias por encima de 180 mg/dl son muy peligrosas a largo plazo y pueden dar lugar a diversas patologías (nefropatías, neuropatías, accidentes cerebrovasculares, etc.), siendo la primera causa de amputaciones, ceguera o diálisis. Por otra parte, un exceso de insulina puede producir hipoglucemias, que si no se corrigen pueden derivar en coma glucémico (Cryer, 2002).

En personas con el páncreas sano los propios controles corporales se encargan de mantener los niveles adecuados de la hormona. En personas diabéticas es un problema que, como veremos, todavía no está adecuadamente solucionado. El único tratamiento para el déficit de insulina provocado por la DM1 es la administración de insulina exógena. Esta administración se suele hacer por dos vías: inyección o bomba de insulina (Jeitler, 2008). Las bombas de insulina, desde que se ha logrado la reducción de su tamaño, son la solución que mejores resultados ofrece y más se acerca a la fisiología normal de una persona sana (Zisser, 2008). En este caso el suministro de hormona es continuo a través de un catéter subcutáneo. Gracias a esta facilidad la administración de la insulina se hace antes y durante la ingesta y digestión pudiendo tomar decisiones de control de acuerdo con las medidas de glucosa en sangre y del índice glucémico de los alimentos ingeridos, como por ejemplo alargar, a demanda, la infusión de la insulina. Esta posibilidad es inviable con la terapia de múltiples dosis (inyección).

La solución ideal al problema de la DM1 sería un control autónomo de la bomba de insulina. Ésta solución se conoce como páncreas artificial y es objeto de investigación de diversos grupos (Steil, 2006), (Bondia, 2010). Por desgracia, quedan muchos problemas que solucionar antes de tener un páncreas artificial eficiente: retraso entre la administración subcutánea de la insulina y su llegada a la sangre (diferente para cada persona e incluso en diferentes momentos para la misma persona), control de obstrucción del catéter, control de pérdidas en el catéter, medición precisa de la glucosa en sangre, etc. Todo esto lleva a que el control automático de la bomba no sea todavía lo suficientemente preciso como para permitir su implantación generalizada.

Por lo tanto, en estos momentos, el uso adecuado de las bombas de insulina pasa por el control del propio usuario. Se establece un suministro continuo (basal) de una pequeña cantidad de hormona a la que se añade un suministro mayor en los momentos de ingesta y postpandriales. La cantidad de unidades de insulina (bolus) que se deben suministrar está relacionada con la cantidad de raciones de carbohidratos que se ingieren y con otros factores de los que se hablará en la sección 2. La forma más eficiente de la administración de los bolus consiste en dividirlos: una parte en un único suministro (bolus N) y el resto de forma continua (bolus C) a lo largo de un tiempo que se puede alargar desde menos de 60 a incluso 300 minutos dependiendo de las características del usuario y del tipo de comida.

Las variables a tener en cuenta son tantas y de tan diferente tipo que se necesita ser un usuario experto para poder tomar las decisiones adecuadas de la cantidad de bolus que se deben administrar, su reparto en bolus N y bolus C y el tiempo de suministro de estos últimos. Errores en estas decisiones pueden producir hipo o hiperglucemias. Esto lleva a que muchos usuarios desistan del uso de bolus C suministrándose únicamente dosis instantáneas y procediendo a correcciones posteriores según evolucione el nivel de glucemia. Esta estrategia no es muy eficiente debido a la dificultad inherente al control de sistemas complejos, sobre todo cuando hay que tener en cuenta retrasos como los que se dan entre la administración de la insulina y el momento en que ésta alcance su máxima eficacia en la metabolización de carbohidratos.

El objetivo del presente trabajo es el desarrollo de software de apoyo para usuarios de bombas de insulina sin experiencia, como pueden ser padres de niños, jóvenes o personas que se enfrentan por primera vez con los problemas de control de la bomba de insulina. Como núcleo de nuestro sistema de decisión hemos diseñado y programado un sistema fuzzy (Jang,1997) que decide el reparto entre bolus N y bolus C así como el tiempo de administración de éstos. La lógica borrosa ha sido utilizada en diversos trabajos para el control de infusión de insulina (Campos-Delgado, 2006), (Kardar, 2008), (Jayaraj, 2009), (Anantha, 2013), En estos trabajos se implementan diferentes sistemas borrosos y se analiza su comportamiento en simulación, utilizando para ello modelos matemáticos que emulan el efecto de la infusión de insulina en la evolución de glucosa en sangre del paciente. La propuesta que presentamos en este artículo está enfocada al aprovechamiento del conocimiento en el manejo de bombas de un usuario experto (de ahora en adelante UE1) para diseñar un controlador borroso sin necesidad de disponer de un modelo matemático de la evolución de glucosa en sangre del paciente. Se ha desarrollado un sistema semiautomático para la creación del sistema borroso a partir una información sencilla aportada por el usuario. El método se ha desarrollado para el usuario UE1 y se ha validado con otro usuario UE2, de características muy diferentes al primero.

El sistema de decisión completo se describe en la sección 3. Este sistema es único por usuario, incorpora características del mismo y depende de su fisiología. Hay que destacar que estamos implementando un control en lazo abierto, como el que realizan en este momento la inmensa mayoría de usuarios de bomba de insulina. Por lo tanto, no hay tratamiento automático de perturbaciones.

A la vista de los resultados obtenidos podemos afirmar que las herramientas desarrolladas en este trabajo y sus posibles extensiones pueden ser de gran utilidad para muchos diabéticos DM1. El experto con el que hemos trabajado lo está utilizando con éxito como detector de fallos de sus decisiones. Nuestro controlador construido a partir de información mínima funciona correctamente como un usuario experto, lo que hace posible que un paciente con poca experiencia pueda utilizar apropiadamente la bomba de insulina.

 

2. Descripción del sistema de decisión completo

Como se ha dicho, las dificultades del uso de la bomba de insulina para el control del nivel de glucosa en sangre, sobre todo durante la ingesta y digestión de alimentos, se deben a los muchos factores que hay que tener en cuenta y que afectan de diferente forma a distintas personas o incluso a la misma persona en diferentes horas del día. El esquema del estimador que proponemos para tratar de dar solución a dichas dificultades se puede ver en Fig. 1. En lo que sigue, vamos a ir describiendo los bloques que lo forman y explicando su necesidad.

 

 

La parte numérica del sistema de decisión tiene como entradas los valores de tres parámetros: la cantidad de raciones de carbohidratos (desde ahora C) que se van ingerir, una estimación del nivel de grasas (de ahora en adelante Gr) y lo que vamos a llamar “velocidad” de los carbohidratos (de ahora en adelante V), parámetro que nos dice el tipo de carbohidratos presentes en el menú según sea su digestión más o menos lenta.

Obtener estos tres valores a partir de los platos de comida no es una tarea trivial: un diabético suele saber estimar C y muchas bombas y programas de libre acceso estiman no sólo C sino también los bolus totales para cierta situación estándar (correspondiente a nuestro parámetro Ba) a partir del menú de la ingesta (Gross, 2003), (Zisser, 2008). Sin embargo es más difícil la estimación de Gr y V. Esta última variable se suele medir con el índice glucémico (IG), que compara la velocidad de absorción de los carbohidratos con respecto a uno estándar. Aunque hay muchas tablas con los IG de alimentos (Foster-Powell, 2002), (Murillo, 2012), (UNED, 2014), estás no son exhaustivas e incluso a veces presentan contradicciones. A esto hay que añadir que los alimentos cocinados pueden modificar su IG (Murillo, 2012). En el caso de las grasas presentes en un alimento la estimación es todavía más complicada, ya que se cuenta con menos información.

Para solventar estas dificultades, usuarios expertos nos han ayudado con la elaboración de una extensa base de datos, representada en el Bloque BBDD. En vez de usar directamente los IG, hemos preferido (siguiendo el consejo de los expertos con los que hemos discutido estos problemas) reescalarlos de forma que la velocidad V de digestión de los carbohidratos va de 1 (muy rápido) a 9 (muy lento). En el caso de las grasas se utiliza una escala similar siendo 1 para alimentos sin grasa y 9 para alimentos con mucha grasa. Por ejemplo a la leche desnatada se le asigna Gri=2 y Vi=8 (muy poco grasa pero carbohidratos de digestión lenta); a un plato de huevos fritos y patatas fritas se le asigna Grj=6 y Vj=4.

En la BBDD se introducen los platos que se van a consumir y la cantidad pi en peso de cada uno de ellos (i=1,…,n; siendo n el número de platos del menú, incluidas la bebidas) y se obtiene los valores de los valores Ci, Gri y Vi de cada plato.

Con estos valores tenemos que realizar algunos cálculos, representados por el Bloque P: a) sumar las distintas cantidades de carbohidratos Ci de los platos para obtener la cantidad total C de raciones de carbohidratos que se van a consumir; b) ponderar las Gri de los platos en peso; c) ponderar las Vi de los platos en raciones de carbohidratos. De esta forma, la salida del Bloque P nos caracteriza la ingesta con tres únicas variables: C, Gr y V:

El Bloque reloj nos sirve para solucionar el problema del ritmo circadiano. En él, dividimos el día teniendo en cuenta las tres/cinco comidas principales en tres zonas: desayuno, almuerzo/comida, merienda/cena. Este bloque proporciona los valores en esas franjas de dos parámetros, la ratio insulina/carbohidratos (R) y el factor de sensibilidad a la insulina (S), cuyo significado se explicará más adelante. También será diferente en estos tramos el reparto de los bolus en bolus N (BN) y bolus C (BC), y el tiempo de administración de estos últimos (T). Como veremos, estas decisiones se toman a través de un controlador diferente en cada tramo, por lo que el Bloque reloj se encargará también de cargar el controlador adecuado a la hora del día.

Los bloques que nos quedan por describir son los que realizan propiamente la estimación de bolus N, bolus C y tiempo de suministro apropiados en una situación dada. Los valores de estos parámetros van a depender de la glucemia (Gl desde ahora) que se tiene en el momento de la ingesta. Por otro lado, ante una comida igual o similar, la cantidad de insulina que se debe suministrar ha de tener en cuenta la actividad tanto física como intelectual prevista en las horas posteriores a la ingesta. Suponiendo normoglucemia, y una actividad prevista baja, la cantidad de unidades de insulina (de ahora en adelante Ba) que se deben suministrar es proporcional a la cantidad de raciones de carbohidratos que se van ingerir. Este factor de proporcionalidad, implementado en el Bloque R, se conoce como ratio insulina/carbohidratos (R) y nos da las unidades de insulina necesarias para el metabolismo de una ración de carbohidratos, que es diferente en cada persona y depende del ritmo circadiano. Es por esto que el Bloque R está conectado al Bloque reloj.

Una vez se han calculado los bolus totales Ba=R*C válidos para normoglucemia y previsión de actividad baja, este valor se debe modificar teniendo en cuenta la actividad prevista (A). Ésta la hemos estimado en una escala de 1 (mínima) a 9 (extrema). Después de discutir con los expertos se llegó a la conclusión de que hacen aproximadamente una reducción lineal en porcentaje de los bolus de tal forma que para actividad 2 no realizan corrección y para actividad 8 reducen el 40%. Es decir, que a partir de actividad 2 aplican una reducción del 6,67% de Ba por cada unidad que aumenta la actividad. El Bloque Eimplementa esta reducción (Ap). Así, para A=5 obtendríamos Ap =(5-2)*6,67=20% y B=0.8*Ba.

Con los bolus B ya obtenidos, se debe calcular el reparto en bolus tipo N (BNa, donde el subíndice a nos dice que queda pendiente una última corrección) y bolus tipo C (BC), y el tiempo (T). Para hacer este ajuste hay que estimar cuánto tiempo va a durar la digestión así como el ritmo de absorción de carbohidratos durante la misma. Este punto se demostró como el más difícil de tratar. Después de amplias discusiones con los usuarios expertos, así como del análisis de los datos que nos iban proporcionando, llegamos a la conclusión de que, en sus decisiones, el porcentaje de BNa sobre B (en adelante BpN) y el valor de T se mostraban independientes de la cantidad total de comida (en particular de carbohidratos), estando relacionados con la naturaleza de la misma, en concreto con los parámetros Gr y V.

Con esto decidimos que el Bloque F, núcleo de nuestro sistema de decisión, tuviera como entradas la velocidad y el nivel de grasas de la comida, V y Gr, y como salidas el porcentaje BpN de bolus N y el tiempo T de suministro de los bolus C. Los valores de estas variables, así como la forma en que afecta la naturaleza de los carbohidratos y la ingestión de grasas a dichos valores, varía entre individuos y con el ritmo circadiano. Su decisión se basa en reglas que, como se verá más adelante, tuvimos que deducir a partir de los datos aportados por el experto UE1. Nuestra propuesta pasa por tres estimadores diferentes, uno para cada una de las franjas horarias implementadas en el Bloque reloj. Para la franja del desayuno sólo se administran bolus N por lo que BpN=100% y no tiene sentido hablar de T. Para las franjas almuerzo/comida y merienda/cena se construyen y ajustan dos controladores fuzzy diferentes.

Finalmente, recordemos que todo lo descrito hasta ahora supone que el usuario está en normoglucemia. Una glucemia en sangre Gl superior a 100 mg/dl exige que se aumente el número de bolus para ayudar al procesamiento de la glucosa excedente, y una inferior se debe tratar reduciendo la cantidad de insulina para evitar hipoglucemias. Esta corrección (BNr) se hace sobre BNa para que tenga un efecto rápido en la glucemia. El cálculo para dicha corrección se realiza en el Bloque S con el factor de sensibilidad a la insulina (S), que nos dice cuántas unidades (en mg/dl) baja Gl por unidad de insulina. Con ella se obtiene:

Como en el caso de otros parámetros vistos anteriormente, S varía entre individuos y con el ritmo circadiano y nuestro Bloque reloj es el encargado de proporcionar el valor de S apropiado.

Con esto queda explicado el esquema de nuestro sistema de decisión. Queda por describir en detalle la estructura, diseño e implementación del controlador borroso representado en el Bloque F, lo que haremos en la siguiente sección.

 

3. Controlador Borroso

Esta parte del trabajo se ha estructurado en tres fases:

  1. En primer lugar se ha desarrollado un controlador borroso que emula la toma de decisión del experto UE1. Sus parámetros se han ajustado a mano a partir de datos correspondientes a un gran número de decisiones del experto. El objetivo era imitar las decisiones tomadas, y que decisiones obtenidas como salida de nuestro sistema en situaciones diferentes a las utilizadas para el diseño obtuvieran el “visto bueno” del experto.
  2. Se ha identificado la información mínima necesaria para poder reproducir, a partir de la misma, el controlador borroso diseñado para UE1. Así, se ha desarrollado un sistema semiautomático de creación del sistema borroso a partir solamente de la información suministrada por el experto para unas pocas situaciones representativas. Después, se ha hecho la hipótesis de que el controlador fuzzy apropiado para otro usuario tendría que tener las mismas características generales, aunque obviamente parámetros diferentes. Con esto, el método de creación desarrollado sería capaz de construir controladores borrosos correctos para diferentes personas.
  3. El procedimiento semiautomático desarrollado en la fase 2 se ha aplicado a la creación del controlador para otro usuario experto, que llamaremos UE2. El objetivo era que las decisiones tomadas por el sistema así construido recibieran el “visto bueno” de este otro experto.

3.1. Desarrollo del controlador borroso para el sujeto UE1

Recordemos que el controlador borroso que vamos a diseñar está representado en el Bloque F de la Figura 1. Tiene dos entradas, la velocidad de digestión de los hidratos (V) y el nivel de grasas (Gr), y dos salidas, el porcentaje BpN de bolus N apropiado para normoglucemia y actividad prevista baja, y el tiempo T durante el que se van a suministrar los bolus C.

El controlador fuzzy se ha implementado como un sistema borroso de Sugeno de orden 0 (Sugeno, 1985). Se ha escogido este modelo, con una forma relativamente sencilla, para facilitar su implementación en diferentes lenguajes y plataformas. De momento ha sido programado en el software libre Scilab y se va a empezar a programar como aplicación para teléfono móvil.

Este tipo de sistema borroso consta de una serie de reglas del tipo: SI V es “baja” Y Gr es “alta” ENTONCES Bp=Bpi Y T=Ti, donde los consecuentes son valores numéricos. El método de intersección escogido para la implementación de los Y que conectan los antecedentes es el producto, y para el cálculo de la salida se utiliza la suma ponderada. Para los lectores más familiarizados con el modelo de Mamdani (Mamdani, 1975), podemos recordar que el sistema borroso de Sugeno de orden 0 es equivalente a uno de Mamdani que utilice el producto para las conectivas Y y para la inferencia, la suma para la agregación, y el centro de gravedad para la desborrosificación (defuzzyfication) (Jang, 1997).

Una vez decidido el tipo de sistema borroso, hay que decidir el número de categorías que se van a utilizar en cada universo de entrada y definir los conjuntos borrosos que representan cada categoría. Para ello nos hemos basado nuevamente en la experiencia de nuestro experto UE1. Éste nos pasó datos de decisiones correctas tomadas en situación de normoglucemia y actividad prevista baja, de manera que correspondían a lo que queríamos estimar con el sistema borroso implementado en el Bloque F. Tras la recogida de datos, organización de la información, verificación y corrección con la ayuda de UE1, conseguimos disponer de datos válidos de BpN y T para los tramos horarios de almuerzo/comida y merienda/cena, apropiados para ingestas con valores de V y Gr enteros de 1 a 9.

Lo que pretendíamos, en un primer paso, era emular con reglas borrosas estas relaciones. El primer controlador diseñado tenía 9 conjuntos borrosos triangulares para la rapidez y 9 para la grasa, correspondientes a las categorías “aproximadamente 1”, “aproximadamente 2” etc.., centrados en los valores correspondientes y con semianchura 1. El controlador tenía, por lo tanto, 81 reglas. Como valores de los consecuentes, lógicamente, se pusieron los proporcionados por el experto para las situaciones correspondientes. Comprobamos que el controlador así ajustado, integrado en el esquema de la Figura 1, producía decisiones similares a las que toma el experto para menús muy diferentes, en situación de glucemia distinta a normoglucemia y con actividad prevista mayor de 2, lo que nos sirvió para comprobar la validez de nuestro sistema completo de decisión.

Este primer controlador diseñado tenía los mismos consecuentes en varias de sus reglas borrosas, ya que el experto tomaba decisiones iguales para valores diferentes de V y Gr pero cercanos entre sí. Esto sugería que era posible diseñar un sistema borroso más sencillo definiendo menos categorías en cada universo de entrada. Una mayor simplicidad facilitaría la automatización del procedimiento de creación de dicho sistema para otros usuarios. Así que, nos decidimos a diseñar un sistema borroso que, realizando la tarea que nos interesa, fuera lo más sencillo posible.

Para ello tratamos de definir en los universos de entrada el menor número posible de conjuntos borrosos. Además de las zonas de antecedentes cercanos para los que UE1 tomaba la misma decisión, identificamos otras zonas en las que pequeñas variaciones en lo valores decididos producían nuevas zonas de consecuentes iguales. Por otro lado, no siempre UE1 tomaba exactamente las mismas decisiones en las mismas circunstancias, y sin embargo conseguía un correcto control de glucemia, con lo que realizar pequeños cambios parecía aceptable. Preguntando a dicho experto al respecto nos dio el visto bueno a estos cambios, con lo que finalmente conseguimos unos datos que se podían reproducir con el sistema borroso de 9 reglas que queda definido en las tablas 1 y 2. Las categorías “baja”, “media” y “alta” que corresponden a los antecedentes de las reglas en los dos universos de entrada se representan en la figura 2.

 

 

 

 

Respecto a los consecuentes de las reglas, para el universo de porcentaje de bolus N se decidió mantener 9 consecuentes, aunque en particular para el usuario UE1 los valores que toman dos de ellos son iguales. Para el universo de tiempo de suministro decidimos, analizando los datos, dejar 6 consecuentes, aunque en particular para UE1 hay cuatro que toman valores iguales dos a dos. Los valores concretos de los consecuentes para UE1 en la franja almuerzo/comida se presentan en las tablas 3 y 4. Con el controlador así diseñado se obtiene el mapping entradas-salidas que se representa en la figura 3.

 

 

 

 

Se comprobó que este controlador borroso de nueve reglas diseñado para la franja horaria de almuerzo/comida proporcionaba resultados tan satisfactorios como el de que 81 reglas. Así pues, decidimos dejar fija la estructura de nuestro controlador como la sencilla de 9 reglas. Con esta estructura, se diseñó y ajustó el controlador borroso para la franja horaria de merienda/cena.

Con estos controladores incorporados, se ha probado durante varios meses el funcionamiento del sistema de decisión completo desarrollado (figura 1). Así, se ha comprobado que éste toma decisiones muy similares a las tomadas por el experto humano UE1, tanto en las situaciones que corresponden a los datos analizados, como a nuevas situaciones testeadas para diferentes ingestas, valores de glucemia y actividad prevista. Una vez que contamos con el “visto bueno” de nuestro experto, estamos preparados para comenzar la fase 2 del presente trabajo.

3.2. Desarrollo de un constructor semiautomático del controlador borroso

Este desarrollo se basa en la suposición de que, no los valores concretos de los parámetros, pero sí la estructura del estimador desarrollado en el apartado anterior para el sujeto UE1, es válido para diversos sujetos. Por tanto, la base de reglas será de la forma dada por las tablas 1 y 2, y el mapping entradas-salidas será, cualitativamente como el de la figura 3, pero los valores concretos de T1,.., T6 y BpN1,.., BpN9 serán diferentes.

Por otro lado, el desarrollo anterior se ha basado en el análisis de un gran número de decisiones “correctas” (tomadas por un experto), que se han conseguido imitar. Si se quiere hacer un sistema que sea utilizable por personas con poca experiencia, es necesario que se pueda construir el estimador a partir de unas pocas decisiones “correctas” que el sujeto pueda tomar en poco tiempo, sólo o con ayuda de alguien más experimentado. Se ha considerado que con cuatro decisiones puede ser suficiente, ya que analizando las tablas 3 y 4 vemos que se cumplen, aproximadamente, las siguientes relaciones:

BpN5=(BpN1+BpN2)/2; BpN6=(BpN3+BpN4)/2; BpN7=(BpN1+BpN3)/2;

BpN8=(BpN2+BpN4)/2; BpN9=(BpN1+BpN2+BpN3+BpN4)/4

T5=(T1+T2)/2; T6=(T3+T4)/2;

Por tanto, basta con saber los valores de BpN1, BpN2, BpN3, BpN4, T1, T2, T3, y T4, es decir, basta con que el paciente sepa tomar las decisiones correspondientes a las reglas de las esquinas de la tabla de 9 reglas, y el resto de los consecuentes se calculan con las relaciones escritas arriba. Los consecuentes así calculados para el sujeto UE1 son muy similares a los valores de las tablas 3 y 4. Por ello, como cabe esperar, las decisiones tomadas por el estimador que resulta de la creación automática del controlador borroso son también muy similares a las resultantes del estimador construido con el análisis extenso de datos. Parece, por tanto, correcto el método de creación propuesto, pero hay que ver si con él se puede construir un sistema de decisión válido para otro usuario. Esto constituye la fase 3 de esta parte del trabajo.

3.3 Construcción del controlador borroso para el sujeto UE2

Se ha procedido a construir un nuevo estimador para el sujeto UE2, con el método desarrollado. La estructura general es la de la figura 1, donde los datos de factor de sensibilidad a la insulina S y ratio insulina/carbohidratos R son los del nuevo usuario.

Para la construcción de los dos controladores borrosos correspondientes a las franjas horarias de almuerzo/comida y merienda/cena, se ha preguntado a este segundo usuario las decisiones correctas de % de bolus N y tiempo de administración para las dos franjas, en las situaciones correspondientes a las esquinas de la tabla de reglas 3x3. Para la franja almuerzo/comida se obtuvo:

  • Velocidad V=3, Grasas Gr=3. La respuesta fue BpN1 = 70% y T1=120 min.
  • Velocidad V=3, Grasas Gr=7. La respuesta fue BpN2 = 60% y T2=210 min.
  • Velocidad V=7, Grasas Gr=3. La respuesta fue BpN3 = 80% y T3=60 min.
  • Velocidad V=7, Grasas Gr=7. La respuesta fue BpN4 = 70% y T4=150 min.

Con estos datos, y las relaciones presentadas en la sección anterior, se calcularon el resto de los valores de los consecuentes, y se construyeron los dos controladores de nueve reglas. Los consecuentes para el controlador de la franja almuerzo/comida se presentan en las tablas 5 y 6, y el mapping entradas-salidas correspondiente en la figura 4.

 

 

 

 

Hay que destacar que los dos usuarios son muy diferentes. El sujeto UE1 es un hombre de 52 años y el sujeto UE2 una mujer de 15 años sin relación genética con el primero. Es por ello que el controlador borroso construido para UE2 es sensiblemente diferente al construido para UE1, como se puede ver comparando las tablas correspondientes, así como las figuras 3 y 4. En particular, se puede observar que para el primer usuario las decisiones en cuanto a % de bolus N pueden variar bastante, entre un 30% y casi un 80%, y no tanto el tiempo de administración, que varía entre 150 min y 240 min. En cambio, para el segundo usuario los % de bolus N están siempre entre el 60% y el 80%, mientras que el tiempo de administración es más variable, pudiendo tomar valores entre 60 min y 210 min.

Las decisiones que resultan del sistema de decisión completo (figura 1) construido para el segundo usuario experto UE2 han recibido su visto bueno durante un largo periodo de tiempo en diversas situaciones, con diferentes ingestas, niveles de glucemia y actividad prevista. Estos resultados nos hacen esperar que el sistema desarrollado funcione correctamente para diversos usuarios. Creemos, en todo caso, que las ideas implementadas suponen una interesante vía de investigación en el desarrollo de sistemas de decisión y control para optimizar el uso de bombas de insulina.

 

4. Estructura del sistema de decisión para el usuario

Desde el punto de vista del usuario, el sistema desarrollado consta de dos programas. El primero sirve para construir el sistema de decisión personal para dicho usuario. El segundo es el que contiene el código correspondiente a dicho sistema de decisión o estimador.

El constructor pide al usuario:

  • La ratio insulina/carbohidratos R para cada franja horaria
  • El factor de sensibilidad a la insulina S para cada franja horaria
  • Los valores de bolus C y bolus N correspondientes a un menú de V=3, Gr=3
  • Los valores de bolus C y bolus N correspondientes a un menú de V=3, Gr=7
  • Los valores de bolus C y bolus N correspondientes a un menú de V=7, Gr=3
  • Los valores de bolus C y bolus N correspondientes a un menú de V=7, Gr=7

y da como resultado un fichero con todos los datos del usuario y los controladores borrosos diseñados para él, que se almacena en disco y será leído por el sistema de decisión cada vez que se utilice.

El sistema de decisión pide al usuario:

  • La franja horaria en la que se encuentra
  • Los platos que va a ingerir y el peso de cada uno
  • El valor de la actividad prevista en una escala del 1 al 9
  • El nivel de glucemia actual

y da como resultado el valor de bolus N y bolus C en unidades y el tiempo de suministro de la insulina en bolus de tipo C.

 

5. Conclusiones

Se ha desarrollado un sistema de decisión que emula las decisiones de un experto para la administración de insulina mediante bomba. El sistema estima la cantidad de insulina que ha de suministrarse en una situación dada, así como la parte que ha de aplicarse en el suministro inicial y la parte en forma continua, así como el tiempo durante el que hay que suministrar ésta última. El estimador desarrollado tiene en cuenta las características de cada usuario y el ritmo circadiano, y es capaz de tomar decisiones correctas en diversas situaciones: diferentes valores iniciales de glucemia, ingestas variadas en tipo y cantidad, y distintas previsiones de actividad.

Además se ha ideado un método semiautomático de ajuste de los parámetros del sistema de decisión, en particular de los controladores borrosos que lleva integrados. Con él, un usuario novel sólo tiene que saber o aprender a decidir la cantidad y forma de administración de la insulina en cuatro situaciones consideradas representativas. Con estos datos se construye para dicho usuario su estimador personal, que es capaz de tomar decisiones en situaciones muy alejadas de las cuatro solicitadas para el ajuste de los controladores.

El sistema completo se ha validado con un usuario experto de características muy diferentes al que nos ha proporcionado los datos a partir de cuyo análisis hemos desarrollado el método. Está siendo utilizado con éxito para la detección de fallos en sus propias decisiones por los dos usuarios expertos con los que hemos trabajado.

Consideramos que las ideas implementadas son una vía muy prometedora para avanzar en el diseño de sistemas de ayuda verdaderamente útiles a corto plazo para pacientes diabéticos que quieran aprender u optimizar el uso de bombas de insulina. En este sentido las principales líneas de trabajo futuro incluyen, en primer lugar, la programación del sistema como una aplicación para teléfono móvil. Nuestra intención sería dejarlo como código abierto una vez esté terminado. Por otro lado, proseguiremos la comprobación de nuestro sistema en más usuarios, Finalmente, a medio plazo queremos estudiar la manera de combinar un sistema de decisión como el diseñado aquí con algún tipo de control realimentado que haga posible el tratamiento automático de perturbaciones.

 

6. Agradecimientos

Los autores agradecen enormemente la ayuda de Juan Luis Rueda y Montserrat Parrales, sin cuya colaboración habría sido imposible la realización de este trabajo. También agradecen los comentarios y sugerencias de Daniel Royo, y el apoyo mostrado por los miembros de la Asociación Navarra de Diabéticos.

 

Referencias bibliográficas

Anantha, S.K., Natarajan, S.K., Dash, S.S., (2013), Modeling and Simulation of Fuzzy Based Automatic Insulin Delivery System, Journal of Computer Science, 9 (9), 1133-1139.         [ Links ]

Bondia, J., Vehí, J., Palerm., C.C. & Herrero, P., (2010). El Páncreas Artificial: Control Automático de Infusión de Insulina en Diabetes Mellitus Tipo 1, Revista Iberoamericana de Automática e Informática Industrial, 7(2), 5-20.         [ Links ]

Campos-Delgado, D. U.,Hernández-Ordoñez, M, Femat, R., Gordillo-Moscoso, A., (2006), Fuzzy-Based Controller for Glucose Regulation in Type-1 Diabetic Patients by Subcutaneous Route, IEEE Transactions on Biomedical Engineering, 53 (11), 2201-2210.         [ Links ]

Cryer, P.E., (2002). Hypoglycemia: the Limiting Factor in the Glycaemic Management of Type I and Type II Diabetes, Diabetologia, 45, 937-948.         [ Links ]

Foster-Powell, K, Holt, S.H.A. & Brand-Miller, J.C, (2002). International Table of Glycemic Index and Glycemic Load Values: 2002, http://www.ajcn.org/cgi/content/abstract/76/1/5 American Journal of Clinical Nutrition, 76(1), 5–56.

Gross, T.M., Kayne, D., King, A., Rother, C. & Juth, S., (2003). A Bolus Calculator is an Effective Means of Controlling Postprandial Glycemia in Patients on Insulin Pump Therapy, Diabetes Technology & Therapeutics, 5(3), 365-369.         [ Links ]

Jang, J.S.R., Sun, C.T, Mizutani, E., (1997). Neuro-Fuzzy and Soft Computing. A computational approach to learning and machine intelligence, Prentice Hall.         [ Links ]

Jayaraj, N., Cherian, C.M., Vaidyanathan, S.G., (2009), Intelligent Insulin Infuser, Proceedings of the Third UKSim European Symposium on Computer Modeling and Simulation, 74-78.

Jeitler, K., Horvath, K., Berghold, A., Gratzer, T.W., Neeser, K., Pieber, T.R., Siebenhofer, A., (2008). Continuous Subcutaneous Insulin Infusion versus Multiple Daily Insulin Injections in Patients with Diabetes Mellitus: Systematic Review and Meta-analysis, Diabetologia, 51 (6), 914-951.         [ Links ]

Kardar, L., Fallah, A., Gharibzadeh, S., Moztarzadeh, F., (2008). Application of Fuzzy Logic Controller for Intensive Insulin Therapy in Type 1 Diabetic Mellitus Patients by Subcutaneous Route, WSEAS Transactions on Systems and Control, 3 (9), 712-721.         [ Links ]

Mamdani, E.H., Assilian, S. (1975). An Experiment in Linguistic Synthesis with a Fuzzy Logic Controller, International Journal of Man-Machine Studies, 7 (1), 1-13.         [ Links ]

Murillo, S., (2012). Índice Glucémico de los Alimentos, http://www.fundaciondiabetes.org        [ Links ]

Steil, G.M., Rebrin, K., Darwin, C., Hariri, F., & Saad, M.F., (2006). Feasibility of Automating Insulin, Delivery for the Treatment of Type 1 Diabetes, Diabetes, 55, 3344-3350.         [ Links ]

Sugeno, M.,(1985). Industrial Applications of Fuzzy control, Elsevier Science Pub. Co.         [ Links ]

UNED (2014). Guía de Alimentación y Salud. Alimentación en las Enfermedades: Diabetes, http://www.uned.es        [ Links ]

Zisser, H., Robinson, L., Bewier, W., Doyle III, F.J., & Jovanovic, L., (2008). Bolus Calculator: a Review of four “Smart” Insulin Pumps, Diabetes Technology & Therapeutics, 10 (6), 441-444.         [ Links ]

 

Recebido / Recibido: 06/04/2014

Aceitação / Aceptación: 03/06/2014