# ETAPA 3I2 — Revisión del instrumento v2.1 (feedback equipo médico) ## 1. Objetivo Aplicar 10 cambios al instrumento "Mapeo de Cuidadores" resultado del feedback del equipo de salud. Los cambios afectan SEED_SPEC.md, seed.sql, y el código del formulario Next.js. --- ## 2. Contexto previo - Instrumento actual: v2, 44 preguntas, 8 secciones, en `SEED_SPEC.md`. - La DB tiene al menos 1 respuesta real. Algunos cambios son breaking para datos existentes (opciones renombradas, tipo cambiado) — documentar en OBSERVATIONS.md, no bloquear. - El formulario Next.js usa un sistema de conditional_rules en el JSON de cada pregunta. - Los 3 triggers (1.1, 1.6, 1.13) controlan bloques condicionales enteros. --- ## 3. DECISIONES YA TOMADAS — no consultar de nuevo - Cambio 4: el salto a 6.4 ocurre cuando las TRES preguntas 1.1, 1.6, 1.13 dan "No" simultáneamente. Si al menos una da "Sí", las secciones 2-5 y 6.1-6.3 se muestran normalmente. - Cambio 4: las secciones 2, 3, 4, 5, 6.1, 6.2, 6.3 se saltean completamente — ir directo a 6.4. - Cambio 5: 2.1 pasa a multiple_choice. Es breaking para datos existentes — documentar, no bloquear. - Cambio 6: 2.4 se elimina del seed. Si hay respuestas con question_id de 2.4, se pierden al re-seedear. Documentar en OBSERVATIONS.md. - Cambio 4: pregunta 6.6 opciones: Sí · No · Tal vez. - Cambio 3: "Tecnología asistiva" va en penúltima posición (antes de "No utilizo"/"No utiliza"). - "Prefiero no decir" se elimina de TODAS las preguntas que lo tengan. --- ## 4. Los 10 cambios — especificación exacta ### Cambio 1 — Eliminar "Prefiero no decir" de todo el instrumento Preguntas afectadas: A5, A6, 1.1, 1.5, 1.6, 1.13, 2.5, 3.1, 3.4. En cada una, eliminar la opción "Prefiero no decir" del array de opciones en seed.sql. En SEED_SPEC.md, eliminarla de la columna Opciones de cada pregunta. ⚠️ Los triggers 1.1, 1.6, 1.13 quedan con solo 2 opciones: Sí · No. La lógica condicional no cambia — solo "Sí" dispara el bloque. ### Cambio 2 — Subtítulo hint en todas las preguntas multiple_choice En el componente del formulario que renderiza preguntas de tipo `multiple_choice`, agregar un subtítulo/hint debajo del prompt: "Podés marcar más de una opción". Preguntas afectadas: 1.2, 1.3, 1.7, 1.8, 1.9, 1.10, 1.15, 2.3, 3.2, 3.3, 4.2, 6.2. Es un cambio de UI — no afecta seed.sql ni SEED_SPEC.md. ### Cambio 3 — Agregar "Tecnología asistiva" en 1.3 y 1.10 1.3 opciones actuales: Silla de ruedas · Bastón · Andador · Muletas · Prótesis · No utilizo 1.3 opciones nuevas: Silla de ruedas · Bastón · Andador · Muletas · Prótesis · Tecnología asistiva · No utilizo 1.10 opciones actuales: Silla de ruedas · Bastón · Andador · Muletas · Prótesis · No utiliza 1.10 opciones nuevas: Silla de ruedas · Bastón · Andador · Muletas · Prótesis · Tecnología asistiva · No utiliza ### Cambio 4 — Salto condicional triple + nueva pregunta 6.6 #### 4a. Lógica de salto Cuando las tres responden "No": 1.1="No" AND 1.6="No" AND 1.13="No", las secciones 2, 3, 4, 5 completas + preguntas 6.1, 6.2, 6.3 se ocultan. El formulario salta directamente a 6.4. Implementación sugerida: agregar una regla condicional en las preguntas de las secciones 2-5 y 6.1-6.3 que las oculte cuando se cumple esa condición triple. La forma exacta de implementarlo (conditional_rules en cada pregunta vs. lógica en el componente de sección) la decide Claude Code según la arquitectura existente del formulario. #### 4b. Nueva pregunta 6.6 Agregar al final de la Sección 6 (después de 6.5, antes de Sección 7): - Code: 6.6 - Tipo: single_choice - Pregunta: "¿Estarías dispuesto/a a ser voluntario/a en iniciativas y/o redes de apoyo a personas con discapacidad y/o cuidadores?" - Opciones: Sí · No · Tal vez - is_sensitive: false - top-level (siempre visible) Actualizar position de 7.1 para que quede después de 6.6. Actualizar el conteo total de preguntas en SEED_SPEC.md (pasa de 44 a 45, o 44 si se compensa con la eliminación de 2.4 — verificar el conteo final). ### Cambio 5 — 2.1 pasa a multiple_choice Cambiar tipo de `single_choice` a `multiple_choice` en seed.sql y SEED_SPEC.md. Agregar nota en SEED_SPEC.md: "⚠️ TECH-DEBT: múltiple selección sin orden de prioridad. Deuda: implementar ranking (Principal cuidador soy yo > secundario instituto > principal pagado > secundario familiar)." ### Cambio 6 — Eliminar 2.4 Eliminar la pregunta 2.4 ("¿Contás con apoyo de otras personas para el cuidado?") del seed.sql y SEED_SPEC.md. Renumerar positions de las preguntas posteriores si es necesario. Documentar en OBSERVATIONS.md: "2.4 eliminada por feedback equipo médico (similar a 2.1)." ### Cambio 7 — En 3.1 eliminar "Sin gastos significativos" El cambio 1 ya elimina "Prefiero no decir" de 3.1. Adicionalmente, eliminar "Sin gastos significativos" de las opciones de 3.1. 3.1 opciones finales: Menos de Gs. 500.000 · Gs. 500.000–1.500.000 · Gs. 1.500.000–3.000.000 · Gs. 3.000.000–6.000.000 · Más de Gs. 6.000.000 ### Cambio 8 — En 3.3 cambiar texto de opción Cambiar: "Es difícil sostenerlo con mis ingresos" Por: "No puedo sostenerlo con mis ingresos" En seed.sql y SEED_SPEC.md. Documentar en OBSERVATIONS.md: "Respuestas existentes con el texto anterior quedan con valor 'Es difícil sostenerlo con mis ingresos' — breaking change en datos existentes." ### Cambio 9 — En 3.4 reestructurar primera franja salarial Opción actual: "Sueldo mínimo – Gs. 5.000.000" Reemplazar por dos opciones: 1. "Sueldo mínimo" 2. "Gs. 3.000.000 a 5.000.000" Las demás franjas no cambian. Documentar en OBSERVATIONS.md: "Respuestas existentes con 'Sueldo mínimo – Gs. 5.000.000' quedan con valor anterior — breaking change en datos existentes." ### Cambio 10 — En 6.1 cambiar texto de última opción Cambiar: "No, nunca se ha hablado del tema" Por: "No, no se puede hablar del tema" En seed.sql y SEED_SPEC.md. Documentar en OBSERVATIONS.md: "Breaking change en datos existentes para esta opción." --- ## 5. Archivos a modificar | Archivo | Cambios | |---|---| | `SEED_SPEC.md` | Todos los cambios de opciones, tipos, preguntas nuevas/eliminadas | | `supabase/seed.sql` | Todos los cambios — es la fuente de verdad para re-seedear | | Componente formulario (multiple_choice) | Cambio 2: agregar hint | | Lógica condicional del formulario | Cambio 4a: salto triple | | `OBSERVATIONS.md` o `TECH_DEBT.md` | Documentar breaking changes y nueva deuda | --- ## 6. Entregables (DoD) - [ ] SEED_SPEC.md actualizado con todos los cambios. - [ ] seed.sql actualizado — re-seedeable desde cero produce el instrumento v2.1. - [ ] Componente multiple_choice muestra hint "Podés marcar más de una opción". - [ ] Lógica de salto 1.1+1.6+1.13 todos "No" → salta a 6.4. - [ ] Pregunta 6.6 visible en el formulario. - [ ] "Prefiero no decir" ausente en todas las preguntas. - [ ] 2.4 eliminada del seed. - [ ] Breaking changes documentados en OBSERVATIONS.md. - [ ] Build exitoso. - [ ] `git diff --name-only HEAD` en scope. ## 7. Qué reportar ``` Verificado: - SEED_SPEC.md actualizado ✓ - seed.sql actualizado ✓ - Conteo final de preguntas: [N] - Hint en multiple_choice: ✓ - Salto triple implementado: ✓ (describir cómo) - 6.6 agregada ✓ - "Prefiero no decir" eliminado de: [lista de preguntas] - 2.4 eliminada ✓ - Build exitoso ✓ - Diff en scope ✓ Breaking changes documentados en OBSERVATIONS.md: - [lista] Asumido: - [decisiones de implementación] ``` ## 8. Qué NO hacer - ❌ No re-seedear la DB de producción — solo actualizar seed.sql. Re-seedear producción requiere aprobación explícita del director. - ❌ No cambiar la estructura de tablas ni agregar columnas — solo opciones y lógica. - ❌ No tocar el dashboard ni las RPCs. - ❌ No resolver ítems de TECH_DEBT que no estén listados acá. - ❌ No cambiar el diseño visual del formulario más allá del hint de multiple_choice.