DavixDavix ERPX
Configuracion

Médicos

Gestión del registro de médicos y personal de salud en el módulo de Salud de Davix ERPX.

Descripción general

La pantalla Lista de médicos permite registrar, editar y eliminar médicos y personal de salud del sistema. Los médicos se registran como colaboradores con roles específicos de salud (Médico, Médico Radiólogo, Técnico Radiólogo, Tecnólogo Médico). Cada registro incluye datos personales, especialidades, lugares de atención, información de contacto, ubicación geográfica y firma digital.

Ruta de navegación: Inicio → Salud → Medicos


Vista principal (listado de médicos)

Encabezado

ElementoDescripción
Título"Lista de médicos"
Subtítulo"Muestra el listado y las herramientas para gestionar los médicos"
Botón "Actualizar"Icono pi pi-refresh. Recarga la tabla con los datos más recientes.
Botón "Nuevo médico"Icono pi pi-plus. Abre el diálogo de creación de un nuevo médico.

Barra de búsqueda y filtros

La barra de búsqueda se encuentra debajo del encabezado y permite filtrar los médicos mostrados.

ElementoTipoDescripción
Campo de búsquedapInputText con icono pi pi-searchBúsqueda por texto libre. Se ejecuta al presionar Enter o al hacer clic en "Buscar". Ocupa 4/12 columnas.
Chips de filtros activosp-chipMuestra los filtros aplicados como chips removibles. Al hacer clic en un chip, se abre el panel de edición del filtro.
Botón "Agregar filtro"Icono pi pi-filterAbre el panel overlay para agregar un nuevo filtro.
Botón "Quitar filtros"Icono pi pi-filter-slashElimina todos los filtros activos y limpia el campo de búsqueda.
Botón "Buscar"Icono pi pi-searchEjecuta la búsqueda con los filtros y texto actuales.

Panel de filtros (overlay)

Al hacer clic en "Agregar filtro", se abre un p-overlayPanel con ancho máximo de 400px.

CampoTipoOpciones / Descripción
Campo o atributop-dropdown (obligatorio)Opciones: Fecha (1), Tipo documento (2), Numero documento (3), Medico (4). Incluye búsqueda por texto.

Dependiendo del filtro seleccionado, se muestran campos adicionales:

Filtro: Fecha (1)

CampoTipoObligatorioMensaje de error
Fecha inicioinput[type=date]"* Ingrese una fecha válido"
Fecha fininput[type=date]"* Ingrese una fecha válido"

Filtro: Tipo documento (2)

CampoTipoObligatorioOpcionesMensaje de error
Tipo documentop-dropdownDNI, Pasaporte"* Seleccione el tipo de documento"

Filtro: Numero documento (3)

CampoTipoObligatorioMensaje de error
Numero documentopInputText"* Ingrese el número de documento"

Filtro: Medico (4)

CampoTipoObligatorioMensaje de error
Médicop-autoComplete"* Seleccione el médico"

El autocomplete de médicos busca en el endpoint de médicos y muestra los resultados con formato: Nombres Apellido_paterno Apellido_materno (en negrita) y debajo Tipo_documento: Numero_documento. Incluye dropdown desplegable y búsqueda en tiempo real.

BotónDescripción
Aplicar filtroAplica el filtro. Si ya existe un filtro del mismo tipo, lo reemplaza.
CancelarCierra el panel sin aplicar.

Indicador de paginación

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

Columnas de la tabla

ColumnaAnchoOrdenableDescripción
T. Documento130px fijoTipo de documento de identidad (DNI, PASAPORTE).
N. Documento150px fijoNúmero de documento de identidad.
NombreFlexibleNombres del médico.
A. paternoFlexibleApellido paterno.
A. MaternoFlexibleApellido materno.
Especialidades150px fijoLista de especialidades separadas por coma.
Dirección250px fijoDirección del médico.
Telefonos100px fijoLista de números de teléfono separados por coma.
Correos100px fijoLista de correos electrónicos separados por coma.
Acciones80px fijoNoIcono de tres puntos (pi pi-ellipsis-h) para abrir el menú contextual.

Cuando no hay registros que coincidan con la búsqueda, la tabla muestra el mensaje: "No se encontraron datos" con un icono de advertencia.

Menú contextual

Se activa haciendo clic derecho sobre una fila o haciendo clic en el icono de tres puntos.

OpciónIconoDescripción
Detallespi pi-eyeMuestra los detalles del médico (funcionalidad pendiente de implementación).
Editarpi pi-pencilAbre el diálogo de edición con los datos del médico precargados.
Eliminarpi pi-trashAbre el diálogo de confirmación para eliminar el médico.

Paginación

ControlIconoDescripción
Primera páginapi pi-angle-double-leftNavega a la primera página.
Página anteriorpi pi-angle-leftRetrocede una página.
Selector de páginap-dropdownFormato "N de T". Incluye filtro por número.
Página siguientepi pi-angle-rightAvanza una página.
Última páginapi pi-angle-double-rightNavega a la última página.

Tamaño de página: 50 registros.


Crear / editar médico

Al hacer clic en "Nuevo médico" o en "Editar" del menú contextual, se abre un diálogo a pantalla completa (DynamicDialog de PrimeNG).

  • Título al crear: "Nuevo médico"
  • Título al editar: "Actualizar datos de {nombres} {apellido_paterno} {apellido_materno}"

Al abrir el diálogo se muestra un indicador de carga con barra de progreso indeterminada ("Cargando sus datos") hasta que todos los datos estén listos.

Sección: Administrar roles

CampoTipoObligatorioTooltipMensaje de error
Rolesp-multiSelect (display: chip)"Seleccione los roles del nuevo colaborador""* Seleccione los roles del nuevo colaborador"

Los roles disponibles se filtran por los parámetros de configuración del dominio CONFIG-ERPX-SALUD-ROLES-MEDICOS. Los roles mapeados son:

Código del parámetroAbreviatura interna
TECNICO RADIOLOGOTR
MEDICO RADIOLOGOMR
TECNOLOGO MEDICOTM
MEDICOM

Sección: Detalles de colaborador

Se muestra la indicación: "Se tiene que rellenar los campos que contengan () obligatoriamente que se requiere para el registro."*

CampoTipoObligatorioAnchoTooltipMensaje de error
Tipo documentop-dropdown4/12 col"Seleccione el tipo de documento""* Seleccione el tipo de documento"
Numero DocumentopInputText + botón búsqueda6/12 col"Ingrese el número de documento, y realice una busqueda previa""* Ingrese un numero válido" / "* No se encuentra el número"
NombrespInputText4/12 col"Ingrese los nombres""* Ingrese los nombres"
Apellido paternopInputText4/12 col"Ingrese el apellido paterno""* Ingrese el apellido paterno"
Apellido maternopInputText4/12 col"Ingrese el apellido materno""* Ingrese el apellido materno"
Fecha nacimientop-calendarNo4/12 col"Seleccione la fecha de nacimiento""* Seleccione la fecha de nacimiento"
Sexop-radioButton6/12 col"Seleccione el sexo""* Seleccione el género"

Opciones de Tipo documento:

OpciónValor
DNIDNI
PasaportePASAPORTE

Opciones de Sexo:

OpciónValor
MasculinoM
FemeninoF

Formato de Fecha nacimiento: DD/MM/YYYY con icono de calendario (showIcon).

Búsqueda por documento (RENIEC/SUNAT)

Al hacer clic en el botón de búsqueda junto al campo "Numero Documento" (o presionar Enter), el sistema consulta el servicio de RENIEC para obtener los datos de la persona.

Validación previa

Se valida que:

  • Se haya seleccionado un tipo de documento. Si no, muestra: "Seleccione el tipo de documento." (severidad: warn)
  • Se haya ingresado un número de documento. Si no, muestra: "Ingrese un numero de válido." (severidad: warn)
  • Si el tipo es DNI, el número debe tener exactamente 8 dígitos. Si no, muestra: "El DNI ingresado es incorrecto, ingrese un numero válido." (severidad: warn)

Consulta al servicio

Durante la búsqueda, el icono del botón cambia a un spinner. Los campos de nombre, apellidos y documento se deshabilitan temporalmente.

Resultado

Si la búsqueda es exitosa y el tipo es DNI, los campos Nombres, Apellido paterno y Apellido materno se rellenan automáticamente con los datos de RENIEC.

Si falla, se muestra el error: "No se encontraron datos para el número ingresado." y se marca el campo con el mensaje " No se encuentra el número"*.

Sección: Especialidades y Lugares de atención

CampoTipoObligatorioTooltipMensaje de error
Especialidadesp-multiSelect (display: chip)"Seleccione las especialidades""* Seleccione las especialidades"
Lugares atencionesp-multiSelect (display: chip)"Seleccione las especialidades""* Seleccione las lugares_atenciones"

Las especialidades se cargan desde el endpoint /v2.0.2/erpx/salud/especialidades y se muestran por el campo nombres. Los lugares de atención se cargan desde el endpoint de elementos de infraestructuras y se muestran por el campo nombre.

Sección: Teléfonos

Subtítulo: "Registre la cantidad de correos que tenga el colaborador."

Se muestra un formulario dinámico (FormArray) donde se pueden agregar múltiples teléfonos.

CampoTipoDescripción
NúmeropInputTextNúmero de teléfono.
Tipop-dropdownTipo de teléfono. Opciones: Casa (CASA), Trabajo (TRABAJO), Personal (PERSONAL). Valor por defecto: Personal.
  • Se inicia con una fila vacía.
  • Botón "Agregar" (icono pi pi-plus): agrega una nueva fila de teléfono.
  • Icono eliminar (pi pi-times): aparece a partir de la segunda fila para quitar ese teléfono. La primera fila no se puede eliminar.

Sección: Correos

Subtítulo: "Registre la cantidad de telefonos que tenga el colaborador."

Formulario dinámico idéntico en estructura a los teléfonos.

CampoTipoDescripción
CorreopInputTextDirección de correo electrónico.
Tipop-dropdownTipo de correo. Opciones: Casa (CASA), Trabajo (TRABAJO), Personal (PERSONAL). Valor por defecto: Personal.
  • Se inicia con una fila vacía.
  • Botón "Agregar" (icono pi pi-plus): agrega una nueva fila de correo.
  • Icono eliminar (pi pi-times): aparece a partir de la segunda fila.

Sección: Ubicación

Subtítulo: "Rellene los campos de ubicación."

CampoTipoObligatorioTooltipDescripción
DirecciónpInputTextNo"Ingrese la dirección"Dirección completa del médico. Ocupa 12/12 columnas.
Paisp-dropdown con filtroNo"Seleccione el país"Lista de países. Se preselecciona "PERÚ" por defecto. Al cambiar el país, se resetean departamento, provincia y distrito.
Departamentop-dropdown con filtroCondicional"Seleccione el Departamento"Se habilita solo si el país es "PERÚ". Al seleccionar, filtra las provincias correspondientes.
Provinciap-dropdown con filtroCondicional"Seleccione la provincia"Se habilita al seleccionar un departamento. Al seleccionar, filtra los distritos correspondientes.
Distritop-dropdown con filtroCondicional"Seleccione el Distrito"Se habilita al seleccionar una provincia.

Los ubigeos (departamentos, provincias y distritos) se obtienen del cache local del sistema (erpx-global-ubigeos). Se filtran jerárquicamente por código: los departamentos tienen formato XX0000, las provincias XXYY00 y los distritos XXYYZZ.

Sección: Firma digital

Subtítulo: "Sube una foto digital con (fondo blanco, escaneado obligatoriamente) lo más claro posible."

CampoTipoDescripción
Archivo de firmainput[type=file] (accept: image/*)Permite subir archivos JPG, PNG, JPEG. Al seleccionar un archivo, se sube automáticamente al servidor de archivos (FServer).

Estados del campo de firma:

  • Sin archivo: Muestra el botón "Subir firma" con icono pi pi-upload y la etiqueta "Permite (JPG,PNG,JPEG) *".
  • Procesando: Muestra "Espere estamos procesando la imagen..." con una barra de progreso indeterminada.
  • Con archivo: Muestra el nombre del archivo ("Constancia: {nombre}") con un icono pi pi-times-circle rojo para eliminar, y una vista previa de la imagen de 250px con opción de ampliar (p-image con preview).

Ubicados en la parte inferior fija del diálogo.

BotónIconoDescripción
Cancelarpi pi-timesCierra el diálogo sin guardar.
Guardarpi pi-check (cambia a spinner durante el proceso)Valida el formulario y guarda el médico. Se deshabilita durante el proceso de guardado.

Validaciones al guardar

Los campos obligatorios validados son:

  • Tipo documento
  • Numero documento
  • Apellido paterno
  • Apellido materno
  • Nombres
  • Sexo
  • Roles
  • Especialidades

Si hay errores, se muestra: "Revise bien, hay formularios por validar1." (severidad: error, duración: 5s, posición: bottom-left).

Flujo de guardado

Preparar datos

El sistema construye el objeto del médico con todos los campos del formulario, convierte la fecha de nacimiento al formato YYYY-MM-DD, asigna los datos de ubicación (ubigeo), teléfonos, correos y el ID de la firma digital.

Enviar al servidor

  • Creación: POST /v2.0.4/erpx/salud/medicos/
  • Actualización: PUT /v2.0.4/erpx/salud/medicos/\{id\}

Resultado

Si es exitoso, se cierra el diálogo y se muestra:

  • Creación: "Registrado con éxito" (severidad: success, duración: 5s)
  • Actualización: "Se ha actualizado con éxito" (severidad: success, duración: 5s)

El nuevo registro se inserta al inicio de la tabla. En actualización, se reemplaza la fila existente.


Eliminar médico

Al seleccionar "Eliminar" del menú contextual, se abre un diálogo de confirmación (DynamicDialog) con título "Confirmación" y ancho de 50vw.

ElementoDescripción
Iconopi pi-exclamation-triangle (tamaño 2rem)
Mensaje"Estas seguro de proceder con la eliminación?"
Botón "No"Icono pi pi-times. Cierra el diálogo sin eliminar.
Botón "Si"Icono pi pi-check (cambia a spinner durante el proceso). Ejecuta la eliminación.

Notificaciones

ResultadoSeveridadTítuloMensajeDuración
Éxitosuccess"Alerta""Eliminado."5 segundos
Errorerror"Error {código}"Mensaje de error del servidor5 segundos

Al eliminar exitosamente, el registro se remueve de la tabla sin necesidad de recargar.


Parámetros de configuración

DominioParámetroDescripción
CONFIG-ERPX-SALUD-ROLES-MEDICOSTECNICO RADIOLOGOID del rol de Técnico Radiólogo.
CONFIG-ERPX-SALUD-ROLES-MEDICOSMEDICO RADIOLOGOID del rol de Médico Radiólogo.
CONFIG-ERPX-SALUD-ROLES-MEDICOSTECNOLOGO MEDICOID del rol de Tecnólogo Médico.
CONFIG-ERPX-SALUD-ROLES-MEDICOSMEDICOID del rol de Médico.

Estos parámetros mapean los roles del sistema de RRHH con los roles médicos de salud. Solo los colaboradores con estos roles aparecen en la lista de médicos.


Endpoints

MétodoEndpointDescripción
GET/v2.0.4/erpx/salud/medicos/Lista todos los médicos con paginación, búsqueda y filtros.
GET/v2.0.4/erpx/salud/medicos/\{id\}Obtiene un médico por su ID (para edición).
POST/v2.0.4/erpx/salud/medicos/Crea un nuevo médico.
PUT/v2.0.4/erpx/salud/medicos/\{id\}Actualiza un médico existente.
DELETE/v2.0.4/erpx/salud/medicos/\{id\}Elimina un médico.
GET/v2.0.1/erpx/rrhh/roles/Lista todos los roles de RRHH.
GET/v2.0.1/erpx/global/params/Obtiene los parámetros de configuración.
GET/v2.0.1/erpx/global/paises/Lista todos los países.
GET/v2.0.2/erpx/salud/especialidades/Lista todas las especialidades médicas.
GET/v2.0.1/erpx/global/elementos-infraestructuras/Lista los elementos de infraestructura (lugares de atención).
GET/v2.0.1/erpx/fserver/files/\{id\}Obtiene un archivo del servidor de archivos (firma digital).
POST/v2.0.1/erpx/fserver/files/Sube un nuevo archivo al servidor de archivos.
GETms-peru-sunat-services/api/v1/reniec/personas/\{numero_documento\}Consulta datos de RENIEC por número de documento.

Problemas comunes

ProblemaCausaSolución
No aparecen roles disponibles en el formularioLos parámetros del dominio CONFIG-ERPX-SALUD-ROLES-MEDICOS no están configurados o los IDs de rol no coinciden con roles existentes.Configure los parámetros con los IDs correctos de los roles en RRHH.
La búsqueda por DNI no encuentra datosEl servicio de RENIEC no está disponible o el número de DNI es incorrecto.Verifique que el servicio de RENIEC esté configurado correctamente y que el DNI tenga exactamente 8 dígitos.
Los campos departamento/provincia/distrito están deshabilitadosNo se seleccionó "PERÚ" como país, o los ubigeos no están en el cache local.Seleccione "PERÚ" como país. Si persiste, verifique que los ubigeos estén cargados en el sistema.
"Revise bien, hay formularios por validar1"Campos obligatorios sin completar (tipo documento, número, nombres, apellidos, sexo, roles, especialidades).Complete todos los campos marcados con (*).
La tabla de médicos está vacíaNo hay colaboradores con los roles de médico configurados, o los parámetros de roles no están configurados.Verifique la configuración de roles médicos y que existan colaboradores asignados a estos roles.
Error al subir la firma digitalEl servidor de archivos (FServer) no está disponible o el formato de imagen no es compatible.Use archivos JPG, PNG o JPEG y verifique la conexión con el servidor de archivos.

Páginas relacionadas