clinical_laboratory/documents/plans/ISSUE7_PLAN.md
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

3.3 KiB

Plan de Actividades: Issue #7 - Gestión de Muestras de Laboratorio

Objetivo

Extender el modelo de Lotes/Números de Serie de Odoo (stock.lot) para representar y gestionar las Muestras de Laboratorio. Esto permitirá la trazabilidad completa de la muestra desde su recolección hasta el análisis.

TODO

  • Extender el Modelo de Lote/Número de Serie (stock.lot):

    • Crear el archivo lims_management/models/stock_lot.py.
    • Heredar del modelo stock.lot.
    • Añadir campos: is_lab_sample, patient_id, request_id, collection_date, container_type.
  • Adaptar las Vistas de Lote/Número de Serie:

    • Crear el archivo lims_management/views/stock_lot_views.xml.
    • Crear vistas de lista y formulario para las muestras.
    • Crear un producto de servicio por defecto para las muestras.
  • Crear el Menú "Gestión de Muestras":

    • Modificar lims_management/views/menus.xml.
    • Crear acción de ventana y menuitem para stock.lot con el dominio y contexto adecuados.
  • Establecer Permisos y Reglas de Dominio:

    • Modificar lims_management/security/ir.model.access.csv para dar permisos sobre stock.lot.
    • Añadir dominios en las vistas para los campos relacionales.
  • Actualizar el Manifiesto (__manifest__.py):

    • Añadir nuevos archivos de modelos, vistas y datos al manifiesto.
  • Verificación Final:

    • Reiniciar y verificar la instancia de Odoo.

Nuevas Tareas (Feedback)

  • Mejorar Modelo de Productos para Tipos de Muestra:

    • Añadir un campo booleano is_sample_type al modelo product.template en lims_management/models/product.py.
  • Crear Menú para "Tipos de Muestra":

    • En lims_management/views/menus.xml, añadir una nueva acción de ventana y un menuitem en "Configuración".
    • La acción debe mostrar los productos que tengan is_sample_type = True.
    • El context de la acción debe preestablecer default_is_sample_type = True y default_type = 'service'.
  • Actualizar Vista de Muestras (stock.lot):

    • En lims_management/views/stock_lot_views.xml, hacer visible el campo product_id (Tipo de Muestra).
    • Aplicar un dominio al campo product_id para que solo muestre productos con is_sample_type = True.
    • Eliminar el default_product_id del contexto de la acción de la muestra.
    • Eliminar el producto genérico "Lab Sample" del archivo de datos.
  • Crear Datos de Demostración:

    • Crear el archivo lims_management/demo/z_sample_demo.xml.
    • Añadir registros de product.template para diferentes tipos de muestra (ej. "Tubo de Suero", "Tubo EDTA").
    • Añadir registros de stock.lot que representen muestras reales, usando los pacientes y los nuevos tipos de muestra de demostración.
    • Añadir el nuevo archivo de demostración al __manifest__.py.
  • Verificación Final (con Demo):

    • Reactivar temporalmente la carga de datos de demostración en init_odoo.py.
    • Reiniciar la instancia (docker-compose down -v y docker-compose up -d).
    • Revisar logs y verificar la funcionalidad completa en la interfaz de Odoo.
    • Desactivar nuevamente la carga de datos de demostración al finalizar.