# 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

- [x] **Extender el Modelo de Lote/Número de Serie (`stock.lot`):**
    - [x] Crear el archivo `lims_management/models/stock_lot.py`.
    - [x] Heredar del modelo `stock.lot`.
    - [x] 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.

- [x] **Adaptar las Vistas de Lote/Número de Serie:**
    - [x] Crear el archivo `lims_management/views/stock_lot_views.xml`.
    - [x] Crear vistas de lista y formulario para las muestras.
    - [x] Crear un producto de servicio por defecto para las muestras.
    - [ ] **(Nuevo)** Añadir el campo `collector_id` a las vistas de lista y formulario.

- [x] **Crear el Menú "Gestión de Muestras":**
    - [x] Modificar `lims_management/views/menus.xml`.
    - [x] Crear acción de ventana y `menuitem` para `stock.lot` con el dominio y contexto adecuados.

- [x] **Establecer Permisos y Reglas de Dominio:**
    - [x] Modificar `lims_management/security/ir.model.access.csv` para dar permisos sobre `stock.lot`.
    - [x] Añadir dominios en las vistas para los campos relacionales.

- [x] **Actualizar el Manifiesto (`__manifest__.py`):**
    - [x] Añadir nuevos archivos de modelos, vistas y datos al manifiesto.

- [x] **Verificación Final:**
    - [x] Reiniciar y verificar la instancia de Odoo.

- [x] **Mejorar Modelo de Productos para Tipos de Muestra:**
    - [x] Añadir un campo booleano `is_sample_type` al modelo `product.template`.

- [x] **Crear Menú para "Tipos de Muestra":**
    - [x] Añadir acción de ventana y `menuitem` para los tipos de muestra.

- [x] **Actualizar Vista de Muestras (`stock.lot`):**
    - [x] Hacer visible y aplicar dominio al campo `product_id` (Tipo de Muestra).
    - [x] Eliminar el producto genérico y su referencia en el contexto.

- [x] **Crear Datos de Demostración:**
    - [x] Crear archivo `demo/z_sample_demo.xml` con tipos de muestra y muestras de ejemplo.
    - [x] Añadir el archivo de demostración al manifiesto.
    - [ ] **(Nuevo)** Actualizar los datos de demostración para incluir el `collector_id`.

- [x] **Verificación Final (con Demo):**
    - [x] 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.