Estudios
Gestion avanzada de estudios de imagen diagnostica con doble fecha, codigos QR, exportacion a Excel, seccion de contraste e integracion con historias clinicas.
Que es el modulo Estudios
El modulo Estudios es una variante avanzada del modulo Estudios de PACS/RIS en Davix ERPX. Incluye funcionalidades adicionales como exportacion a Excel, codigos QR para visores, seccion de contraste en procedimientos, tipos de referente y cancelacion de publicaciones. Permite gestionar estudios de imagen diagnostica, asignar medicos radiologos y tecnologos, crear informes, visualizar imagenes DICOM y publicar resultados con integracion a historias clinicas.
Ruta de navegacion: Inicio > Pacs > Estudios
Estados de un estudio
Cada estudio tiene un estado representado con un badge de color:
| Estado | Valor | Color del badge | Descripcion |
|---|---|---|---|
| Nuevo | 0 | Azul (info) | Estado inicial cuando el estudio se sube al sistema. |
| Pendiente | 1 | Amarillo (warning) | El estudio tiene datos pero aun no se publican los resultados. Tambien se usa cuando se cancela una publicacion. |
| Publicado | 2 | Verde (success) | Los resultados fueron publicados, se genero ZIP, se registro en historias clinicas y se envio al servidor DICOM externo. |
| De baja | 3 | Rojo (danger) | El estudio fue dado de baja (este estado existe pero no aparece en los filtros de busqueda). |
Pantalla principal: lista de estudios
Descripcion general
La pantalla muestra el titulo "Lista de estudios" con la descripcion "Muestra el listado y las herramientas para gestionar los estudios".
La ruta de navegacion (breadcrumb) muestra: Inicio > Pacs > Estudios. Los dos primeros son enlaces navegables; "Estudios" es la pagina actual.
Barra de herramientas
| Boton | Icono | Estilo | Descripcion |
|---|---|---|---|
| Exportar | pi pi-file-excel | Boton con borde | Abre el dialogo para exportar los estudios a un archivo Excel (.xlsx). Requiere filtro de fecha activo. |
| Actualizar | pi pi-refresh | Boton secundario con borde | Recarga los datos de la tabla llamando nuevamente al servicio. |
| Subir estudio | pi pi-upload | Boton primario elevado | Abre el dialogo para subir archivos de estudio al sistema. |
El boton "Nuevo estudio" no esta visible en esta version del modulo. Los estudios se crean mediante la subida de archivos.
Columnas de la tabla principal
La tabla usa p-table con columnas redimensionables, scroll horizontal, seleccion multiple y menu contextual por clic derecho. Paginacion de 10 registros por pagina con controles de navegacion manual (primera, anterior, selector de pagina, siguiente, ultima). Las columnas son:
| # | Columna | Ancho | Descripcion |
|---|---|---|---|
| 1 | Fech. subida | 100px | Fecha y hora de subida del estudio al sistema (created_at). Formato: DD/MM/YYYY hh:mm:ss AM/PM. |
| 2 | Fecha estudio | 100px | Fecha y hora del estudio (fecha). Formato: DD/MM/YYYY hh:mm:ss AM/PM. |
| 3 | Datos de estudio | 300px | Modalidad (codigo de color), ID del estudio (badge azul), procedimientos (badges amarillos) y boton "Editar". |
| 4 | Paciente | 200px | Datos del paciente: numero_documento - nombres apellido_paterno apellido_materno. |
| 5 | Medico Radiologo | 200px | Medico radiologo asignado con edicion inline (rol MR). |
| 6 | Tecnologo medico | 200px | Tecnologo medico asignado con edicion inline (rol TR). |
| 7 | Imagenes | 150px | Cantidad de imagenes (badge), botones para ver, QR y descargar. |
| 8 | Informe | 300px | Lista de informes con botones de accion y boton "Añadir". |
| 9 | Estado | 80px | Badge de estado del estudio. |
| 10 | Acciones | 80px | Icono de tres puntos (pi pi-ellipsis-h) que abre el menu contextual. |
Colores de modalidad en Datos de estudio
La modalidad del estudio se muestra con un codigo de color antes del ID:
| Modalidad | Color | Clase CSS |
|---|---|---|
| DX (Rayos X digital) | Rojo | text-red-400 |
| MR (Resonancia magnetica) | Gris | text-400 |
| CT (Tomografia computarizada) | Naranja | text-orange-400 |
| US (Ecografia) | Verde | text-gren-400 |
Despues del codigo de modalidad se muestra:
- Badge azul con "ID: {study_id}"
- Badges amarillos (
severity="warning") con el nombre de cada procedimiento asignado - Boton "Editar" (icono lapiz) que abre el dialogo de Datos de estudio (Procedimientos)
Columna Imagenes (detalle)
La columna Imagenes contiene:
| Elemento | Icono | Descripcion |
|---|---|---|
| Badge | — | Muestra el numero de imagenes del estudio (number_of_study_related_instances). |
| Ver | pi pi-eye (rojo) | Abre el visor DICOM externo en una ventana popup nueva con la URL del visor + StudyInstanceUIDs. |
| QR | pi pi-qrcode (azul) | Abre el dialogo de codigos QR del estudio. |
| Descargar | pi pi-download (azul) | Genera un ZIP de las imagenes y lo descarga. Muestra "Descargando..." con barra de progreso mientras se procesa. |
Columna Informe (detalle)
Cada informe del estudio se muestra en una fila con:
| Elemento | Descripcion |
|---|---|
| Descripcion | Texto de la descripcion del informe. |
Ver PDF (icono pi pi-file-pdf, rojo) | Abre el visor de informe (PDF o DOCX). Disponible para todos los informes. |
Editar (icono pi pi-pencil, azul) | Si el informe tiene estado 1 (Borrador): abre el formulario de edicion de informe. Si el informe tiene estado 2 (Firmado): abre el formulario de subida de informe. Solo visible si el estudio NO esta publicado (estado != 2). |
Eliminar (icono pi pi-trash, rojo) | Elimina el informe. Solo visible si el estudio NO esta publicado (estado != 2). |
Añadir (boton con icono pi pi-plus) | Abre un menu popup con dos opciones: "Agregar informe" y "Subir informe". |
Edicion inline de Medico Radiologo
Al hacer clic en el boton de edicion (icono lapiz) en la columna Medico Radiologo:
- El texto del medico se oculta y aparece un
p-dropdowncon busqueda - El dropdown filtra colaboradores con rol MR (Medico Radiologo)
- Placeholder:
"SELECCIONE" - Mensajes vacios:
"No se encontraron registros."/"No se han encontrado resultados" - Botones de accion:
- Guardar (icono
pi pi-save): guarda el cambio via PATCH. Muestra "Guardando..." con barra de progreso - Cancelar (icono
pi pi-history, titulo "Regresar como estaba antes"): revierte al valor original
- Guardar (icono
- Mensaje de exito: "Radiologo actualziado" (severity: success)
Edicion inline de Tecnologo medico
Funciona igual que la edicion de Medico Radiologo pero filtra colaboradores con rol TR (Tecnico Radiologo).
Mensaje de exito: "Tecnico radiologo actualizado" (severity: success)
Filtros de busqueda
El panel de filtros permite buscar por texto libre y agregar filtros combinables con operador AND. Hay una barra de busqueda a la izquierda y los filtros se muestran como chips removibles.
Botones de filtro
| Boton | Icono | Descripcion |
|---|---|---|
| Agregar filtro | pi pi-filter | Abre el panel overlay para configurar un nuevo filtro. |
| Quitar filtros | pi pi-filter-slash | Elimina todos los filtros activos y limpia la busqueda. |
| Buscar | pi pi-search | Ejecuta la busqueda con los filtros actuales. |
Tipos de filtro disponibles
| # | Filtro | Tipo de control | Descripcion |
|---|---|---|---|
| 1 | Fecha de subida | Dos campos input type="date" (inicio y fin) | Filtra por rango de fecha de subida (created_at). |
| 2 | Fecha de estudio | Dos campos input type="date" (inicio y fin) | Filtra por rango de fecha del estudio (fecha). |
| 3 | Modalidad | p-multiSelect con chips | Permite seleccionar multiples modalidades. |
| 4 | Pacientes | p-autoComplete con busqueda | Busca y selecciona un paciente especifico. |
| 5 | Estado | p-multiSelect con chips | Permite seleccionar multiples estados. |
Modalidades disponibles para filtro
| Codigo | Descripcion completa |
|---|---|
| CR | Computed Radiography |
| CT | Computed Tomography |
| MR | Magnetic Resonance |
| US | Ultrasound |
| CD | Color flow Doppler |
| DD | Duplex Doppler |
| DG | Diaphanography |
| ES | Endoscopy |
| XA | X-Ray Angiography |
| DX | Digital Radiography |
| MG | Mammography |
Estados disponibles para filtro
| Estado | Valor |
|---|---|
| NUEVO | 0 |
| PENDIENTE | 1 |
| PUBLICADO | 2 |
El estado BAJA (valor 3) no aparece en las opciones de filtro de esta version.
Menu contextual
El menu contextual se activa por clic derecho sobre una fila o por clic en el icono de tres puntos de la columna Acciones. El contenido del menu cambia segun el estado del estudio:
Estudio NO publicado (estado != 2)
| # | Opcion | Icono | Descripcion |
|---|---|---|---|
| 1 | Publicar resultados | pi pi-send | Abre el dialogo de confirmacion para publicar el estudio. |
| — | separador | — | — |
| 2 | Datos de estudio | pi pi-book | Abre el dialogo de Procedimientos (datos de estudio). |
| 3 | Ver imagenes | pi pi-eye | Abre el visor DICOM externo en ventana popup. |
| 4 | Descargar imagenes | pi pi-download | Descarga las imagenes (funcionalidad de descarga). |
| — | separador | — | — |
| 5 | Agregar informe | pi pi-book | Abre el formulario para crear un nuevo informe medico. |
| 6 | Subir informe | pi pi-file-pdf | Abre el formulario para subir un informe PDF/DOCX. |
Estudio publicado (estado == 2)
| # | Opcion | Icono | Descripcion |
|---|---|---|---|
| 1 | Cancelar publicacion | pi pi-times | Abre el dialogo para cancelar la publicacion y regresar el estudio a estado Pendiente. |
| — | separador | — | — |
| 2 | Datos de estudio | pi pi-book | Abre el dialogo de Procedimientos (datos de estudio). |
| 3 | Ver imagenes | pi pi-eye | Abre el visor DICOM externo en ventana popup. |
| 4 | Descargar imagenes | pi pi-download | Descarga las imagenes. |
| — | separador | — | — |
| 5 | Agregar informe | pi pi-book | Abre el formulario para crear un nuevo informe medico. |
| 6 | Subir informe | pi pi-file-pdf | Abre el formulario para subir un informe PDF/DOCX. |
La opcion "Restringir estudio" existe en el codigo pero esta deshabilitada (comentada) en esta version.
Exportar a Excel
Acceso
Se accede al hacer clic en el boton "Exportar" de la barra de herramientas.
Validaciones previas
Antes de abrir el dialogo de exportacion, el sistema realiza dos validaciones:
-
Filtro de fecha obligatorio: Si no hay un filtro de fecha activo, muestra un error:
- Mensaje: "Tiene que filtrar minimo por la fecha"
- Severity: error
-
Rango maximo de 3 meses: Si el rango de fechas supera los 90 dias, muestra un error:
- Mensaje: "El filtro por la fecha tiene como maximo 3 meses para exportaciones"
- Severity: error
Dialogo de exportacion
El dialogo tiene titulo "EXPORTAR A EXCEL" y contiene:
| Campo | Tipo | Descripcion |
|---|---|---|
| Customizar nombre de archivo | input text con boton de refresh | Permite ingresar un nombre personalizado para el archivo. Placeholder: "Ingrese un nombre al archivo". El boton de refresh (icono pi pi-refresh) restaura el nombre por defecto: estudios-\{timestamp\}. Tooltip: "Puede customizar el nombre del archivo a exportar." |
| Exportar | p-dropdown | Selecciona el tipo de exportacion. Opcion disponible: "LISTA DE ESTUDIOS" (valor 1). Tooltip: "Seleccione la exportacion a realizar." |
Botones del dialogo
| Boton | Accion |
|---|---|
No (icono pi pi-times) | Cierra el dialogo sin exportar. |
Si (icono pi pi-check) | Ejecuta la exportacion. Muestra spinner de carga mientras procesa. |
Columnas del archivo Excel generado
El archivo Excel contiene las siguientes columnas:
| Columna | Ancho | Descripcion |
|---|---|---|
| FECHA SUBIDA | 12 | Fecha de subida en formato DD/MM/YYYY hh:mm AM. |
| FECHA ESTUDIO | 12 | Fecha del estudio en formato DD/MM/YYYY hh:mm AM. |
| N° PACIENTE | 12 | Numero de documento del paciente. |
| PACIENTE | 30 | Nombre completo: apellido_paterno apellido_materno nombres. |
| MEDICO RADIOLOGO | 30 | Numero de documento y nombre del medico radiologo. |
| TECNOLOGO MEDICO | 30 | Numero de documento y nombre del tecnologo medico. |
| INFORME | 50 | Descripciones de los informes separadas por coma. |
| CONTRASTE USADA | 12 | Cantidad y unidad de contraste utilizada. |
| CONTRASTE ENTREGADA | 12 | Cantidad y unidad de contraste entregada. |
| ESTADO | 12 | Nombre del estado: NUEVO, PENDIENTE, PUBLICADO o DE BAJA. |
La exportacion descarga todos los registros paginados (en lotes de 500) que coincidan con los filtros activos y genera un archivo .xlsx con estilos de borde y formato.
Codigos QR
Acceso
Se accede al hacer clic en el boton de QR (icono pi pi-qrcode) en la columna Imagenes de cada fila.
Dialogo
El dialogo tiene como titulo "QR CODE {modalidad} - {nombre_paciente}" y un tamano de 550x550px.
Contenido
El dialogo genera tarjetas (p-card) con codigos QR para los diferentes visores configurados en los parametros del modulo:
| Codigo QR | Parametro de configuracion | Descripcion |
|---|---|---|
| VISOR MEDICO | URL_VISOR_CLINICO | QR con la URL del visor clinico + /viewer?StudyInstanceUIDs=\{uid\}. |
| VISOR DE PACIENTE | URL_VISOR_PACIENTE | QR con la URL del visor de paciente + /viewer?StudyInstanceUIDs=\{uid\}. |
| ANONYMIZED | URL_VISOR_ANONYMIZED | QR con la URL del visor anonimizado + /viewer?StudyInstanceUIDs=\{anonymized_uid\}. Solo se muestra si el estudio tiene anonymized_study_instance_uid. |
Cada tarjeta muestra:
- Imagen del codigo QR generada en el servidor (200x200px)
- Titulo debajo con el nombre del visor (ej: "VISOR MEDICO")
Boton
| Boton | Accion |
|---|---|
| Cancelar | Cierra el dialogo. |
Datos de estudio (Procedimientos)
Acceso
Se accede de tres formas:
- Boton "Editar" en la columna Datos de estudio
- Opcion "Datos de estudio" del menu contextual
Dialogo
Se abre en pantalla completa (100% ancho y alto) con titulo "Detalle de estudio {modalidad}" (ej: "Detalle de estudio CT").
Seccion: Detalles de estudios
Campos del formulario:
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
| Paciente | p-dropdown con busqueda y boton "Agregar paciente +" | Si | Selecciona o busca un paciente. El encabezado del dropdown incluye campo de busqueda y boton para agregar nuevo paciente. Error: " Seleccione un paciente"*. |
| F. Nac. Paciente | p-calendar (dd/mm/yyyy) | Si | Fecha de nacimiento del paciente. Calcula automaticamente la edad. Error: " Ingrese la fecha de nacimiento del paciente"*. |
| Edad | input text (deshabilitado) | Si | Edad calculada automaticamente. Error: " Ingrese edad valido"*. |
| Sexo | p-radioButton (M/F) | Si | Masculino o Femenino. Error: " Seleccione el sexo"*. |
Seccion: Referente
Esta seccion permite seleccionar el tipo de referente del estudio:
| Campo | Tipo | Descripcion |
|---|---|---|
| Tipo referente | p-radioButton con 3 opciones | Opciones: MEDICO, OTRO, SIN REFERENTE. Error: " Seleccione el sexo"* (mensaje reutilizado). |
Segun el tipo seleccionado:
| Tipo | Campo adicional | Descripcion |
|---|---|---|
| MEDICO | Medico referente (p-autoComplete) | Busca y selecciona un medico referente con boton "Agregar nuevo +" para crear colaborador con rol MD. Error: " Seleccione el medico referente"*. |
| OTRO | Referente (textarea) | Campo de texto libre para ingresar el referente. Error: " Ingrese un referente"*. |
| SIN REFERENTE | Ninguno | No se muestra ningun campo adicional. |
Seccion: Estudios (Procedimientos)
| Campo | Tipo | Descripcion |
|---|---|---|
| Estudios | p-autoComplete multiple + checkboxes | Autocomplete para buscar procedimientos mas grilla de checkboxes con todos los procedimientos disponibles (mostrando codigo y nombre). Se pueden seleccionar multiples. Error: " Seleccione el tipo de paciente"* (mensaje reutilizado). |
| Otros examenes especiales | textarea | Campo de texto libre para examenes no listados en los procedimientos. |
Seccion: Contraste
| Campo | Tipo | Descripcion |
|---|---|---|
| Con contraste | p-inputSwitch | Activa o desactiva la seccion de contraste. Cuando esta desactivado, los campos de cantidad y unidad se deshabilitan. |
| Cantidad entregada | p-inputNumber (decimal, 2 decimales, locale es-PE) + p-dropdown de unidad | Cantidad de contraste entregada y su unidad de medida. Las unidades provienen del catalogo de producto configurado como CONTRASTE-PRODUCTO-ID. |
| Cantidad utilizada | p-inputNumber (decimal, 2 decimales, locale es-PE) + p-dropdown de unidad | Cantidad de contraste utilizada y su unidad de medida. |
Seccion: Resumen clinico
| Campo | Tipo | Descripcion |
|---|---|---|
| Resumen clinico | p-editor (Quill, altura 220px) | Editor de texto enriquecido con botones de Negrita, Italica y Subrayado. Error: " Ingrese el resumen clinico"*. |
Botones del dialogo
| Boton | Accion |
|---|---|
| Cancelar | Cierra el dialogo sin guardar. |
| Guardar | Guarda los datos del estudio. |
Nuevo informe
Acceso
Se accede desde:
- Boton "Añadir" > "Agregar informe" en la columna Informe
- Opcion "Agregar informe" del menu contextual
Dialogo
Se abre en pantalla completa con titulo "Informe medico del estudio {modalidad}" (ej: "Informe medico del estudio CT").
Campos del formulario
La seccion superior es identica a Procedimientos (Paciente, F. Nac. Paciente, Edad, Sexo). Ademas incluye:
| Campo | Tipo | Descripcion |
|---|---|---|
| Medico radiologo | p-autoComplete con boton "Agregar nuevo +" | Busca y selecciona un medico radiologo (rol MR). |
| Descripcion | input text | Descripcion del informe. |
| Hallazgos | p-editor (Quill) | Editor de texto enriquecido para los hallazgos. Botones: Negrita, Italica, Subrayado. |
| Resumen clinico | p-editor (Quill) | Editor de texto enriquecido para el resumen clinico. Botones: Negrita, Italica, Subrayado. |
| Otros medicos | p-autoComplete multiple | Permite agregar multiples medicos adicionales. |
Botones del dialogo
| Boton | Estilo | Accion |
|---|---|---|
| Cancelar | Texto | Cierra sin guardar. |
| Guardar borrador | Primario | Guarda el informe con estado 1 (Borrador). |
| Guardar y Firmar | Warning | Guarda el informe con estado 2 (Firmado). Genera el PDF del informe. |
Subir informe
Acceso
Se accede desde:
- Boton "Añadir" > "Subir informe" en la columna Informe
- Opcion "Subir informe" del menu contextual
Dialogo
Titulo: "Subir informe". Tamano: 70% del ancho de la ventana.
Campos
| Campo | Tipo | Descripcion |
|---|---|---|
| Descripcion | input text | Descripcion del informe a subir. |
| Zona de arrastre | ngx-dropzone | Acepta archivos .pdf y .docx. Tamano maximo: 1 MB. Solo un archivo a la vez. Si ya hay un archivo subido, se muestra como chip con icono de PDF. |
Botones
| Boton | Accion |
|---|---|
| Cancelar | Cierra sin guardar. |
| Guardar | Sube el informe al sistema. |
Ver informe
Acceso
Se accede al hacer clic en el boton de PDF (icono pi pi-file-pdf) junto a un informe en la columna Informe.
Dialogo
Se abre en pantalla completa con titulo "Visor de informe medico del estudio {modalidad}".
Visor PDF
Para archivos PDF, el visor incluye:
- Controles de zoom: boton "-" y "+" que ajustan en pasos de 0.25
- Boton Imprimir (icono
pi pi-print): imprime el PDF - Boton Descargar (icono
pi pi-download): descarga el archivo PDF - Visor PDF integrado con
pdf-viewer
Visor DOCX
Para archivos DOCX, se usa ngx-doc-viewer con el visor de Google Docs para renderizar el documento.
Eliminar informe
Acceso
Se accede al hacer clic en el boton de eliminar (icono pi pi-trash) junto a un informe. Solo visible si el estudio NO esta publicado.
Dialogo
Titulo: "Informe medico del estudio {modalidad}". Tamano: 80% del ancho.
Contenido
- Mensaje: "Estas seguro de eliminar el informe?"
- Advertencia: "Recuerda que si elimina, no habra forma de recuperarla."
Botones
| Boton | Accion |
|---|---|
| Cancelar | Cierra sin eliminar. |
| Eliminar | Elimina el informe permanentemente. |
Subir estudio (DICOM)
Acceso
Se accede al hacer clic en el boton "Subir estudio" de la barra de herramientas.
Dialogo
Titulo: "Subir estudio(s)". Tamano: 70% del ancho de la ventana.
Contenido
| Elemento | Descripcion |
|---|---|
| Texto informativo | "Sube los documentos de estudios" |
| Cantidad de archivos | Muestra el numero de archivos seleccionados. |
| Progreso de subida | Muestra el porcentaje de subida actual. |
| Barra de progreso | Barra indeterminada visible durante la subida. |
| Zona de arrastre | ngx-dropzone sin restriccion de tipo de archivo. Cada archivo muestra su nombre y es removible individualmente. |
Proceso de subida
Seleccion de archivos
Arrastre archivos a la zona o haga clic para seleccionarlos. Se pueden seleccionar multiples archivos.
Inicio de subida
Al hacer clic en "Subir", se genera un identificador UUID unico para la carpeta de subida.
Subida por fragmentos
Cada archivo se divide en fragmentos de 5 MB. Los fragmentos se envian secuencialmente al servidor con los datos: ID, nombre, extension, tamano y contenido en Base64. El repositorio de destino es LOCAL.
Procesamiento
Una vez subidos todos los fragmentos, se llama a postPorcessFolder con el ID de la carpeta para que el servidor procese los archivos DICOM.
Confirmacion
Mensaje de exito: "Los estudios se han subido correctamente!". El formulario se reinicia automaticamente.
Validacion
Si no se selecciona ningun archivo y se hace clic en "Subir":
- Mensaje: "Carge minimo un archivo para poder subir."
- Severity: error
Botones
| Boton | Accion |
|---|---|
| Cancelar | Cierra sin subir. |
| Subir | Inicia el proceso de subida. Se deshabilita durante la subida y muestra spinner. |
Publicar resultados
Acceso
Se accede desde la opcion "Publicar resultados" del menu contextual (solo para estudios no publicados).
Validacion previa
Si el estudio no tiene informes registrados, muestra una advertencia:
- Mensaje: "Requiere un informe registrado para realizar esta accion."
- Severity: warn
Dialogo de confirmacion
Titulo: "Publicar resultados de estudio del paciente {patient_name}". Tamano: 80% del ancho.
Contenido
El dialogo muestra:
- Icono de exclamacion triangular grande
- Pregunta: "Estas seguro de realizar la publicacion del estudio?"
- Paciente: nombre completo del paciente
- Procedimientos: modalidad con color + ID badge + badges de procedimientos
- Informe: URL de cada informe como enlace
Flujo de publicacion
Generacion de ZIP
Se llama a postEstudiosCreateZip para generar un archivo ZIP con las imagenes del estudio.
Actualizacion de estado
Se actualiza el estudio a estado 2 (Publicado) via patchEstudios.
Registro en historias clinicas
Se llama a postHistoriasClinicasAtencionesRegister para registrar la atencion en el historial clinico del paciente.
Envio al servidor DICOM externo
Por cada informe del estudio, se llama a postDicom con los datos del paciente, medicos (referente, tecnologo, radiologo), examen (tipo, descripcion, URLs del visor, descarga e informe) y atencion.
Mapeo de modalidades para DICOM
| Codigo DICOM | Tipo en publicacion |
|---|---|
| CT | Tomografia |
| DX | Rayos X |
| MR | Resonancia Magnetica |
| US | Ecografia |
Botones
| Boton | Accion |
|---|---|
| Cancelar | Cierra sin publicar. |
| Publicar | Ejecuta el flujo completo de publicacion. Muestra spinner durante el proceso. |
Mensajes
- Exito: "Se ha publicado con exito" (severity: success)
- Error: muestra mensaje de error del servidor
Cancelar publicacion
Acceso
Se accede desde la opcion "Cancelar publicacion" del menu contextual (solo para estudios publicados, estado == 2).
Validacion previa
Si el estudio no tiene informes registrados, muestra una advertencia:
- Mensaje: "Requiere un informe registrado para realizar esta accion."
- Severity: warn
Dialogo de confirmacion
Titulo: "Cancelar la publicacion de resultados de estudio del paciente {patient_name}". Tamano: 80% del ancho.
Contenido
El dialogo muestra:
- Icono de exclamacion triangular grande
- Pregunta: "Estas seguro de realizar la cancelacion de la publicacion del estudio?"
- Paciente: nombre completo del paciente
- Procedimientos: modalidad con color + ID badge + badges de procedimientos
- Informe: URL de cada informe como enlace
Flujo
Se actualiza el estudio a estado 1 (Pendiente) via patchEstudios. El estudio vuelve al estado previo a la publicacion.
Botones
| Boton | Accion |
|---|---|
| Cancelar | Cierra sin hacer cambios. |
| Cancelar publicacion | Ejecuta la cancelacion. Muestra spinner durante el proceso. |
Mensajes
- Exito: "Se ha cancelado la publicacion con exito" (severity: success)
Restringir estudio
Esta funcionalidad existe en el codigo pero esta deshabilitada en el menu contextual de esta version. Se documenta por completitud.
Dialogo
Titulo: "Restringir estudio". Tamano: 60% del ancho.
Panel: CLAVE DE ACCESO
Si no hay restricciones activas, muestra el texto "SIN RESTRICCIONES" con un boton "+" en el encabezado del panel para agregar una restriccion.
Al activar la restriccion, se muestra:
| Campo | Tipo | Descripcion |
|---|---|---|
| TOKEN | input text (solo lectura) | Muestra el token generado. Si el token ha expirado, muestra "TOKEN INVALIDO VUELVA A GENERAR" en rojo. |
| Tiempo | p-inputNumber + p-dropdown de unidad | Valor numerico y unidad de tiempo para la duracion del token. |
| Generar | Boton | Genera un nuevo token con la duracion especificada. |
| Copiar Link | Boton con icono pi pi-link | Copia la URL del visor con el token al portapapeles. Deshabilitado si el token es nulo o invalido. |
Unidades de tiempo
| Unidad | Valor | Conversion a minutos |
|---|---|---|
| MINUTOS | 0 | valor × 1 |
| HORAS | 1 | valor × 60 |
| DIAS | 2 | valor × 1440 |
| SEMANAS | 3 | valor × 10080 |
| MESES | 4 | valor × 43800 |
Validacion de token
El token se valida cada segundo comparando la fecha actual con expires_at. Si la fecha actual es posterior a la expiracion, el token se marca como invalido.
Botones del dialogo
| Boton | Accion |
|---|---|
| Cerrar | Cierra sin guardar. |
| Guardar | Guarda la configuracion de restriccion. Mensaje de exito: "Se ha registrado con exito". |
Descarga de imagenes
Acceso
Desde el boton de descarga (icono pi pi-download) en la columna Imagenes.
Flujo
- Se muestra "Descargando..." con barra de progreso indeterminada
- Se llama a
postEstudiosCreateZippara generar el ZIP - Se descarga automaticamente el archivo ZIP via enlace
- Mensaje de exito: "Descargado correctamente" (severity: success)
Nuevo paciente
Se accede desde el boton "Agregar paciente +" en el dropdown de Paciente del dialogo de Procedimientos.
El formulario incluye busqueda por RENIEC (DNI peruano), campos de datos personales, ubigeos (departamento/provincia/distrito), telefonos, correos y contactos.
Nuevo colaborador
Se accede desde el boton "Agregar nuevo +" en los campos de medico referente o medico radiologo. Dialogo con titulo "Nuevo colaborador" al 70% del ancho.
El colaborador creado se asigna automaticamente al campo correspondiente segun el tipo:
- Tipo MR: se asigna como Medico Radiologo
- Tipo TR: se asigna como Tecnologo medico
- Tipo MD: se asigna como Medico Referente
Paginacion
La tabla usa paginacion personalizada de 50 registros por pagina (configuracion interna, la tabla muestra bloques de 10). Se muestra la informacion:
"Mostrando pagina {N} con {registros_actuales} registros de {total} entradas"
Controles de paginacion
| Control | Descripcion |
|---|---|
| Primera pagina | Icono doble flecha izquierda (pi pi-angle-double-left). |
| Pagina anterior | Icono flecha izquierda (pi pi-angle-left). |
| Selector de pagina | Dropdown con opciones "N de M" y filtro. |
| Pagina siguiente | Icono flecha derecha (pi pi-angle-right). |
| Ultima pagina | Icono doble flecha derecha (pi pi-angle-double-right). |
Mensajes de error del sistema
| Codigo HTTP | Mensaje mostrado |
|---|---|
| 400 | "Error de estructura de envio de datos. ERROR 400" |
| 401 / 402 / 403 | Mensajes especificos del servidor (concatenados si son multiples). |
| 404 | "No se encontro el servidor de respuestas, consulte con el Administrador. ERROR 404" |
| 500 | "Error interno del servidor. ERROR 500" |
| Otro | "Error 404 consulte con su admin." |
Problemas comunes y soluciones
| Problema | Solucion |
|---|---|
| No aparece el boton "Exportar" | Verifique que tiene los permisos necesarios en el modulo. |
| Error al exportar: "Tiene que filtrar minimo por la fecha" | Agregue un filtro de fecha (subida o estudio) antes de exportar. |
| Error al exportar: "maximo 3 meses" | Reduzca el rango de fechas a un periodo de 90 dias o menos. |
| El QR no se genera | Verifique que los parametros URL_VISOR_CLINICO y URL_VISOR_PACIENTE estan configurados. |
| No puedo cancelar la publicacion | Solo se puede cancelar la publicacion de estudios con estado "Publicado". |
| El token del enlace compartido no funciona | El token ha expirado. Genere uno nuevo con mayor duracion. |
| No se muestran estudios en la tabla | Verifique los filtros activos o use "Quitar filtros" para reiniciar. |
| Error al subir estudio | Verifique que los archivos no esten corruptos. Cada fragmento se sube en partes de 5 MB. |
| La seccion de contraste esta deshabilitada | Active el switch "Con contraste" para habilitar los campos de cantidad y unidad. |
| No puedo editar un informe de estudio publicado | Los informes de estudios publicados no se pueden editar. Cancele la publicacion primero. |
| Error "NO ESTA INICIALIZADO EL CONTRASTE" | El parametro CONTRASTE-PRODUCTO-ID no esta configurado. Contacte al administrador. |