Commit Graph

35 Commits

Author SHA1 Message Date
Luis Ernesto Portillo Zaldivar
3c9d8f5bf0 fix: Agregar dependencia del módulo stock en __manifest__.py
Resuelve el error "Model 'stock.lot' does not exist in registry"
agregando 'stock' a la lista de dependencias del módulo.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 11:26:46 -06:00
Luis Ernesto Portillo Zaldivar
d51d3b5d69 feat(#71): Implementar dashboards para administrador del laboratorio
- Dashboard de Estado de Órdenes: Vista gráfica y pivot de órdenes por estado
- Dashboard de Productividad de Técnicos: Análisis de pruebas por técnico
- Dashboard de Muestras: Estado y distribución de muestras por tipo
- Dashboard de Parámetros Fuera de Rango: Identificación de resultados críticos
- Dashboard de Análisis Más Solicitados: Top de análisis por período
- Dashboard de Distribución Demográfica: Tests por género y rango de edad
- Agregar campos computed age_range, patient_gender y patient_age_range
- Configurar menú de Dashboards solo para administradores

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-17 11:17:26 -06:00
Luis Ernesto Portillo Zaldivar
aa8a0571fc feat(#11): Implementar informe PDF de resultados de laboratorio
- Agregar QWeb template para generar PDF profesional con:
  - Encabezado con datos del laboratorio y logo
  - Información completa del paciente y orden
  - Tabla de resultados con indicadores visuales para valores fuera de rango
  - Sección de observaciones y notas
  - Información del validador y fecha de validación

- Agregar campo computado reference_text en parameter_range para mostrar rangos formateados
- Agregar botón "Imprimir Informe de Resultados" en vista de órdenes (solo visible cuando hay pruebas validadas)
- Agregar campo lab_notes en sale.order para observaciones generales
- Reorganizar vista de lims.test con pestañas para mejor UX
- Corregir manejo de employee_ids en el reporte para casos donde no existe el módulo HR
- Incluir scripts de prueba para generar datos de demostración

El informe resalta valores críticos y fuera de rango con colores distintivos,
facilitando la interpretación rápida de los resultados por parte del médico.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 18:03:06 -06:00
Luis Ernesto Portillo Zaldivar
0cf2e42f7a feat(#60): Implementar automatización configurable de re-muestreo
- Agregar modelo de configuración del laboratorio (lims.config.settings)
- Implementar generación automática de re-muestras al rechazar
- Añadir campos de trazabilidad: parent_sample_id, child_sample_ids
- Crear vista de configuración accesible desde menú admin
- Mejorar vistas de stock.lot con información de re-muestreo
- Incluir notificaciones automáticas a recepcionistas
- Configurar límite máximo de re-muestreos por muestra

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 07:39:43 -06:00
Luis Ernesto Portillo Zaldivar
87640b48e0 feat(#58): Implementar flujo de rechazo de muestras
- Agregar estado 'rejected' al ciclo de vida de la muestra
- Crear modelo lims.rejection.reason para gestionar motivos de rechazo
- Agregar campos de rechazo en stock.lot (reason, notes, rejected_by, date)
- Crear wizard para proceso de rechazo con validaciones
- Implementar acción de rechazo con notificaciones
- Crear vistas para muestras rechazadas con filtros y búsquedas
- Agregar 10 motivos de rechazo predefinidos (hemolizada, coagulada, etc.)
- Incluir permisos de seguridad para los nuevos modelos
- Agregar menús para gestión de rechazos y muestras rechazadas
- Corregir compatibilidad con Odoo 18 en vistas existentes

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 22:49:43 -06:00
36a9772a07 Merge pull request 'feat(#10): Implementar etiquetas de muestras con código de barras' (#57) from feature/10-sample-barcode-labels into dev 2025-07-16 04:05:26 +00:00
Luis Ernesto Portillo Zaldivar
c74b17554e feat(#10): Implementar etiquetas de muestras con código de barras
- Crear plantilla QWeb para etiquetas de 100x50mm
- Incluir datos del paciente, orden y tipo de muestra
- Generar código de barras Code128 usando campo existente
- Agregar botón 'Imprimir Etiquetas' en órdenes confirmadas
- Formato optimizado para impresoras de etiquetas

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 19:57:25 -06:00
Luis Ernesto Portillo Zaldivar
d911c8d0ba feat(#9): Agregar usuarios demo para pruebas de roles
- Crear usuario 'recepcionista' con rol Recepcionista
- Crear usuario 'tecnico' con rol Técnico
- Crear usuario 'administrador' con rol Administrador
- Todos con contraseña 'demo' para facilitar pruebas
- Incluir archivo en datos demo del módulo

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 19:23:06 -06:00
Luis Ernesto Portillo Zaldivar
02f011a02b fix: Corregir orden de carga de vistas y referencias en action
- Movido menus.xml al final del manifest para cargar después de las vistas
- Agregadas referencias explícitas a las vistas en action_lims_test
- Esto soluciona el error 'No se pudo encontrar una vista por defecto de tipo tree'
2025-07-15 15:05:21 -06:00
Luis Ernesto Portillo Zaldivar
4283fe0507 fix: Eliminar referencias a reportes no implementados
- Eliminado completamente el botón de reporte en lims_test_views.xml
- Removida referencia a report/report_test_result.xml del manifest
- Removida referencia a report_test_result.css del manifest
- Esto soluciona el error 'External ID not found' durante la inicialización
2025-07-15 14:53:08 -06:00
Luis Ernesto Portillo Zaldivar
c7009990fe feat(#51): Issue #51 completado - Catálogo de parámetros de análisis
Implementación completa del sistema de catálogo de parámetros flexible:

 **Tasks completadas:**
- Task 1-12: Todas las tareas implementadas exitosamente
- Task 13: No aplicable (no hay reportes desarrollados aún)

**Características principales:**
- Catálogo centralizado de parámetros reutilizables
- Rangos de referencia flexibles por edad/género/embarazo
- Generación automática de resultados basada en configuración
- Integración completa con el flujo existente
- 36 parámetros demo y 31 rangos de referencia
- Tests automatizados completos

**Modelos implementados:**
- lims.analysis.parameter
- lims.parameter.range
- product.template.parameter

La Task 13 se omitió ya que no existen reportes desarrollados en el módulo actualmente.
2025-07-15 14:22:11 -06:00
Luis Ernesto Portillo Zaldivar
999896f89e feat(#51): Task 11 completada - Datos de demostración con catálogo de parámetros
- Creados 36 parámetros de análisis en parameter_demo.xml
- Creados 31 rangos de referencia en parameter_range_demo.xml
- Creadas 40 configuraciones parámetro-análisis en analysis_parameter_config_demo.xml
- Consolidado script de creación de datos demo en test/create_demo_data.py
- Actualizado init_odoo.py para usar script consolidado
- Eliminados scripts obsoletos (04_demo_lab_orders.sh, create_test_demo_data.py)
- Verificada carga exitosa de todos los datos demo
2025-07-15 13:56:09 -06:00
Luis Ernesto Portillo Zaldivar
bac05b4bb2 feat(#51): Task 9 completada - Actualizar vistas de ingreso de resultados 2025-07-15 13:18:00 -06:00
Luis Ernesto Portillo Zaldivar
cdb8a97d58 feat(#51): Task 8 completada - Crear vistas de configuración de parámetros 2025-07-15 12:59:49 -06:00
Luis Ernesto Portillo Zaldivar
bd0daf3da7 feat(#51): Task 3 completada - Crear modelo lims.parameter.range
- Creado modelo lims.parameter.range para rangos de referencia flexibles
- Campos de condiciones: gender, age_min/max, pregnant
- Campos de valores: normal_min/max, critical_min/max
- Métodos helper: is_value_normal(), is_value_critical(), get_value_status()
- Múltiples validaciones para garantizar consistencia de datos
- Vistas con filtros por edad, género y condiciones especiales
- Actualizado analysis_parameter con rangos en notebook

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 11:47:32 -06:00
Luis Ernesto Portillo Zaldivar
92f8894164 feat(#51): Task 2 completada - Crear modelo product.template.parameter
- Creado modelo product.template.parameter para asociar parámetros a análisis
- Campos: sequence, required, instructions
- Relación Many2one con analysis.parameter y product.template
- Agregadas vistas embebidas en product.template
- Actualizado analysis.parameter con relación One2many
- Configurados permisos de seguridad

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 11:29:41 -06:00
Luis Ernesto Portillo Zaldivar
98aba1c747 feat(#51): Task 1 completada - Crear modelo lims.analysis.parameter
- Creado modelo lims.analysis.parameter con campos: name, code, value_type, unit, etc.
- Implementadas validaciones y constraints
- Creadas vistas form, list y search
- Agregado menú en Configuración
- Configurados permisos de seguridad

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 11:10:13 -06:00
Luis Ernesto Portillo Zaldivar
619c6a3afa feat(#8): Task 5 completada - Configuración de validación opcional
- Modelo res.config.settings con parámetro lims_require_validation
- Método _compute_require_validation usa la configuración
- Auto-validación cuando no se requiere validación manual
- Vista de configuración en Laboratorio > Configuración > Ajustes
- Instancia validada sin errores
2025-07-15 00:59:52 -06:00
Luis Ernesto Portillo Zaldivar
de9102f7e0 feat(#8): Task 4 completada - Resaltado visual para valores fuera de rango
- CSS personalizado para resaltar valores en rojo
- Integración con decoration-danger de Odoo 18
- Estilos aplicados a vistas lista y formulario
- Assets backend configurados en manifest
2025-07-15 00:51:12 -06:00
Luis Ernesto Portillo Zaldivar
8851a8994a feat(#8): Task 3 completada - Interfaz de ingreso de resultados
- Vista formulario con lista editable de resultados
- Campos dinámicos que se ocultan según tipo de valor
- Botones de acción según estado de la prueba
- Vista lista, kanban y búsqueda implementadas
- Menú agregado en sección Laboratorio
- decoration-danger para valores fuera de rango preparado
2025-07-15 00:45:46 -06:00
Luis Ernesto Portillo Zaldivar
a1b8f7b1de feat(#8): Task 1 y 2 completadas - Crear modelos lims.test y lims.result
- Modelo lims.test con todos los campos especificados
- Modelo lims.result con soporte para múltiples tipos de valor
- Secuencia automática para códigos de prueba
- Flujo de estados: draft -> in_process -> result_entered -> validated
- Validación de un solo tipo de valor por resultado
- Permisos de seguridad configurados
2025-07-15 00:36:58 -06:00
Luis Ernesto Portillo Zaldivar
0d9dee160c feat(#32): Add demo data for automatic sample generation - Task 8 completed
- Created 4 demo lab orders showcasing different scenarios:
  - Order 1: Multiple analyses requiring same sample type (EDTA)
  - Order 2: Multiple analyses with different sample types
  - Order 3: Mixed analyses for thyroid panel
  - Order 4: Pediatric order with different sample types
- Added file to manifest demo section
- Successful test with ephemeral instance restart (main initialization OK)
2025-07-14 22:56:55 -06:00
Luis Ernesto Portillo Zaldivar
40b5dabda7 feat(#44): Create initial sample types data
- Created sample_types.xml with 10 common laboratory sample containers
- Added product category for sample containers
- Defined sample types: serum, EDTA, citrate, heparin, glucose, urine, stool, swab, blood culture, CSF
- All sample types marked as consumable products with purchase_ok=True, sale_ok=False
- Added sample_types.xml to module manifest

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 20:58:14 -06:00
Luis Ernesto Portillo Zaldivar
a047cd1a02 feat(#7): Implementar feedback de gestion de muestras
- Anadido catalogo de Tipos de Muestra.
- Mejorada la vista de Muestras para seleccionar el tipo.
- Creados datos de demostracion para tipos de muestra y muestras.
2025-07-14 09:09:24 -06:00
Luis Ernesto Portillo Zaldivar
87dd570548 feat(#7): Añadir vistas y datos para gestion de muestras
Se añaden las vistas de lista y formulario para las muestras de laboratorio, junto con un producto de servicio por defecto. Se deshabilita temporalmente la carga de datos de demostración en init_odoo.py para estabilizar el entorno de validación.
2025-07-14 08:15:58 -06:00
Luis Ernesto Portillo Zaldivar
f56b60ad15 \"feat(#6): Implementar solicitudes de laboratorio y corregir datos de demostracion\" 2025-07-14 02:29:38 -06:00
Luis Ernesto Portillo Zaldivar
b78e71ac5c feat(#5): Implementar cat logo de an lisis y datos de demostraci¢n 2025-07-14 00:12:36 -06:00
Luis Ernesto Portillo Zaldivar
0eaaaef98d feat(#5): Implementar catálogo de análisis clínicos
- Se extiende el modelo product.template para incluir análisis.
- Se crea el modelo para rangos de referencia (lims.analysis.range).
- Se definen permisos de seguridad para el nuevo modelo.
- Se crean las vistas de formulario y lista necesarias.
- Se añade el menú 'Catálogo de Análisis' en Configuración.
- Se actualiza la guía de desarrollo en GEMINI.md con las nuevas convenciones de Odoo 18.
2025-07-13 23:45:32 -06:00
Luis Ernesto Portillo Zaldivar
ccb8a447d8 fix(#4): Corregir errores de vistas y menús en Odoo 18
Se solucionaron los problemas de inicialización y visualización
relacionados con las vistas de árbol y las definiciones de menú
en Odoo 18.

- Se actualizó la sintaxis de la vista de árbol de <tree> a <list>.
- Se corrigió el 'view_mode' en la acción de ventana a 'list,form'.
- Se ajustó el orden de carga de las vistas en __manifest__.py.
- Se eliminaron dependencias de módulos no utilizados.
2025-07-13 22:44:36 -06:00
Luis Ernesto Portillo Zaldivar
da27d0bc83 \"feat(#4): A¤ade l¢gica de autogeneraci¢n y campo de origen\" 2025-07-13 21:16:10 -06:00
Luis Ernesto Portillo Zaldivar
cd8880a624 \"fix(odoo): Corrige errores de inicio en Odoo\" 2025-07-13 20:22:01 -06:00
Luis Ernesto Portillo Zaldivar
a79af24c62 \"feat(partner): Add demo data for patients and doctors\" 2025-07-13 18:27:18 -06:00
Luis Ernesto Portillo Zaldivar
ab031b24a6 \"feat(partner): Add demo data for patients and doctors\" 2025-07-13 18:18:47 -06:00
Luis Ernesto Portillo Zaldivar
6569c5c55b \"feat(partner): Add patient and doctor fields to partner form view\" 2025-07-13 18:12:46 -06:00
Luis Ernesto Portillo Zaldivar
b9d43838da \"feat(lims): Initial scaffolding for LIMS module\" 2025-07-12 16:15:02 -06:00