SciELO - Scientific Electronic Library Online

 
vol.22 número2Contenido de azúcar, grasa y sodio en alimentos comercializados en Honduras, según el etiquetado nutricional: prueba para la regulación de alimentos procesados y ultraprocesadosPrevalencia de factores de riesgo de enfermedad cardiovascular en estudiantes universitarios de Santa Fe (Argentina) índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • En proceso de indezaciónCitado por Google
  • No hay articulos similaresSimilares en SciELO
  • En proceso de indezaciónSimilares en Google

Compartir


Revista Española de Nutrición Humana y Dietética

versión On-line ISSN 2174-5145versión impresa ISSN 2173-1292

Rev Esp Nutr Hum Diet vol.22 no.2 Pamplona abr./jun. 2018  Epub 03-Feb-2020

https://dx.doi.org/10.14306/renhyd.22.2.419 

INVESTIGACIONES

Diseño de software para validación dietética de menús nutritivos

Software desing for dietary validation of nutritious menus

Pilar Pozos-Parraa  c  , Oscar Chávez-Bosquezb  *  , Alejandra Anlehu-Telloa 

a División Académica de Ciencias de la Salud, Universidad Juárez Autónoma de Tabasco, Tabasco, México.

b División Académica de Informática y Sistemas, Universidad Juárez Autónoma de Tabasco, Tabasco, México.

c Alta Tecnología Aplicada (ALTEAP), México.

RESUMEN

Introducción

Aunque existe software que apoya la validación de menús nutritivos, el modelo que subyace es desconocido y poco flexible a modificaciones. El objetivo de este trabajo es mostrar un modelo base, descrito en lenguajes estándar, flexible a modificaciones para validar menús nutritivos, así como una herramienta que automatiza el proceso de generación de software a partir de modelos. Aunque el software generado valida las Leyes de la Correcta Alimentación, criterios descritos en la mayoría de las guías alimentarias son incluidos en este modelo, donde la formulación de restricciones puede ser modificada sin necesidad de tener conocimientos en programación.

Material y Métodos

Después de definir los requerimientos al analizar varias guías alimentarias y consultar a nutriólogas de la Universidad Juárez Autónoma de Tabasco, se llevó a cabo el diseño del software e implementación, capturando los valores de las tablas de valor nutritivo de los alimentos de mayor consumo en México que sirvieron como base de datos. Al finalizar, se validaron y verificaron los menús.

Resultados

Se generó un sistema embebido con el que se validaron 7 menús de personas con características variadas, 4 mujeres y 3 hombres, edades entre 18 y 43 años, tallas entre 153 y 178cm, pesos entre 49 y 78kg, y presupuestos entre $60 y $200 pesos mexicanos. Todos los menús fueron también validados por nutriólogas y aceptados como adecuados.

Conclusiones

La elaboración de menús nutritivos para la intervención dietético-nutricional es esencial, este proceso consume demasiados recursos, así al ofrecer herramientas tecnológicas adaptables que automatizan la validación de esta tarea, se apoya en la solución de los problemas de salud directamente relacionados con la alimentación .

PALABRAS CLAVE: Dieta Saludable; Diseño de Sistemas; Nutrición, Alimentación y Dieta; Planificación de Menú

ABSTRACT

Introduction

There is a number of software tools aimed at the validation of healthy menus, but their underlying model remains unknown and they are not very flexible to be modified. The goal of this project is to show a basis model, described in standard computer languages, flexible to be modified and also a related software tool for menu planning and validation. The software tool validates the Laws of Correct Nutrition, criteria described in most of the food guides are included in this model, yet allows to create constraint formulation without having knowledge in programming.

Material and Methods

After the definition of the requirements via food guides analysis, we consult nutrition scientists from Universidad Juárez Autónoma de Tabasco. Then we design the software and implemented it. We capture the values included in the Mexican food tables. We finally validate and verify the model and some menus.

Results

We develop an embedded system in which we perform the validation of 7 menus of people with different characteristics: 4 women and 3 men, ages ranging from 18 to 43 years, heights from 153 to 178 cm, weights from 48 to 78 kg, and budget from $60 to $200 Mexican pesos. These menus were validated by nutrition scientists.

Conclusions

Menu planning for a nutritional-diet point of view is essential, as this is an expensive, resource intensive, and time consuming process. To offer an adaptable software tool which performs menu validation automatically targets the solution of health problems related to feeding.

KEYWORDS: Healthy diet; Software design; Nutrition and diet; Menu planning

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:

  1. Ley de la Cantidad, establece que se debe consumir la cantidad de energía que el cuerpo requiere.

  2. Ley de la Calidad, menciona que se deben consumir alimentos pertenecientes a todos los grupos de alimentos.

  3. Ley de la Armonía, enfatiza la necesidad de guardar una relación en la distribución de los nutrientes ingeridos.

  4. 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.

Figura 1 Modelo de dominio. 

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.

Tabla 1 Factor de Actividad Física (FAF) de acuerdo al nivel de actividad física del individuo27. 

Nivel de actividad Ejemplo FAF
Reposo Individuo sedentário 0
Actividad ligera Oficinista, professional 0,12
Actividad moderada Ama de casa 0,27
Actividad intensa Obrero, atleta 0,54

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.

PT=estatura-150*0,75+50 (1)

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().

GEBmujeres=10*peso+6,25*estatura-5*edad-161  (2)

GEBmujeres=10*peso+6,25*estatura-5*edad+5 (3)

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().

ETA=GEB*0,10 (4)

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().

GAF=GEB*FAF (5)

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().

GET=GEB+ETC+GAF (6)

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.

Figura 2 UI de la aplicación para capturar alimentos base. 

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.

Figura 3 Instancias de la clase Usuario y consulta OCL. 

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.

Figura 4 Instancias de las clases AlimentoBase, Preparacion (una bebida y un platillo) y Menu. 

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.

Tabla 2 Menú válido. 

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.

Figura 5 Menú válido con respecto al modelo. 

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.

REFERENCIAS

1. Organización de las Naciones Unidas para la Alimentación y la Agricultura. Guías alimentarias basadas en alimentos [Internet]. Food and Agriculture Organization of the United Nations. 2018 [citado 2 de abril de 2018]. Disponible en: http://www.fao.org/nutrition/educacion-nutricional/food-dietary-guidelines/home/es/ [ Links ]

2. Gonzalez C, Garnett T. Plates, pyramids, and planets: developments in national healthy and sustainable dietary guidelines: a state of play assessment. Oxford: Food and Agriculture Organization of the United Nations and The Food Climate Research Network; 2016. Disponible en: http://www.fao.org/3/a-i5640e.pdfLinks ]

3. Secretaría de Salud (MX). Norma Oficial Mexicana NOM-043.SSA2-2012, Servicios básicos de salud. Promoción y educación para la salud en materia alimentaria. Criterios para brindar orientación. NOM-043.SSA2-2005 2012. Disponible en: http://www.dof.gob.mx/nota_detalle.php?codigo=5285372&fecha=22/01/2013Links ]

4. Sociedad Española para el Estudio de la Obesidad, Sociedad Española de Endocrinología y Nutrición. ¿Conoces el "plato ideal"? Tu salud está en el plato. SEEDO - SEEN; 2012. Disponible en: http://www.seen.es/docs/apartados/660/folleto-dia-persona-obesa2012.pdfLinks ]

5. U.S. Department of Agriculture. MyPlate. USDA; 2010. Disponible en: https://choosemyplate-prod.azureedge.net/sites/default/files/printablematerials/GettingStartedWithMyPlate.pdfLinks ]

6. Willett WC, Sacks F, Trichopoulou A, Drescher G, Ferro-Luzzi A, Helsing E, et al. Mediterranean diet pyramid: a cultural model for healthy eating. Am J Clin Nutr. 1995; 61(6 Suppl): 1402S-1406S. [ Links ]

7. Téllez ME. Nutrición clínica. 1a ed. México, D.F.: Manual Moderno; 2010. [ Links ]

8. Defranchi RLB de, Nelson JK. Evolution and trends of the dietetics profession in the United States of America and in Argentina: north and south united by similar challenges. Arch Latinoam Nutr. 2009; 59(2): 113-9. [ Links ]

9. Ramos R. Alimentación normal en niños y adolescentes: teoría y práctica. México, D.F.: El manual moderno; 1985. [ Links ]

10. Antico RM. El profesor Dr. Pedro Escudero y su obra. Rev Digital Cienc. 2007; 7(6): 1-5. [ Links ]

11. Bourges H, Bengoa JM, O'Donnell AM. Historias de la Nutrición en América Latina. Publicación SLAN #1. Buenos Aires: Nutricia-Bagó; 2002. Disponible en: https://www.fundacionbengoa.org/publicaciones/images/414/Historias%20Nutrici%C3%B3n.pdfLinks ]

12. Chávez-Bosquez O, Pozos-Parra P. The Latin American laws of correct nutrition: Review, unified interpretation, model and tools. Comput Biol Med. 2016; 70: 67-79. [ Links ]

13. Gogolla M, Büttner F, Richters M. USE: A UML-based specification environment for validating UML and OCL. Sci Comput Program. 1 de diciembre de 2007; 69(1): 27-34. [ Links ]

14. Rumbaugh J, Jacobson I, Booch G. El lenguaje unificado de modelado: Manual de referencia. 2ª ed. Madrid: Pearson Educación; 2007. [ Links ]

15. Pressman RS. Ingeniería del software. Un enfoque práctico. 7ª ed. México, D.F.: McGraw-Hill Interamericana Editores; 2010. [ Links ]

16. Cabot J, Gogolla M. Object Constraint Language (OCL): A Definitive Guide. En: Bernardo M, Cortellessa V, Pierantonio A, editores. Formal Methods for Model-Driven Engineering: 12th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2012, Bertinoro, Italy, June 18-23, 2012 Advanced Lectures. Berlin, Heidelberg: Springer-Verlag; 2012. p. 58-90. (Lecture Notes in Computer Science). Disponible en: https://link.springer.com/chapter/10.1007/978-3-642-30982-3_3Links ]

17. Ziemann P, Gogolla M. Validating OCL Specifications with the USE Tool: An Example Based on the BART Case Study. Electron Notes Theor Comput Sci. 2003; 80: 157-69. [ Links ]

18. Larsson D, Mostowski W. Specifying Java Card API in OCL. Electron Notes Theor Comput Sci. 2004; 102: 3-19. [ Links ]

19. Ortiz López D. Transformación de modelos del estándar de salud HL7 a UML/OCL. Barcelona: Universitat Politècnica de Catalunya; 2011. Disponible en: http://hdl.handle.net/2099.1/12477Links ]

20. Garry D, Balfe T. Experiences Using OCL for Business Rules on Financial Messaging. En: Proceedings of the 12th Workshop on OCL and Textual Modelling. New York, NY, USA: ACM; 2012. p. 65-66. (OCL '12). Disponible en: http://doi.acm.org/10.1145/2428516.2428529 [ Links ]

21. Vogel L. Eclipse Modeling Framework (EMF) - Tutorial [Internet]. vogella.com. 2016 [citado 3 de enero de 2017]. Disponible en: http://www.vogella.com/tutorials/EclipseEMF/article.htmlLinks ]

22. Helming J, Koegel M. EMF Tutorial: What every Eclipse developer should know about EMF. EclipseSource. 2014 [citado 17 de junio de 2016]. Disponible en: https://eclipsesource.com/blogs/tutorials/emf-tutorial/ [ Links ]

23. Chávez A, Ledesma JA, Mendoza E, Calvo C, Castro MI, Ávila A, et al. Tablas de uso práctico de los alimentos de mayor consumo "Miriam Muñoz". 3ª ed. México, D.F.: McGrawHill Education; 2014. [ Links ]

24. Pérez AB, Palacios B, Castro AL, Flores I. Sistema Mexicano de Alimentos Equivalentes. 4ª ed. México, D.F.: Fomento de Nutrición y Salud; 2014. [ Links ]

25. Steinberg D, Budinsky F, Paternostro M, Merks E. EMF: Eclipse Modeling Framework. 2nd ed. Upper Saddle River, NJ: Addison-Wesley; 2008. (Eclipse Series). [ Links ]

26. Chávez-Bosquez O, Pozos-Parra P. Modelo de las Leyes de la Alimentación en OCL. Open Sci Framework [Internet]. 2018; Disponible en: https://osf.io/25fq7/ [ Links ]

27. Perichart O. Manual de lineamientos para la práctica de la nutrición clínica: enfermedades crónico-degenerativas. México, D.F.: McGrawHill; 2012. [ Links ]

28. Ascencio C. Elementos fundamentales en el cálculo de dietas. 2a ed. México, D.F.: El Manual Moderno; 2017. [ Links ]

29. Casanueva E, Kaufer-Horwitz M, Pérz-Lizaur AB, Arroyo P. Nutriología médica. 3ª ed. México, D.F.: Editorial Médica Panamericana; 2008. [ Links ]

30. López LB, Suárez MM. Fundamentos de nutrición normal. Buenos Aires: El Ateneo; 2002. [ Links ]

31. Quintín J. Dietética: nutrición normal. 8ª. México, D.F.: Méndez; 1985. [ Links ]

32. Queralt A, Teniente E. Verification and Validation of UML Conceptual Schemas with OCL Constraints. ACM Trans Softw Eng Methodol. 2012; 21(2): 13:1-13:41. [ Links ]

33. Arjona A. Generación de aplicaciones ricas: EMF Client Platform/Forms. GitBook; 2015. Disponible en: https://legacy.gitbook.com/download/pdf/book/antonioarjona/generacion-de-aplicaciones-emf-platform-formsLinks ]

34. Koegel M, Helming J. Getting started with EMF Forms - EclipseSource. EclipseSource. 2015 [citado 4 de abril de 2016]. Disponible en: https://eclipsesource.com/blogs/tutorials/getting-started-with-emf-forms/ [ Links ]

35. Arancibia PY. Sistema de evaluación nutricional y asignación de menús a minutas utilizando Simulated Annealing. [Valparaíso, Chile]: Pontificia Universidad Católica de Valparaíso; 2012. Disponible en: http://opac.pucv.cl/pucv_txt/txt-3500/UCF3539_01.pdfLinks ]

FINANCIACIÓNEste artículo fue escrito con apoyo por parte del Consejo Nacional de Ciencia y Tecnología (CONACYT), México, con fondos del Doctorado en Ciencias de la Computación de la Universidad Juárez Autónoma de Tabasco.

Recibido: 08 de Junio de 2017; Aprobado: 23 de Mayo de 2018; : 04 de Junio de 2018

* oscar.chavez@ujat.mx

Editor Asignado

Rodrigo Martínez-Rodríguez. Universidad de Murcia. Murcia, España.

Conflicto de intereses

Los autores expresan que no existen conflictos de interés al redactar el manuscrito.

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons