clinical_laboratory/create_lifecycle_issues.sh
2025-07-14 12:16:03 -06:00

43 lines
2.3 KiB
Bash

#!/bin/bash
# Script para crear issues específicos sobre el ciclo de vida y automatización de muestras.
# Issue 8: Implementar Ciclo de Vida para Muestras de Laboratorio
tea issue create --title "feat: Implementar Ciclo de Vida para Muestras de Laboratorio" --labels "feature,enhancement" --description "$(cat <<'EOT'
**Objetivo:** Implementar una máquina de estados para el modelo de muestra (`stock.lot`) que permita seguir su ciclo de vida desde la recolección hasta el descarte.
**Tareas:**
1. **Modelo (`stock.lot`):**
* Añadir un campo `state` de tipo `Selection` con los siguientes estados:
- `collected` (Recolectada)
- `received` (Recibida en Laboratorio)
- `in_process` (En Proceso)
- `analyzed` (Analizada)
- `stored` (Almacenada)
- `disposed` (Desechada)
* Definir métodos para las transiciones de estado (ej. `action_receive`, `action_start_analysis`, etc.).
2. **Vistas (`stock_lot_views.xml`):**
* Añadir un `statusbar` en la vista de formulario para visualizar y gestionar el estado.
* Incorporar botones en el `header` para ejecutar las acciones de cambio de estado.
* Mostrar el campo `state` en la vista de lista y añadirlo a los filtros.
* Aplicar `readonly` a campos clave en función del estado para prevenir modificaciones no deseadas.
EOT
)"
# Issue 9: Automatizar Creación de Muestras desde la Solicitud de Laboratorio
tea issue create --title "feat: Automatizar Creación de Muestras desde la Solicitud" --labels "feature,automation" --description "$(cat <<'EOT'
**Objetivo:** Automatizar la generación de registros de muestra (`stock.lot`) cuando una Solicitud de Laboratorio (`sale.order`) es confirmada.
**Tareas:**
1. **Lógica de Negocio (`sale_order.py`):**
* Heredar y extender el método `action_confirm` del modelo `sale.order`.
* Dentro del método, añadir la lógica para crear un nuevo registro en `stock.lot` por cada tipo de muestra requerido en la solicitud.
* Asociar la muestra creada con la solicitud (`request_id`) y el paciente (`patient_id`) correspondientes.
* Asegurarse de que la muestra se cree en el estado inicial correcto (ej. 'Recolectada' o 'Pendiente de Recolección').
EOT
)"
echo "Script 'create_lifecycle_issues.sh' generado. Ejecútalo para crear los nuevos issues."