Files
motor-de-encuestas/supabase/seed.sql
markosbenitez aa893368cd feat(schema): esquema declarativo + seed v3 del formulario [4B]
Extiende questions con instance_generator/instance_of/hint.
Instrumento v3 completo (10 secciones, 50 preguntas) como datos declarativos.
Operadores de flujo para multiple_choice: contains, eq_sole.
Flujo del formulario en el esquema, no en presentación (ADR-005).
Seed solo reemplaza catálogo; no toca evidencia de consentimiento (ADR-003).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 21:03:01 -03:00

738 lines
57 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================================
-- seed.sql — Instrumento "Mapeo de Cuidadores" v3.0.0
-- 10 secciones · 40 preguntas (2 consentimiento + 38 encuesta)
--
-- Fuente autoritativa:
-- Textos de preguntas y opciones: Formulario_Mapeo_Corregido.xlsx (versión corregida)
-- Estructura de secciones y flujo: wizard_formulario_mapeo_v3.html +
-- confirmación directora: recorrido soloNino = 5.3 → 8.4 → 9.1 → 9.4
--
-- Requiere migración aplicada: 20260620000002_form_schema_v3.sql
-- (agrega columns hint, instance_generator, instance_of a questions)
--
-- ⚠ SOLO ENTORNOS DE DESARROLLO — nunca ejecutar en producción.
-- En producción: aplicar migraciones manualmente vía CLI del VPS.
-- El seed SOLO reemplaza catálogo (questions de las 3 encuestas vía
-- DELETE+INSERT). NUNCA toca answers/consent_records/responses — son
-- evidencia permanente (ADR-003); el trigger de inmutabilidad lo
-- impide y no se debe forzar. Reset de datos de prueba: TRUNCATE aparte.
--
-- Flujo declarativo (ADR-005 — lógica en datos, renderer es puro):
-- 3.1 = 'No' → oculta 3.23.5 (discapacidad propia no aplica)
-- 4.1 ∋ 'Ninguna...' → oculta S5S9 (salta a S10)
-- 4.1 = sole 'Hijo menor sin discapacidad' (soloNino):
-- → oculta 5.1, 5.2, 5.4, S6, S7, 8.18.3, 9.2, 9.3
-- → muestra 5.3, 8.4, 9.1, 9.4
--
-- UUIDs:
-- orgs: 10000000-0000-0000-0000-00000000000{1,2,3}
-- cv-v1: 20000000-0000-0000-0000-000000000001 (preservado)
-- cv-v2: 20000000-0000-0000-0000-000000000002 (instrumento v3)
-- surveys: 30000000-0000-0000-0000-00000000000{1,2,3}
-- preguntas: gen_random_uuid() — v3 es seed limpio
-- ============================================================
-- ── Organizaciones ────────────────────────────────────────────
INSERT INTO public.organizations (id, name, sector, size_bucket) VALUES
('10000000-0000-0000-0000-000000000001', 'Empresa Demo S.A.', 'Servicios', '100-500'),
('10000000-0000-0000-0000-000000000002', 'InQuality', 'Consultoría/Tecnología', '1-50'),
('10000000-0000-0000-0000-000000000003', 'Fundación Solidaridad', 'Sociedad Civil/ONG', '1-50')
ON CONFLICT (id) DO UPDATE SET
name = EXCLUDED.name,
sector = EXCLUDED.sector,
size_bucket = EXCLUDED.size_bucket;
-- ── Consent versions ──────────────────────────────────────────
-- v1: texto original (preservar — lo referencian consent_records existentes)
INSERT INTO public.consent_versions (id, version, body, scopes)
VALUES (
'20000000-0000-0000-0000-000000000001', 'v1',
'Esta encuesta es completamente anónima: no registramos tu nombre ni ningún dato que permita '
'identificarte. Tus respuestas se usan para (1) ayudar a tu empresa con apoyos sobre cuidado y '
'discapacidad, y (2) un estudio nacional anonimizado. Al ser anónima, no es posible retirar '
'ni modificar tu respuesta una vez enviada.',
'["operativo","macro_n1"]'::jsonb
) ON CONFLICT (id) DO NOTHING;
-- v2: texto revisado para instrumento v3.0.0 (Formulario_Mapeo_Corregido.xlsx — S1 intro)
INSERT INTO public.consent_versions (id, version, body, scopes)
VALUES (
'20000000-0000-0000-0000-000000000002', 'v2',
'Esta es una encuesta sobre el cuidado de familiares con discapacidad o adultos mayores en '
'situación de dependencia, y cómo este cuidado impacta en el trabajo. '
'Tu participación es voluntaria y anónima, y no afecta de ninguna manera tu situación laboral. '
'No hay respuestas correctas ni incorrectas: solo nos interesa tu experiencia. '
'Te va a llevar entre 3 y 10 minutos, según tu situación. '
'Tu privacidad es muy importante. No te pedimos datos que te identifiquen (nombre, documento, '
'correo). Los resultados se reportan siempre de forma agregada, nunca como respuestas '
'individuales, y solo cuando hay suficientes respuestas para que nadie pueda ser identificado. '
'Justamente por ser anónima, una vez enviada no es posible ubicar ni eliminar tu respuesta.',
'["operativo","macro_n1"]'::jsonb
) ON CONFLICT (id) DO NOTHING;
-- ── Encuestas ─────────────────────────────────────────────────
INSERT INTO public.surveys (
id, org_id, title, status, is_anonymous,
data_sensitivity, security_class, controller_role,
consent_version_id, brand_config, k_threshold
) VALUES
(
'30000000-0000-0000-0000-000000000001',
'10000000-0000-0000-0000-000000000001',
'Mapeo de Cuidadores — 2026', 'draft', true,
'sensible', 'confidencial', 'A',
'20000000-0000-0000-0000-000000000002',
'{"org_name":"Empresa Demo","branch_name":"Oficina Central","branch_city":"Asunción"}',
5
),
(
'30000000-0000-0000-0000-000000000002',
'10000000-0000-0000-0000-000000000002',
'Mapeo de Cuidadores — 2026', 'live', true,
'sensible', 'confidencial', 'A',
'20000000-0000-0000-0000-000000000002',
'{"org_name":"InQuality","branch_name":"Equipo InQuality","branch_city":"Asunción"}',
5
),
(
'30000000-0000-0000-0000-000000000003',
'10000000-0000-0000-0000-000000000003',
'Mapeo de Cuidadores — 2026', 'live', true,
'sensible', 'confidencial', 'A',
'20000000-0000-0000-0000-000000000002',
'{"org_name":"Fundación Solidaridad","branch_name":"Equipo Fundación","branch_city":"Asunción"}',
5
)
ON CONFLICT (id) DO UPDATE SET
consent_version_id = EXCLUDED.consent_version_id,
brand_config = EXCLUDED.brand_config,
status = EXCLUDED.status;
-- ══════════════════════════════════════════════════════════════
-- Instrumento v3.0.0 — 50 filas por encuesta (10 secciones + 40 preguntas)
-- DO block: itera las 3 encuestas; opciones largas se declaran como variables
-- ══════════════════════════════════════════════════════════════
DO $seed$
DECLARE
survey_ids uuid[];
sid uuid;
-- Geo
opts_depts jsonb;
opts_cities jsonb;
-- Opciones compartidas entre secciones
opts_tipo_disc jsonb; -- 3.2 y 4.2
opts_disp_propia jsonb; -- 3.3: "No utilizo"
opts_disp_familiar jsonb; -- 4.3: "No utiliza"
opts_vinculos jsonb; -- 4.1
-- Reglas de flujo condicional (ver vocabulario en migración 20260620000002)
r_show_si_s3_1 jsonb; -- mostrar cuando 3.1 = 'Sí'
r_hide_ning jsonb; -- ocultar cuando 4.1 contiene "Ninguna..."
r_hide_ning_sn jsonb; -- ocultar cuando Ninguna O soloNino (5.1,5.2,5.4,S6,S7,8.1-3,9.2,9.3)
r_hide_instance jsonb; -- ocultar 4.2/4.3 cuando soloNino O Ninguna
BEGIN
survey_ids := ARRAY[
'30000000-0000-0000-0000-000000000001',
'30000000-0000-0000-0000-000000000002',
'30000000-0000-0000-0000-000000000003'
]::uuid[];
-- ── Departamentos (18 — todos los de Paraguay + Capital) ───
opts_depts := '[
{"value":"Asunción (Capital)","label":"Asunción (Capital)"},
{"value":"Alto Paraguay","label":"Alto Paraguay"},
{"value":"Alto Paraná","label":"Alto Paraná"},
{"value":"Amambay","label":"Amambay"},
{"value":"Boquerón","label":"Boquerón"},
{"value":"Caaguazú","label":"Caaguazú"},
{"value":"Caazapá","label":"Caazapá"},
{"value":"Canindeyú","label":"Canindeyú"},
{"value":"Central","label":"Central"},
{"value":"Concepción","label":"Concepción"},
{"value":"Cordillera","label":"Cordillera"},
{"value":"Guairá","label":"Guairá"},
{"value":"Itapúa","label":"Itapúa"},
{"value":"Misiones","label":"Misiones"},
{"value":"Ñeembucú","label":"Ñeembucú"},
{"value":"Paraguarí","label":"Paraguarí"},
{"value":"Presidente Hayes","label":"Presidente Hayes"},
{"value":"San Pedro","label":"San Pedro"}
]'::jsonb;
-- ── Ciudades (219 — fuente: lib/paraguay-geo.ts; filtrado por depto en el renderer) ──
opts_cities := '[
{"value":"Asunción","label":"Asunción"},
{"value":"Fuerte Olimpo","label":"Fuerte Olimpo"},{"value":"Bahía Negra","label":"Bahía Negra"},{"value":"Carmelo Peralta","label":"Carmelo Peralta"},{"value":"La Victoria","label":"La Victoria"},
{"value":"Ciudad del Este","label":"Ciudad del Este"},{"value":"Hernandarias","label":"Hernandarias"},{"value":"Minga Guazú","label":"Minga Guazú"},{"value":"Presidente Franco","label":"Presidente Franco"},{"value":"Minga Porã","label":"Minga Porã"},{"value":"Naranjal","label":"Naranjal"},{"value":"Ñacunday","label":"Ñacunday"},{"value":"San Alberto","label":"San Alberto"},{"value":"Santa Rita","label":"Santa Rita"},{"value":"Tavapy","label":"Tavapy"},{"value":"Yguazú","label":"Yguazú"},{"value":"Juan E. O''Leary","label":"Juan E. O''Leary"},{"value":"San Cristóbal","label":"San Cristóbal"},{"value":"Santa Fe del Paraná","label":"Santa Fe del Paraná"},{"value":"Dr. Juan León Mallorquín","label":"Dr. Juan León Mallorquín"},{"value":"Itakyry","label":"Itakyry"},{"value":"Domingo Martínez de Irala","label":"Domingo Martínez de Irala"},
{"value":"Pedro Juan Caballero","label":"Pedro Juan Caballero"},{"value":"Bella Vista Norte","label":"Bella Vista Norte"},{"value":"Capitán Bado","label":"Capitán Bado"},{"value":"Zanja Pytã","label":"Zanja Pytã"},
{"value":"Filadelfia","label":"Filadelfia"},{"value":"Loma Plata","label":"Loma Plata"},{"value":"Mariscal Estigarribia","label":"Mariscal Estigarribia"},{"value":"Neuland","label":"Neuland"},
{"value":"Coronel Oviedo","label":"Coronel Oviedo"},{"value":"Caaguazú","label":"Caaguazú"},{"value":"Carayaó","label":"Carayaó"},{"value":"Dr. Juan Manuel Frutos","label":"Dr. Juan Manuel Frutos"},{"value":"Mbutuy","label":"Mbutuy"},{"value":"Nueva Londres","label":"Nueva Londres"},{"value":"Raúl Arsenio Oviedo","label":"Raúl Arsenio Oviedo"},{"value":"Repatriación","label":"Repatriación"},{"value":"San Joaquín","label":"San Joaquín"},{"value":"San José de los Arroyos","label":"San José de los Arroyos"},{"value":"Simón Bolívar","label":"Simón Bolívar"},{"value":"Vaquería","label":"Vaquería"},{"value":"Yhú","label":"Yhú"},{"value":"José Domingo Ocampos","label":"José Domingo Ocampos"},{"value":"3 de Febrero","label":"3 de Febrero"},{"value":"Mcal. Francisco Solano López","label":"Mcal. Francisco Solano López"},{"value":"Los Cedrales","label":"Los Cedrales"},
{"value":"Caazapá","label":"Caazapá"},{"value":"Abai","label":"Abai"},{"value":"Buena Vista","label":"Buena Vista"},{"value":"General Higinio Morínigo","label":"General Higinio Morínigo"},{"value":"Huber Duré","label":"Huber Duré"},{"value":"Maciel","label":"Maciel"},{"value":"San Juan Nepomuceno","label":"San Juan Nepomuceno"},{"value":"Tavaí","label":"Tavaí"},{"value":"Yegros","label":"Yegros"},{"value":"Yuty","label":"Yuty"},
{"value":"Salto del Guairá","label":"Salto del Guairá"},{"value":"Corpus Christi","label":"Corpus Christi"},{"value":"Curuguaty","label":"Curuguaty"},{"value":"General Francisco Caballero Álvarez","label":"General Francisco Caballero Álvarez"},{"value":"Itanará","label":"Itanará"},{"value":"Katueté","label":"Katueté"},{"value":"La Paloma","label":"La Paloma"},{"value":"Nueva Esperanza","label":"Nueva Esperanza"},{"value":"Yasy Kañy","label":"Yasy Kañy"},{"value":"Ypejhú","label":"Ypejhú"},
{"value":"Areguá","label":"Areguá"},{"value":"Capiatá","label":"Capiatá"},{"value":"Fernando de la Mora","label":"Fernando de la Mora"},{"value":"Guarambaré","label":"Guarambaré"},{"value":"Itá","label":"Itá"},{"value":"Itauguá","label":"Itauguá"},{"value":"Juan Augusto Saldívar","label":"Juan Augusto Saldívar"},{"value":"Lambaré","label":"Lambaré"},{"value":"Limpio","label":"Limpio"},{"value":"Luque","label":"Luque"},{"value":"Mariano Roque Alonso","label":"Mariano Roque Alonso"},{"value":"Nueva Italia","label":"Nueva Italia"},{"value":"Ñemby","label":"Ñemby"},{"value":"San Antonio","label":"San Antonio"},{"value":"San Lorenzo","label":"San Lorenzo"},{"value":"Villa Elisa","label":"Villa Elisa"},{"value":"Villeta","label":"Villeta"},{"value":"Ypané","label":"Ypané"},{"value":"Ypacaraí","label":"Ypacaraí"},
{"value":"Concepción","label":"Concepción"},{"value":"Belén","label":"Belén"},{"value":"Horqueta","label":"Horqueta"},{"value":"Loreto","label":"Loreto"},{"value":"San Lázaro","label":"San Lázaro"},{"value":"San Carlos del Apa","label":"San Carlos del Apa"},{"value":"Yby Yaú","label":"Yby Yaú"},{"value":"Azote''y","label":"Azote''y"},{"value":"Sgto. José Félix López","label":"Sgto. José Félix López"},
{"value":"Caacupé","label":"Caacupé"},{"value":"Altos","label":"Altos"},{"value":"Arroyos y Esteros","label":"Arroyos y Esteros"},{"value":"Caraguatay","label":"Caraguatay"},{"value":"Emboscada","label":"Emboscada"},{"value":"Eusebio Ayala","label":"Eusebio Ayala"},{"value":"Isla Pucú","label":"Isla Pucú"},{"value":"Itacurubí de la Cordillera","label":"Itacurubí de la Cordillera"},{"value":"Juan de Mena","label":"Juan de Mena"},{"value":"Loma Grande","label":"Loma Grande"},{"value":"Mbocayaty del Yhaguy","label":"Mbocayaty del Yhaguy"},{"value":"Nueva Colombia","label":"Nueva Colombia"},{"value":"Pirayú","label":"Pirayú"},{"value":"Primero de Marzo","label":"Primero de Marzo"},{"value":"Tobatí","label":"Tobatí"},{"value":"Valenzuela","label":"Valenzuela"},
{"value":"Villarrica","label":"Villarrica"},{"value":"Borja","label":"Borja"},{"value":"Capitán Mauricio José Troche","label":"Capitán Mauricio José Troche"},{"value":"Coronel Martínez","label":"Coronel Martínez"},{"value":"Félix Pérez Cardozo","label":"Félix Pérez Cardozo"},{"value":"General Eugenio A. Garay","label":"General Eugenio A. Garay"},{"value":"Independencia","label":"Independencia"},{"value":"Itapé","label":"Itapé"},{"value":"Iturbe","label":"Iturbe"},{"value":"José Fassardi","label":"José Fassardi"},{"value":"Mbocayaty","label":"Mbocayaty"},{"value":"Natalicio Talavera","label":"Natalicio Talavera"},{"value":"Ñumí","label":"Ñumí"},{"value":"San Salvador","label":"San Salvador"},{"value":"Yataity","label":"Yataity"},
{"value":"Encarnación","label":"Encarnación"},{"value":"Alto Verá","label":"Alto Verá"},{"value":"Bella Vista","label":"Bella Vista"},{"value":"Cambyretá","label":"Cambyretá"},{"value":"Capitán Meza","label":"Capitán Meza"},{"value":"Capitán Miranda","label":"Capitán Miranda"},{"value":"Carlos A. López","label":"Carlos A. López"},{"value":"Carmen del Paraná","label":"Carmen del Paraná"},{"value":"Coronel Bogado","label":"Coronel Bogado"},{"value":"Cosme","label":"Cosme"},{"value":"Edelira","label":"Edelira"},{"value":"Fram","label":"Fram"},{"value":"General Artigas","label":"General Artigas"},{"value":"Hohenau","label":"Hohenau"},{"value":"Itapúa Poty","label":"Itapúa Poty"},{"value":"Jesús","label":"Jesús"},{"value":"La Paz","label":"La Paz"},{"value":"Leandro Oviedo","label":"Leandro Oviedo"},{"value":"Mayor Otaño","label":"Mayor Otaño"},{"value":"Natalio","label":"Natalio"},{"value":"Nueva Alborada","label":"Nueva Alborada"},{"value":"Obligado","label":"Obligado"},{"value":"Pirapó","label":"Pirapó"},{"value":"San Cosme y Damián","label":"San Cosme y Damián"},{"value":"San Juan del Paraná","label":"San Juan del Paraná"},{"value":"San Pedro del Paraná","label":"San Pedro del Paraná"},{"value":"San Rafael del Paraná","label":"San Rafael del Paraná"},{"value":"Trinidad","label":"Trinidad"},{"value":"Tomás Romero Pereira","label":"Tomás Romero Pereira"},
{"value":"San Juan Bautista","label":"San Juan Bautista"},{"value":"Ayolas","label":"Ayolas"},{"value":"San Ignacio","label":"San Ignacio"},{"value":"San Miguel","label":"San Miguel"},{"value":"San Patricio","label":"San Patricio"},{"value":"Santa María","label":"Santa María"},{"value":"Santa Rosa","label":"Santa Rosa"},{"value":"Santiago","label":"Santiago"},{"value":"Villa Florida","label":"Villa Florida"},{"value":"Yabebyry","label":"Yabebyry"},
{"value":"Pilar","label":"Pilar"},{"value":"Alberdi","label":"Alberdi"},{"value":"Cerrito","label":"Cerrito"},{"value":"Desmochados","label":"Desmochados"},{"value":"General José Eduvigis Díaz","label":"General José Eduvigis Díaz"},{"value":"Guazú Cuá","label":"Guazú Cuá"},{"value":"Humaitá","label":"Humaitá"},{"value":"Isla Umbú","label":"Isla Umbú"},{"value":"Laureles","label":"Laureles"},{"value":"Mayor José de J. Martínez","label":"Mayor José de J. Martínez"},{"value":"Paso de Patria","label":"Paso de Patria"},{"value":"San Juan Bautista del Ñeembucú","label":"San Juan Bautista del Ñeembucú"},{"value":"Tacuaras","label":"Tacuaras"},{"value":"Villa Franca","label":"Villa Franca"},{"value":"Villa Oliva","label":"Villa Oliva"},{"value":"Villalba","label":"Villalba"},
{"value":"Paraguarí","label":"Paraguarí"},{"value":"Acahay","label":"Acahay"},{"value":"Carapeguá","label":"Carapeguá"},{"value":"Escobar","label":"Escobar"},{"value":"General Bernardino Caballero","label":"General Bernardino Caballero"},{"value":"La Colmena","label":"La Colmena"},{"value":"Mbuyapey","label":"Mbuyapey"},{"value":"Quiindy","label":"Quiindy"},{"value":"Quyquyhó","label":"Quyquyhó"},{"value":"San Roque González de Santa Cruz","label":"San Roque González de Santa Cruz"},{"value":"Sapucaí","label":"Sapucaí"},{"value":"Tebicuarymí","label":"Tebicuarymí"},{"value":"Ybycuí","label":"Ybycuí"},{"value":"Ybytymí","label":"Ybytymí"},{"value":"Yaguarón","label":"Yaguarón"},
{"value":"Villa Hayes","label":"Villa Hayes"},{"value":"Benjamín Aceval","label":"Benjamín Aceval"},{"value":"José Falcón","label":"José Falcón"},{"value":"Nanawa","label":"Nanawa"},{"value":"Nueva Asunción","label":"Nueva Asunción"},{"value":"Pozo Colorado","label":"Pozo Colorado"},{"value":"Puerto Pinasco","label":"Puerto Pinasco"},{"value":"Teniente Primero Manuel Irala Fernández","label":"Teniente Primero Manuel Irala Fernández"},{"value":"Villa del Río","label":"Villa del Río"},
{"value":"San Pedro del Ycuamandiyú","label":"San Pedro del Ycuamandiyú"},{"value":"Antequera","label":"Antequera"},{"value":"Choré","label":"Choré"},{"value":"General Elizardo Aquino","label":"General Elizardo Aquino"},{"value":"Guayaibí","label":"Guayaibí"},{"value":"Itacurubí del Rosario","label":"Itacurubí del Rosario"},{"value":"Lima","label":"Lima"},{"value":"Nueva Germania","label":"Nueva Germania"},{"value":"Río Verde","label":"Río Verde"},{"value":"San Estanislao (Santaní)","label":"San Estanislao (Santaní)"},{"value":"Tacuatí","label":"Tacuatí"},{"value":"Unión","label":"Unión"},{"value":"Villa del Rosario","label":"Villa del Rosario"},{"value":"Yataity del Norte","label":"Yataity del Norte"}
]'::jsonb;
-- ── Tipo de discapacidad (compartido 3.2 y 4.2) ─────────────
opts_tipo_disc := '[
{"value":"Física / motora","label":"Física / motora"},
{"value":"Visual","label":"Visual"},
{"value":"Auditiva","label":"Auditiva"},
{"value":"Intelectual","label":"Intelectual"},
{"value":"Mental / psicosocial","label":"Mental / psicosocial"},
{"value":"Del habla y la comunicación","label":"Del habla y la comunicación"},
{"value":"Múltiple","label":"Múltiple"},
{"value":"Vejez, osteoporosis, artrosis, otras limitaciones de la edad","label":"Vejez, osteoporosis, artrosis, otras limitaciones de la edad"},
{"value":"Amputación","label":"Amputación"},
{"value":"Otra / Especificar","label":"Otra / Especificar"}
]'::jsonb;
-- ── Dispositivos de apoyo ────────────────────────────────────
opts_disp_propia := '[
{"value":"Silla de ruedas","label":"Silla de ruedas"},
{"value":"Bastón de apoyo","label":"Bastón de apoyo"},
{"value":"Bastón blanco","label":"Bastón blanco"},
{"value":"Andador","label":"Andador"},
{"value":"Muletas","label":"Muletas"},
{"value":"Prótesis","label":"Prótesis"},
{"value":"Tecnología asistiva","label":"Tecnología asistiva"},
{"value":"Audífonos","label":"Audífonos"},
{"value":"No utilizo","label":"No utilizo"}
]'::jsonb;
opts_disp_familiar := '[
{"value":"Silla de ruedas","label":"Silla de ruedas"},
{"value":"Bastón de apoyo","label":"Bastón de apoyo"},
{"value":"Bastón blanco","label":"Bastón blanco"},
{"value":"Andador","label":"Andador"},
{"value":"Muletas","label":"Muletas"},
{"value":"Prótesis","label":"Prótesis"},
{"value":"Tecnología asistiva","label":"Tecnología asistiva"},
{"value":"Audífonos","label":"Audífonos"},
{"value":"No utiliza","label":"No utiliza"}
]'::jsonb;
-- ── Vínculos familiares (4.1) ────────────────────────────────
opts_vinculos := '[
{"value":"Hijo menor sin discapacidad","label":"Hijo menor sin discapacidad"},
{"value":"Hijo menor con discapacidad","label":"Hijo menor con discapacidad"},
{"value":"Hijo adulto con discapacidad","label":"Hijo adulto con discapacidad"},
{"value":"Familiar menor con discapacidad","label":"Familiar menor con discapacidad"},
{"value":"Familiar mayor con discapacidad","label":"Familiar mayor con discapacidad"},
{"value":"Padre/madre con movilidad reducida o 100% dependiente","label":"Padre/madre con movilidad reducida o 100% dependiente"},
{"value":"Otro / Especificar","label":"Otro / Especificar"},
{"value":"Ninguna de las anteriores / No tengo vinculación de cuidado","label":"Ninguna de las anteriores / No tengo vinculación de cuidado"}
]'::jsonb;
-- ── Reglas de flujo ──────────────────────────────────────────
-- Mostrar 3.23.5 solo cuando 3.1 = 'Sí'
r_show_si_s3_1 := '[{"if_question":"3.1","op":"eq","value":"Sí","action":"show"}]'::jsonb;
-- Ocultar cuando 4.1 contiene "Ninguna de las anteriores..."
r_hide_ning := '[{"if_question":"4.1","op":"contains","value":"Ninguna de las anteriores / No tengo vinculación de cuidado","action":"hide"}]'::jsonb;
-- Ocultar cuando Ninguna O soloNino (4.1 sole = 'Hijo menor sin discapacidad')
r_hide_ning_sn := '[
{"if_question":"4.1","op":"contains","value":"Ninguna de las anteriores / No tengo vinculación de cuidado","action":"hide"},
{"if_question":"4.1","op":"eq_sole","value":"Hijo menor sin discapacidad","action":"hide"}
]'::jsonb;
-- Ocultar 4.2/4.3 cuando soloNino O Ninguna
r_hide_instance := '[
{"if_question":"4.1","op":"contains","value":"Ninguna de las anteriores / No tengo vinculación de cuidado","action":"hide"},
{"if_question":"4.1","op":"eq_sole","value":"Hijo menor sin discapacidad","action":"hide"}
]'::jsonb;
-- ════════════════════════════════════════════════════════════
FOREACH sid IN ARRAY survey_ids LOOP
-- ════════════════════════════════════════════════════════════
-- Catálogo: DELETE + INSERT para idempotencia (patrón original del seed v2.1).
-- Nunca toca answers/consent_records/responses — son evidencia permanente (ADR-003).
-- El reset de datos de prueba se hace por separado vía TRUNCATE, fuera de este seed.
DELETE FROM public.questions WHERE survey_id = sid;
-- ════════════════════════════════════════════════════════
-- SECCIÓN 1 — Consentimiento
-- ════════════════════════════════════════════════════════
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required)
VALUES(gen_random_uuid(),sid,'S1','section','Consentimiento',10,false,false);
-- 1.1: casilla requerida para participar
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required)
VALUES(gen_random_uuid(),sid,'1.1','yes_no',
'Declaro que fui informado/a sobre el propósito de esta encuesta y el tratamiento de mis '
'respuestas, y acepto participar de forma voluntaria en el diagnóstico interno de [Empresa].',
11,false,true);
-- 1.2: casilla opcional (estudio país)
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required)
VALUES(gen_random_uuid(),sid,'1.2','yes_no',
'Autorizo que mis respuestas anonimizadas se utilicen para el estudio país sobre la '
'economía del cuidado en Paraguay.',
12,false,false);
-- ════════════════════════════════════════════════════════
-- SECCIÓN 2 — Datos generales
-- ════════════════════════════════════════════════════════
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint)
VALUES(gen_random_uuid(),sid,'S2','section','Datos generales',20,false,false,
'Esta sección releva información demográfica básica, general y anónima.');
-- 2.1: Departamento — cuasi-identificador (18 opciones, lib/paraguay-geo.ts)
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options)
VALUES(gen_random_uuid(),sid,'2.1','single_choice','Departamento',21,false,false,opts_depts);
-- 2.2: Ciudad — cuasi-identificador (219 ciudades, filtro por depto en renderer)
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options)
VALUES(gen_random_uuid(),sid,'2.2','single_choice','Ciudad',22,false,false,opts_cities);
-- 2.3: Barrio — texto libre, opcional (barrios completos se agregan en Etapa 4F)
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint)
VALUES(gen_random_uuid(),sid,'2.3','text_short','¿En qué barrio vivís?',23,false,false,'Opcional.');
-- 2.4: Rango de edad — cuasi-identificador
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options)
VALUES(gen_random_uuid(),sid,'2.4','single_choice','¿Cuál es tu rango de edad?',24,false,false,
'[{"value":"Menos de 25 años","label":"Menos de 25 años"},
{"value":"25 a 34 años","label":"25 a 34 años"},
{"value":"35 a 44 años","label":"35 a 44 años"},
{"value":"45 a 54 años","label":"45 a 54 años"},
{"value":"55 años o más","label":"55 años o más"}]'::jsonb);
-- 2.5: Género — cuasi-identificador
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options)
VALUES(gen_random_uuid(),sid,'2.5','single_choice','¿Con qué género te identificás?',25,false,false,
'[{"value":"Femenino","label":"Femenino"},
{"value":"Masculino","label":"Masculino"},
{"value":"No binario / Otro","label":"No binario / Otro"}]'::jsonb);
-- 2.6: Nivel organizacional — cuasi-identificador
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options)
VALUES(gen_random_uuid(),sid,'2.6','single_choice','¿En qué nivel organizacional estás?',26,false,false,
'[{"value":"Directivo","label":"Directivo"},
{"value":"Gerencial","label":"Gerencial"},
{"value":"Jefatura","label":"Jefatura"},
{"value":"Operativo","label":"Operativo"},
{"value":"Auxiliar","label":"Auxiliar"},
{"value":"Otro / Especificar","label":"Otro / Especificar"}]'::jsonb);
-- 2.7: Modalidad de trabajo — cuasi-identificador
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options)
VALUES(gen_random_uuid(),sid,'2.7','single_choice','¿Cuál es tu modalidad de trabajo actual?',27,false,false,
'[{"value":"Presencial","label":"Presencial"},
{"value":"Remoto (home office)","label":"Remoto (home office)"},
{"value":"Híbrido","label":"Híbrido"}]'::jsonb);
-- ════════════════════════════════════════════════════════
-- SECCIÓN 3 — Prevalencia de discapacidad (sensible)
-- Flujo: 3.1='No' → oculta 3.23.5 (regla: show cuando 3.1='Sí')
-- ════════════════════════════════════════════════════════
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint)
VALUES(gen_random_uuid(),sid,'S3','section','Prevalencia de discapacidad',30,false,false,
'En esta sección queremos conocer si vos tenés alguna condición discapacitante y cómo '
'influye en tu independencia y desempeño laboral.');
-- 3.1: trigger de discapacidad propia (is_sensitive — salud)
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options)
VALUES(gen_random_uuid(),sid,'3.1','single_choice',
'¿Vos mismo/a tenés alguna discapacidad o condición de salud que pudiera afectar tu '
'independencia o desempeño laboral?',
31,true,false,
'[{"value":"No","label":"No"},{"value":"Sí","label":"Sí"}]'::jsonb);
-- 3.2: tipo de discapacidad — solo si 3.1='Sí'
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'3.2','multiple_choice',
'¿Qué tipo de discapacidad o condición tenés?',
32,true,false,'Podés marcar más de una opción',opts_tipo_disc,r_show_si_s3_1);
-- 3.3: dispositivos de apoyo propios ("No utilizo") — solo si 3.1='Sí'
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'3.3','multiple_choice',
'¿Usás algún elemento de apoyo para la movilidad o autonomía?',
33,true,false,'Podés marcar más de una opción',opts_disp_propia,r_show_si_s3_1);
-- 3.4: certificado de discapacidad — solo si 3.1='Sí'
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'3.4','single_choice',
'¿Contás con certificado oficial de discapacidad?',
34,true,false,
'[{"value":"Sí","label":"Sí"},
{"value":"No, pero estoy en trámite","label":"No, pero estoy en trámite"},
{"value":"No","label":"No"}]'::jsonb,
r_show_si_s3_1);
-- 3.5: impacto en el trabajo — solo si 3.1='Sí'
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'3.5','multiple_choice',
'¿Cómo afecta tu discapacidad y/o condición limitante en tu trabajo?',
35,true,false,'Podés marcar más de una opción',
'[{"value":"No afecta mi rendimiento en absoluto","label":"No afecta mi rendimiento en absoluto"},
{"value":"Mi desempeño está más afectado por la falta de adecuaciones que por mi discapacidad (herramientas, accesibilidad)","label":"Mi desempeño está más afectado por la falta de adecuaciones que por mi discapacidad (herramientas, accesibilidad)"},
{"value":"Llegar al trabajo me lleva mucho tiempo por la falta de transporte","label":"Llegar al trabajo me lleva mucho tiempo por la falta de transporte"},
{"value":"Me cuesta participar de todas las actividades por temas de accesibilidad (física, lenguaje)","label":"Me cuesta participar de todas las actividades por temas de accesibilidad (física, lenguaje)"}]'::jsonb,
r_show_si_s3_1);
-- ════════════════════════════════════════════════════════
-- SECCIÓN 4 — Vinculación familiar (sensible)
-- Flujo:
-- 4.1 ∋ 'Ninguna...' → salta a S10 (oculta S5S9)
-- 4.1 = sole 'Hijo menor...' → soloNino: oculta 4.2, 4.3
-- 4.1 ∋ opciones 27 → muestra 4.2, 4.3 (instancias por vínculo)
-- ════════════════════════════════════════════════════════
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint)
VALUES(gen_random_uuid(),sid,'S4','section','Vinculación familiar',40,false,false,
'Queremos conocer si estás vinculado/a con algún niño/a (con o sin discapacidad), '
'adulto con discapacidad y/o adulto mayor dependiente.');
-- 4.1: generator de instancias — cada vínculo (27) genera un par 4.2/4.3
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,instance_generator)
VALUES(gen_random_uuid(),sid,'4.1','multiple_choice',
'¿Cuál de las siguientes vinculaciones familiares tenés?',
41,true,false,'Marca todas las que correspondan',opts_vinculos,true);
-- 4.2: tipo de disc. del familiar — instancia por cada vínculo 27
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules,instance_of)
VALUES(gen_random_uuid(),sid,'4.2','multiple_choice',
'¿Qué tipo de discapacidades o limitaciones tienen tus familiares vinculados?',
42,true,false,'Podés marcar más de una opción',opts_tipo_disc,r_hide_instance,'4.1');
-- 4.3: dispositivos del familiar — instancia por cada vínculo 27
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules,instance_of)
VALUES(gen_random_uuid(),sid,'4.3','multiple_choice',
'¿Qué tipo de dispositivos de apoyo utilizan tus familiares vinculados?',
43,true,false,'Podés marcar más de una opción',opts_disp_familiar,r_hide_instance,'4.1');
-- ════════════════════════════════════════════════════════
-- SECCIÓN 5 — Responsabilidad y cuidado
-- soloNino: muestra solo 5.3; oculta 5.1, 5.2, 5.4
-- Ninguna: oculta toda la sección
-- ════════════════════════════════════════════════════════
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,conditional_rules)
VALUES(gen_random_uuid(),sid,'S5','section','Responsabilidad y cuidado',50,false,false,
'Queremos conocer quién tiene la responsabilidad del cuidado desde lo económico, '
'lo logístico y el cuidado activo.',
r_hide_ning);
-- 5.1: oculta cuando Ninguna O soloNino
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'5.1','multiple_choice',
'¿Cuál es tu rol en el cuidado de los niños y/o personas con discapacidad o dependientes?',
51,false,false,'Podés marcar más de una opción',
'[{"value":"Proveo financieramente los recursos para su cuidado","label":"Proveo financieramente los recursos para su cuidado"},
{"value":"Comparto los gastos del cuidado con otros familiares","label":"Comparto los gastos del cuidado con otros familiares"},
{"value":"Administro los recursos y organizo los servicios necesarios","label":"Administro los recursos y organizo los servicios necesarios"},
{"value":"Cuando salgo del trabajo me ocupo de su cuidado unas horas","label":"Cuando salgo del trabajo me ocupo de su cuidado unas horas"},
{"value":"Me ocupo de todas las gestiones relacionadas a la persona","label":"Me ocupo de todas las gestiones relacionadas a la persona"}]'::jsonb,
r_hide_ning_sn);
-- 5.2: oculta cuando Ninguna O soloNino
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'5.2','multiple_choice',
'¿En qué momento del día te ocupás de gestionar/organizar el cuidado de las personas a tu cargo?',
52,false,false,'Podés marcar más de una opción',
'[{"value":"Antes del trabajo","label":"Antes del trabajo"},
{"value":"Después del trabajo","label":"Después del trabajo"},
{"value":"Durante el trabajo (llamadas y emergencias)","label":"Durante el trabajo (llamadas y emergencias)"},
{"value":"En cualquier momento","label":"En cualquier momento"},
{"value":"Los fines de semana","label":"Los fines de semana"}]'::jsonb,
r_hide_ning_sn);
-- 5.3: visible también en soloNino (oculta solo cuando Ninguna)
-- soloNino: después de 5.3 el renderer salta a 8.4 (regla de flujo)
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'5.3','multiple_choice',
'Durante el tiempo que estás en el trabajo, ¿quién se ocupa del cuidado de las personas a tu cargo?',
53,false,false,'Podés marcar más de una opción',
'[{"value":"Mi cónyuge","label":"Mi cónyuge"},
{"value":"Otro familiar","label":"Otro familiar"},
{"value":"Un(a) cuidador/a contratado/a","label":"Un(a) cuidador/a contratado/a"},
{"value":"Un centro de estudios o de cuidado","label":"Un centro de estudios o de cuidado"},
{"value":"Un/a vecino/a","label":"Un/a vecino/a"},
{"value":"Otro (especificar)","label":"Otro (especificar)"}]'::jsonb,
r_hide_ning);
-- 5.4: oculta cuando Ninguna O soloNino
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'5.4','single_choice',
'¿Desde hace cuánto cumplís este rol de responsable o cuidador/a?',
54,false,false,
'[{"value":"Menos de 1 año","label":"Menos de 1 año"},
{"value":"1 a 3 años","label":"1 a 3 años"},
{"value":"3 a 5 años","label":"3 a 5 años"},
{"value":"Más de 5 años","label":"Más de 5 años"}]'::jsonb,
r_hide_ning_sn);
-- ════════════════════════════════════════════════════════
-- SECCIÓN 6 — Intensidad del cuidado
-- Toda la sección oculta cuando Ninguna O soloNino
-- ════════════════════════════════════════════════════════
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,conditional_rules)
VALUES(gen_random_uuid(),sid,'S6','section','Intensidad del cuidado',60,false,false,
'Queremos conocer cuánto tiempo y con qué intensidad cuidás.',r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'6.1','single_choice',
'¿Cuántos días por semana estás a cargo del cuidado directo, en promedio?',
61,false,false,
'Tiempo directo de acompañar o cuidar a la persona vinculada',
'[{"value":"12","label":"12"},{"value":"34","label":"34"},
{"value":"56","label":"56"},{"value":"Todos los días","label":"Todos los días"}]'::jsonb,
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'6.2','single_choice',
'Cuando estás a cargo del cuidado, ¿cuántas horas por día dedicás, en promedio?',
62,false,false,
'[{"value":"12","label":"12"},{"value":"34","label":"34"},
{"value":"56","label":"56"},{"value":"Más de 6 horas","label":"Más de 6 horas"}]'::jsonb,
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'6.3','multiple_choice',
'¿En qué momentos del día cuidás principalmente?',
63,false,false,'Podés marcar más de una opción',
'[{"value":"Antes del trabajo","label":"Antes del trabajo"},
{"value":"Al llegar del trabajo","label":"Al llegar del trabajo"},
{"value":"Durante la noche","label":"Durante la noche"},
{"value":"Los fines de semana","label":"Los fines de semana"}]'::jsonb,
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'6.4','single_choice',
'Además del cuidado directo, ¿cuántas horas al día necesitás estar disponible o de '
'guardia (aunque no estés cuidando activamente)?',
64,false,false,
'[{"value":"12","label":"12"},{"value":"34","label":"34"},
{"value":"56","label":"56"},{"value":"Más de 6 horas","label":"Más de 6 horas"},
{"value":"De forma permanente / sin horario","label":"De forma permanente / sin horario"}]'::jsonb,
r_hide_ning_sn);
-- ════════════════════════════════════════════════════════
-- SECCIÓN 7 — Impacto en el trabajo
-- Toda la sección oculta cuando Ninguna O soloNino
-- ════════════════════════════════════════════════════════
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,conditional_rules)
VALUES(gen_random_uuid(),sid,'S7','section','Impacto en el trabajo',70,false,false,
'Queremos conocer cómo impacta o ha impactado en tu desempeño laboral el rol de cuidador/a.',
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'7.1','single_choice',
'¿Cómo describirías tu nivel de descanso cuando te ocupás del cuidado y cómo impacta en tu desempeño?',
71,false,false,
'[{"value":"Descanso bien, me siento recuperado/a","label":"Descanso bien, me siento recuperado/a"},
{"value":"Descanso de forma irregular, pero lo manejo","label":"Descanso de forma irregular, pero lo manejo"},
{"value":"Me cuesta descansar y mi desempeño se ve afectado con frecuencia","label":"Me cuesta descansar y mi desempeño se ve afectado con frecuencia"},
{"value":"Descanso muy poco, el agotamiento afecta mi desempeño","label":"Descanso muy poco, el agotamiento afecta mi desempeño"}]'::jsonb,
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'7.2','single_choice',
'En los últimos 3 meses, ¿con qué frecuencia sentiste que el cuidado afectó tu concentración o rendimiento?',
72,false,false,
'[{"value":"Nunca o casi nunca","label":"Nunca o casi nunca"},
{"value":"Algunas veces al mes","label":"Algunas veces al mes"},
{"value":"Varias veces por semana","label":"Varias veces por semana"},
{"value":"Casi todos los días","label":"Casi todos los días"}]'::jsonb,
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'7.3','single_choice',
'En el último año, ¿faltaste al trabajo por situaciones relacionadas al cuidado?',
73,false,false,
'[{"value":"Nunca","label":"Nunca"},
{"value":"Pocas veces (13 al año)","label":"Pocas veces (13 al año)"},
{"value":"Varias veces (410 al año)","label":"Varias veces (410 al año)"},
{"value":"Con frecuencia (más de 10 al año)","label":"Con frecuencia (más de 10 al año)"}]'::jsonb,
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'7.4','multiple_choice',
'¿Qué aspectos de tu vida se ven más afectados por tu rol de cuidador/a?',
74,false,false,'Podés marcar más de una opción',
'[{"value":"Tiempo libre y ocio","label":"Tiempo libre y ocio"},
{"value":"Sueño y descanso","label":"Sueño y descanso"},
{"value":"Vida social y amistades","label":"Vida social y amistades"},
{"value":"Vida en pareja/familiar","label":"Vida en pareja/familiar"},
{"value":"Salud física personal","label":"Salud física personal"},
{"value":"Salud emocional/mental","label":"Salud emocional/mental"},
{"value":"Desarrollo profesional","label":"Desarrollo profesional"},
{"value":"Situación económica","label":"Situación económica"}]'::jsonb,
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'7.5','multiple_choice',
'Por tu rol de cuidado, ¿alguna vez tuviste que…?',
75,false,false,'Podés marcar más de una opción',
'[{"value":"Reducir tu jornada o pasar a medio tiempo","label":"Reducir tu jornada o pasar a medio tiempo"},
{"value":"Rechazar un ascenso o nueva responsabilidad","label":"Rechazar un ascenso o nueva responsabilidad"},
{"value":"Declinar viajes, horas extra o capacitaciones","label":"Declinar viajes, horas extra o capacitaciones"},
{"value":"Cambiar a un puesto menos exigente","label":"Cambiar a un puesto menos exigente"},
{"value":"Faltar o llegar tarde de forma reiterada","label":"Faltar o llegar tarde de forma reiterada"},
{"value":"Pensar seriamente en dejar el trabajo","label":"Pensar seriamente en dejar el trabajo"},
{"value":"Dejar un trabajo anterior","label":"Dejar un trabajo anterior"},
{"value":"Ninguna de las anteriores","label":"Ninguna de las anteriores"}]'::jsonb,
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'7.6','single_choice',
'Pensando en los próximos 12 meses, ¿qué tan probable es que dejes o reduzcas tu trabajo por razones de cuidado?',
76,false,false,
'[{"value":"Nada probable","label":"Nada probable"},
{"value":"Poco probable","label":"Poco probable"},
{"value":"Algo probable","label":"Algo probable"},
{"value":"Muy probable","label":"Muy probable"}]'::jsonb,
r_hide_ning_sn);
-- ════════════════════════════════════════════════════════
-- SECCIÓN 8 — Impacto económico
-- Ninguna: oculta toda la sección
-- soloNino: oculta 8.18.3, muestra 8.4 (franja salarial)
-- ════════════════════════════════════════════════════════
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,conditional_rules)
VALUES(gen_random_uuid(),sid,'S8','section','Impacto económico',80,false,false,
'Queremos conocer el impacto económico del cuidado de las personas a tu cargo.',r_hide_ning);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'8.1','single_choice',
'¿Cuánto estimás que gastás por mes en el cuidado?',
81,false,false,
'[{"value":"Menos de 1.000.000","label":"Menos de 1.000.000"},
{"value":"1.000.000 3.000.000","label":"1.000.000 3.000.000"},
{"value":"3.000.001 6.000.000","label":"3.000.001 6.000.000"},
{"value":"6.000.001 9.000.000","label":"6.000.001 9.000.000"},
{"value":"9.000.001 12.000.000","label":"9.000.001 12.000.000"},
{"value":"12.000.001 15.000.000","label":"12.000.001 15.000.000"},
{"value":"Más de 15.000.000","label":"Más de 15.000.000"}]'::jsonb,
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'8.2','multiple_choice',
'¿En qué conceptos gastás principalmente el monto expresado?',
82,false,false,'Podés marcar más de una opción',
'[{"value":"Cuidador/a particular","label":"Cuidador/a particular"},
{"value":"Centro de día / institución","label":"Centro de día / institución"},
{"value":"Traslados a centros especializados","label":"Traslados a centros especializados"},
{"value":"Equipamiento médico / tecnología asistiva","label":"Equipamiento médico / tecnología asistiva"},
{"value":"Servicios terapéuticos y/o rehabilitación","label":"Servicios terapéuticos y/o rehabilitación"},
{"value":"Medicamentos","label":"Medicamentos"},
{"value":"Insumos personales (sondas, pañales, otros)","label":"Insumos personales (sondas, pañales, otros)"},
{"value":"Otros (especificar)","label":"Otros (especificar)"}]'::jsonb,
r_hide_ning_sn);
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'8.3','multiple_choice',
'¿Cómo sostenés los gastos y responsabilidades del cuidado?',
83,false,false,'Podés marcar más de una opción',
'[{"value":"Solo con mi empleo actual","label":"Solo con mi empleo actual"},
{"value":"Ingresos extraordinarios en horarios no laborales","label":"Ingresos extraordinarios en horarios no laborales"},
{"value":"Emprendimiento personal/familiar","label":"Emprendimiento personal/familiar"},
{"value":"Me ayudan mis familiares","label":"Me ayudan mis familiares"},
{"value":"Me ayudan organizaciones sociales (fundaciones)","label":"Me ayudan organizaciones sociales (fundaciones)"},
{"value":"Me ayudan vecinos y amigos","label":"Me ayudan vecinos y amigos"},
{"value":"Eventos de recaudación","label":"Eventos de recaudación"},
{"value":"Subsidios estatales de la persona cuidada","label":"Subsidios estatales de la persona cuidada"}]'::jsonb,
r_hide_ning_sn);
-- 8.4: franja salarial — CONFIDENCIAL (analyst-only, nunca en vistas de empresa)
-- visible en soloNino (oculta solo cuando Ninguna)
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'8.4','single_choice',
'¿En qué franja salarial mensual te ubicás con tu trabajo en esta empresa?',
84,true,false,
'[{"value":"Hasta Gs 3.000.000","label":"Hasta Gs 3.000.000"},
{"value":"3.000.001 5.000.000","label":"3.000.001 5.000.000"},
{"value":"5.000.001 8.000.000","label":"5.000.001 8.000.000"},
{"value":"8.000.001 12.000.000","label":"8.000.001 12.000.000"},
{"value":"12.000.001 15.000.000","label":"12.000.001 15.000.000"},
{"value":"15.000.001 18.000.000","label":"15.000.001 18.000.000"},
{"value":"18.000.001 25.000.000","label":"18.000.001 25.000.000"},
{"value":"25.000.001 50.000.000","label":"25.000.001 50.000.000"},
{"value":"50.000.001 o más","label":"50.000.001 o más"}]'::jsonb,
r_hide_ning);
-- ════════════════════════════════════════════════════════
-- SECCIÓN 9 — Conciencia organizacional
-- Ninguna: oculta toda la sección
-- soloNino: muestra 9.1 y 9.4; oculta 9.2 y 9.3
-- ════════════════════════════════════════════════════════
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,conditional_rules)
VALUES(gen_random_uuid(),sid,'S9','section','Conciencia organizacional',90,false,false,
'Queremos conocer tu percepción sobre cuánta conciencia hay en la empresa respecto al '
'cuidado y la discapacidad.',r_hide_ning);
-- 9.1: visible también en soloNino
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'9.1','single_choice',
'¿Sentís que tu empresa conoce o comprende la realidad del cuidado y la discapacidad de su gente?',
91,false,false,
'[{"value":"Sí, me siento acompañado/a","label":"Sí, me siento acompañado/a"},
{"value":"Parcialmente, hay cierta comprensión","label":"Parcialmente, hay cierta comprensión"},
{"value":"No, es algo bastante invisible","label":"No, es algo bastante invisible"},
{"value":"Nunca hemos tocado el tema","label":"Nunca hemos tocado el tema"}]'::jsonb,
r_hide_ning);
-- 9.2: oculta cuando Ninguna O soloNino; max 3 selecciones
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint,options,conditional_rules,max_select)
VALUES(gen_random_uuid(),sid,'9.2','multiple_choice',
'¿Qué apoyos de la empresa te ayudarían más?',
92,false,false,'Marcá hasta 3 opciones',
'[{"value":"Flexibilidad horaria o trabajo remoto","label":"Flexibilidad horaria o trabajo remoto"},
{"value":"Apoyo económico o convenios/descuentos","label":"Apoyo económico o convenios/descuentos"},
{"value":"Acceso a beneficios para terapias o salud","label":"Acceso a beneficios para terapias o salud"},
{"value":"Contención/apoyo emocional o psicológico","label":"Contención/apoyo emocional o psicológico"},
{"value":"Capacitación y autocuidado","label":"Capacitación y autocuidado"},
{"value":"Redes de apoyo / grupos de pares","label":"Redes de apoyo / grupos de pares"},
{"value":"Información sobre recursos y servicios","label":"Información sobre recursos y servicios"}]'::jsonb,
r_hide_ning_sn,3);
-- 9.3: oculta cuando Ninguna O soloNino
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'9.3','single_choice',
'¿Estarías dispuesto/a a participar en un grupo de apoyo para cuidadores dentro de la empresa?',
93,false,false,
'[{"value":"Sí, definitivamente","label":"Sí, definitivamente"},
{"value":"Tal vez, si hay más personas en la misma situación","label":"Tal vez, si hay más personas en la misma situación"},
{"value":"No por ahora","label":"No por ahora"},
{"value":"Prefiero mantenerlo en privado","label":"Prefiero mantenerlo en privado"}]'::jsonb,
r_hide_ning_sn);
-- 9.4: visible también en soloNino
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,options,conditional_rules)
VALUES(gen_random_uuid(),sid,'9.4','single_choice',
'¿Estarías dispuesto/a a ser voluntario/a en iniciativas y/o redes de apoyo?',
94,false,false,
'[{"value":"Sí","label":"Sí"},{"value":"No","label":"No"}]'::jsonb,
r_hide_ning);
-- ════════════════════════════════════════════════════════
-- SECCIÓN 10 — Comentarios adicionales
-- Siempre visible (es el destino del salto "Ninguna")
-- ════════════════════════════════════════════════════════
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint)
VALUES(gen_random_uuid(),sid,'S10','section','Comentarios adicionales',100,false,false,
'Espacio para comentarios, sugerencias o tus datos (confidenciales) para seguir profundizando.');
-- 10.1: texto libre, opcional
INSERT INTO public.questions(id,survey_id,code,type,prompt,position,is_sensitive,required,hint)
VALUES(gen_random_uuid(),sid,'10.1','text_long',
'¿Te gustaría dejar un comentario o sugerencia especial? (opcional)',
101,false,false,'Opcional.');
END LOOP;
END $seed$;