A) Fix bug: grupos fuera de _tomas_config contaminaban $_mpMap y bloqueaban
firmas configuradas. Ahora se vacían y sus secciones se agregan a
$_mpSkippedSepIds para que PHP no las renderice.
B) Quitar campo Resultado del esquema (14 campos eliminados del form 15 en
BD). save_tomas_config.php ya no genera campo Resultado en exámenes nuevos.
Patrón queda: separador → hora → observaciones → firma_profesional.
C) Condicionamiento implícito: con el fix de A, solo aparecen las secciones
del grupo configurado en _tomas_config, sin cambios en el esquema DB.
D) UX: reemplaza popup automático por badges bajo el campo _c8j2g16.
Cada examen seleccionado muestra badge con estado (pendiente/configurado)
y botón "Configurar tiempos" que abre el panel solo al hacer clic.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Auto-select tras crear examen: buscaba input[type=radio] pero el campo
_c8j2g16 es checkbox → nunca encontraba el elemento. Usa _mpSetExamChecked.
- save_tomas_config.php: añade campo Observaciones (texto) entre Resultado
y firma_profesional, igual que las secciones Toma existentes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Feature 1 — Ciclos configurables por paciente:
- ver_formulario_enviado.php: pantalla de configuración aparece la primera
vez que el profesional abre el formulario (antes de firmar); permite
seleccionar qué tomas realizar para cada protocolo. $_mpSkippedSepIds
oculta las secciones no seleccionadas en render. $_mpMap se reconstruye
desde los grupos filtrados para que next_firma_id salte tomas omitidas.
- configurar_tomas.php (nuevo): guarda _tomas_config en datos_respuestas
del consentimiento; valida que cada grupo tenga al menos una toma.
- guardar_toma.php: aplica el filtro _tomas_config al array firmasCampos
para que el conteo de tomas firmadas/pendientes sea correcto.
Feature 2 — Gestión de tipos de examen (admin):
- lab_tomas_config.php (nuevo): página admin que muestra los exámenes
actuales con sus tomas y permite añadir nuevos tipos con su esquema
completo (separador + hora + resultado + firma_profesional por toma).
- api/lab/save_tomas_config.php (nuevo): modifica el esquema JSON del
formulario id=15; add_exam agrega opción al selector y los campos de
cada toma; delete_exam elimina la opción y los separadores exclusivos.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>