Documentación de DICOMweb

Requisitos previosIntroducción e Información General

Este documento proporciona una guía técnica completa para las funciones de la API DICOMweb con métodos de ejemplo que se utilizan a través de una aplicación de ejemplo en C#. Incluye explicaciones detalladas de todas las funciones disponibles, cubriendo tanto los servicios DICOMweb estándar (como QIDO-RS, WADO-RS y STOW-RS) como los endpoints de la API DICOMweb personalizados desarrollados por PostDICOM. Estas funciones están diseñadas para usarse en llamadas del lado del servidor.

Para utilizar los servicios DICOMweb de PostDICOM, primero debe tener esta función habilitada en su cuenta y poseer credenciales de usuario válidas. Si el acceso a DICOMweb aún no está activado para su cuenta y desea integrar su aplicación con PostDICOM, por favor contáctenos para solicitar la activación.

Nombre de usuario: Esta es su credencial de inicio de sesión principal, generalmente su dirección de correo electrónico. Es exclusiva de su cuenta y se utiliza como nombre de usuario en la Autenticación Básica.

Contraseña: Esta es la contraseña asociada a su cuenta de PostDICOM. Se utiliza junto con su nombre de usuario durante la Autenticación Básica. Para una seguridad óptima, le recomendamos encarecidamente que elija una contraseña segura. Por favor, disponga de los mecanismos de seguridad necesarios en su llamada del lado del servidor para que este nombre de usuario y contraseña estén protegidos por usted.

Puede gestionar su contraseña y configuraciones de seguridad a través de la página de perfil de su cuenta después de iniciar sesión en su cuenta de PostDICOM.


DICOMwebServicios Estándar de DICOMweb

Almacenar Instancias DICOM (STOW-RS)

UploadDicomImagesInAFolder(UserName, Password, WebAddress, FileNamesList)

Esta función orquesta la subida de todos los archivos .dcm desde una carpeta local especificada al servidor DICOMweb. Primero identifica todos los archivos relevantes y, a continuación, utiliza métodos auxiliares para construir y enviar una solicitud POST multipart/related autenticada para cada archivo, cumpliendo con el estándar STOW-RS.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
DirectoryPath string La ruta completa al directorio local que contiene los archivos DICOM (.dcm) que se van a subir.

Consultar Objetos DICOM (QIDO-RS)

QidoSearch(UserName, Password, WebAddress, PatientID, StudyInstanceUID, SeriesInstanceUID)

Esta función realiza una consulta de objetos DICOM utilizando el estándar QIDO-RS, permitiendo búsquedas a nivel de Estudio, Serie o Instancia. En función del parámetro de búsqueda proporcionado (como el ID del paciente, el UID de la instancia del estudio o el UID de la instancia de la serie), construye la URL adecuada y ejecuta una solicitud autenticada para recuperar los resultados coincidentes del servidor.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
PatientID string Opcional. Se utiliza para identificar al paciente y buscar estudios relacionados.
StudyInstanceUID string Opcional. Se utiliza para buscar un estudio específico o todas las series dentro de ese estudio.
SeriesInstanceUID string Opcional. Se utiliza para buscar todas las instancias de imagen dentro de una serie específica.

Recuperar Instancias DICOM (WADO-RS)

RetrieveImagesUsingWadoRs(UserName, Password, WebAddress, StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID)

Esta función proporciona un menú interactivo para recuperar objetos DICOM utilizando el estándar WADO-RS. El usuario selecciona un nivel de recuperación (Estudio, Serie o Instancia) y proporciona el UID correspondiente. Posteriormente, la función realiza una solicitud autenticada y procesa la respuesta multipart/related, guardando cada parte DICOM como un archivo .dcm separado en un directorio local recién creado.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
StudyInstanceUID string Opcional. Un identificador globalmente único para un estudio DICOM. Se utiliza para recuperar todas las series e instancias asociadas a ese estudio.
SeriesInstanceUID string Opcional. Un identificador globalmente único para una serie dentro de un estudio DICOM. Se utiliza para recuperar todas las imágenes correspondientes a esa serie.
SOPInstanceUID string Opcional. Un identificador único para una instancia de imagen DICOM individual. Se utiliza para recuperar una imagen específica mediante WADO-RS.

CompartirGestión de Uso Compartido

Crear Enlace de Uso Compartido

CreateShareLink(UserName, Password, WebAddress, PatientOrderInfoList, ExpireDate, SharePassword, Downloadable)

Esta función genera un enlace web seguro para compartir una o varias órdenes de pacientes con usuarios externos. El enlace puede protegerse con contraseña y, opcionalmente, permitir descargas.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
PatientOrderInfoList List Lista de cadenas JSON, cada una con una clave "PatientOrderUuid", que identifican las órdenes de los pacientes a compartir.
ExpireDate string (YYYY-MM-DD) Fecha de caducidad para el enlace de uso compartido. Después de esta fecha, el enlace se deshabilitará.
SharePassword string Opcional. Contraseña requerida para acceder al enlace de uso compartido. Déjelo en blanco para acceso público.
Downloadable bool Opcional. Determina si el destinatario puede descargar los estudios DICOM.

Compartir Orden del Paciente con URL

SharePatientOrderWithUrl(UserName, Password, WebAddress, OrderUuidList, ExpireDate, SharePassword, UserCanDownloadStudies)

Esta función genera una URL compartible para las órdenes de pacientes seleccionadas con opciones adicionales de control de acceso, como el permiso de descarga y la protección con contraseña.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
OrderUuidList List Lista de UUID que identifican las órdenes de pacientes que se van a compartir.
ExpireDate string (YYYY-MM-DD) Fecha a partir de la cual el enlace de uso compartido queda inactivo.
SharePassword string Opcional. Contraseña requerida para acceder al enlace compartido.
UserCanDownloadStudies bool Opcional. Si se establece en true, el destinatario podrá descargar los estudios.

CarpetaGestión de Carpetas y Órdenes

Crear Carpeta

CreateFolder(UserName, Password, WebAddress, FolderName, FolderDescription, ParentFolderUuid)

Esta función se utiliza para crear una nueva carpeta (un contenedor virtual) dentro de la cuenta de PostDICOM para ayudar a organizar las órdenes de los pacientes.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
FolderName string Requerido. El nombre visible para la nueva carpeta.
FolderDescription string Opcional. Una descripción de texto para la carpeta.
ParentFolderUuid string Opcional. El UUID de una carpeta existente para crear la nueva carpeta en su interior.

Buscar Carpeta

SearchFolder(UserName, Password, WebAddress, ParentFolderUuid, FolderName, GetOrdersInFolder)

Esta función encuentra carpetas existentes basándose en criterios de búsqueda. Opcionalmente, puede incluir la lista de órdenes de pacientes dentro de cada carpeta encontrada.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
ParentFolderUuid string Opcional. Un UUID de carpeta para restringir la búsqueda a sus carpetas secundarias.
FolderName string Opcional. Un nombre completo o parcial para buscar.
GetOrdersInFolder bool Opcional. Si es true, la respuesta incluirá una lista de órdenes de pacientes para cada carpeta encontrada.

Compartir Carpeta con URL

ShareFolderWithUrl(UserName, Password, WebAddress, FolderUuid, SharePassword, ShareTitle, ShareDescription, ExpireDate, UserCanDownloadStudies)

Esta función genera una URL segura y compartible para toda una carpeta y su contenido. Permite un control de acceso exhaustivo estableciendo un título personalizado, una descripción, una contraseña, una fecha de caducidad y especificando si el destinatario puede descargar el contenido.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
FolderUuid string Requerido. El identificador único (UUID) de la carpeta que se va a compartir.
SharePassword string Opcional. Una contraseña para proteger el enlace compartido. Si se deja en blanco, el enlace será de acceso público.
ShareTitle string Opcional. Un título personalizado para la página de la carpeta compartida, visible para el destinatario.
ShareDescription string Opcional. Una descripción que se muestra en la página de la carpeta compartida.
ExpireDate string (YYYY-MM-DD) Opcional. La fecha en la que el enlace de uso compartido quedará inactivo automáticamente.
UserCanDownloadStudies bool Opcional. Si es true, los destinatarios podrán descargar las órdenes de los pacientes contenidas dentro de la carpeta.

Añadir Orden a Carpeta

AddOrderToFolder(UserName, Password, WebAddress, PatientOrderUuid, FolderUuidList)

Esta función crea una asociación entre una orden de paciente existente y una carpeta existente. Esta es una herramienta organizativa; no mueve ni copia datos.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
PatientOrderUuid string Requerido. El UUID de la orden del paciente que se va a colocar en una carpeta.
FolderUuidList List Requerido. Una lista que contiene el UUID de la carpeta de destino.

Flujo de TrabajoFlujo de Trabajo y Asignación

Asignar Orden a Usuario

AssignOrderToUser(UserName, Password, WebAddress, PatientOrderUuid, AssignedUserUuid)

Esta función es una herramienta principal del flujo de trabajo. Asigna la orden de un paciente a un usuario individual, indicando que este usuario ahora es responsable de una tarea relacionada con esa orden (por ejemplo, la redacción de informes).

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
PatientOrderUuid string Requerido. El UUID de la orden del paciente que requiere acción.
AssignedUserUuid string Requerido. El UUID del usuario específico al que se le asignará la responsabilidad.

Asignar Orden a Grupo de Usuarios

AssignOrderToUserGroup(UserName, Password, WebAddress, PatientOrderUuid, AssignedUserGroupUuid)

De manera similar a la asignación a un solo usuario, esta función asigna la orden de un paciente a todo un grupo, lo que permite flujos de trabajo basados en equipos donde cualquier miembro del grupo puede encargarse de la tarea.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
PatientOrderUuid string Requerido. El UUID de la orden del paciente que se asignará al grupo.
AssignedUserGroupUuid string Requerido. El UUID del grupo de usuarios al que se le asignará la orden.

Orden de PacienteCiclo de Vida de la Orden del Paciente y Recuperación de Datos

Crear Orden de Paciente

CreatePatientOrder(UserName, Password, WebAddress, InstitutionUuid, PatientName, PatientId, OtherPatientId, PatientSex, PatientBirthdate, Modality, StudyDescription, AccessionNumber, PatientComplaints, OrderScheduledDatetime, RequestedProcedureId, RequestedProcedureDescription, RequestingPhysician, ReferringPhysiciansName, ScheduledEquipmentUuid)

Esta función crea una nueva orden de paciente para programar y gestionar estudios de imágenes dentro del sistema. Se deben proporcionar los parámetros requeridos para que la creación sea exitosa.

Parámetros Requeridos Tipo de Datos Descripción
InstitutionUuid string Requerido. UUID de la institución donde se está creando la orden del paciente.
PatientName string Requerido. Nombre completo del paciente.
PatientId string Requerido. Identificador único del paciente, como un documento de identidad nacional o número de historia clínica (MRN).
PatientBirthdate string (YYYY-MM-DD) Requerido. Fecha de nacimiento del paciente en formato ISO.
Modality string Requerido. Tipo de modalidad, como TC, RM, US, etc.
OtherPatientId string Opcional. Un identificador adicional para el paciente, si corresponde.
PatientSex string Opcional. Sexo del paciente (ej., M, F, O).
StudyDescription string Opcional. Descripción del estudio de imágenes que se está ordenando.
AccessionNumber string Opcional. Número de acceso (Accession Number) único para la orden, si corresponde.
PatientComplaints string Opcional. Texto que describe las quejas o síntomas del paciente.
OrderScheduledDatetime string (YYYY-MM-DD HH:MM) Opcional. La fecha y hora de inicio programadas para el procedimiento.
RequestedProcedureId string Opcional. Identificador del procedimiento solicitado.
RequestedProcedureDescription string Opcional. Descripción del procedimiento solicitado.
RequestingPhysician string Opcional. Nombre del médico que solicitó el estudio.
ReferringPhysiciansName string Opcional. Nombre del médico derivador, si es diferente al solicitante.
ScheduledEquipmentUuid string Opcional. UUID del equipo de imágenes que se utilizará para el procedimiento programado.

Obtener Propiedades de la Orden del Paciente

GetPatientOrderProperties(UserName, Password, WebAddress, PatientOrderInstitutionUuid, PatientOrderUuid)

Esta función recupera el conjunto completo de propiedades de una orden de paciente específica e individual.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
PatientOrderInstitutionUuid string Requerido. El UUID de la institución a la que pertenece la orden.
PatientOrderUuid string Requerido. El UUID de la orden de paciente específica a recuperar.

Buscar Órdenes de Pacientes

GetPatientOrderList(UserName, Password, WebAddress, InstitutionUuidList, PatientName, PatientId, OtherPatientId, AccessionNumber, ModalityList, StudyDateFrom, StudyDateTo, PatientBirthdateFrom, PatientBirthdateTo)

Esta función recupera una lista de órdenes de pacientes basándose en una combinación de filtros de búsqueda, como el nombre del paciente, el ID, la modalidad y las fechas de estudio o nacimiento. Permite una funcionalidad de búsqueda avanzada para instituciones que gestionan múltiples órdenes.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
InstitutionUuidList List Lista de UUID que identifican las instituciones en las que buscar órdenes de pacientes.
PatientName string Opcional. Filtrar por nombre completo del paciente.
PatientId string Opcional. Filtrar por identificador único del paciente.
OtherPatientId string Opcional. Identificador secundario del paciente, si está disponible.
AccessionNumber string Opcional. Filtrar por número de acceso (Accession Number) asignado al estudio.
ModalityList List Lista de modalidades (ej., TC, RM, US) para filtrar los resultados de búsqueda.
StudyDateFrom string (YYYY-MM-DD) Opcional. Fecha de inicio del rango de fechas del estudio para filtrar los resultados.
StudyDateTo string (YYYY-MM-DD) Opcional. Fecha de fin del rango de fechas del estudio para filtrar los resultados.
PatientBirthdateFrom string (YYYY-MM-DD) Opcional. Fecha de inicio del rango de fechas de nacimiento del paciente para filtrar pacientes por edad.
PatientBirthdateTo string (YYYY-MM-DD) Opcional. Fecha de fin del rango de fechas de nacimiento del paciente para filtrar pacientes por edad.

Eliminar Orden de Paciente

DeletePatientOrder(UserName, Password, WebAddress, PatientOrderInstitutionUuid, PatientOrderUuid)

Esta función elimina permanentemente una orden de paciente del sistema. Requiere tanto el UUID de la institución como el UUID de la orden del paciente específica para garantizar la precisión y evitar eliminaciones accidentales.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
PatientOrderInstitutionUuid string Requerido. UUID de la institución propietaria de la orden del paciente. Garantiza que se utilice el contexto correcto para la eliminación.
PatientOrderUuid string Requerido. UUID de la orden de paciente específica que se va a eliminar. Esto identifica de forma única la orden en el sistema.

Etiqueta DicomObtener Contenido de Etiqueta DICOM

Obtener Contenido de Etiqueta DICOM

GetDicomTagContent(UserName, Password, WebAddress, PatientOrderInstitutionUuid, PatientOrderUuid, PatientSeriesUuid, DicomTagIdList)

Esta función recupera los valores de etiquetas DICOM específicas de las imágenes asociadas a una orden de paciente.

Parámetros Requeridos Tipo de Datos Descripción
UserName string El nombre de usuario (dirección de correo electrónico) de la cuenta de PostDICOM. (desde la inicialización)
Password string La contraseña asociada a la cuenta de PostDICOM. (desde la inicialización)
WebAddress string La URL base de la API. (desde la inicialización)
PatientOrderInstitutionUuid string Requerido. El UUID de la institución donde reside la orden.
PatientOrderUuid string Requerido. El UUID de la orden que contiene las imágenes.
PatientSeriesUuid string Opcional. Si se proporciona, las etiquetas solo se leerán de esta serie específica.
DicomTagIdList List Opcional. Una lista de ID de etiquetas DICOM para recuperar.