DavixDavix ERPX
Configuracion

Catálogos

Crea, edita y elimina catálogos de procedimientos médicos para imágenes y laboratorios con configuración de fechas de caducidad

Desde Catálogos puedes gestionar los catálogos de procedimientos médicos del sistema. Cada catálogo agrupa un conjunto de procedimientos que pueden ser de tipo Imágenes (radiología, ecografía, etc.) o Laboratorios (análisis clínicos). Los catálogos permiten configurar un período de vigencia opcional mediante fechas de inicio y fin.

Esta vista se encuentra en la ruta Logística > Catálogo dentro del sistema. Requieres un perfil con permisos de acceso al módulo de salud para operar.


Vista principal — Listado de catálogos

Al ingresar al módulo, el sistema muestra una tabla con todos los catálogos registrados. La tabla utiliza carga lazy (paginación del lado del servidor) con un tamaño de página de 50 registros por defecto.

NivelTextoAcción al hacer clic
1LogisticaRedirige a /logistica
2CatálogoSin acción (página actual)

Título y descripción

  • Título: Catálogos
  • Descripción: "Muestra el listado y las herramientas para gestionar el catálogo"

Barra de herramientas

La barra de herramientas utiliza un componente p-menubar con las siguientes opciones:

OpciónIconoDescripción
Nuevo > Catálogopi pi-plusAbre el diálogo para crear un nuevo catálogo. Es un submenú bajo el ítem "Nuevo" (pi pi-cog)
Actualizarpi pi-refreshRecarga la tabla con los datos más recientes del servidor

Columnas de la tabla

ColumnaOrdenableAnchoDescripción
codigo150px (fijo)Código identificador del catálogo
nombreAutoNombre descriptivo del catálogo
TipoAutoTipo de catálogo: IMAGENES o LABORATORIOS
Fecha InicioAutoFecha de inicio de vigencia en formato DD/MM/YYYY. Vacío si no tiene caducidad configurada
Fecha FinAutoFecha de fin de vigencia en formato DD/MM/YYYY. Vacío si no tiene caducidad configurada
AccionesNo80px (fijo)Botón de tres puntos (pi pi-ellipsis-h) que despliega el menú contextual

Todas las columnas con ordenamiento soportan orden ascendente (ASC) y descendente (DESC). Al hacer clic en el encabezado de la columna, se alterna entre los dos modos. El ordenamiento se envía al servidor como parte de la consulta lazy.

Mensaje cuando no hay datos

Si la tabla no tiene registros, se muestra el mensaje:

⚠ No se encontraron datos


Menú contextual

Cada fila de la tabla tiene un menú de acciones accesible de dos formas:

  1. Clic derecho sobre la fila (menú contextual nativo con p-contextMenu).
  2. Clic en el botón de tres puntos (pi pi-ellipsis-h) en la columna Acciones (menú popup con p-menu).

Ambos menús muestran las mismas opciones:

OpciónIconoDescripción
Detallepi pi-folderNavega a la vista de detalle del catálogo. La ruta depende del tipo de catálogo (ver sección siguiente)
Editarpi pi-pencilAbre el diálogo de creación/edición con los datos del catálogo seleccionado precargados
Eliminarpi pi-timesAbre el diálogo de confirmación de eliminación

Al hacer clic en Detalle, el sistema navega a una ruta diferente según el tipo del catálogo:

Tipo de catálogoRuta de navegación
IMAGENES/salud/catalogos-imagenes/\{id\}
LABORATORIOS/salud/catalogos-laboratorios/\{id\}

Paginación personalizada

La tabla implementa un control de paginación manual 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
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 selector de página es un dropdown con búsqueda habilitada ([filter]="true"). Cada opción muestra el formato \{página actual\} de \{total de páginas\}. Al seleccionar una página, la tabla se recarga con los datos correspondientes.


Al hacer clic en Nuevo > Catálogo o en Editar del menú contextual, se abre un diálogo a pantalla completa (p-dialog) para crear o editar un catálogo.

PropiedadValor
TítuloCatalogo de producto
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

El encabezado del diálogo muestra:

  • Breadcrumb: Inicio > Logistica > Catálogos
  • Título: Nuevo catálogo
  • Descripción: "Aqui puede editar la lista de catálogos"

Indicador de carga

Mientras se cargan los datos del catálogo (solo en modo edición), el diálogo muestra un mensaje con spinner:

  • 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: Detalles de catálogo
  • Descripción: "Se tiene que rellenar los campos que contengan () obligatoriamente que se requiere para el registro."*

Campos del formulario

Tipo de catálogo (Radio buttons)

OpciónValorDescripción
IMAGENESIMAGENESCatálogo de procedimientos de imágenes médicas
LABORATORIOSLABORATORIOSCatálogo de procedimientos de laboratorio clínico
  • Componente: p-radioButton (dos opciones)
  • Valor por defecto: IMAGENES
  • Obligatorio: Sí

Código

PropiedadValor
EtiquetaCodigo *
Tooltip"Ingrese el código de registro" (ícono pi pi-exclamation-circle)
Componenteinput[type="text"] con pInputText
ObligatorioSí (Validators.required)
Mensaje de error" Ingrese código válido"*
Anchocol-4 en desktop, col-12 en móvil

Nombre

PropiedadValor
EtiquetaNombre *
Tooltip"Ingrese el nombre" (ícono pi pi-exclamation-circle)
Componenteinput[type="text"] con pInputText
ObligatorioSí (Validators.required)
Mensaje de error" Obligatorio"*
Anchocol-8 en desktop, col-12 en móvil

Configurar caducidad (Switch)

PropiedadValor
Etiqueta"¿Configurar caducidad?"
Componentep-inputSwitch
Valor por defectoDesactivado (false)

Al activar el switch:

  • Los campos Fecha Inicio y Fecha Fin se habilitan y se convierten en obligatorios (Validators.required).

Al desactivar el switch:

  • Los campos Fecha Inicio y Fecha Fin se deshabilitan, se vacían y se eliminan sus validadores.

Fecha Inicio

PropiedadValor
EtiquetaFecha Inicio *
Tooltip"Seleccione una fecha de inicio que no pase al final" (ícono pi pi-exclamation-circle)
Componentep-calendar con ícono ([showIcon]="true")
Formatodd/mm/yy
Placeholderdd/mm/yyyy
ObligatorioSolo cuando "¿Configurar caducidad?" está activado
Mensaje de error" Obligatorio"*
Estado inicialDeshabilitado
LocaleEspañol (días: L,M,M,J,V,S,D; meses en español)
Anchocol-6

Fecha Fin

PropiedadValor
EtiquetaFecha Fin *
Tooltip"Seleccione una fecha final que no sea menor a la fecha de inicio" (ícono pi pi-exclamation-circle)
Componentep-calendar con ícono ([showIcon]="true")
Formatodd/mm/yy
Placeholderdd/mm/yyyy
ObligatorioSolo cuando "¿Configurar caducidad?" está activado
Mensaje de error" Obligatorio"*
Estado inicialDeshabilitado
LocaleEspañol
Anchocol-6

Tabla resumen de campos del formulario

CampoTipoObligatorioMensaje de errorDescripción
TipoRadio buttonSelección entre IMAGENES y LABORATORIOS
CodigoTexto" Ingrese código válido"*Código identificador del catálogo
NombreTexto" Obligatorio"*Nombre descriptivo del catálogo
¿Configurar caducidad?SwitchNoHabilita/deshabilita los campos de fecha
Fecha InicioCalendarioCondicional" Obligatorio"*Solo obligatorio si la caducidad está activada
Fecha FinCalendarioCondicional" Obligatorio"*Solo obligatorio si la caducidad está activada

Validación de fechas

Al guardar, si la caducidad está configurada, el sistema valida que la Fecha Fin no sea anterior a la Fecha Inicio. Si lo es, se muestra una notificación:

  • Severidad: Advertencia (warn)
  • Título: Alerta
  • Mensaje: "La fecha fin no puede ser menor a la fecha inicio."
  • Duración: 5 segundos
BotónIconoEstiloAcción
Cancelarpi pi-timesp-button-text text-defaultCierra el diálogo sin guardar
Guardarpi pi-check (o spinner mientras procesa)PrimaryValida y guarda el catálogo. Se deshabilita durante el envío

Datos enviados al servidor

Al guardar, se envía un objeto con la siguiente estructura:

CampoFormatoDescripción
idUUID o nullID del catálogo (solo en edición)
codigoStringCódigo del catálogo
nombreStringNombre del catálogo
tipoIMAGENES o LABORATORIOSTipo de catálogo
fecha_inicioYYYY-MM-DD o nullFecha de inicio (solo si caducidad activa)
fecha_finYYYY-MM-DD o nullFecha de fin (solo si caducidad activa)

Flujo de creación

Haz clic en Nuevo > Catálogo en la barra de herramientas. Se abre el diálogo a pantalla completa con el formulario vacío y el tipo preseleccionado en IMAGENES.

Seleccionar tipo

Elige entre IMAGENES o LABORATORIOS usando los radio buttons.

Completar campos obligatorios

Ingresa el Código y Nombre del catálogo.

Configurar caducidad (opcional)

Si deseas configurar un período de vigencia, activa el switch "¿Configurar caducidad?" y selecciona las fechas de inicio y fin.

Guardar

Haz clic en Guardar. El sistema valida los campos, envía los datos al servidor (POST) y, si es exitoso, muestra la notificación: "Registro exitoso." (duración: 5 segundos). El nuevo catálogo aparece al inicio de la tabla.

Flujo de edición

Haz clic derecho sobre una fila o usa el botón de tres puntos, luego selecciona Editar.

Carga de datos

El sistema consulta los datos completos del catálogo por ID (GET /v2.0.1/erpx/salud/catalogos/\{id\}). Mientras carga, se muestra el spinner con el texto "Cargando sus datos".

Modificar campos

Los campos se precargan con los datos actuales. Si el catálogo tiene fechas configuradas, el switch de caducidad se activa automáticamente y los campos de fecha se habilitan con los valores existentes.

Guardar cambios

Haz clic en Guardar. El sistema envía los datos actualizados al servidor (PUT) y, si es exitoso, muestra la notificación: "Actualización exitosa." (duración: 5 segundos). La fila se actualiza en la tabla.


Al seleccionar Eliminar del menú contextual, se abre un diálogo de confirmación.

Propiedades del diálogo de eliminación

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 del diálogo de eliminación

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

Resultado de la eliminación

  • Éxito: Se muestra la notificación "Eliminado." (severidad: success, duración: 5 segundos). La fila se elimina de la tabla.
  • Error: Se muestra la notificación con el mensaje de error del servidor.

Endpoints utilizados

EndpointMétodoDescripción
/v2.0.1/erpx/salud/catalogosGETObtiene la lista paginada de catálogos
/v2.0.1/erpx/salud/catalogos/\{id\}GETObtiene los datos completos de un catálogo por ID
/v2.0.1/erpx/salud/catalogos/POSTCrea un nuevo catálogo
/v2.0.1/erpx/salud/catalogos/\{id\}PUTActualiza un catálogo existente
/v2.0.1/erpx/salud/catalogos/\{id\}DELETEElimina un catálogo

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
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.


Problemas comunes

ProblemaCausaSolución
Al guardar aparece " Ingrese código válido"*El campo Código está vacíoIngresa un código para el catálogo
Al guardar aparece " Obligatorio"* en NombreEl campo Nombre está vacíoIngresa un nombre para el catálogo
Al guardar aparece " Obligatorio"* en las fechasLa caducidad está activada pero las fechas están vacíasSelecciona ambas fechas o desactiva el switch de caducidad
Aparece "La fecha fin no puede ser menor a la fecha inicio"La Fecha Fin seleccionada es anterior a la Fecha InicioSelecciona una Fecha Fin igual o posterior a la Fecha Inicio
No aparece la opción Detalle correctaEl tipo del catálogo no es IMAGENES ni LABORATORIOSVerifica que el catálogo tenga un tipo válido asignado
La tabla muestra "No se encontraron datos"No hay catálogos registrados en el sistemaCrea un nuevo catálogo usando el botón Nuevo > Catálogo
El diálogo muestra "Cargando sus datos" indefinidamenteError al consultar el catálogo por IDVerifica la conexión al servidor y que el catálogo exista

Páginas relacionadas