DavixDavix ERPX
Configuracion

Catálogos de Imágenes

Gestión de procedimientos de imagen diagnóstica organizados por grupos jerárquicos dentro de un catálogo, con búsqueda avanzada por filtros.

Descripción general

El módulo Catálogos de Imágenes permite gestionar los procedimientos de imagen diagnóstica que pertenecen a un catálogo específico de tipo IMAGENES. Los procedimientos se organizan opcionalmente dentro de grupos (familias) jerárquicos, y se muestran en una tabla plana (p-table) con paginación del lado del servidor.

Se accede a esta vista al hacer clic en Detalle sobre un catálogo de tipo IMAGENES en la pantalla de Catálogos. El sistema navega a la ruta /salud/catalogos-procedimientos-imagenes-detalles/\{id\}, donde \{id\} corresponde al identificador del catálogo seleccionado.

Dos niveles de gestión

Esta pantalla gestiona dos tipos de elementos vinculados al catálogo:

  • Procedimientos de imagen: Registros individuales de procedimientos diagnósticos (radiografías, ecografías, tomografías, etc.).
  • Grupos: Carpetas jerárquicas que permiten organizar los procedimientos por familias o categorías. Un grupo puede contener sub-grupos, permitiendo profundidad ilimitada de anidación.

Acceso al módulo

Ruta de navegación: Salud → Catálogos procedimiento imagen detalles

La pantalla muestra una barra de navegación (breadcrumb) en la parte superior:

NivelTextoAcción al hacer clic
1SaludRedirige a /salud
2Catalogos procedimiento imagen detallesSin acción (página actual)

Título y descripción

  • Título: Catalogos procedimientos imagen detalle
  • Descripción: "Muestra el listado y las herramientas para gestionar los catalogos procedimientos imagen detalle"

Barra de herramientas

La parte superior derecha de la cabecera incluye tres botones de acción:

BotónIconoEstiloDescripción
Actualizarpi pi-refreshOutlinedRecarga la tabla con los datos más recientes del servidor
GruposPrimaryAbre el diálogo de gestión de grupos del catálogo
Nuevo Proc. Img.pi pi-plusPrimaryAbre el diálogo para crear un nuevo procedimiento de imagen

Barra de búsqueda y filtros

Debajo de la barra de herramientas se encuentra un componente de búsqueda avanzada (app-search-list) que permite filtrar los procedimientos mostrados en la tabla.

Elementos de la barra de búsqueda

ElementoComponenteDescripción
Campo de búsquedainput text con ícono pi pi-searchPermite buscar por texto libre. La búsqueda se aplica al presionar el botón Buscar
Chips de filtrosp-chipMuestra los filtros activos como etiquetas removibles. Cada chip puede eliminarse haciendo clic en la × o editarse haciendo clic sobre el texto
Agregar filtroBotón pi pi-filterAbre un panel superpuesto (p-overlayPanel) para configurar un nuevo filtro
Quitar filtrosBotón pi pi-filter-slashElimina todos los filtros activos y limpia el campo de búsqueda
BuscarBotón pi pi-searchEjecuta la búsqueda con el texto y los filtros configurados

Panel de filtro (OverlayPanel)

Al hacer clic en Agregar filtro, se despliega un panel con ancho de 350px y los siguientes campos:

#CampoComponenteObligatorioDescripción
1Filtrop-dropdownTipo de filtro a aplicar. Opciones disponibles: GRUPO
2Grupop-treeSelectCondicionalSelector de árbol jerárquico de grupos. Solo visible cuando el filtro seleccionado es GRUPO. Obligatorio en ese caso

Botón del panel

BotónAcción
GuardarAplica el filtro y cierra el panel. El filtro aparece como chip en la barra de búsqueda. Si ya existe un filtro del mismo tipo, se reemplaza

Composición de búsqueda

La búsqueda combina el texto libre del campo de búsqueda con los filtros activos. La consulta final se construye en formato: *\{texto\}* AND grupo_id:\{id\}. Si no hay texto ni filtros, se usa el comodín ** para obtener todos los registros.


Vista principal — Tabla de procedimientos

La vista principal presenta un p-table con carga diferida (lazy loading) que muestra los procedimientos de imagen del catálogo seleccionado.

Indicador de registros

Sobre la tabla se muestra un texto informativo con el formato:

Mostrando página {N} con {X} registros de {Y} entradas

Columnas de la tabla

#ColumnaCampo de datosAnchoDescripción
1GRUPOgrupo125px (fijo)Muestra la jerarquía de grupos del procedimiento, concatenando los nombres de padres con el separador /. Ejemplo: Radiología / Tórax
2CÓDIGOcodigo125px (fijo)Código identificador del procedimiento de imagen
3NOMBREnombreAutoNombre descriptivo del procedimiento
4DESCRIPCIÓNdescripcionAutoDescripción detallada del procedimiento
5CPTcodigo_cpt100px (fijo)Código CPT (Current Procedural Terminology) asociado al procedimiento
6SEGUScodigo_segus100px (fijo)Código SEGUS asociado al procedimiento
7Acciones60px (fijo)Botón de menú contextual (pi pi-ellipsis-h)

Menú contextual

Al hacer clic en el botón de acciones (pi pi-ellipsis-h) o hacer clic derecho sobre una fila, se despliega un menú contextual con las siguientes opciones:

OpciónIconoAcción
Editarpi pi-pencilAbre el diálogo de edición del procedimiento con los datos precargados
Eliminarpi pi-timesAbre el diálogo de confirmación de eliminación

Paginación

La tabla incluye paginación personalizada en la parte inferior con los siguientes controles:

ControlIconoDescripción
Primera páginapi pi-angle-double-leftVa a la primera página. No hace nada si ya está en la primera
Página anteriorpi pi-angle-leftRetrocede una página. No hace nada si ya está en la primera
Selector de páginap-dropdownMuestra la página actual en formato \{número\} de \{total\}. Permite seleccionar cualquier página directamente. Incluye búsqueda habilitada ([filter]="true")
Página siguientepi pi-angle-rightAvanza una página. No hace nada si ya está en la última
Última páginapi pi-angle-double-rightVa a la última página. No hace nada si ya está en la última

El tamaño de página por defecto es de 50 registros.


Crear procedimiento de imagen

Se accede desde el botón Nuevo Proc. Img. en la barra de herramientas.

Se abre un diálogo a pantalla completa con las siguientes propiedades:

PropiedadValor
TítuloProducto
TamañoPantalla completa (width: 100%, height: 100%, top: 0, bottom: 0, maxHeight: 100%)
ArrastrableNo ([draggable]="false")
RedimensionableNo ([resizable]="false")
ModalNo ([modal]="false")
Breakpoints653px: 100vw, 960px: 100vw
  • Breadcrumb: Salud > Catalogos procedimiento imagen detalles > Nuevo
  • Título: Nuevo Procedimiento imagen
  • Descripción: "Aqui puede editar la lista de catalogos de procedimiento imagen detalle"

Indicador de carga

Mientras se cargan los datos (solo en modo edición), el diálogo muestra:

  • Texto: "Cargando sus datos"
  • Ícono: Spinner animado (pi pi-spin pi-spinner)

Sección de formulario

El formulario tiene el subtítulo:

  • Título de sección: Datos generales de imagen
  • Descripción: "Se tiene que rellenar los campos que contengan () obligatoriamente que se requiere para el registro."*

Campos del formulario

#CampoComponenteObligatorioTooltipMensaje de errorAnchoDescripción
1Grupo / Familiap-treeSelectNo"Si dese a gregar a un grupo/familia seleccione"" Obligatorio"*col-12Selector de árbol jerárquico que muestra los grupos disponibles del catálogo. Permite seleccionar el grupo padre al que pertenecerá el procedimiento. Incluye búsqueda habilitada y opción de limpiar selección
2Codigoinput text"Ingrese el código"" Obligatorio"*col-4Código identificador único del procedimiento de imagen
3Nombreinput text"Ingrese el nombre"" Obligatorio"*col-8Nombre descriptivo del procedimiento de imagen
4Descripcióninput textNo"Ingrese la descripción"col-12Descripción detallada del procedimiento
5Código CPTinput textNo"Ingrese código CPT"col-4Código CPT (Current Procedural Terminology) asociado al procedimiento
6Código Segusinput textNo"Ingrese código SEGUS"col-8Código SEGUS asociado al procedimiento

Selector de grupo (TreeSelect)

El campo Grupo / Familia utiliza un componente p-treeSelect que carga la estructura jerárquica de grupos del catálogo actual. La lista de grupos se obtiene del endpoint /v2.0.1/erpx/salud/catalogos-procedimientos-grupos filtrada por el catalogo_id. Cada nodo del árbol muestra su código y nombre en formato \{código\} - \{nombre\}.

Botones de acción

BotónIconoEstiloAcción
Cancelarpi pi-timesp-button-text text-defaultCierra el diálogo sin guardar cambios
Guardarpi pi-check (o spinner mientras procesa)PrimaryValida el formulario y guarda el nuevo procedimiento. Se deshabilita durante el envío

Proceso de guardado

Validar formulario

El sistema verifica que los campos obligatorios (Codigo y Nombre) estén completados. Si alguno está vacío, se marca el campo con error visual y se muestra una notificación: "Hay campos por validar revise." (severidad: error, duración: 5 segundos).

Preparar datos

Se construye el objeto de datos con los campos del formulario. Si se seleccionó un grupo padre, se incluye el grupo_id correspondiente. El catalogo_id se asigna automáticamente desde el parámetro de ruta.

Enviar datos al servidor

Se realiza una petición POST al endpoint /v2.0.1/erpx/salud/catalogos-procedimientos-imagenes con los datos del formulario.

Confirmación

Si la respuesta es exitosa, el sistema:

  1. Muestra la notificación "Registro exitoso." (severidad: success, duración: 5 segundos).
  2. Cierra el diálogo.
  3. Recarga la tabla de procedimientos.

Editar procedimiento de imagen

Se accede desde el menú contextual de un procedimiento → Editar.

Diálogo

Se abre el mismo diálogo a pantalla completa con el título "Producto". Los campos se precargan con los datos actuales del procedimiento seleccionado:

  • Grupo / Familia: Se precarga con el grupo padre actual (si tiene). El sistema busca el grupo en la estructura de árbol para seleccionarlo correctamente en el p-treeSelect.
  • Codigo: Se precarga con el código actual.
  • Nombre: Se precarga con el nombre actual.
  • Descripción: Se precarga con la descripción actual.
  • Código CPT: Se precarga con el código CPT actual.
  • Código Segus: Se precarga con el código SEGUS actual.

Carga de datos en edición

En modo edición, el sistema realiza una o dos peticiones simultáneas (forkJoin):

  1. Siempre: Obtiene los datos del procedimiento por ID desde /v2.0.1/erpx/salud/catalogos-procedimientos-imagenes/\{id\}.
  2. Si tiene grupo asignado: Obtiene los datos del grupo desde /v2.0.1/erpx/salud/catalogos-procedimientos-grupos/\{grupo_id\} para seleccionarlo en el TreeSelect.

Mientras se cargan los datos, se muestra el indicador de carga con spinner.

Proceso de actualización

Validar formulario

Mismas validaciones que en la creación: Codigo y Nombre son obligatorios.

Enviar datos al servidor

Se realiza una petición PUT al endpoint /v2.0.1/erpx/salud/catalogos-procedimientos-imagenes/\{id\} con los datos actualizados del procedimiento.

Confirmación

Si la respuesta es exitosa, el sistema:

  1. Muestra la notificación "Actualización exitoso." (severidad: success, duración: 5 segundos).
  2. Cierra el diálogo.
  3. Recarga la tabla de procedimientos.

Gestión de grupos

Los grupos permiten organizar los procedimientos de imagen en una estructura jerárquica de carpetas. Se gestionan desde dos pantallas: el listado de grupos y el formulario de creación/edición de grupo.

Listado de grupos

Se accede desde el botón Grupos en la barra de herramientas.

Diálogo

Se abre un diálogo a pantalla completa con las siguientes propiedades:

PropiedadValor
TítuloGrupos
TamañoPantalla completa
ArrastrableNo
RedimensionableNo
ModalNo

Encabezado del diálogo

  • Breadcrumb: Inicio > Salud > Catalogos procedimientos imagen detalle
  • Título: Grupos
  • Descripción: "Aqui puede editar la lista de grupos"
BotónIconoDescripción
Nuevo Grupopi pi-plusAbre el formulario de creación de un nuevo grupo

Tabla de grupos (TreeTable)

Los grupos se muestran en un componente p-treeTable que permite visualizar la jerarquía de grupos con expansión por niveles.

Columnas:

#ColumnaDescripción
1GruposNombre del grupo con icono de expansión (p-treeTableToggler) para navegar la jerarquía
2AccionesDos botones de acción por fila (ancho fijo 60px)

Botones de acción por fila:

BotónIconoEstiloAcción
Editarpi pi-pencilPrimaryAbre el formulario de edición del grupo con datos precargados
Eliminarpi pi-trashDangerAbre el diálogo de confirmación de eliminación del grupo

Botón de pie

BotónAcción
CancelarCierra el diálogo de grupos y notifica al componente padre para actualizar la lista de procedimientos

Estructura jerárquica de grupos

Los grupos se cargan desde el endpoint /v2.0.1/erpx/salud/catalogos-procedimientos-grupos filtrados por el catalogo_id actual. El sistema construye automáticamente la estructura de árbol a partir de la relación parent_id de cada grupo. Los grupos raíz (sin parent_id) aparecen en el nivel superior, y sus hijos se anidan debajo.


Crear grupo

Se accede desde:

  • Diálogo de grupos → botón Nuevo Grupo

Diálogo

Se abre un diálogo a pantalla completa con el título "Nuevo Grupo".

Encabezado del diálogo

  • Breadcrumb: Inicio > Logistica > Catalogos productos detalle
  • Título: Nuevo grupo
  • Descripción: "Aqui puede editar la lista de grupos"

Campos del formulario

#CampoComponenteObligatorioTooltipMensaje de errorAnchoDescripción
1Grupop-treeSelectNo"Seleccione el grupo si desea asignarlo"" Obligatorio"*col-12Selector de árbol que muestra los grupos existentes. Permite seleccionar un grupo padre para crear un sub-grupo. Si se deja vacío, el grupo se crea en el nivel raíz
2Codigoinput text"Ingrese el código"" Obligatorio"*col-4Código identificador único del grupo
3Nombreinput text"Ingrese el nombre del grupo"" Obligatorio"*col-8Nombre descriptivo del grupo
4Descripcióninput textNo"Ingrese la descripción del grupo"col-12Descripción detallada del grupo

Cálculo automático de nivel y ruta

Cuando se selecciona un grupo padre en el campo Grupo, el sistema calcula automáticamente:

  • Nivel: Se incrementa en 1 respecto al nivel del grupo padre seleccionado. Si no se selecciona padre, el nivel es 1.
  • Ruta (path): Se construye concatenando la ruta del padre con el nombre del nuevo grupo. Si no hay padre, la ruta es el nombre del grupo.

Estos valores se envían al servidor pero no son visibles para el usuario en el formulario.

Botones de acción

BotónIconoEstiloAcción
Cancelarpi pi-timesp-button-text text-defaultCierra el diálogo sin guardar cambios
Guardarpi pi-check (o spinner mientras procesa)PrimaryValida el formulario y guarda el nuevo grupo. Se deshabilita durante el envío

Proceso de guardado

Validar formulario

El sistema verifica que los campos obligatorios (Codigo y Nombre) estén completados. Si alguno está vacío, se marca el campo con error visual.

Calcular nivel y ruta

Si se seleccionó un grupo padre:

  • nivel = nivel del padre + 1
  • path = ruta del padre + / + nombre del nuevo grupo

Si no se seleccionó grupo padre:

  • nivel = 1
  • path = nombre del grupo

Enviar datos al servidor

Se realiza una petición POST al endpoint /v2.0.1/erpx/salud/catalogos-procedimientos-grupos con los datos del formulario incluyendo el catalogo_id, nivel, path y opcionalmente parent_id (ID del grupo padre seleccionado).

Confirmación

Si la respuesta es exitosa, el sistema:

  1. Muestra la notificación "Registro exitoso." (severidad: success, duración: 5 segundos).
  2. Cierra el diálogo de creación.
  3. Actualiza la lista de grupos en el TreeTable.

Editar grupo

Se accede desde el botón de edición (pi pi-pencil) en la fila del grupo dentro del listado de grupos.

Diálogo

Se abre el mismo diálogo a pantalla completa con el título "Nuevo Grupo" (el título no cambia en modo edición). Los campos se precargan con los datos actuales del grupo seleccionado:

  • Grupo: Se precarga con el grupo padre actual (si tiene). El sistema busca el grupo padre en la estructura de árbol para seleccionarlo correctamente.
  • Codigo: Se precarga con el código actual.
  • Nombre: Se precarga con el nombre actual.
  • Descripción: Se precarga con la descripción actual.

Proceso de actualización

Validar formulario

Mismas validaciones que en la creación: Codigo y Nombre son obligatorios.

Recalcular nivel y ruta

Se recalcula el nivel y la ruta basándose en el grupo padre seleccionado (que puede haber cambiado durante la edición).

Enviar datos al servidor

Se realiza una petición PUT al endpoint /v2.0.1/erpx/salud/catalogos-procedimientos-grupos/\{id\} con los datos actualizados del grupo.

Confirmación

Si la respuesta es exitosa, el sistema:

  1. Muestra la notificación "Actualización exitoso." (severidad: success, duración: 5 segundos).
  2. Cierra el diálogo de edición.
  3. Actualiza la lista de grupos en el TreeTable.

Eliminar elementos

Eliminar procedimiento de imagen

Se accede desde el menú contextual del procedimiento → Eliminar.

Confirmar eliminación

El sistema muestra un diálogo de confirmación con las siguientes propiedades:

PropiedadValor
TítuloConfirmación
Ancho50vw
ModalSí ([modal]="true")
ArrastrableNo
RedimensionableNo

Se muestra un ícono de advertencia (pi pi-exclamation-triangle, tamaño 2rem) junto al mensaje:

Estas seguro de proceder con la eliminación?

Botones:

BotónIconoEstiloAcción
Nopi pi-timesp-button-textCierra el diálogo sin eliminar
Sipi pi-check (o spinner mientras procesa)PrimaryEjecuta la eliminación. Se deshabilita durante el envío

Enviar solicitud de eliminación

Se realiza una petición DELETE al endpoint /v2.0.1/erpx/salud/catalogos-procedimientos-imagenes/\{id\} para eliminar el procedimiento seleccionado.

Confirmación

Si la respuesta es exitosa:

  1. Se muestra la notificación "Eliminado." (severidad: success, duración: 5 segundos).
  2. Se recarga la tabla de procedimientos.

Eliminar grupo

Se accede desde el botón de eliminación (pi pi-trash) en la fila del grupo dentro del listado de grupos.

Confirmar eliminación

El sistema muestra el mismo diálogo de confirmación descrito anteriormente, con el mensaje:

Estas seguro de proceder con la eliminación?

Enviar solicitud de eliminación

Se realiza una petición DELETE al endpoint /v2.0.1/erpx/salud/catalogos-procedimientos-grupos/\{id\} para eliminar el grupo seleccionado.

Confirmación

Si la respuesta es exitosa:

  1. Se muestra la notificación "Eliminado." (severidad: success, duración: 5 segundos).
  2. Se actualiza la lista de grupos en el TreeTable.

Eliminación por tipo

El sistema utiliza endpoints diferentes según el tipo de elemento a eliminar:

  • Procedimiento de imagen (tipo IMAGENES): Llama al endpoint de catálogos-procedimientos-imagenes.
  • Grupo (tipo GRUPO): Llama al endpoint de catálogos-procedimientos-grupos.

Si un grupo contiene sub-grupos o procedimientos hijos, la eliminación podría fallar dependiendo de las restricciones del servidor.


Endpoints del módulo

Procedimientos de imagen

MétodoEndpointDescripción
GET/v2.0.1/erpx/salud/catalogos-procedimientos-imagenesObtener lista paginada de procedimientos de imagen del catálogo
GET/v2.0.1/erpx/salud/catalogos-procedimientos-imagenes/\{id\}Obtener datos de un procedimiento por ID
POST/v2.0.1/erpx/salud/catalogos-procedimientos-imagenesCrear nuevo procedimiento de imagen
PUT/v2.0.1/erpx/salud/catalogos-procedimientos-imagenes/\{id\}Actualizar procedimiento de imagen existente
DELETE/v2.0.1/erpx/salud/catalogos-procedimientos-imagenes/\{id\}Eliminar procedimiento de imagen

Grupos

MétodoEndpointDescripción
GET/v2.0.1/erpx/salud/catalogos-procedimientos-gruposObtener grupos del catálogo
GET/v2.0.1/erpx/salud/catalogos-procedimientos-grupos/\{id\}Obtener datos de un grupo por ID
POST/v2.0.1/erpx/salud/catalogos-procedimientos-gruposCrear nuevo grupo
PUT/v2.0.1/erpx/salud/catalogos-procedimientos-grupos/\{id\}Actualizar grupo existente
DELETE/v2.0.1/erpx/salud/catalogos-procedimientos-grupos/\{id\}Eliminar grupo

Autenticación

Todas las peticiones incluyen las siguientes cabeceras HTTP:

CabeceraValor
acceptapplication/json
AuthorizationBearer \{token\}
enterprise-idID de la empresa del usuario autenticado

Manejo de errores

Código HTTPMensaje mostrado
400"Error de estructura de envio de datos. ERROR 400"
401, 402, 403Concatenación de los mensajes de error del servidor. Si el error es de seguridad (códigos 29000-29999), el sistema redirige automáticamente al servidor de autenticación
404"No se encontró el servidor de respuestas, consulte con el Administrador. ERROR 404"
500"Error interno del servidor. ERROR 500"
Otro"Error 404 consulte con su admin."

Todas las notificaciones de error tienen una duración de 5 segundos.

Redirección por error de seguridad

Si el servidor devuelve un error con código entre 29000 y 29999, el sistema interpreta que la sesión ha expirado o no tiene permisos y redirige automáticamente al servidor de autenticación OAuth, pasando la URL actual como parámetro from para poder retornar después del login.


Problemas comunes

ProblemaCausa probableSolución
No se muestran datos en la tablaEl catalogo_producto_id de la URL no corresponde a un catálogo válido o no tiene procedimientos de imagen asociadosVerificar que se accede desde un catálogo de tipo IMAGENES válido con procedimientos registrados
Al guardar aparece "Hay campos por validar revise"Los campos obligatorios Codigo o Nombre están vacíosCompletar todos los campos marcados con asterisco (*)
El selector de Grupo/Familia no muestra opcionesNo se han creado grupos en este catálogoCrear al menos un grupo desde el botón Grupos antes de intentar asignar un procedimiento a un grupo
La columna GRUPO muestra valores vacíosEl procedimiento no tiene un grupo asignadoEditar el procedimiento y asignarle un grupo desde el campo Grupo / Familia
Al buscar no se encuentran resultadosEl texto de búsqueda no coincide con ningún registro, o los filtros activos son demasiado restrictivosVerificar el texto ingresado. Usar el botón Quitar filtros para limpiar todos los filtros y probar de nuevo
El filtro de grupo no muestra opciones en el TreeSelectNo hay grupos creados para este catálogoCrear grupos primero desde el botón Grupos en la barra de herramientas
Error al eliminar un grupoEl grupo contiene sub-grupos o procedimientos hijosEliminar primero todos los elementos hijos del grupo antes de eliminar el grupo padre
El sistema redirige a la pantalla de loginLa sesión ha expirado o el token de seguridad es inválidoIniciar sesión nuevamente. El sistema redirige automáticamente de vuelta a la pantalla actual
El diálogo muestra "Cargando sus datos" indefinidamenteError al consultar el procedimiento o grupo por ID durante la ediciónVerificar la conexión al servidor y cerrar/reabrir el diálogo
La paginación no muestra el total correctoSe aplicó un filtro que reduce los resultadosEl indicador de registros muestra el total filtrado. Use Quitar filtros para ver todos los registros

Páginas relacionadas