Preguntas y Formulario Dinámico
Descripción, Propósito y Objetivo
NOTE
La vista de Preguntas y Formulario Dinámico es la herramienta administrativa para la configuración, creación y administración del banco de preguntas para formularios, adaptando dinámicamente los campos según el tipo y subtipo de respuesta requerido.
Una Pregunta se define mediante los siguientes componentes:
- Tipo y Subtipo de Respuesta: Clasificación técnica del control de entrada (
Dropdown,Description,File,Text,Number,Date). - Atributos Generales: Versión*, Sección*, Etiqueta*, Orden*, casilla ¿Permite enrolar? y Preguntas Relacionadas.
- Validaciones Contextuales: Opciones predefinidas, respuesta correcta, expresiones regulares (RegEx), límites de tamaño de archivo, valores mínimos/máximos y rangos de fecha/hora.
El objetivo de este módulo es permitir el diseño dinámico y parametrizable de formularios de captura sin necesidad de realizar modificaciones en el código fuente de la aplicación.
Contexto de Uso
Este módulo es administrado por los diseñadores de programas y coordinadores analíticos para:
- Construir formularios de ingreso de datos: Parametrizar tipos de respuesta adaptativos con validaciones estrictas.
- Importar y exportar el banco de preguntas: Cargar o descargar masivamente baterías de preguntas en formato CSV.
- Gestionar el orden y secciones: Controlar la secuencia visual y distribución de campos en los formularios del usuario final.
Acciones Posibles
1. Filtrar y Ordenar el Banco de Preguntas
- Utiliza la barra de búsqueda (Buscar) para encontrar preguntas específicas por enunciado, versión o tipo.
- Haz clic sobre el encabezado de cualquiera de las columnas (Versión, Tipo, Fecha de registro, etc.) para ordenar el listado de forma ascendente o descendente.

2. Crear una Nueva Pregunta
- haga clic en el botón Agregar pregunta.

- En el panel lateral que se despliega, seleccione el Tipo de pregunta y su correspondiente Subtipo de pregunta. El formulario lateral ajustará e invocará dinámicamente únicamente los campos requeridos según la combinación elegida:
- Dropdown (basic / by_test): Para listas desplegables. Permite agregar opciones, definir la opción por defecto y marcar la respuesta correcta.
- Description (label / title): Para insertar títulos o etiquetas explicativas que no requieren respuesta del usuario.
- File: Para adjuntar documentos. Requiere definir el tamaño máximo (MB), cantidad máxima de archivos y tipos de archivo permitidos.
- Text (large / short): Para entradas de texto libre (respuestas cortas o extensas). Permite validación mediante expresiones regulares (RegEx).
- Number (integer / float): Para entradas de números enteros o decimales. Permite establecer límites con Valor mínimo y Valor máximo.
- Date (date / datetime): Para captura de fechas y/o horas. Permite definir rangos (Fecha/Hora mínima y Fecha/Hora máxima).

- Completa los campos contextuales obligatorios y generales: Versión*, Sección*, Etiqueta*, Orden*, la casilla ¿Permite enrolar? (si aplica) y la asociación de Preguntas Relacionadas.

- haga clic en "Agregar" para guardar la pregunta o en "Cancelar" para salir sin conservar los cambios. La tabla principal actualizará el listado y refrendará la estructura según el orden asignado.

3. Editar una Pregunta Existente
- En la fila de la pregunta deseada dentro de la tabla principal, ubica la columna Acciones, haga clic en el botón Editar (icono de lápiz).
2. Abre el panel lateral con la información cargada para modificar el tipo, subtipo, etiquetas, orden u opciones de validación. 3. Presione **"Actualizar"** para actualizar la pregunta en el sistema. 
4. Eliminar una Pregunta
- En la columna Acciones de la fila de la pregunta a remover, haga clic en el botón Borrar (icono de bota de basura).

- confirme la acción para eliminar la pregunta de forma permanente del sistema.

5. Importar y Exportar Preguntas Masivamente
- Ubica los botones de icono con flechas (arriba/abajo) situados junto a "Agregar pregunta".
- Carga masiva: presione el botón **de importación (flecha hacia arriba) para subir un archivo CSV con la batería de preguntas.

- Descarga masiva: presione el botón **de exportación (flecha hacia abajo) para obtener un archivo CSV con el banco completo de preguntas parametrizadas.

Permisos Técnicos Requeridos
questions_read: Permite la consulta y filtrado del banco de preguntas.questions_create: Autoriza la creación e importación masiva de preguntas con validaciones dinámicas.questions_update: Habilita la edición de tipos, subtipos, etiquetas y rangos de preguntas.questions_delete: Permite la eliminación permanente de preguntas del catálogo.questions_export: Autoriza la descarga del archivo de exportación de preguntas.