
- Dashboard de Estado de Órdenes: Vista gráfica y pivot de órdenes por estado - Dashboard de Productividad de Técnicos: Análisis de pruebas por técnico - Dashboard de Muestras: Estado y distribución de muestras por tipo - Dashboard de Parámetros Fuera de Rango: Identificación de resultados críticos - Dashboard de Análisis Más Solicitados: Top de análisis por período - Dashboard de Distribución Demográfica: Tests por género y rango de edad - Agregar campos computed age_range, patient_gender y patient_age_range - Configurar menú de Dashboards solo para administradores 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
336 lines
13 KiB
XML
336 lines
13 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<odoo>
|
|
<data>
|
|
<!-- Menú Principal -->
|
|
<menuitem
|
|
id="lims_menu_root"
|
|
name="Laboratorio"
|
|
sequence="10"/>
|
|
|
|
<!-- Acción de Ventana para Pacientes -->
|
|
<record id="action_lims_patient" model="ir.actions.act_window">
|
|
<field name="name">Pacientes</field>
|
|
<field name="res_model">res.partner</field>
|
|
<field name="view_mode">list,form</field>
|
|
<field name="view_id" ref="lims_management.view_patient_tree"/>
|
|
<field name="domain">[('is_patient', '=', True)]</field>
|
|
<field name="context">{'default_is_patient': True}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Crea un nuevo paciente
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Submenú de Pacientes -->
|
|
<menuitem
|
|
id="lims_menu_patients"
|
|
name="Pacientes"
|
|
parent="lims_menu_root"
|
|
action="action_lims_patient"
|
|
sequence="20"/>
|
|
|
|
<!-- Acción de Ventana para Doctores -->
|
|
<record id="action_lims_doctor" model="ir.actions.act_window">
|
|
<field name="name">Doctores</field>
|
|
<field name="res_model">res.partner</field>
|
|
<field name="view_mode">list,form</field>
|
|
<field name="view_id" ref="lims_management.view_doctor_tree"/>
|
|
<field name="domain">[('is_doctor', '=', True)]</field>
|
|
<field name="context">{'default_is_doctor': True}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Crea un nuevo doctor
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Submenú de Doctores -->
|
|
<menuitem
|
|
id="lims_menu_doctors"
|
|
name="Doctores"
|
|
parent="lims_menu_root"
|
|
action="action_lims_doctor"
|
|
sequence="30"/>
|
|
|
|
<!-- Acción de Ventana para Solicitudes de Laboratorio -->
|
|
<record id="action_lims_lab_request" model="ir.actions.act_window">
|
|
<field name="name">Solicitudes de Laboratorio</field>
|
|
<field name="res_model">sale.order</field>
|
|
<field name="view_mode">list,form</field>
|
|
<field name="domain">[('is_lab_request', '=', True)]</field>
|
|
<field name="context">{'default_is_lab_request': True}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Crea una nueva solicitud de laboratorio
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Menú para Solicitudes de Laboratorio -->
|
|
<menuitem
|
|
id="lims_menu_lab_requests"
|
|
name="Solicitudes de Laboratorio"
|
|
parent="lims_menu_root"
|
|
action="action_lims_lab_request"
|
|
sequence="15"/>
|
|
|
|
<!-- Acción de Ventana para Muestras de Laboratorio -->
|
|
<record id="action_lims_lab_sample" model="ir.actions.act_window">
|
|
<field name="name">Muestras de Laboratorio</field>
|
|
<field name="res_model">stock.lot</field>
|
|
<field name="view_mode">list,form</field>
|
|
<field name="view_ids" eval="[(5, 0, 0),
|
|
(0, 0, {'view_mode': 'list', 'view_id': ref('view_lab_sample_list')}),
|
|
(0, 0, {'view_mode': 'form', 'view_id': ref('view_lab_sample_form')})]"/>
|
|
<field name="domain">[('is_lab_sample', '=', True)]</field>
|
|
<field name="context" eval="{
|
|
'default_is_lab_sample': True
|
|
}"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Crea una nueva muestra de laboratorio
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Menú para Muestras de Laboratorio -->
|
|
<menuitem
|
|
id="lims_menu_lab_samples"
|
|
name="Muestras"
|
|
parent="lims_menu_root"
|
|
action="action_lims_lab_sample"
|
|
sequence="16"/>
|
|
|
|
<!-- Menú para Muestras Rechazadas -->
|
|
<menuitem
|
|
id="lims_menu_lab_samples_rejected"
|
|
name="Muestras Rechazadas"
|
|
parent="lims_menu_root"
|
|
action="action_lab_sample_rejected"
|
|
sequence="17"/>
|
|
|
|
<!-- Submenú de Laboratorio -->
|
|
<menuitem
|
|
id="lims_menu_laboratory"
|
|
name="Laboratorio"
|
|
parent="lims_menu_root"
|
|
sequence="20"/>
|
|
|
|
<!-- Acción para lims.test -->
|
|
<record id="action_lims_test" model="ir.actions.act_window">
|
|
<field name="name">Pruebas de Laboratorio</field>
|
|
<field name="res_model">lims.test</field>
|
|
<field name="view_mode">list,kanban,form</field>
|
|
<field name="context">{'search_default_my_tests': 1}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Crear primera prueba de laboratorio
|
|
</p>
|
|
<p>
|
|
Aquí podrá gestionar las pruebas de laboratorio,
|
|
ingresar resultados y validarlos.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Menú para Pruebas -->
|
|
<menuitem id="menu_lims_tests"
|
|
name="Pruebas"
|
|
parent="lims_menu_laboratory"
|
|
action="action_lims_test"
|
|
sequence="10"/>
|
|
|
|
<!-- Menú para Ingreso de Resultados -->
|
|
<menuitem id="menu_lims_result_entry"
|
|
name="Ingreso de Resultados"
|
|
parent="lims_menu_laboratory"
|
|
action="action_lims_result_entry"
|
|
sequence="25"/>
|
|
|
|
<!-- Menú para Resultados -->
|
|
<menuitem id="menu_lims_result"
|
|
name="Resultados"
|
|
parent="lims_menu_laboratory"
|
|
action="action_lims_result"
|
|
sequence="30"/>
|
|
|
|
<!-- Submenú de Dashboards -->
|
|
<menuitem
|
|
id="menu_lims_dashboards"
|
|
name="Dashboards"
|
|
parent="lims_menu_root"
|
|
sequence="85"
|
|
groups="lims_management.group_lims_admin"/>
|
|
|
|
<!-- Dashboards individuales -->
|
|
<menuitem id="menu_lab_order_dashboard"
|
|
name="Estado de Órdenes"
|
|
parent="menu_lims_dashboards"
|
|
action="action_lab_order_dashboard"
|
|
sequence="10"/>
|
|
|
|
<menuitem id="menu_technician_productivity_dashboard"
|
|
name="Productividad de Técnicos"
|
|
parent="menu_lims_dashboards"
|
|
action="action_technician_productivity_dashboard"
|
|
sequence="20"/>
|
|
|
|
<menuitem id="menu_sample_dashboard"
|
|
name="Dashboard de Muestras"
|
|
parent="menu_lims_dashboards"
|
|
action="action_sample_dashboard"
|
|
sequence="30"/>
|
|
|
|
<menuitem id="menu_out_of_range_dashboard"
|
|
name="Parámetros Fuera de Rango"
|
|
parent="menu_lims_dashboards"
|
|
action="action_out_of_range_dashboard"
|
|
sequence="40"/>
|
|
|
|
<menuitem id="menu_top_analysis_dashboard"
|
|
name="Análisis Más Solicitados"
|
|
parent="menu_lims_dashboards"
|
|
action="action_top_analysis_dashboard"
|
|
sequence="50"/>
|
|
|
|
<menuitem id="menu_test_demographics_dashboard"
|
|
name="Distribución Demográfica"
|
|
parent="menu_lims_dashboards"
|
|
action="action_test_demographics_dashboard"
|
|
sequence="60"/>
|
|
|
|
<!-- Submenú de Reportes -->
|
|
<menuitem
|
|
id="lims_menu_reports"
|
|
name="Reportes"
|
|
parent="lims_menu_root"
|
|
sequence="90"/>
|
|
|
|
<!-- Menú para Análisis de Resultados en Reportes -->
|
|
<menuitem id="menu_lims_result_analysis"
|
|
name="Análisis de Resultados"
|
|
parent="lims_menu_reports"
|
|
action="action_lims_result_analysis"
|
|
sequence="20"/>
|
|
|
|
<!-- Submenú de Configuración -->
|
|
<menuitem
|
|
id="lims_menu_config"
|
|
name="Configuración"
|
|
parent="lims_menu_root"
|
|
sequence="100"/>
|
|
|
|
<!-- Acción de Ventana para Catálogo de Análisis -->
|
|
<record id="action_lims_analysis_catalog" model="ir.actions.act_window">
|
|
<field name="name">Análisis Clínicos</field>
|
|
<field name="res_model">product.template</field>
|
|
<field name="view_mode">kanban,form</field>
|
|
<field name="domain">[('is_analysis', '=', True)]</field>
|
|
<field name="context" eval="{
|
|
'default_is_analysis': True,
|
|
'default_type': 'service',
|
|
'default_purchase_ok': False,
|
|
'default_categ_id': ref('lims_management.product_category_analysis')
|
|
}"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Crea un nuevo análisis clínico
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Menú para Catálogo de Análisis -->
|
|
<menuitem
|
|
id="lims_menu_analysis_catalog"
|
|
name="Análisis Clínicos"
|
|
parent="lims_menu_config"
|
|
action="action_lims_analysis_catalog"
|
|
sequence="10"/>
|
|
|
|
<!-- Acción de Ventana para Tipos de Muestra -->
|
|
<record id="action_lims_sample_type_catalog" model="ir.actions.act_window">
|
|
<field name="name">Tipos de Muestra</field>
|
|
<field name="res_model">product.template</field>
|
|
<field name="view_mode">kanban,form</field>
|
|
<field name="domain">[('is_sample_type', '=', True)]</field>
|
|
<field name="context" eval="{
|
|
'default_is_sample_type': True,
|
|
'default_type': 'service'
|
|
}"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Crea un nuevo tipo de muestra
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Menú para Tipos de Muestra -->
|
|
<menuitem
|
|
id="lims_menu_sample_type_catalog"
|
|
name="Tipos de Muestra"
|
|
parent="lims_menu_config"
|
|
action="action_lims_sample_type_catalog"
|
|
sequence="20"/>
|
|
|
|
<!-- Acción para abrir configuración de laboratorio -->
|
|
<record id="action_lims_config_settings" model="ir.actions.act_window">
|
|
<field name="name">Configuración</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">res.config.settings</field>
|
|
<field name="view_mode">form</field>
|
|
<field name="target">inline</field>
|
|
<field name="context">{'module' : 'lims_management'}</field>
|
|
</record>
|
|
|
|
<!-- Menú de Panel de Parámetros -->
|
|
<menuitem id="menu_lims_parameter_dashboard"
|
|
name="Panel de Parámetros"
|
|
parent="lims_menu_config"
|
|
action="action_lims_parameter_dashboard"
|
|
sequence="10"/>
|
|
|
|
<!-- Menú de Parámetros de Análisis -->
|
|
<menuitem id="menu_lims_analysis_parameter"
|
|
name="Parámetros de Análisis"
|
|
parent="lims_menu_config"
|
|
action="action_lims_analysis_parameter"
|
|
sequence="20"/>
|
|
|
|
<!-- Menú de Rangos de Referencia -->
|
|
<menuitem id="menu_lims_parameter_range"
|
|
name="Rangos de Referencia"
|
|
parent="lims_menu_config"
|
|
action="action_lims_parameter_range"
|
|
sequence="25"/>
|
|
|
|
<!-- Menú de Config. Parámetros-Análisis -->
|
|
<menuitem id="menu_product_template_parameter_config"
|
|
name="Config. Parámetros-Análisis"
|
|
parent="lims_menu_config"
|
|
action="action_product_template_parameter_config"
|
|
sequence="30"/>
|
|
|
|
<!-- Menú de Estadísticas -->
|
|
<menuitem id="menu_lims_parameter_statistics"
|
|
name="Estadísticas"
|
|
parent="lims_menu_config"
|
|
action="action_lims_parameter_statistics"
|
|
sequence="40"/>
|
|
|
|
<!-- Menú de Motivos de Rechazo -->
|
|
<menuitem id="menu_lims_rejection_reason"
|
|
name="Motivos de Rechazo"
|
|
parent="lims_menu_config"
|
|
action="action_lims_rejection_reason"
|
|
sequence="50"/>
|
|
|
|
<!-- Menú de configuración de ajustes -->
|
|
<menuitem id="menu_lims_config_settings"
|
|
name="Ajustes"
|
|
parent="lims_menu_config"
|
|
action="action_lims_config_settings"
|
|
sequence="100"/>
|
|
</data>
|
|
</odoo>
|