- login.php: detectar dispositivo por IP al autenticar y redirigir al lugar asignado - dashboard.php / lugar.php / recepcion.php: bloquear acceso por dispositivo (IP→lugar) - lugar.php: modal firma profesional pre-guardada; compact 2-col en iframe; botón WA solo cuando el formulario requiere firma del paciente - ver_formulario_enviado.php: modo compact tablet, auto-save borrador (merge), firma profesional en 1 clic, Muestras Prolongadas (countdown + Finalizar), auto_profesional pre-fill desde sesión, fecha→fecha_hoy en campos de toma/recepción - get_consentimientos.php: añadir requiere_firma_paciente para controlar botón WA - save_firma_profesional.php: API para guardar firma pre-configurada del profesional - migrations: turnero_dispositivos, admin_users.firma_svg, clon VIH F-LAB-05 para turnero Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
108 lines
6.2 KiB
SQL
108 lines
6.2 KiB
SQL
-- ============================================================
|
|
-- Migration: 20260707_formulario_vih_turnero
|
|
-- Clon de F-LAB-05 VIH para uso en turnero.
|
|
--
|
|
-- Problema del original (id=1):
|
|
-- · Esquema sin campos tipo "firma" ni "firma_profesional"
|
|
-- · Paciente firmaba por fallback global (canvas genérico al pie)
|
|
-- · Profesional NUNCA podía firmar (requiere $_soloFirmaPro=true
|
|
-- o campo firma_profesional en esquema — ninguno se cumplía)
|
|
-- · doc_color vacío, requiere_firma=0
|
|
--
|
|
-- Esta versión corrige el esquema agregando:
|
|
-- · Separador + campo texto para responsable (menores/incapaces)
|
|
-- · campo tipo="firma" → firma inline del paciente
|
|
-- · campo tipo="firma_profesional" → 1-clic para el profesional
|
|
-- ============================================================
|
|
|
|
SET @esquema_vih = '[
|
|
{
|
|
"id": "_8h4v4jg",
|
|
"tipo": "parrafo",
|
|
"contenido": "Autorización voluntaria para realizar la prueba presuntiva para VIH (Decreto 1543/97 del Ministerio de Protección Social por el cual se reglamentan los mecanismos de prevención, diagnóstico, manejo y reporte epidemiológico de la infección por VIH)",
|
|
"flujoLibre": false
|
|
},
|
|
{
|
|
"id": "_z7pv612",
|
|
"tipo": "fecha_hoy",
|
|
"label": "Fecha",
|
|
"required": false
|
|
},
|
|
{
|
|
"id": "_afsycwa",
|
|
"tipo": "parrafo",
|
|
"contenido": "Qué es el síndrome de inmunodeficiencia adquirida (SIDA)? \nEs una enfermedad producida por un virus conocido como el virus de inmunodeficiencia Humana (VIH), el cual infecta y destruye las células del sistema inmune, originando una falla progresiva y grave en los sistemas de defensa del organismo el cual queda expuesto a la infección y ciertos tipos de tumores. \n\n¿Cómo se adquiere la enfermedad? \nLa enfermedad se adquiere principalmente por contacto sexual con personas infectadas con el VIH. Por exposición a la sangre y a ciertos productos derivados de la misma contaminados con el virus. Además, durante el embarazo, las madres infectadas con el virus de inmunodeficiencia humana pueden transmitir la infección al feto a través de la placenta. \n\n¿Cómo se hace el diagnóstico de la infección? El diagnóstico se hace mediante una prueba de sangre que busca anticuerpos producidos por el organismo contra el virus. Existen dos clases de pruebas de laboratorio. Presuntivas, que pueden indicar una posible infección, y las pruebas confirmatorias, las cuales se hacen únicamente en caso de que la prueba presuntiva de positiva. \n\n¿Cuál es el procedimiento que el laboratorio debe realizar en el análisis de la prueba? El laboratorio procesa la muestra y en caso de un resultado presuntamente positivo o inconcluyente, realiza un segundo examen con otra muestra. En caso de que la segunda muestra también arroje un resultado presuntamente positivo, el resultado de la prueba se reporta como reactivo. En caso de que la segunda muestra no confirme los resultados de la primera muestra, las dos muestras se envían a un tercer laboratorio, con el fin de que sea procesada en él. Los resultados de este tercer laboratorio se toman como definitivos para decidir el reporte como Reactivo o Negativo. En todo caso, los costos por estas pruebas son asumidos por cuenta del laboratorio. \n\n¿Cómo se debe interpretar el resultado de la prueba? La prueba inicial, como ya se anotó, es apenas una prueba presuntiva, y por lo tanto, el hecho de salir reactiva no implica que usted tenga SIDA, o esté infectado por el virus. Este resultado debe ser confirmado mediante una prueba llamada Western Blot, con el fin de eliminar posibles falsos positivos de la prueba presuntiva. Para este segundo examen es importante tomar una nueva muestra y procesarla asumiendo usted los costos. Aún si esta segunda prueba confirma la presencia de anticuerpos para el VIH, esto no significa que usted tiene SIDA, pues existe un período de la enfermedad, controlable, en el cual los pacientes tienen anticuerpos contra el VIH, pero no tienen síntomas de la enfermedad, y pueden, inclusive, no desarrollar jamás la enfermedad. Lo que es muy urgente, es consultar con un médico para que se determine el estado de su enfermedad, y se inicie el tratamiento apropiado. \n\nEl resultado será entregado personalmente, previa identificación. ",
|
|
"flujoLibre": false
|
|
},
|
|
{
|
|
"id": "_wsqqoiu",
|
|
"tipo": "parrafo_inline",
|
|
"contenido": "Yo, {nombre_completo}, con N.º de identificación {numero_documento}, declaro que fui informado (a) sobre el examen de anticuerpos contra el VIH que me será practicado el día de hoy, he recibido asesoría, me han explicado en que consiste; el procedimiento y sus implicaciones en mi vida, y la confidencialidad con la que se manejara las información que he dado y que se obtendrá. YO COMPRENDO Y AUTORIZO LA REALIZACIÓN DE LA PRUEBA DE FORMA LIBRE Y ESPONTÁNEA, en el Laboratorio Clínico Ximena Caicedo Empresa Unipersonal."
|
|
},
|
|
{
|
|
"id": "_vihsep1",
|
|
"tipo": "separador",
|
|
"label": "AUTORIZACIÓN Y FIRMA"
|
|
},
|
|
{
|
|
"id": "_vihresp",
|
|
"tipo": "texto",
|
|
"label": "En caso de menor o incapacitado: nombre y parentesco del responsable",
|
|
"required": false
|
|
},
|
|
{
|
|
"id": "_vihfpac",
|
|
"tipo": "firma",
|
|
"label": "Firma del paciente / responsable",
|
|
"required": true
|
|
},
|
|
{
|
|
"id": "_vihsep2",
|
|
"tipo": "separador",
|
|
"label": "USO EXCLUSIVO DEL PROFESIONAL"
|
|
},
|
|
{
|
|
"id": "_vihfpro",
|
|
"tipo": "firma_profesional",
|
|
"label": "Firma del profesional de salud"
|
|
}
|
|
]';
|
|
|
|
INSERT INTO lab_formularios (
|
|
nombre,
|
|
descripcion,
|
|
categoria,
|
|
esquema,
|
|
permite_firma,
|
|
requiere_firma,
|
|
doc_encabezado,
|
|
doc_subtitulo,
|
|
doc_color,
|
|
tipo,
|
|
is_principal,
|
|
is_active,
|
|
version,
|
|
creado_por
|
|
) VALUES (
|
|
'CONSENTIMIENTO INFORMADO VIH F-LAB-05 V.5',
|
|
'Autorización voluntaria para prueba presuntiva de VIH — uso turnero',
|
|
'consentimiento',
|
|
@esquema_vih,
|
|
1,
|
|
1,
|
|
'XIMENA CAICEDO G. E.U',
|
|
'Laboratorio Hematológico',
|
|
'#a0a59c',
|
|
'consentimiento',
|
|
0,
|
|
1,
|
|
5,
|
|
1
|
|
);
|
|
|
|
-- Asignar a todos los puestos de toma de muestras activos
|
|
INSERT INTO turnero_lugar_consentimientos (lugar_id, formulario_id)
|
|
SELECT id, LAST_INSERT_ID()
|
|
FROM turnero_lugares
|
|
WHERE tipo = 'muestras' AND activo = 1;
|