INTRODUCCIÓN
La generación y validación dietética de menús es realizada por expertos en nutrición. Empleando las recomendaciones nutricionales emitidas por expertos, guías alimentarias 1 2 y atributos del paciente, se diseñan menús que satisfacen los requerimientos del paciente para mantener un estado nutricio adecuado. Aunque existen diferentes guías ajustadas a regiones, por ejemplo, en México se tiene el ‘Plato del bien comer’3, en España se tiene el ‘Plato ideal’4, en USA se tiene ‘Myplate’5, existen esquemas reconocidos internacionalmente como adecuados, tal es el caso de la Dieta Mediterránea6, también existen criterios o lineamientos internacionales que son incluidos en la mayoría de las guías, tal es el caso de balance energético, dieta suficiente y dieta equilibrada7.
En Latinoamérica, varias guías incluyen los lineamientos generales que fueron descritos en 1935, por Pedro Escudero, pionero de la nutriología8 y considerado el padre de la Nutrición en Latinoamérica9, los criterios son descritos a través de las cuatro Leyes de la Alimentación (Término equivalente a “Leyes de la Correcta Alimentación”), consideradas como una de sus aportaciones fundamentales10:
Ley de la Cantidad, establece que se debe consumir la cantidad de energía que el cuerpo requiere.
Ley de la Calidad, menciona que se deben consumir alimentos pertenecientes a todos los grupos de alimentos.
Ley de la Armonía, enfatiza la necesidad de guardar una relación en la distribución de los nutrientes ingeridos.
Ley de la Adecuación, la cual insiste en adecuar la alimentación a las necesidades nutritivas, sociales y psicológicas de los individuos.
La importancia de las Leyes de la Alimentación radica en que sirven como norma para el diseño de una adecuada planeación de alimentación diaria11. De hecho, varias guías alimentarias consideran las tres primeras leyes en sus lineamientos con diversos nombres: balance energético, balance calórico, dieta completa, dieta balanceada, dieta equilibrada, entre otros. De cierta forma, se puede decir que el resto de los lineamientos de las guías alimentarias pueden ser asociados a la cuarta ley, pues Escudero dejó abierta la Ley de la Adecuación para integrar el resto de los aspectos no considerados en las tres primeras: culturales, socioeconómicos, psicológicos, emocionales, de medio ambiente, de salud, etc.
Las cuatro leyes fueron enunciadas en lenguaje coloquial, lo que conllevó a interpretarlas de diversas formas y a caer en ambigüedades debido a la falta de rigor del lenguaje natural; de hecho, en la literatura latinoamericana pueden encontrarse interpretaciones discrepantes, sobre todo en portales web. Es por ello que se ha propuesto un modelo12 (constituido por un modelo de dominio e invariantes) que permite una interpretación única. Este modelo emplea dos lenguajes formales estándar: el Unified Modeling Language (UML) para describir el modelo de dominio y el Object Constraint Language (OCL) para describir las invariantes.
Este modelo12 de las Leyes de la Alimentación emplea efectivamente el UML-OCL bajo la plataforma USE (a UML based Specification Environment)13. Sin embargo, para su implementación, se requieren conocimientos de programación para transcribir las restricciones (invariantes) a código (software), teniendo en cuenta el modelo de dominio. Así, el objetivo de este artículo es diseñar un modelo simplificado para mostrar el uso de una herramienta que no requiere conocimientos de programación para generar código a partir del modelo y validar las restricciones. Se emplea el Eclipse Modeling Framework (EMF) para este fin, el que tiene la ventaja de generar automáticamente un prototipo de software que apoya al especialista en nutrición en la elaboración de menús nutritivos. De esta forma el especialista puede modificar el modelo de acuerdo a la guía alimentaria de su elección.
MATERIAL Y MÉTODOS
Lenguajes y plataformas formales
Para la descripción del modelo se emplean los lenguajes formales UML y OCL. El UML es un estándar gráfico para visualizar, especificar, construir y documentar un sistema de software. Es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad, se emplea para describir un modelo del sistema14. No obstante, el UML por sí mismo carece de formatos para especificar restricciones detalladas de las clases (componentes del sistema de información) y los tipos de datos. Para incrementar la expresividad de UML, se crea el OCL, una notación formal que permite describir restricciones adicionales acerca de los objetos en modelos UML y así expresar todos los aspectos relevantes de una especificación15. OCL es un lenguaje sin efectos colaterales que nunca altera los objetos del modelo, sino que completa los diferentes artefactos de la notación UML con requerimientos formalmente expresados. Existen otros lenguajes que incrementan la expresividad del UML, pero OCL es el único que está estandarizado16.
Es importante mencionar que el OCL ha sido utilizado para modelar problemas de diferente índole, por ejemplo, para validar las propiedades de seguridad del sistema de trenes del Metro de San Francisco17, para especificar la API de la tarjeta inteligente Java Card18, para la transformación de estándares para facilitar el intercambio electrónico de información clínica19, o para especificar reglas de negocio de mensajería financiera20.
El EMF es un esquema de modelado estructurado para la construcción de aplicaciones basadas en definiciones de modelos, unificando tres tecnologías: Java, XML y UML, permitiendo la definición de modelos mediante una herramienta de modelado del UML, un esquema XML o especificando anotaciones en interfaces Java; todo ello para cerrar la brecha entre el modelado y la programación21. Dos subproyectos destacan: EcoreTools (ET), un entorno completo para crear, editar y generar automáticamente código fuente a partir de un modelo; y la EMF Client Platform (ECP), un marco para construir aplicaciones cliente basadas en EMF, tanto aplicaciones de escritorio, como web o móviles22. Además, EMF tiene la ventaja de ser software libre, es decir, no se quiere comprar licencias para su uso.
Extracción de datos
El diseño de menús se adapta a las necesidades nutricionales y geográficas, entre otras. Así, aunque el modelo propuesto puede adaptarse a otras regiones, los datos empleados en el software desarrollado fueron los utilizados por nutriólogas/os de la Universidad Juárez Autónoma de Tabasco (Tabasco, México), los valores nutricionales de los alimentos base (ingredientes) se tomaron de tablas empleadas en México23-24, las fórmulas de gasto energético y factores de actividad física son descritos en el modelo más adelante.
Diseño de software a partir de un modelo
El diseño del software se realizó por expertos en computación en la Universidad Juárez Autónoma de Tabasco (Tabasco, México). Se utilizó la metodología RAD (Rapid Application Development) que acelera la construcción de un sistema al basarse en el desarrollo iterativo y la construcción de prototipos. Para conocer los requerimientos del software se revisaron las guías de alimentación y se acudió a clases presenciales en la institución mencionada, donde los nutriólogos describen el proceso de elaboración de menús y se procedió a entrevistar a los expertos para confirmar los pasos del proceso. Una vez definido el proceso, se propone un modelo12, que se simplifica a continuación con fines ilustrativos para generación automática de código. Posteriormente, se emplea EMF para generar código automáticamente. Finalmente, se valida y verifica el modelo en colaboración con las/os nutriólogas/os que harán uso de éste.
Modelado del dominio de menús nutritivos
Para modelar las Leyes de la Alimentación es necesario, en primer lugar, definir el dominio del problema a considerar. Es decir, definir formalmente los conceptos empleados en la elaboración del menú: usuario, alimento base, menú, preparación, actividad física. Para ello, se diseñó el diagrama de clases mostrado en la Figura 1, representando el modelo de dominio. Se utilizó el Paradigma Orientado a Objetos por ser el estándar actual en el diseño de software, junto con la metodología de diseño bottom-down, en la que las partes individuales del sistema se diseñan con detalle y luego se enlazan para formar componentes más grandes, hasta formar el sistema completo.
Las clases son representaciones abstractas de objetos existentes, son la forma de diseño e implementación más utilizada de manera computacional. Una clase contiene atributos y métodos. Los atributos son datos básicos, por ejemplo, en la clase Usuario tenemos los atributos de nombre, género, edad, estatura, peso, actividad física, con patologías y presupuesto; los métodos son operaciones sobre dichos datos, por ejemplo, en la clase Usuario tenemos el método CalcularPT(), cuyo fin es tomar el atributo de estatura y calcular un peso teórico ideal correspondiente al usuario. A su vez, estas clases pueden estar relacionadas entre sí. Otros elementos del diagrama de clases son las enumeraciones, las cuales son tipos de datos que consisten en un conjunto de valores con nombre que se comportan como constantes en el lenguaje de programación, un ejemplo es la enumeración ActividadFísica que considera 4 contantes designando los tipos de actividad física: reposo, ligera, moderada e intensa. A una variable que ha sido declarada de tipo enumerado sólo se le puede asignar como valor cualquiera de los miembros de esa enumeración.
La Figura 1 muestra el modelo de dominio propuesto, diseñado en el editor de diagramas visual del entorno EcoreTools versión 1.2 para generar el meta-modelo Ecore. Se le denomina meta-modelo ya que es posible crear modelos a partir de éste25 (en el resto del documento se utilizará modelo y meta-modelo indistintamente). El diagrama resultante se almacena en formato XML Metadata Interchange (XMI), especificación estándar para el intercambio de diagramas UML entre diferentes herramientas de modelado. El modelo propuesto en este trabajo simplifica el modelo previo12 para generar las interfaces gráficas necesarias en la validación de menús.
Este nuevo modelo se encuentra disponible en la plataforma en línea Open Science Framework26. La información técnica, el código fuente y los ejemplos se encuentran disponibles con licencia libre (http://doi.org/10.17605/OSF.IO/25FQ7).
El modelo de la Figura 1 se puede interpretar como sigue: un menú consta de un conjunto de preparaciones y se prescribe a un usuario en particular, los macronutrientes y la energía que proporciona el menú se calculan a partir de las preparaciones; una preparación se compone de un conjunto de alimentos base, los macronutrientes y la energía que proporciona la preparación se calculan a partir de los alimentos base, la preparación puede ser una bebida o un platillo y se ingiere en un momento particular del día; un usuario tiene diversas características y requerimientos de nutrientes, y se relaciona con un conjunto de alimentos preferidos y un conjunto de alimentos que no tolera; un alimento base es una sustancia indivisible que contiene nutrientes específicos y que pertenece a cierto grupo alimenticio.
A continuación, se describen los elementos del modelo de dominio, es decir, las enumeraciones, clases y sus relaciones.
Enumeraciones
Las seis enumeraciones requeridas son:
Genero: Utilizada en la clase Usuario, es un conjunto de dos valores identificados como femenino y masculino.
Actividad Fisica: Utilizada en la clase Usuario, conjunto con 4 tipos de actividad física (ver Tabla 1).
Grupo Alimenticio: Utilizada en la clase Alimento Base, clasificación global de los alimentos basada en el plato ideal propuesto por la Sociedad Española de Endocrinología y Nutrición (SEEN)4: Frutas, Verduras, Cereales y Proteínas. Se agregó el grupo denominado ‘Otros’ para considerar alimentos que no se encuentran clasificados en el plato ideal de la SEEN.
Unidad De Medida: Utilizada en la clase AlimentoBase, conjunto de unidades típicamente empleadas para medir los alimentos.
Momento De lDia: Utilizada en la clase Preparacion, conjunto que especifica seis momentos del día en los que se ingieren los alimentos.
Tipo Preparacion: Utilizada en la clase Preparacion, conjunto de dos valores que especifican un tipo de preparación: bebida o platillo.
Clases y sus relaciones
La clase Usuario representa a la persona con características particulares que requiere de un menú. Los requerimientos del usuario son implementados en los métodos de la clase y son calculados como sigue:
Para obtener el peso teórico (PT) del individuo se utiliza la Ecuación 1 28, modelada con el método calcularPT() en la especificación de la clase Usuario.
Para obtener el requerimiento energético del usuario en estado sedentario o de reposo, conocido como Gasto Energético Basal (GEB), se utiliza la ecuación de Harris-Benedict revisada por Mifflin & St Jeor27, empleada para calcular el GEB en mujeres (Ecuación 2) y otra que permite calcular el GEB en hombres (Ecuación 3). Este par de ecuaciones se modelan con el método calcularGEB().
El Efecto Termógeno de los Alimentos (ETA) consiste en el gasto energético que se necesita para procesar los alimentos, 10% del GEB29 (Ecuación 4). Esta ecuación se implementa en el método calcularETA().
El Gasto por Actividad Física (GAF) del usuario se obtiene a partir de la Tabla 1. El Factor de Actividad Física (FAF) es el porcentaje del GEB que se emplea dependiendo la actividad física del individuo27 (Ecuación 5). La Ecuación 5 se modela con el método calcularGAF().
El Gasto Energético Total (GET) corresponde a la recomendación diaria de calorías para satisfacer los requerimientos del usuario29, para ello al GEB se le suma el ETA y el GAF (Ecuación 6). La Ecuación 6 se modela mediante el método calcularGET().
La relación entre la clase Usuario y la clase AlimentoBase existe en dos formas, dado que un usuario puede tener un conjunto de alimentos que le agradan y un conjunto de alimentos intolerables. Estas relaciones se representan con las propiedades favoritos e intolerables dentro de la especificación de la clase Usuario.
La clase AlimentoBase representa a todas aquellas sustancias ingeribles que pertenecen a alguno de los grupos alimenticios (e.g. manzana, queso o miel). En las preparaciones, estos alimentos constituyen los ingredientes. En este caso, la clase carece de métodos.
La clase Preparacion representa tanto a bebidas como a platillos. Las bebidas corresponden a preparaciones líquidas que pueden ingerirse durante un momento del día (comida completa) (e.g. 8oz de jugo de naranja con betabel, 250mL de horchata de arroz, o 1 taza de café). Los platillos corresponden a preparaciones sólidas que pueden ingerirse durante una comida completa (e.g. platillo denominado “moros y cristianos” consistente de 40g de frijoles y 70g de arroz).
Para calcular la energía, carbohidratos, proteínas, lípidos y precio de la preparación, existe el método apropiado dentro de la clase Preparacion que calculan estos valores a partir de los ingredientes que contiene. La clase Preparacion contiene 1 o más alimentos base. Esta relación de composición entre la clase Preparacion y AlimentoBase se representa mediante la propiedad ingredientes.
La clase Menu modela el conjunto particular de preparaciones que debe ingerir el usuario durante el día para satisfacer sus requerimientos. La relación de composición se da entre la clase Menu y las clases Usuario y Preparacion, dado que un menú existe cuando se compone de 1 o más preparaciones y se asocia únicamente a 1 usuario.
La energía, carbohidratos, proteínas, lípidos y precio del menú se obtienen empleando métodos que calculan estos valores a partir de los atributos de las preparaciones del menú.
Modelado de las Leyes de la Correcta Alimentación
Para la especificación de las restricciones, se diseñó una invariante para cada una de las leyes. Una invariante es una regla bien formada que define una restricción sobre una clase en particular, en este caso, las restricciones enunciadas en las Leyes de la Alimentación son definidas sobre la clase Menu.
Por el momento, este modelo considera únicamente usuarios adultos, con un peso dentro de un rango del 10% alrededor de su peso teórico ideal, y sin patologías. Es decir, individuos de entre 18 y 60 años, sin sobrepeso ni bajo peso, con una talla o estatura estándar y sin enfermedades. El rango de porcentaje para considerar que un individuo posee un peso aceptable, es de 90-110% del peso teórico que se obtiene mediante la Ecuación 1. Es decir, si el peso real del usuario se encuentra dentro de este rango se considera que el individuo no posee bajo peso ni sobrepeso27. Las unidades de medida del peso, estatura y edad son kg, cm y años, respectivamente.
La Ecuación 1 permite determinar el peso teórico a partir de la estatura de un individuo, sin embargo, se establece para la estatura estándar el límite inferior de 142cm y el límite superior de 191cm, restricción impuesta para que la Ecuación 1 provea pesos teóricos aceptables27.
Estas restricciones se establecen en las invariantes de la clase Usuario, las cuales definen usuarios adultos sanos dentro del rango de peso aceptable y estatura acotada.
Ley de la Cantidad
“La cantidad de la alimentación debe ser suficiente para cubrir las exigencias calóricas del organismo y mantener el equilibrio de su balance”30. Para determinar si la alimentación es suficiente se debe estimar el gasto calórico o energético del individuo, no existe una fórmula de estimación estándar, sin embargo, se consideran las necesidades basales relativas a la edad, género, peso, talla y estado fisiológico o patológico, a las que debe añadirse el costo térmico del proceso de los alimentos, y otros factores, tales como el gasto energético empleado en la realización de actividad física. Así, un balance calórico es adecuado cuando la cantidad de calorías que se ingieren durante el día se aproxima al gasto calórico del individuo. En este estudio se propone emplear la Fórmula 6 para estimar este gasto, sin embargo, el modelo es flexible y puede ser adaptado empleando otras fórmulas para la estimación de este gasto, incluso se puede adaptar a los datos calóricos calculados por dispositivos de monitoreo de actividad física y presión o relojes inteligentes.
Toda alimentación que cumpla con esta ley se considera suficiente. Si no cubre las exigencias calóricas para mantener el balance es insuficiente, y si el aporte es superior a las necesidades se considera excesiva31.
La invariante LeyDeLaCantidad establece que los alimentos ingeridos deben aportar las cantidades calóricas requeridas para satisfacer las exigencias energéticas del cuerpo (GET), con un margen de error del 10%.
Ley de la Calidad
“El régimen de alimentación debe ser completo en su composición para ofrecer al organismo, que es una unidad indivisible, todas las sustancias que lo integran”30. Esta ley establece que los alimentos ingeridos contengan los nutrimentos de cada grupo de alimentos3, y puede cumplirse considerando los grupos de alimentos establecidos en las guías de alimentación. Algunas de las guías de alimentación más conocidas son: el ‘Plato ideal’4, ‘Plato del bien comer’3, o ‘MyPlate’5. Estas guías esquematizadas como “platos” dividen los alimentos en grupos, con base en su composición y en el aporte de nutrimentos.
Aquella alimentación que cumple con esta ley se considera completa. Aquella en la cual, un principio nutritivo falta o se halla considerablemente reducido se denomina carente31.
La invariante Ley De La Calidad menciona que los alimentos consumidos durante el día deben contener los nutrientes necesarios provenientes de los 5 grupos de alimentos propuestos por la SEEN4.
Ley de la Armonía
“Las cantidades de los diversos principios nutritivos que integran la alimentación deben guardar una relación de proporciones entre sí”30. Para mantener la relación armónica en las cantidades de los macronutrientes (carbohidratos, proteínas y lípidos), actualmente se establece que, del aporte calórico diario, los carbohidratos deben cubrir entre el 50-70%, las proteínas entre el 10-20% y los lípidos entre el 25-35%7, donde la suma de porcentajes de los tres nutrientes es el 100%. Los macronutrientes contienen calorías, donde cada gramo de carbohidratos aporta 4kcal, cada gramo de proteínas aporta 4kcal y cada gramo de grasas aporta 9kcal.
Toda alimentación que cumple con esta ley se considera armónica, equilibrada o como se le conoce coloquialmente, balanceada. Si los principios nutritivos no guardan esta proporción, el régimen es disarmónico o desequilibrado31.
La invariante LeyDeLaArmonia indica que los macronutrientes contenidos en los alimentos deben guardar la relación de proporción mencionada. Además, en conjunto con la invariante LeyDeLaCantidad se valida que la suma de la energía consumida a través de los macronutrientes no exceda el ±10% del GET del usuario (ver detalles en línea26).
Ley de la Adecuación
“La finalidad de la alimentación está supeditada a su adecuación al organismo”30. La Ley de la Adecuación señala que los nutrientes ingeridos deben ser acordes a la edad, actividad física y estado fisiológico del individuo, cultura, religión, entre otros factores. Las invariantes de usuario descritas en el modelo contemplan únicamente a individuos sanos mayores de edad. Sin embargo, esta última ley representa aspectos no considerados en las precedentes. Así, la alimentación se debe adaptar a gustos, hábitos, tendencias, y situación socioeconómica del usuario30. Cuando no se cumple con esta ley, el régimen de alimentación se considera inadecuado o incorrecto31.
La invariante LeyDeLaAdecuacion propone la adecuación del menú considerando tanto la preferencia como la intolerancia a ciertos alimentos, y contemplando la situación económica del usuario.
En el modelo propuesto sólo se incluyen algunos aspectos de esta ley, sin embargo, los expertos en nutrición pueden detallar los parámetros que deben incluirse para complementar el modelado de esta ley, incluso el modelo puede extenderse e incluir lineamientos de guías alimentarias específicas.
RESULTADOS
Verificación y validación del modelo
La verificación del modelo responde a la pregunta “¿Es correcto el modelo?”, mientras que la validación del modelo responde a la pregunta “¿Es el modelo correcto?”32. Para responder a la primera pregunta, el OCLinEcore Editor verifica la correcta sintaxis y semántica de las restricciones con respecto al modelo de dominio. Esta funcionalidad es posible en tiempo de ejecución mientras se escribe el código, de tal manera que se garantiza que las invariantes se encuentran bien formuladas.
Para responder a la segunda pregunta, se generó una aplicación embebida en el Entorno Eclipse a partir del modelo de la Figura 1 bajo el patrón de diseño denominado Modelo-Vista-Controlador (MVC). Las aplicaciones desarrolladas bajo este patrón separan los datos y la lógica de negocio (el modelo), la gestión de eventos (el controlador) y la interfaz de usuario (la vista o UI por las siglas en inglés de User Interface) en tres componentes distintos pero relacionados entre sí15. El código fuente del modelo fue generado automáticamente vía EcoreTools, el controlador es gestionado por el Entorno Eclipse, y la vista se generó empleando la EMF Client Platform (ECP).
ECP contiene el componente EMF Forms, que facilita el desarrollo de UIs por medio de formularios, al permitir la descripción de UIs mediante un modelo Ecore en lugar de escribir el código manualmente. La ventaja principal, aparte de la creación automática de la vista, es que las UIs pueden actualizarse sin esfuerzo al modificar el modelo33. Además, ECP permite renderizar la vista hacia web, aplicación de escritorio Swing, JavaFX, aplicación SWT, o aplicación embebida34.
En la Figura 2 se muestra el formulario creado para la clase AlimentoBase. Mediante esta interfaz se pueden ingresar los datos de cada instancia de un alimento, esto es, los ingredientes de cualquier preparación. En el caso de que diferentes preparaciones requieran el mismo alimento, simplemente se crean distintas instancias de la clase AlimentoBase y se asocian a la preparación correspondiente.
Las instancias de cada entidad son almacenadas en un repositorio local en formato XML Metadata Interchange (XMI), especificación estándar para el intercambio de diagramas UML entre diferentes herramientas de modelado. Es posible visualizar, editar y eliminar instancias del repositorio, así como conectar la aplicación a una base de datos.
Para generar un menú nutritivo de acuerdo a este modelo, se utilizó la información de nutrientes contenida en las “Tablas de valor nutricional de los alimentos”23, así como en las “Tablas de alimentos Equivalentes”24 que emplean los nutriólogos en México para el diseño de menús; los precios de los productos se tomaron de un supermercado del sur de México. De esta manera se valida y verifica el modelo, al crear instancias válidas para cada clase y cada relación cumpliendo con las invariantes32.
Para validar menús, en primer lugar, se define el usuario del menú, un ejemplo de características se muestra en la Figura 3 (izquierda). En este caso se trata de una mujer cuya edad, estatura, peso y estado de salud son validadas por las invariantes definidas en la clase Usuario; y puede observarse que este usuario tiene un alimento ‘favorito’ y uno ‘intolerable’. En la Figura 3 (izquierda) se muestra el uso de la consola interactiva del OCL (Interactive OCL) al consultar los valores de la instancia. Un ejemplo de usuario no válido se muestra en la Figura 3 (derecha). En este caso se trata de una instancia vacía, en la cual no se cumplen las invariantes establecidas para un usuario válido.
Dado que los elementos básicos de un menú son los alimentos base, éstos son los primeros elementos en describirse. En la Figura 4 (arriba-izquierda) se muestra una instancia de un AlimentoBase, correspondiente a 1 taza de jugo de naranja.
Una vez instanciados los alimentos base, éstos se utilizan para crear las preparaciones (platillos y bebidas). En la Figura 4 (arriba-derecha) se muestra una instancia de una bebida y en la Figura 4 (abajo-izquierda) se muestra una instancia de un platillo. Estos platillos y bebidas componen el menú final. En la Figura 4 (abajo-derecha) se muestra la instancia del menú válido detallado en la Tabla 2.
Ingrediente | Energía (kcal) | HC (kcal) | PT (kcal) | F (kcal) | Cant. | Unidad | Gramos | Precio (MXN) |
---|---|---|---|---|---|---|---|---|
DESAYUNO | ||||||||
Ensalada de frutas | ||||||||
Yogur natural | 12,60 | 0,94 | 0,70 | 0,66 | 2 | Cucharada sopera | 20 | $0,59 |
Melón chino | 20,30 | 4,41 | 0,42 | 0,07 | 1/2 | Taza | 70 | $1,86 |
Mango | 32,50 | 8,50 | 0,25 | 0,13 | 1/2 | Pieza | 50 | $4,50 |
Plátano | 44,50 | 11,42 | 0,54 | 0,16 | 1/2 | Pieza | 50 | $0,65 |
Jugo de naranja con zanahoria | ||||||||
Jugo de naranja (promedio) | 110,40 | 24,96 | 1,68 | 0,48 | 1 | Taza | 240 | $8,16 |
Jugo de zanahoria (enlatado) | 48,00 | 11,13 | 1,14 | 0,18 | 1/2 | Taza | 120 | $3,36 |
Agua natural | ||||||||
Agua natural | 9,60 | 0 | 0 | 0 | 1 | Taza | 240 | $0,78 |
COLACIÓN MATUTINA | ||||||||
Pan untado | ||||||||
Pan integral de centeno | 77,40 | 14,49 | 2,55 | 0,99 | 1/2 | Pieza | 30 | $1,92 |
Crema de cacahuate | 59,40 | 2,53 | 1,73 | 5,14 | 1 | Cucharada sopera | 10 | $1,34 |
Miel de abeja | 30,4 | 8,24 | 0,03 | 0 | 1 | Cucharada sopera | 10 | $1,47 |
Agua natural | ||||||||
Agua natural | 9,60 | 0 | 0 | 0 | 2 | Taza | 480 | $1,56 |
ALMUERZO | ||||||||
Carne con papas | ||||||||
Carne de res grasosa sin hueso | 293,00 | 0 | 16,00 | 25,40 | 1/2 | Taza | 100 | $13,70 |
Papa (promedio) | 77,00 | 11,43 | 2,02 | 0,09 | 1 | Pieza | 100 | $1,79 |
Jitomate | 10,80 | 2,35 | 0,52 | 0,12 | 1/2 | Pieza | 60 | $1,07 |
Harina de maíz integral | 19,70 | 3,94 | 0,41 | 0,25 | 1 | Cucharadita | 5 | $0,08 |
Cebolla blanca | 8,00 | 1,66 | 0,22 | 0,02 | 2 | Cucharada sopera | 20 | $0,54 |
Ajo | 4,47 | 0,99 | 0,19 | 0,01 | 1/2 | Cucharadita | 3 | $0,63 |
Orégano | 3,06 | 0,64 | 0,11 | 0,10 | 1 | Pizca | 1 | $1,14 |
Sal | 0 | 0 | 0 | 0 | 1 | Pizca | 1 | $0,01 |
Pimienta | 2,55 | 0,64 | 0,10 | 0,03 | 1 | Pizca | 1 | $0,76 |
Aceite de maíz | 45,00 | 0 | 0 | 5,00 | 1 | Cucharadita | 5 | $0,16 |
Ensalada verde | ||||||||
Lechuga romana | 14,00 | 2,97 | 0,90 | 0,14 | 1 | Taza | 100 | $3,17 |
Berro | 11,00 | 1,29 | 2,30 | 0,10 | 1 | Taza | 100 | $5,27 |
Jugo cóctel V8 | 12,60 | 2,46 | 0,48 | 0,06 | 1/4 | Taza | 60 | $1,50 |
Sal | 0 | 0 | 0 | 0 | 1 | Pizca | 1 | $0,01 |
Agua de pepino (mineralizada) | ||||||||
Agua mineral | 0 | 0 | 0 | 0 | 2 | Taza | 480 | $3,48 |
Pepino | 12,00 | 2,16 | 0,59 | 0,16 | 1/2 | Pieza | 100 | $1,69 |
Azúcar morena | 76,00 | 19,61 | 0,02 | 0 | 2 | Cucharada sopera | 20 | $0,47 |
COLACIÓN VESPERTINA | ||||||||
Botana de queso | ||||||||
Queso fresco de cabra | 174,00 | 8,70 | 23,60 | 5,00 | 1/2 | Pieza | 100 | $21,25 |
Tortilla enriquecida (6% soya) | 52,20 | 10,38 | 1,86 | 0,36 | 1 | Pieza | 30 | $1,50 |
Sal | 0 | 0 | 0 | 0 | 1 | Pizca | 1 | $0,01 |
Agua natural | ||||||||
Agua natural | 9,60 | 0 | 0 | 0 | 2 | Taza | 480 | $1,56 |
CENA | ||||||||
Pimiento relleno | ||||||||
Chile pimiento sin semilla | 40,60 | 7,42 | 1,26 | 0,70 | 1 | Pieza | 140 | $2,79 |
Elote amarillo (maíz amarillo tierno) | 157,00 | 30,70 | 3,60 | 1,40 | 1/2 | Taza | 100 | $2,50 |
Cebolla morada | 3,50 | 0,77 | 0,08 | 0,01 | 1 | Cucharada sopera | 10 | $0,28 |
Aceitunas | 9,95 | 0,16 | 0,06 | 1,00 | 1 | Cucharadita | 5 | $0,35 |
Vinagre | 0,10 | 0,03 | 0 | 0 | 1 | Cucharada sopera | 10 | $0,11 |
Aceite de oliva | 90,00 | 0 | 0 | 10,00 | 1 | Cucharada sopera | 10 | $1,71 |
Sal | 0 | 0 | 0 | 0 | 1 | Pizca | 1 | $0,01 |
Agua mineral | ||||||||
Agua mineral | 0 | 0 | 0 | 0 | 2 | Taza | 480 | $3,48 |
Cuando el menú se valida y cumple con las 4 Leyes de la Alimentación, se muestra un letrero con el resultado de validar la instancia del menú, como se muestra en la Figura 5 para el menú presentado. Esto indica que cada una de las diferentes instancias que componen el menú es válida.
Se validaron con el apoyo del software 7 menús, incluido el descrito, los cuales fueron generados por el experto en computación que modeló las leyes, posteriormente estos menús también fueron validados por las/os nutriólogas/os solicitantes del software. También el software se empleó para analizar un menú proporcionado en un gimnasio, descrito en Figura 3 (izquierda), donde se pudo observar que el menú era hipercalórico, hiperproteico e hiperlipídico, y se adaptó para satisfacer las restricciones.
DISCUSIÓN
La consultoría alimentaria evoluciona continuamente a la luz de nuevas evidencias de efectos sobre la salud de diferentes alimentos o nutrientes y de los planes y programas de salud pública. La orientación se provee en dos niveles: referencias diarias de valores de nutrientes (basado en extensas revisiones de literatura, y destinadas a profesionales) y directrices dietéticas basadas en alimentos (basadas en referencias diarias y destinadas al público general, generalmente con apoyo visual como pirámides, platos o diagramas). Las guías alimentarias se adaptan a las necesidades nutricionales, geográficas, condiciones económicas y culturales dentro de las cuales operan. Para cerrar la brecha entre los diferentes niveles es importante proveer herramientas tecnológicas de uso libre como el modelo y software presentados en este artículo, así los programas de educación nutricional pueden servirse no sólo de herramientas visuales, sino también informáticas.
Dada la dificultad de encontrar estándares respecto al modelo de la correcta alimentación, se realizó una revisión de diversas fuentes bibliográficas y se seleccionaron las entidades representativas que forman parte del proceso de diseño de menús para representar mediante una semántica precisa, lineamientos comunes que se encuentran en la literatura especificadas en lenguaje natural.
Dos modelos similares se describen en la literatura12 35, sin embargo, en el primer caso, éste carece de un prototipo de software que asista al nutriólogo y en el segundo, éste no posee una forma de validar y verificar el modelo. Consideramos que es esencial mapear el modelo a un sistema de información, pero antes, dicho modelo debe ser validado y verificado rigurosamente.
Se utilizó el OCL para el modelado de las Leyes de la Correcta Alimentación debido a su expresividad, donde las especificaciones puedan ser leídas tanto por investigadores del área de Computación como por los del área de la Salud, ya que, a diferencia de algunos formalismos matemáticos, la sintaxis del OCL es más amigable y facilita cerrar la brecha entre las áreas de computación y nutrición.
El EMF permitió la verificación y la creación automática del código fuente del modelo, así como el desarrollo de las UIs. Con ello se creó una aplicación “embebida” dentro del Entorno Eclipse que permitió crear las instancias dinámicas con las cuales se validó el modelo.
Existe un área de oportunidad en cuanto a la adición de reglas y restricciones en el modelo propuesto. Por ejemplo, el cumplimiento de las leyes no impide diseñar un menú con una comida al día, en la que se consuma la energía y los nutrientes necesarios para el usuario: práctica evitada por la mayoría de los nutriólogos. De igual manera es imperativo contemplar distintas combinaciones de alimentos para evitar incompatibilidades que generen reacciones adversas al usuario. En ambos casos, el especialista en nutrición utiliza conocimientos adicionales no contemplados por las cuatro leyes que pueden ser incluidos en el modelo.
Considerar usuarios con patologías es un trabajo futuro, así como las respectivas pruebas de usabilidad con diferentes especialistas del área de nutrición.
Entre las limitaciones de este estudio, la metodología empleada RAD (Rapid Application Development) para las pruebas o testeos tiene implícito el desarrollo de diferentes versiones para mejorar software, sin embargo, se trata de una propuesta preliminar, por lo que este prototipo sólo ha sido utilizado por una nutrióloga. En trabajos futuros se considerará el testeo en una población más grande.
CONCLUSIONES
Se espera que el presente modelo sea usado como referencia para diseñar menús nutritivos bajo el esquema de las Leyes de la Alimentación, que sirva como base para modelar las características de la alimentación en varias partes del mundo y que permita modelar problemas y soluciones del área de salud relacionadas con una alimentación incorrecta, manteniéndose en un marco formal describiendo sin ambigüedad los términos a considerar. Se tiene previsto difundir el uso del prototipo de software propuesto para asistir al especialista en nutrición (o en general a cualquier usuario interesado en el tema) en el cálculo y validación de menús nutritivos.