
Descubre cómo desarrollar una app móvil inteligente capaz de sugerir
posibles enfermedades basándose en una selección de síntomas. Todo sin
escribir una sola línea de código, usando MIT App Inventor y una hoja de
cálculo.
Con este proyecto aprenderás a diseñar una herramienta
interactiva donde podrás ingresar tus síntomas y obtener sugerencias de
enfermedades. Lo más interesante es que toda la inteligencia de filtrado
se alimenta directamente de una hoja de cálculo, haciendo que la gestión
de tus datos sea increíblemente flexible y fácil de actualizar.
Al abrir la aplicación, el usuario se encuentra con una serie de casillas
de verificación (checkboxes) para seleccionar los síntomas más comunes, como
'Fiebre', 'Tos', 'Fatiga' y 'Náuseas'. Cada vez que se marca o desmarca un síntoma y se presiona el botón 'Evaluar', la aplicación está lista para procesar esa información.
Un elemento clave de la interfaz es la gestión del síntoma 'Dolor'. Se sabe
que el dolor puede manifestarse de muchas formas (de cabeza, muscular,
abdominal, etc.). Por ello, se implementó un Spinner (selector desplegable).
Este Spinner permanece oculto por defecto, manteniendo la interfaz limpia.
Solo cuando el usuario marca el checkbox de 'Dolor', el Spinner se hace
visible, ofreciendo una lista de tipos específicos de dolor extraídos
directamente de la base de datos. Esta característica permite una selección
mucho más precisa del síntoma.
Por cada enfermedad, la aplicación calcula un 'puntaje de coincidencias'.
Este puntaje se incrementa por cada síntoma seleccionado por el usuario
que también está presente en la enfermedad que se está revisando en ese
momento. Finalmente, la aplicación aplica una condición, solo las enfermedades que
coinciden con todos los síntomas seleccionados por el usuario (y si el
usuario seleccionó al menos un síntoma) son añadidas a una lista de
resultados.
El resultado de este proceso de filtrado se muestra instantáneamente en un
Visor de Lista en la interfaz de la aplicación. Si una combinación de
síntomas no tiene una enfermedad registrada, la lista se mostrará vacía,
indicando la ausencia de coincidencias.
Esta aplicación es una herramienta informativa y no debe utilizarse
como sustituto del consejo médico profesional.
Hoja de cálculo:
La base de datos fue generada de manera personalizada
utilizando una herramienta de inteligencia artificial usando el siguiente
texto.
"Crea una base de datos en formato de tabla con las siguientes columnas
como encabezado: "Descripción de la enfermedad", "Fiebre", "Tos", "Dolor",
"Fatiga", y "Náuseas". La columna "Descripción de la enfermedad" contendrá
el nombre de diversas enfermedades. Las columnas "Fiebre", "Tos",
"Fatiga", y "Náuseas" estarán llenas solo con los valores "Sí" o "No" para
indicar la presencia o ausencia de ese síntoma en la enfermedad
respectiva. La columna "Dolor" contendrá diferentes tipos de dolor que
pueden experimentar los pacientes, como "Cabeza", "Garganta", "Abdominal",
"Muscular", "Intenso", "Leve", "Puntual", entre otros, o el valor "No" si
la enfermedad no suele presentar dolor. Genera al menos 30 filas de datos
de ejemplo para esta base de datos, incluyendo una variedad de
enfermedades comunes y sus posibles combinaciones de síntomas."
Te comparto la lista de datos que utilicé en Google Sheets para el video
tutorial. Puedes copiarla y pegarla en tu propia hoja de cálculo para
seguir los pasos del tutorial.
Descripción de la enfermedad | Fiebre | Tos | Dolor | Fatiga | Náuseas |
Gripe Común | Sí | Sí | Cabeza | Sí | No |
Resfriado Común | No | Sí | Garganta | Sí | No |
COVID-19 | Sí | Sí | Cabeza | Sí | Sí |
Influenza | Sí | Sí | Muscular | Sí | No |
Migraña | No | No | Cabeza Intenso | No | Sí |
Sinusitis | No | Sí | Facial | No | No |
Amigdalitis | Sí | Sí | Garganta Intenso | Sí | No |
Bronquitis | No | Sí | Pecho | Sí | No |
Gastroenteritis | No | No | Abdominal | Sí | Sí |
Infección Urinaria | No | No | Al orinar | Sí | Sí |
Alergia Respiratoria | No | Sí | No | No | No |
Anemia | No | No | Cabeza | Sí | No |
Deshidratación | No | No | Cabeza | Sí | No |
Estrés | No | No | Cabeza | Sí | Sí |
Hipotiroidismo | No | No | Muscular | Sí | No |
Hipertiroidismo | No | No | No | Sí | No |
Asma | No | Sí | Pecho | No | No |
Reflujo Gastroesofágico | No | No | Pecho | No | Sí |
Ansiedad | No | No | Pecho | Sí | Sí |
Cefalea tensional | No | No | Cabeza Opresivo | No | No |
Neumonía | Sí | Sí | Pecho | Sí | No |
Faringitis | Sí | Sí | Garganta | No | No |
Otitis Media | Sí | No | Oído | No | No |
Conjuntivitis | No | No | Ojo | No | No |
Dermatitis de Contacto | No | No | Piel | No | No |
Artritis | No | No | Articulaciones | Sí | No |
Gota | No | No | Articulaciones Intenso | No | No |
Fibromialgia | No | No | Generalizado | Sí | No |
Síndrome del Túnel Carpiano | No | No | Muñeca | No | No |
Esclerosis Múltiple | No | No | Variable | Sí | Sí |
Parkinson | No | No | No | Sí | No |
Alzheimer | No | No | No | No | No |
VIH/SIDA | Sí | No | Variable | Sí | Sí |
Hepatitis A | Sí | No | Abdominal | Sí | Sí |
Cálculos Renales | No | No | Espalda Intenso | Sí | Sí |
Gastritis | No | No | Abdominal | Sí | Sí |
Estreñimiento | No | No | Abdominal | No | Sí |
Diarrea | No | No | Abdominal | Sí | Sí |
Vértigo | No | No | Cabeza | Sí | Sí |
Herpes Zóster | Sí | No | Piel Intenso | Sí | No |
Si este tutorial te fue útil, no olvides dejarme un me gusta.
¿Qué encontrarás en el archivo descargable?
- El diseño completo del proyecto.
- La programación de los bloques del proyecto.
- Configurar tu propia API de Google Sheets.
- Crear una cuenta de servicio.
- Generar la clave JSON.
- Enlazar el aplicativo con tu hoja de cálculo.
- Completar los bloques de texto con los datos de tu hoja de cálculo.
DiagMedicoV2.aia - 6 KB
- El archivo lo debes de importar en MIT App Inventor en la opción de proyectos e importar proyecto desde mi ordenador.

¿Cómo probar el proyecto?
- En MIT App Inventor presiona en la opción Conectar y AI Companion.

- Se genera un código QR o de 6 caracteres.

- Descarga la aplicación MIT AI2 Companion de forma gratuita en Google Play o App Store.
- Escanea el código QR o ingresa el código de 6 caracteres.
