Files
motor-de-encuestas/sprints/sprint-3-infra/ETAPA_3I2_PROMPT.md
markosbenitez 157e108322 Los triggers 1.1, 1.6, 1.13 muestran solo Sí · No (sin "Prefiero no decir")
Al responder "No" en las tres, el formulario salta a 6.4 (no muestra secciones 2-5 ni 6.1-6.3)
La pregunta 6.6 aparece antes del cierre
Las preguntas multiple_choice muestran el hint "Podés marcar más de una opción"
2026-06-10 15:49:05 -03:00

7.8 KiB
Raw Permalink Blame History

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.0001.500.000 · Gs. 1.500.0003.000.000 · Gs. 3.000.0006.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.