Lizandro Guarnizo
6bf14cbb1b
fix: ocultar botón editar domicilio si el usuario no tiene permiso write
2026-04-02 11:23:18 -05:00
Lizandro Guarnizo
31b79a5a62
feat: rol lab_readonly con acceso exclusivo a ordenes y domicilios (solo lectura)
...
- lab_domicilios.php: sidebar filtrado por hasModule()
- lab_ordenes.php: sidebar filtrado por hasModule()
- login.php: redirige a lab_domicilios.php si módulos son [lab_domicilios, lab_ordenes]
- migration: elimina lab_dashboard y lab_pacientes del rol lab_readonly
- DB producción: rol lab_readonly queda con lab_domicilios(read) + lab_ordenes(read)
2026-04-02 11:18:12 -05:00
Lizandro Guarnizo
3516f6e229
fix: permitir crear/editar formularios a roles con permiso write en lab_formularios
...
- _helpers.php: nueva función requireModuleWrite() que verifica session module_permissions
- save_formulario.php: reemplaza requireAdmin() por requireModuleWrite('lab_formularios')
2026-04-02 10:50:18 -05:00
Lizandro Guarnizo
69ad9733c1
feat: filtros por fecha/paciente y paginación en tab Envíos de formularios
2026-04-02 10:47:18 -05:00
Lizandro Guarnizo
d726319b0a
feat: rol formularios_readonly con acceso exclusivo a lab_formularios
...
- login.php: redirige a lab_formularios.php si el único módulo es lab_formularios
- lab_formularios.php: sidebar filtra links por hasModule() según el rol
- migration: permiso write en lab_formularios para formularios_readonly
- DB: eliminado lab_dashboard de formularios_readonly (solo lectura de resultados)
2026-04-02 10:43:56 -05:00
Lizandro Guarnizo
59e8bbbdcf
fix: ampliar columna role de ENUM a VARCHAR(50) para soportar nuevos slugs de roles
2026-04-02 10:31:09 -05:00
Lizandro Guarnizo
48f0a229ef
feat: readonly roles migration + feature implementations
2026-04-02 09:46:41 -05:00
Lizandro Guarnizo
d8ceb3f822
feat: 6 nuevas funcionalidades - notas obligatorias turno, reporte enfermero, plantilla WhatsApp, adjuntar orden modal, roles solo lectura, fix valores copago
2026-04-02 09:41:49 -05:00
Lizandro Guarnizo
052a263659
Fix: normalize empty numeric fields to null in lab domicilios
2026-03-27 16:17:03 -05:00
Lizandro Guarnizo
0a3f4ffae0
Fix: normalize empty datetime/time fields to null in lab domicilios
2026-03-27 16:04:46 -05:00
Lizandro Guarnizo
8b72c3032e
fix: canvas firma profesional solo visible con sesión activa (cliente público ve 'pendiente')
2026-03-25 16:36:02 -05:00
Lizandro Guarnizo
3b92f47b54
feat: enlaces de formulario sin vencimiento + PDF descargable sin sesión vía token público
2026-03-25 16:14:26 -05:00
Lizandro Guarnizo
9c989ce616
feat: incluir notas del enfermero en export CSV de domicilios (antecedentes, medicamentos, acudiente, notas libres)
2026-03-25 14:37:11 -05:00
Lizandro Guarnizo
bc595a781e
fix: agregar prefijo uploads/media/ a imágenes de notas en panel admin
2026-03-25 14:23:37 -05:00
Lizandro Guarnizo
7917f4852e
fix: parsear d.data[] de la API de notas (no d.clinica/d.libres inexistentes)
2026-03-25 14:21:17 -05:00
Lizandro Guarnizo
921c6abd8c
fix: eliminar bloque huérfano de métodos de notasManager (SyntaxError toggle)
2026-03-25 14:18:33 -05:00
Lizandro Guarnizo
c1027fe671
fix: eliminar declaración duplicada de notasManager (SyntaxError)
2026-03-25 14:12:04 -05:00
Lizandro Guarnizo
429439d6af
fix: toggleFinalizados usa display:block en lugar de cadena vacía
2026-03-25 14:09:00 -05:00
Lizandro Guarnizo
da640680d3
feat: accordion por hora, activo/finalizado, notas en detalle e informe domicilio
...
- enfermero_portal: cards colapsables con toggle en cabecera, ordenadas por hora_programada
- enfermero_portal: sección 'Finalizados' colapsada abajo para completado/cancelado
- enfermero_portal: acudiente en ficha clínica solo si fecha nacimiento confirma menor de edad
- lab_domicilios: notas del enfermero read-only en panel de detalle (cargarNotasDetalle)
- lab_domicilios: botón 'Informe' abre modal con datos del paciente + ficha clínica + notas libres
2026-03-25 14:06:42 -05:00
Lizandro Guarnizo
5f695b5604
feat: sistema de notas clínicas para enfermero (ficha + notas libres) y fix lab_reportes métricas
2026-03-25 13:14:25 -05:00
Lizandro Guarnizo
4ba890a0d5
feat: métricas completas, export Excel domicilios con filtros, hora llegada/salida visible
2026-03-25 11:48:24 -05:00
Lizandro Guarnizo
75aac68d65
fix: imágenes de órdenes en lab_domicilios — corregir URL (encodeURIComponent rompía subdirectorios), agregar modal visor y botones Ver/Descargar
2026-03-25 11:18:48 -05:00
Lizandro Guarnizo
2abce6d4c2
feat: multi-archivo órdenes visible en enfermero, domicilios y órdenes médicas
...
- OrdenMedica::filtrarCampos(): agrega domicilio_id al whitelist
- Domicilio::obtener(): consulta secundaria archivos_ordenes[] con fallback
- Enfermera::agenda(): bulk-query archivos_ordenes[] por domicilio_id
- api/lab/link_ordenes_domicilio.php: API POST vincula orden_ids a domicilio_id
- conversations.php guardar(): trackea allOrdenIds[], llama link API post-save
- lab_domicilios.php: renderOrdenesDetail() multi-archivo en detalle
- enfermero_portal.php: renderOrdenesEnfermero() multi-archivo en cards
- lab_ordenes.php: botón 'Ver domicilio' cuando domicilio_id está vinculado
- migrations/: ALTER TABLE lab_ordenes_medicas ADD domicilio_id + índice
2026-03-24 21:51:29 -05:00
Lizandro Guarnizo
aa17dc299b
feat: soporte multi-archivo en modal Agendar Domicilio
2026-03-24 21:30:58 -05:00
Lizandro Guarnizo
666a2e60b8
Revert "feat: soporte multi-archivo en modal Agendar Domicilio"
...
This reverts commit 45ef99991b .
2026-03-24 21:26:13 -05:00
Lizandro Guarnizo
45ef99991b
feat: soporte multi-archivo en modal Agendar Domicilio
2026-03-24 21:21:39 -05:00
Lizandro Guarnizo
0e9dedd78a
agendar domicilio: modo crear nuevo paciente desde el modal
2026-03-20 15:18:14 -05:00
Lizandro Guarnizo
47d5adbb50
agendar domicilio: inputs editables para nombre y cédula del paciente
2026-03-20 15:15:17 -05:00
Lizandro Guarnizo
e89ec89c66
lab: responsive sidebar toggle en todas las páginas del módulo lab
2026-03-19 11:43:01 -05:00
Lizandro Guarnizo
8fb345c404
responsive: breakpoints unificados, header mobile, sidebar toggle, tablas scroll
2026-03-19 11:30:14 -05:00
Lizandro Guarnizo
0faf101fd1
conversations: fix auth con isUserLoggedIn + escapar comillas dobles y backticks en onclick
2026-03-19 07:55:31 -05:00
Lizandro Guarnizo
dd8d4f9e67
conversations: fix apostrofe en onclick + quitar bypass auth dev
2026-03-18 15:14:46 -05:00
Lizandro Guarnizo
3a9538ad78
index: redirigir enfermeros a enfermero_portal
2026-03-17 15:57:32 -05:00
Lizandro Guarnizo
8e62c29ca9
firma_profesional: canvas en ver_formulario_enviado + endpoint firmar_profesional
2026-03-17 15:55:56 -05:00
Lizandro Guarnizo
922b129094
form_cliente: linked vacío editable + firma_profesional bloqueada para paciente
2026-03-17 15:44:03 -05:00
Lizandro Guarnizo
c0ed80d7d1
ver_formulario: firmas inline en su posición original del esquema (no al final)
2026-03-17 15:35:26 -05:00
Lizandro Guarnizo
d757bba23f
descargar_orden: reescribir sin _helpers para evitar ob_start y Content-Type:json; fix .bin -> extension real
2026-03-17 15:25:26 -05:00
Lizandro Guarnizo
c781863cd4
portal: orden médica siempre muestra botón descarga (fix PDF/bin)
2026-03-17 15:18:54 -05:00
Lizandro Guarnizo
8e15ccc6b4
descargar_orden: detección MIME por magic bytes (fix .bin)
2026-03-17 15:09:02 -05:00
Lizandro Guarnizo
9e5a7017e1
portal enfermero: ver formularios paciente + fix orden médica .bin via descargar_orden.php
2026-03-17 15:04:35 -05:00
Lizandro Guarnizo
23bda70cb8
firma: tabs canvas/foto, drag&drop, fallback seguro, aviso builder
2026-03-17 13:34:18 -05:00
Lizandro Guarnizo
775c654790
cambios
2026-03-17 12:58:42 -05:00
Lizandro Guarnizo
262009f4e5
Update descargar_orden.php
2026-03-16 22:02:11 -05:00
Lizandro Guarnizo
0fddff6c5b
up
2026-03-16 21:55:23 -05:00
Lizandro Guarnizo
4106840a39
up
2026-03-16 21:33:01 -05:00
Lizandro Guarnizo
fe1d3c31b3
foto
2026-03-16 21:00:39 -05:00
Lizandro Guarnizo
79bcc5e4bf
up
2026-03-16 20:46:54 -05:00
Lizandro Guarnizo
3b834bc24b
up
2026-03-16 20:35:02 -05:00
Lizandro Guarnizo
5f7cc67dd9
up
2026-03-16 20:29:21 -05:00
Lizandro Guarnizo
8907f8fa95
up
2026-03-16 20:14:22 -05:00