Especificación de Interfaz · Versión 01 · Agosto 2026
Documento de referencia para el equipo de tecnología. Contiene los prototipos visuales anotados, la lógica del semáforo de riesgo, el modelo de datos y los requerimientos técnicos del módulo DS.
Pantalla 1 de 3
Pantalla de entrada donde el tutor selecciona la especie y el grupo etario de su mascota. Esta selección determina cuál de los 8 formularios se carga. No requiere login en la versión inicial.
Declaración de Salud de tu Mascota
Este cuestionario nos ayuda a conocer mejor el estado de salud de tu compañero.
¿Qué tipo de mascota tienes?
¿Cuántos años tiene tu mascota?
Componentes de esta pantalla
#EAF5F3. Estado: selected.selected.Lógica de selección
La combinación especie + grupo etario determina cuál de los 8 formularios se carga. El formKey generado sigue el patrón {especie}-{grupo} (ej: canino-joven). El código de versión correspondiente se asigna automáticamente.
Pantalla 2 de 3
El formulario se presenta en secciones secuenciales. Una sola sección visible a la vez. El tutor navega con botones Anterior/Siguiente. La barra de progreso muestra el avance total.
Sección 4 de 9
Cuéntanos sobre cualquier problema digestivo o alergia que haya presentado tu mascota.
¿Con qué frecuencia? ¿Había sangre en el vómito?
Componentes del formulario
<700px).(sección_actual / total_secciones) × 100. Transición 0.3s ease.risk: true). Indica al analista en revisión que esta pregunta alimenta el semáforo.#F0F6F5, borde izquierdo 3px teal. Solo aparece en preguntas con campo hint.ynf: aparece textarea de detalle con animación slideDown.Pantalla 3 de 3 · Sistema de Alertas
Al completar el formulario, el sistema calcula automáticamente un puntaje de riesgo basado en las respuestas positivas ("Sí") a preguntas marcadas como críticas. El resultado se muestra en la pantalla de resumen bajo un separador "Uso Interno".
Nuestro equipo revisará la información y te contactará en las próximas 24–48 horas hábiles.
| Nivel | Puntaje | Significado | Acción |
|---|---|---|---|
🟢 VERDE |
0 pts |
Sin hallazgos de riesgo en la declaración | Suscripción recomendada sin restricciones |
🟡 AMARILLO |
1 – 3 pts |
Hallazgos menores o antecedentes leves | Revisión por analista · Posible exclusión de preexistencias o cláusula de espera |
🔴 ROJO |
4 – 8 pts |
Condiciones de salud que elevan el riesgo | Revisión médica obligatoria · Evaluar exclusiones, cláusula o prima diferencial |
⚫ CRÍTICO |
9+ pts |
Múltiples o graves condiciones identificadas | Consulta con aseguradoras · Evaluar rechazo o condicionado especial |
Pesos por tipo de pregunta
risk: true.Componentes
El sistema maneja 5 tipos de pregunta. El tipo ynf es el más frecuente — combina toggle Sí/No con campo de detalle condicional que aparece solo al seleccionar "Sí".
Tipo YN · Sí / No / No sé (sin detalle)
Tipo YNF · Sí / No / No sé + campo de detalle condicional
¿Cuántas veces y cuándo fue la última? ¿Está en tratamiento?
Tipo SELECT · Selección única de lista
Tipo MC · Selección múltiple (checkboxes)
Tipo TXT · Campo de texto libre
El color del estado activo varía: Sí → rojo (alerta), No → verde (ok), No sé → ámbar (pendiente).
Configuración del Sistema
Cada combinación especie × grupo etario carga un formulario con secciones específicas. Las secciones de Identificación, Historia Preventiva, Antecedentes Médicos y Declaración son comunes a todos.
| Código | Especie | Grupo | Rango de Edad | Versión | Secciones Específicas |
|---|---|---|---|---|---|
canino-cachorro | Canino | Cachorro | 5 meses – 1 año | DS-CAN-CAC-001 | Infeccioso, Digestivo, Respiratorio, Congénito, Neurológico |
canino-joven | Canino | Joven | 1.1 – 5 años | DS-CAN-JOV-001 | Digestivo/Alergias, Locomotor, Neurológico, Dérmico, Reproductivo |
canino-adulto | Canino | Adulto | 5.1 – 7 años | DS-CAN-ADU-001 | Cardiovascular, Renal/Urinario, Endocrino, Locomotor, Oncológico |
canino-senior | Canino | Senior | 7.1 – 15 años | DS-CAN-SEN-001 | Cardiovascular, Renal, Endocrino, Locomotor, Cognitivo, Sensorial/Oncológico |
felino-cachorro | Felino | Cachorro | 5 meses – 1 año | DS-FEL-CAC-001 | Resp. Viral (URI), Viral Felino (FeLV/FIV), Digestivo, Congénito |
felino-joven | Felino | Joven | 1.1 – 6 años | DS-FEL-JOV-001 | Urinario FLUTD, Viral Felino, Digestivo, Dérmico, Reproductivo |
felino-adulto | Felino | Adulto | 6.1 – 10 años | DS-FEL-ADU-001 | Renal (ERC), Tiroideo, Cardiovascular, Digestivo (EII), Urinario, Respiratorio/Asma |
felino-senior | Felino | Senior | 10.1 – 15 años | DS-FEL-SEN-001 | Renal (ERC crítico), Tiroideo, Cardio/Hipertensión, Locomotor/Cognitivo, Oncológico/Sensorial |
Experiencia de Usuario
El tutor completa la declaración sin necesidad de crear cuenta ni iniciar sesión en la versión inicial. El formulario se puede acceder desde un link personalizado por póliza enviado vía WhatsApp, email o SMS.
El tutor recibe un link único: ventas.tuseguroparamascotas.com/ds?poliza=XXXXX. El número de póliza puede pre-cargar algunos campos de identificación desde el backend.
Pantalla simple con dos pasos: especie (2 opciones) y grupo etario (4 opciones). Al completar ambos, aparece el botón de inicio con el nombre del formulario que se cargará.
Datos básicos de la mascota y el tutor. Algunos campos pueden pre-llenarse desde el CRM si el número de póliza fue recibido por URL.
El tutor responde las preguntas una sección a la vez. Las respuestas afirmativas revelan campos de detalle adicionales. Las secciones se guardan automáticamente en localStorage al cambiar de sección (auto-save local).
El tutor lee el texto de declaración, marca el checkbox de aceptación, ingresa su nombre y fecha, y envía el formulario.
El tutor ve el banner de "¡Declaración enviada!" con el nombre de su mascota y el tiempo estimado de respuesta. Internamente, el sistema calcula el semáforo y lo muestra debajo del separador "Uso Interno" visible solo para el equipo.
El backend envía una notificación interna (email/webhook) al equipo de analistas con el código de semáforo, el puntaje, y los hallazgos positivos identificados.
Backend
Estructura de datos que debe almacenar el backend por cada declaración de salud enviada.
| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
ds_id | UUID | Identificador único de la declaración | ds_2026_CAC_001 |
form_key | string | Formulario cargado | canino-joven |
version | string | Versión del formulario | DS-CAN-JOV-001 |
poliza_id | string | N° de póliza / expediente | MVO-2026-001234 |
mascota_nombre | string | Nombre de la mascota | Thor |
especie | enum | canino | felino | canino |
grupo_etario | enum | cachorro | joven | adulto | senior | joven |
raza | string | Raza de la mascota | Labrador |
sexo | enum | M | F | M |
fecha_nacimiento | date | Fecha de nacimiento o edad aproximada | 2022-03-15 |
tutor_nombre | string | Nombre completo del tutor | María González |
tutor_cedula | string | Cédula o pasaporte del tutor | V-12345678 |
answers | JSON | Objeto con todas las respuestas: {q_id: "si"|"no"|"ns"|valor} | {"convul":"si","vomito":"no"} |
details | JSON | Textos de detalle para respuestas "Sí": {q_id: "texto libre"} | {"convul":"Hace 6 meses, tratamiento con fenobarbital"} |
risk_score | integer | Puntaje total del semáforo | 5 |
risk_level | enum | verde | amarillo | rojo | critico | rojo |
risk_flags | JSON array | Lista de IDs de preguntas que activaron riesgo con su puntaje | [{"id":"convul","pts":3}] |
declaracion_acepta | boolean | ¿El tutor aceptó la declaración? | true |
fecha_registro | datetime | Fecha y hora UTC del envío | 2026-08-22T14:30:00Z |
ip_origen | string | IP del dispositivo del tutor (para auditoría) | 186.1.2.3 |
canal | enum | web | whatsapp | email | presencial | web |
Especificaciones Técnicas
Frontend
prefers-color-scheme + toggle manual. CSS variables para el sistema de colores.#1A6B60 Teal (primario) · #C97A08 Ámbar (acento) · Ver sistema de tokens completo.Backend
POST /api/ds/submit — recibe el JSON con todas las respuestas y calcula el riesgohealth_declarations con los campos documentados.?poliza=XXX en la URL para pre-cargar datos del expediente desde el CRM.GET /api/ds/{id}/pdf para generar PDF de la declaración firmada (para expediente digital).Integraciones Requeridas