clinical_laboratory/lims_management/data/rejection_reason_data.xml
Luis Ernesto Portillo Zaldivar 87640b48e0 feat(#58): Implementar flujo de rechazo de muestras
- 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>
2025-07-15 22:49:43 -06:00

95 lines
4.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Rejection Reasons -->
<record id="rejection_reason_insufficient" model="lims.rejection.reason">
<field name="name">Muestra Insuficiente</field>
<field name="code">INSUF</field>
<field name="description">El volumen de muestra recibido es insuficiente para realizar los análisis solicitados</field>
<field name="severity">high</field>
<field name="requires_new_sample" eval="True"/>
<field name="sequence">10</field>
</record>
<record id="rejection_reason_hemolyzed" model="lims.rejection.reason">
<field name="name">Muestra Hemolizada</field>
<field name="code">HEMO</field>
<field name="description">La muestra presenta hemólisis que interfiere con los análisis</field>
<field name="severity">high</field>
<field name="requires_new_sample" eval="True"/>
<field name="sequence">20</field>
</record>
<record id="rejection_reason_coagulated" model="lims.rejection.reason">
<field name="name">Muestra Coagulada</field>
<field name="code">COAG</field>
<field name="description">La muestra presenta coágulos que impiden su procesamiento</field>
<field name="severity">high</field>
<field name="requires_new_sample" eval="True"/>
<field name="sequence">30</field>
</record>
<record id="rejection_reason_lipemic" model="lims.rejection.reason">
<field name="name">Muestra Lipémica</field>
<field name="code">LIP</field>
<field name="description">La muestra presenta lipemia excesiva que interfiere con los análisis</field>
<field name="severity">medium</field>
<field name="requires_new_sample" eval="True"/>
<field name="sequence">40</field>
</record>
<record id="rejection_reason_wrong_container" model="lims.rejection.reason">
<field name="name">Recipiente Inadecuado</field>
<field name="code">RECIP</field>
<field name="description">El tipo de recipiente utilizado no es apropiado para el análisis solicitado</field>
<field name="severity">high</field>
<field name="requires_new_sample" eval="True"/>
<field name="sequence">50</field>
</record>
<record id="rejection_reason_wrong_id" model="lims.rejection.reason">
<field name="name">Identificación Incorrecta</field>
<field name="code">ID</field>
<field name="description">La identificación de la muestra no coincide con la solicitud o es ilegible</field>
<field name="severity">critical</field>
<field name="requires_new_sample" eval="True"/>
<field name="sequence">60</field>
</record>
<record id="rejection_reason_no_label" model="lims.rejection.reason">
<field name="name">Muestra sin Rotular</field>
<field name="code">NOLAB</field>
<field name="description">La muestra no tiene etiqueta de identificación</field>
<field name="severity">critical</field>
<field name="requires_new_sample" eval="True"/>
<field name="sequence">70</field>
</record>
<record id="rejection_reason_transport" model="lims.rejection.reason">
<field name="name">Condiciones de Transporte Inadecuadas</field>
<field name="code">TRANS</field>
<field name="description">La muestra no fue transportada en las condiciones requeridas (temperatura, tiempo, etc.)</field>
<field name="severity">high</field>
<field name="requires_new_sample" eval="True"/>
<field name="sequence">80</field>
</record>
<record id="rejection_reason_contaminated" model="lims.rejection.reason">
<field name="name">Muestra Contaminada</field>
<field name="code">CONT</field>
<field name="description">La muestra presenta signos evidentes de contaminación</field>
<field name="severity">critical</field>
<field name="requires_new_sample" eval="True"/>
<field name="sequence">90</field>
</record>
<record id="rejection_reason_expired" model="lims.rejection.reason">
<field name="name">Tiempo de Entrega Excedido</field>
<field name="code">TIME</field>
<field name="description">La muestra fue recibida fuera del tiempo límite establecido para su procesamiento</field>
<field name="severity">high</field>
<field name="requires_new_sample" eval="True"/>
<field name="sequence">100</field>
</record>
</data>
</odoo>