DavixDavix ERPX
Modulos

Atenciones

Gestión de atenciones médicas de pacientes en el módulo de Salud de Davix ERPX.

Descripción general

La pantalla Atenciones permite gestionar las atenciones médicas de pacientes que ya cuentan con una admisión registrada. Desde esta pantalla se pueden cambiar estados de admisión, registrar la atención clínica completa (triaje, anamnesis, antecedentes y diagnósticos) y consultar los detalles de atenciones previas.

Ruta de navegación: Inicio → Salud → Atenciones


Vista principal (listado de atenciones)

Encabezado

ElementoDescripción
Título"Atenciones"
Subtítulo"Muestra el listado y las herramientas para gestionar las atenciones"
Botón "Actualizar"Icono pi pi-refresh. Recarga la tabla.

Columnas de la tabla

ColumnaAnchoDescripción
Fecha180px mín.Fecha y hora de la atención, formato DD/MM/YYYY hh:mm A.
Medico / Equipo medicoFlexibleNombre del médico ({apellido_paterno} {apellido_materno} {nombres}) o nombre del equipo médico.
PacienteFlexibleNombre completo del paciente ({apellido_paterno} {apellido_materno} {nombres}).
Modalidad150px"EN CONSULTORIO" (valor 1) o "VIRTUAL" (valor 2).
Estado150pxBotón dividido (p-splitButton) que muestra el estado actual con código de color y permite cambiarlo.
Acciones100px, centradoIcono de tres puntos (pi pi-ellipsis-h) para el menú contextual.

Cuando no hay registros: "No se encontraron datos" (con icono pi pi-exclamation-triangle).

Indicador de paginación

"Mostrando pagina {N} con {X} registros de {T} entradas"

Estados de admisión

Cada registro muestra un p-splitButton con código de color según su estado:

EstadoCódigoColor del botónEtiqueta
En espera0secondary (gris)"EN ESPERA"
En llamado1warning (amarillo)"EN LLAMADO"
En atención2primary (azul)"EN ATENCION"
Atendido3success (verde)"ATENDIDO"
Baja4danger (rojo)"BAJA"
Reprogramado5danger (rojo)"REPROGRAMADO"

Opciones del splitButton (cambio de estado)

Las opciones de transición de estado solo están disponibles para admisiones en estados 0 a 3. Los estados Baja (4) y Reprogramado (5) no tienen opciones de transición en el dropdown.

OpciónMensaje de confirmaciónEstado destino
PACIENTE EN ESPERA"DESEA COLOCAR AL PACIENTE EN ESPERA?"En espera (0)
LLAMAR AL PACIENTE"DESEA ATENDER AL PACIENTE?"En llamado (1)
PACIENTE EN ATENCION"COLOCAR AL PACIENTE EN ATENCION"En atención (2)
PACIENTE ATENDIDO"COLOCAR AL PACIENTE COMO ATENDIDO"Atendido (3)

Al seleccionar una opción, se abre un diálogo de confirmación (ver sección Cambiar estado).

Menú contextual

El menú contextual varía según el estado actual de la admisión:

Estado actualOpciones disponibles
En espera (0)Baja
En atención (2)Atencion, Baja
Atendido (3)Detalles
Baja (4)Detalles
Reprogramado (5)Detalles
OpciónIconoDescripción
Atencionpi pi-eyeAbre el formulario de atención clínica (triaje, anamnesis, antecedentes, diagnósticos).
Detallespi pi-eyeAbre el diálogo de detalles en modo solo lectura.
Bajapi pi-lockCambia el estado a Atendido (3).

La opción "Atencion" solo está disponible cuando la admisión se encuentra en estado En atención (2). Esto permite al personal médico registrar los datos clínicos del paciente.

Paginación

Controles de paginación: primera página (doble flecha izquierda), anterior (flecha izquierda), selector de página (dropdown con búsqueda), siguiente (flecha derecha), última página (doble flecha derecha). Tamaño de página: 50 registros.


Atención clínica

Al seleccionar "Atencion" del menú contextual (disponible solo en estado En atención), se abre un diálogo a pantalla completa (p-dialog) con título "Atencion".

Subtítulo: "Se tienen que rellenar los campos que contengan () obligatoriamente que se requiere para el registro"*

El diálogo contiene cuatro paneles colapsables, cada uno dedicado a un aspecto diferente de la atención clínica:

  1. Triaje — Signos vitales y estado general
  2. Anamnesis — Historia clínica actual
  3. Antecedentes — Historial médico del paciente
  4. Diagnósticos — Diagnósticos clínicos

Al abrir el diálogo, el sistema verifica si ya existe una atención registrada para la admisión. Si existe, carga los datos previamente guardados en cada panel. Si no existe, crea automáticamente un nuevo registro de atención vinculado a la admisión.

Parámetro de configuración:

ParámetroDominioCódigoDescripción
Catálogo procedimiento por defectoCONFIG-ERPX-SALUD-ANTECEDENTECATALOGO-PROCEDIMIENTO-DEFECTOID del catálogo de procedimientos utilizado por defecto en la sección de antecedentes.

Botón del diálogo:

BotónIconoDescripción
Cancelarpi pi-timesCierra el diálogo sin guardar cambios pendientes.

Triaje

Panel colapsable con título "TRIAJE".

Mientras se cargan los datos, se muestra: "Cargando sus datos" con un spinner.

Campos del formulario

CampoTipoUnidadDecimalesObligatorioMensaje de error
Temperaturap-inputNumber (decimal, locale es-PE)C2"* Obligatorio"
Presión arterial (sistólica)p-inputNumber (decimal, locale es-PE)mm Hg2"* Obligatorio"
Presión arterial (diastólica)p-inputNumber (decimal, locale es-PE)mm Hg2"* Obligatorio"
Frecuencia cardiacap-inputNumber (decimal, locale es-PE)x min2"* Obligatorio"
Frecuencia respiratoriap-inputNumber (decimal, locale es-PE)x min2"* Obligatorio"
Pesop-inputNumber (decimal, locale es-PE)Kg2"* Obligatorio"
Tallap-inputNumber (decimal, locale es-PE)cm0"* Obligatorio"
Saturación de O2p-inputNumber (decimal, locale es-PE)%0"* Obligatorio"
IMCp-inputNumber (decimal, locale es-PE)2"* Obligatorio"
Estado aparentetextarea (autoResize, 5 filas, 30 columnas)"* Obligatorio"
Escala de dolorRadio buttons"* Obligatorio"
Síntomasp-chips (etiquetas)"* Obligatorio"
Especialidadesp-multiSelect"* Obligatorio"

Los campos Presión arterial sistólica y diastólica se muestran en una misma fila separados por el símbolo "/".

Opciones de Escala de dolor

Opción
SIN DOLOR
LEVE
MODERADO
SEVERO
INSOPORTABLE

Campo Especialidades

Dropdown de selección múltiple (p-multiSelect) que muestra las especialidades médicas disponibles. Muestra el campo nombres de cada especialidad.

Botón

BotónIconoDescripción
GuardarSpinner durante el procesoValida el formulario y guarda los datos de triaje.

Datos enviados al servidor

CampoDescripción
idID del triaje (solo en edición).
atencion_idID de la atención asociada.
funciones_vitales.temperaturaTemperatura corporal.
funciones_vitales.presion_arterial_sistolicaPresión arterial sistólica.
funciones_vitales.presion_arterial_diastolicaPresión arterial diastólica.
funciones_vitales.frecuencia_cardiacaFrecuencia cardiaca.
funciones_vitales.frecuencia_respiratoriaFrecuencia respiratoria.
funciones_vitales.pesoPeso del paciente.
funciones_vitales.tallaTalla del paciente.
funciones_vitales.saturacion_oxigenoSaturación de oxígeno.
funciones_vitales.imcÍndice de masa corporal.
estado_aparenteEstado aparente del paciente (convertido a MAYÚSCULAS).
escala_dolorEscala de dolor seleccionada.
sintomasSíntomas separados por coma (convertidos a MAYÚSCULAS).
especialidadesArray de objetos \{especialidad_id\}.

Notificaciones

ResultadoSeveridadTítuloMensajeDuración
Formulario inválidoerror"Alerta""Revise bien, hay formularios por validar."5 segundos
Éxitosuccess"Alerta""Registro exitoso."5 segundos
Errorerror"Error {código}"Mensaje de error del servidor5 segundos

Anamnesis

Panel colapsable con título "ANAMNESIS".

Mientras se cargan los datos, se muestra: "Cargando sus datos" con un spinner.

Campos del formulario

CampoTipoObligatorioMensaje de error
Tiempo (valor)p-inputNumber (decimal, locale es-PE, 2 decimales)"* Obligatorio"
Tiempo (tipo)p-dropdown
FormapInputText"* Obligatorio"
Relatotextarea (autoResize, 5 filas, 30 columnas)"* Obligatorio"
Signos y Síntomasp-chips (etiquetas)"* Obligatorio"

Los campos Tiempo (valor) y Tiempo (tipo) se muestran en una misma fila como un grupo de entrada combinado: el número a la izquierda y el dropdown a la derecha.

Opciones de Tiempo (tipo)

OpciónValor
MINUTOS0
HORAS1
DIAS2
MESES3
ANOS3

Valor por defecto: DIAS (2).

Botón

BotónIconoDescripción
GuardarSpinner durante el procesoValida el formulario y guarda los datos de anamnesis.

Datos enviados al servidor

CampoDescripción
idID de la anamnesis (solo en edición).
atencion_idID de la atención asociada.
tiempoValor numérico del tiempo de enfermedad.
tiempo_tipoTipo de tiempo (0=Minutos, 1=Horas, 2=Días, 3=Meses/Años).
formaForma de inicio (convertido a MAYÚSCULAS).
relatoRelato de la enfermedad actual (convertido a MAYÚSCULAS).
signos_sintomasSignos y síntomas separados por coma (convertidos a MAYÚSCULAS).

Notificaciones

ResultadoSeveridadTítuloMensajeDuración
Formulario inválidoerror"Alerta""Revise bien, hay formularios por validar."5 segundos
Éxitosuccess"Alerta""Registro exitoso."5 segundos
Errorerror"Error {código}"Mensaje de error del servidor5 segundos

Antecedentes

Panel colapsable con título "ANTECEDENTES".

Mientras se cargan los datos, se muestra: "Cargando sus datos" con un spinner.

Campos principales

CampoTipoObligatorioMensaje de error
Alergiasp-chips (etiquetas)"* Obligatorio"
Hábitos nosivosp-chips (etiquetas)"* Obligatorio"
Medicación recibidap-chips (etiquetas)"* Obligatorio"

Tabla: Antecedentes quirúrgicos

Tabla dinámica (FormArray) para registrar múltiples antecedentes quirúrgicos.

ColumnaTipoObligatorioDescripción
PROCEDIMIENTOp-dropdown con búsqueda, lazy loadingCatálogos de procedimientos de laboratorio. Muestra: "{codigo} - {nombre}". Al escribir en el filtro, busca en el endpoint de catálogos. placeholder="SELECCIONE", emptyMessage="No se encontraron registros.", emptyFilterMessage="No se han encontrado resultados".
DESCRIPCIONpInputTextNoDescripción libre del procedimiento.
AÑOp-calendar (vista año, formato yy)Año en que se realizó el procedimiento quirúrgico.
RELATOpInputTextRelato del antecedente quirúrgico.
EliminarBotón pi pi-trashElimina la fila.

Botón: "Agregar antecedente quirurgico" — agrega una nueva fila a la tabla.

Tabla: Antecedentes médicos

Tabla dinámica (FormArray) para registrar múltiples antecedentes médicos.

ColumnaTipoObligatorioDescripción
CIEp-dropdown con búsqueda, lazy loadingCódigo CIE (Clasificación Internacional de Enfermedades). Muestra: "{codigo} - {nombre}". Al escribir en el filtro, busca en el endpoint de CIE.
DESCRIPCIONpInputTextNoDescripción libre.
RELATOpInputTextRelato del antecedente médico.
EliminarBotón pi pi-trashElimina la fila.

Botón: "Agregar antecedente medico" — agrega una nueva fila a la tabla.

Tabla: Hospitalizaciones

Tabla dinámica (FormArray) para registrar múltiples hospitalizaciones previas.

ColumnaTipoObligatorioDescripción
FECHAp-calendar (formato dd/mm/yy, con icono, sin hora)Fecha de la hospitalización.
RELATOpInputTextRelato de la hospitalización.
EliminarBotón pi pi-trashElimina la fila.

Botón: "Agregar antecedente hospitalizacion" — agrega una nueva fila a la tabla.

Tabla: Antecedentes ginecológicos

Esta sección solo se muestra cuando el paciente es de sexo Femenino (sexo == 'F').

Tabla dinámica (FormArray) para registrar antecedentes ginecológicos.

ColumnaTipoObligatorioDescripción
GESTACIONESp-inputNumber (decimal, locale es-PE, 0 decimales)Número de gestaciones.
ATERMINOSp-inputNumber (decimal, locale es-PE, 0 decimales)Número de partos a término.
PRETERMINOSp-inputNumber (decimal, locale es-PE, 0 decimales)Número de partos pretérmino.
ABORTOSp-inputNumber (decimal, locale es-PE, 0 decimales)Número de abortos.
VIVOS ACTUALESp-inputNumber (decimal, locale es-PE, 0 decimales)Número de hijos vivos actualmente.
EliminarBotón pi pi-trashElimina la fila.

Botón: "Agregar antecedente ginecologico" — agrega una nueva fila a la tabla.

Botón

BotónIconoDescripción
GuardarSpinner durante el procesoValida el formulario y guarda todos los antecedentes.

Datos enviados al servidor

CampoDescripción
idID del antecedente (solo en edición).
atencion_idID de la atención asociada.
alergiasAlergias separadas por coma (convertidas a MAYÚSCULAS).
habitos_nosivosHábitos nocivos separados por coma (convertidos a MAYÚSCULAS).
medicacion_resibidaMedicación recibida separada por coma (convertida a MAYÚSCULAS).
quirurgicosArray de objetos con: procedimiento_id, descripcion (MAYÚSCULAS), ano (formato YYYY), relato (MAYÚSCULAS).
medicosArray de objetos con: cie_id, descripcion (MAYÚSCULAS), relato (MAYÚSCULAS).
hospitalizacionesArray de objetos con: fecha (formato YYYY-MM-DD), relato (MAYÚSCULAS).
ginecologicosArray de objetos con: gestaciones, aterminos, preterminos, obortos, vivos_actuales. Solo para pacientes femeninas.

Notificaciones

ResultadoSeveridadTítuloMensajeDuración
Formulario inválidoerror"Alerta""Revise bien, hay formularios por validar."5 segundos
Éxitosuccess"Alerta""Registro exitoso."5 segundos
Errorerror"Error {código}"Mensaje de error del servidor5 segundos

Diagnósticos

Panel colapsable con título "DIAGNOSTICOS".

Mientras se cargan los datos, se muestra: "Cargando sus datos" con un spinner.

Tabla de diagnósticos

Tabla dinámica (FormArray) para registrar múltiples diagnósticos.

ColumnaTipoObligatorioDescripción
FECHAp-calendar (formato dd/mm/yy, con icono, sin hora)NoFecha del diagnóstico.
CIEp-dropdown con búsqueda, lazy loadingCódigo CIE. Muestra: "{codigo} - {nombre}". Al escribir en el filtro, busca en el endpoint de CIE. placeholder="SELECCIONE", emptyMessage="No se encontraron registros.", emptyFilterMessage="No se han encontrado resultados".
TIPOp-dropdownNoTipo de diagnóstico.
OBSERVACIONpInputTextObservación sobre el diagnóstico.
EliminarBotón pi pi-trashElimina la fila.

Opciones de Tipo de diagnóstico

OpciónValor
PRESUNTIVO0
DEFINITIVO1

Botón: "Agregar antecedente medico" — agrega una nueva fila a la tabla de diagnósticos.

Botón

BotónIconoDescripción
GuardarSpinner durante el procesoValida el formulario y guarda todos los diagnósticos en lote (bulk).

Datos enviados al servidor

Los diagnósticos se guardan en lote mediante el endpoint PUT /diagnosticos/bulk. Cada diagnóstico contiene:

CampoDescripción
idID del diagnóstico (solo en edición).
atencion_idID de la atención asociada.
fechaFecha del diagnóstico (formato YYYY-MM-DD).
cie_idID del código CIE seleccionado.
tipoTipo: 0 (Presuntivo) o 1 (Definitivo).
observacionObservación (convertida a MAYÚSCULAS).

Notificaciones

ResultadoSeveridadTítuloMensajeDuración
Formulario inválidoerror"Alerta""Revise bien, hay formularios por validar."5 segundos
Éxitosuccess"Alerta""Registro exitoso."5 segundos
Errorerror"Error {código}"Mensaje de error del servidor5 segundos

Detalles de admisión

Al seleccionar "Detalles" del menú contextual, se abre un diálogo a pantalla completa (p-dialog) con título "Admision" en modo solo lectura.

Campos mostrados

CampoDescripción
PacienteNombre completo: {apellido_paterno} {apellido_materno} {nombres}.
MedicoNombre completo del médico asignado.
EspecialidadesNombre de la especialidad médica.
Modalidad"EN CONSULTORIO" o "VIRTUAL".
Tipo de atencion"CONSULTA" o "RECONSULTA".
HorarioFecha y hora, formato DD/MM/YYYY hh:mm A.

Botón del diálogo:

BotónIconoDescripción
Cancelarpi pi-timesCierra el diálogo.

Cambiar estado

Al seleccionar una opción de transición de estado desde el p-splitButton, se abre un diálogo de confirmación (DynamicDialog) con título "Confirmacion" y ancho de 50vw.

ElementoDescripción
Iconopi pi-exclamation-triangle (tamaño 2rem)
MensajeVaría según el estado destino (ver tabla de opciones del splitButton).
Botón "No"Icono pi pi-times. Cierra el diálogo sin cambiar el estado.
Botón "Si"Icono pi pi-check (cambia a spinner durante el proceso). Ejecuta el cambio de estado.

Si existen documentos de venta asociados que deben darse de baja primero, el diálogo muestra el mensaje "NESESITA DAR DE BAJA ESTOS DOCUMENTOS PREVIAMENTE" junto con una lista de los documentos (tipo, serie, número) y sus documentos hijos.

El cambio de estado se realiza mediante un PATCH al endpoint de admisiones con el nuevo valor de estado.

Notificaciones

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

Eliminar admisión

Al confirmar la eliminación desde el diálogo correspondiente (DynamicDialog) con título "Confirmacion" y ancho de 50vw.

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

Notificaciones

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

Endpoints

MétodoEndpointDescripción
GET/v2.0.1/erpx/salud/atenciones/Lista todas las atenciones con paginación y búsqueda.
GET/v2.0.1/erpx/salud/atenciones/\{id\}Obtiene una atención por su ID.
POST/v2.0.1/erpx/salud/atenciones/Crea una nueva atención.
PUT/v2.0.1/erpx/salud/atenciones/\{id\}Actualiza una atención existente.
PATCH/v2.0.3/erpx/salud/admisiones/\{id\}Actualiza parcialmente una admisión (cambio de estado).
DELETE/v2.0.3/erpx/salud/admisiones/\{id\}Elimina una admisión.
GET/v2.0.1/erpx/salud/triajes/Lista los triajes.
POST/v2.0.1/erpx/salud/triajes/Crea un nuevo triaje.
PUT/v2.0.1/erpx/salud/triajes/\{id\}Actualiza un triaje existente.
GET/v2.0.1/erpx/salud/anamnesis/Lista las anamnesis.
POST/v2.0.1/erpx/salud/anamnesis/Crea una nueva anamnesis.
PUT/v2.0.1/erpx/salud/anamnesis/\{id\}Actualiza una anamnesis existente.
GET/v2.0.1/erpx/salud/antecedentes/Lista los antecedentes.
POST/v2.0.1/erpx/salud/antecedentes/Crea un nuevo antecedente.
PUT/v2.0.1/erpx/salud/antecedentes/\{id\}Actualiza un antecedente existente.
GET/v2.0.1/erpx/salud/diagnosticos/Lista los diagnósticos.
PUT/v2.0.1/erpx/salud/diagnosticos/bulkActualiza diagnósticos en lote.
GET/v2.0.1/erpx/salud/cie/Lista los códigos CIE.
GET/v2.0.1/erpx/salud/catalogos-procedimientos-laboratorios/Lista los catálogos de procedimientos de laboratorio.
GET/v2.0.2/erpx/salud/especialidades/Lista las especialidades médicas.
GET/v2.0.1/erpx/global/params/Obtiene los parámetros de configuración.

Problemas comunes

ProblemaCausaSolución
"Revise bien, hay formularios por validar"Campos obligatorios sin completar en cualquiera de los paneles (Triaje, Anamnesis, Antecedentes o Diagnósticos).Complete todos los campos obligatorios marcados con (*) en el panel correspondiente.
No aparece la opción "Atencion" en el menú contextualLa admisión no está en estado "En atención" (2).Cambie el estado de la admisión a "En atención" usando el splitButton antes de intentar registrar la atención clínica.
No aparece la sección de antecedentes ginecológicosEl paciente registrado no es de sexo femenino.Esta sección solo se muestra para pacientes con sexo = "F".
Los datos de texto se guardan en mayúsculasEs el comportamiento esperado del sistema.Todos los campos de texto (estado aparente, forma, relato, síntomas, alergias, etc.) se convierten automáticamente a MAYÚSCULAS al guardar.
"NESESITA DAR DE BAJA ESTOS DOCUMENTOS PREVIAMENTE"Existen documentos de venta asociados que deben darse de baja antes de cambiar el estado.Dé de baja los documentos listados en el mensaje antes de intentar cambiar el estado de la admisión.
No se puede agregar una nueva atenciónYa existe una atención registrada para esta admisión.El sistema reutiliza la atención existente. Al abrir el formulario, se cargan los datos previamente guardados para su edición.

Páginas relacionadas