clinical_laboratory/documents/plans/ISSUE7_PLAN.md
Luis Ernesto Portillo Zaldivar 45af1771fa feat(#7): Anadir campo de recolector a muestras
- Anadido el campo 'collector_id' al modelo stock.lot.
- Actualizadas las vistas de lista y formulario para incluir el nuevo campo.
- Actualizados los datos de demostracion para asignar un recolector.
- Actualizado el plan de desarrollo.
2025-07-14 09:39:58 -06:00

2.9 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.
    • (Nuevo) Añadir campo collector_id (Many2one a res.users) para registrar quién tomó la muestra.
  • 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.
    • (Nuevo) Añadir el campo collector_id a las vistas de lista y formulario.
  • 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.
  • Mejorar Modelo de Productos para Tipos de Muestra:

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

    • Añadir acción de ventana y menuitem para los tipos de muestra.
  • Actualizar Vista de Muestras (stock.lot):

    • Hacer visible y aplicar dominio al campo product_id (Tipo de Muestra).
    • Eliminar el producto genérico y su referencia en el contexto.
  • Crear Datos de Demostración:

    • Crear archivo demo/z_sample_demo.xml con tipos de muestra y muestras de ejemplo.
    • Añadir el archivo de demostración al manifiesto.
    • (Nuevo) Actualizar los datos de demostración para incluir el collector_id.
  • Verificación Final (con Demo):

    • Validar la funcionalidad completa con los datos de demostración.

Consideraciones Futuras (Siguientes Issues)

  • Ciclo de Vida de la Muestra: Implementar un campo de estado (state) con su lógica de transiciones (ej. 'Recolectada' -> 'Recibida' -> 'En Proceso' -> 'Completada' -> 'Almacenada').
  • Informes de Muestras: Crear informes en PDF o vistas dinámicas sobre el estado y trazabilidad de las muestras.