- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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'
- 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
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.
- 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
- 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>
- 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>
- 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>
- 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
- 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
- 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
- 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
- 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)
- 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.
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.
- 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.
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.