В DICOM-Просмотрщике есть HTTP RPC-сервис, через который можно выполнять команды. Сейчас поддерживаются две команды:
DownloadAndOpenStudy;
DisplayStudy.
DownloadAndOpenStudy — команда загрузки исследования с DICOM-сервера (PACS) в
локальное хранилище с последующим открытием исследования. При получении этой команды
DICOM-Просмотрщик выполняет поиск исследования в локальном хранилище. Если искомое
исследование есть в локальном хранилище, то DICOM-Просмотрщик открывает его первую
серию в окне просмотра плоских изображений. Если искомое исследование в локальном
хранилище отсутствует, то DICOM-Просмотрщик отправляет запрос на DICOM-сервер (PACS)
и, загрузив файлы исследования, открывает первую серию исследования в окне просмотра
плоских изображений.
Образцы конфигурационных файлов и тестовые страницы HTTP RPC-сервиса доступны в архиве "HTTP_RPC_test_pages" на странице по ссылке: https://inobitec.ru/downloads/dicomviewer/.
Для выполнения команды DownloadAndOpenStudy с использованием методов C-GET или C-MOVE выполните:
Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт "Сервисы" в меню "Сеть" (подробнее см. в разделах 13.1.1 и 13.1.2).
Подайте HTTP RPC-запрос на открытие исследования путем отправки POST-запроса, содержащего xml указанного формата (образец файла downloadAndOpenStudy.xml доступен в папке "HTTP_RPC_test_pages").
В файле downloadAndOpenStudy.xml указываются следующие параметры:
PatientID (необязательный параметр) — ID пациента, исследование которого следует открыть;
StudyInstanceUID=<StudyInstanceUID 1>\…\<StudyInstanceUID N> — список UID исследований, которые следует открыть. Параметр является обязательным, если отсутствует параметр AccessionNumber;
AccessionNumber=<AccessionNumber 1>\…\<AccessionNumber N> — список регистрационных номеров исследований, которые следует открыть. Параметр является обязательным, если отсутствует параметр StudyInstanceUID;
AET — AE Title PACS-сервера;
IP — сетевой адрес PACS-сервера;
port — DICOM порт PACS-сервера;
CommandType — способ загрузки изображений с PACS-сервера в DICOM-Просмотрщик. Может принимать значения "C-GET" (по умолчанию), "C-MOVE" или "WADO-RS". При использовании "C-MOVE" PACS-сервер должен быть настроен соответствующим образом.
Если "DICOM-сервис приёма файлов..." (см. раздел 13.1.1) выключен, то скачивание
данных с PACS-сервера возможно только по C-GET. В этом случае на PACS-сервер по
умолчанию передаётся значение параметра SCU "CLIENT".
Примеры конфигурационных файлов HTTP RPC-сервиса приведены в разделе 20.3.3.
Для выполнения команды DownloadAndOpenStudy с использованием Web-сервиса WADO выполните:
Включите в DICOM-Просмотрщике HIS/HTTP-сервис, выбрав пункт "Сервисы" в меню "Сеть" (подробнее см. в разделе 13.1.2).
Подайте HTTP RPC-запрос на открытие исследования путем отправки POST-запроса, содержащего xml указанного формата (образец файла downloadAndOpenStudy.xml доступен в папке "HTTP_RPC_test_pages").
В файле downloadAndOpenStudy.xml дополнительно указываются следующие параметры:
WadoServiceRootPath — путь к внутреннему сервису PACS-сервера, обрабатывающему запросы WADO-RS;
IsWadoSecured — включение/выключение протокола https для обмена данными с PACS-сервером при скачивании данных с использованием сервиса WADO. Если значение параметра true, то для обмена данными с PACS-сервером используется https-протокол, если false — http-протокол;
WadoPort — значение http- или https-порта (в зависимости от значения параметра IsWadoSecured);
WadoAuthLogin — логин для подключения к PACS-серверу;
WadoAuthPassword — пароль для подключения к PACS-серверу/
Для выполнения команды DownloadAndOpenStudy с использованием Web-сервиса WADO параметр CommandType должен иметь значение "WADO-RS".
Примеры конфигурационных файлов HTTP RPC-сервиса приведены в разделе 20.3.3.
Передача списка UID исследований, которые следует загрузить, осуществляется в рамках значения параметра StudyInstanceUID HTTP RPC-запроса. Передача списка регистрационных номеров исследований осуществляется в рамках значения параметра AccessionNumber HTTP RPC-запроса. В обоих случаях передача списков параметров осуществляется аналогично передаче списков параметров в командной строке (см. раздел 20.1).
Значения параметров StudyInstanceUID и AccessionNumber, указанные в xml-файле, должны принадлежать одному исследованию. Если значения параметров StudyInstanceUID и AccessionNumber не соответствуют одному исследованию, загрузка исследования будет невозможна.
Список значений параметров StudyInstanceUID и AccessionNumber составляются следующим образом: первому значению параметра StudyInstanceUID должно соответствовать первое значение параметра AccessionNumber, второму значению параметра StudyInstanceUID — второе значение параметра AccessionNumber и т.д.
Возможен поиск и загрузка исследования только по значению параметра AccessionNumber. Для этого в файле downloadAndOpenStudy.xml удалите значение параметров PatientID и StudyInstanceUID, оставив только значение параметров AccessionNumber и PACS-Сервера (AET, IP и port).
Если значения параметров AET, IP и port не заданы, то исследование загружается с DICOM-Сервера (PACS) установленного по умолчанию. Если заданы значения 1 или 2 параметров из 3-х указанных (AET, IP и port), то команда считается некорректной.
Также можно воспользоваться тестовой страницей testpage.html в папке "HTTP_RPC_test_pages":
Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт "Сервисы" в меню "Сеть" (подробнее см. в разделах 13.1.1 и 13.1.2).
Откройте страницу testpage.html.
Заполните следующие поля:
AET — AE Title PACS-сервера;
IP — сетевой адрес PACS-сервера;
Port — DICOM-порт PACS-сервера;
StudyUID — UID исследования, которое следует открыть;
Destination IP — сетевой адрес DICOM-Просмотрщика;
Destination port — HTTP-порт DICOM-Просмотрщика.
Нажмите на кнопку "Send command".
DisplayStudy — команда открытия исследования из локального хранилища. При получении
этой команды DICOM-Просмотрщик выполняет поиск исследования в локальном хранилище.
Если искомое исследование есть в локальном хранилище, то DICOM-Просмотрщик открывает
его первую серию в окне просмотра плоских изображений. На момент получения этой
команды файлы исследования уже должны быть сохранены в локальном хранилище.
Образцы конфигурационных файлов и тестовые страницы HTTP RPC-сервиса доступны в архиве "HTTP_RPC_test_pages" на странице по ссылке: https://inobitec.ru/downloads/dicomviewer/.
Для выполнения команды DisplayStudy следует:
Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт "Сервисы" в меню "Сеть" (подробнее см. в разделах 13.1.1 и 13.1.2).
Подайте HTTP RPC-запрос на открытие исследования путем отправки POST-запроса, содержащего xml указанного формата (файл displayStudy.xml в папке "HTTP_RPC_test_pages").
В файле displayStudy.xml указываются следующие параметры:
PatientID (необязательный параметр) — ID пациента, исследование которого следует открыть;
StudyInstanceUID=<StudyInstanceUID 1>\…\<StudyInstanceUID N> — список UID исследований, которые следует открыть.
Также можно воспользоваться тестовым скриптом display.bat в папке "HTTP_RPC_test_pages":
Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт "Сервисы" в меню "Сеть" (подробнее см. в разделах 13.1.1 и 13.1.2).
Отредактируйте файл displayStudy.xml:
PatientID (необязательный параметр) — ID пациента, исследование которого следует открыть;
StudyInstanceUID=<StudyInstanceUID 1>\…\<StudyInstanceUID N> — список UID исследований, которые следует открыть.
В командной строке выполните скрипт со следующими параметрами:
display.bat [ip] [port]
где:
ip — сетевой адрес DICOM-Просмотрщика;
port — HTTP-порт DICOM-Просмотрщика.
Примеры конфигурационных файлов HTTP RPC-сервиса приведены в разделе 20.3.3.
Передача списка UID исследований, которые следует загрузить, осуществляется в рамках значения параметра StudyInstanceUID HTTP RPC-запроса. Передача списка параметров осуществляется аналогично передаче списка параметров в командной строке (см. раздел 20.1).
Ниже приведены примеры конфигурационных файлов HTTP RPC-сервиса удалённого вызова процедур.
"downloadAndOpenStudy.xml" для метода C-MOVE
<?xml version=";1.0"; encoding=";utf-8";?> <methodCall> <methodName>DownloadAndOpenStudy</methodName> <params> <param> <value> <struct> <member> <name>PatientID</name> <value> <string> 8211038be1bebb57fb131414a04818f4f5c8f25f4a02cccec2b0cc20 \...\8211038be1bebb57fb131414a04818f4f5c8f25f4a02cccec2b0cc21 </string> </value> </member> <member> <name>StudyInstanceUID</name> <value> <string> 1.2.276.0.7230010.3.1.2.1658924591.30288.1727881038.636 \...\1.2.276.0.7230010.3.1.2.1658924591.30288.1727881038.637 </string> </value> </member> <member> <name>AET</name> <value> <string>PACS_Inobitec</string> </value> </member> <member> <name>IP</name> <value> <string>192.168.0.235</string> </value> </member> <member> <name>port</name> <value> <string>3000</string> </value> </member> <member> <name>CommandType</name> <value> <string>C-MOVE</string> </value> </member> </struct> </value> </param> </params> </methodCall>
"downloadAndOpenStudy.xml" с использованием Web-сервиса WADO
<?xml version=";1.0"; encoding=";utf-8";?> <methodCall> <methodName>DownloadAndOpenStudy</methodName> <params> <param> <value> <struct> <member> <name>PatientID</name> <value> <string> 8211038be1bebb57fb131414a04818f4f5c8f25f4a02cccec2b0cc20 \...\8211038be1bebb57fb131414a04818f4f5c8f25f4a02cccec2b0cc21 </string> </value> </member> <member> <name>StudyInstanceUID</name> <value> <string> 1.2.276.0.7230010.3.1.2.1658924591.30288.1727881038.636 \...\1.2.276.0.7230010.3.1.2.1658924591.30288.1727881038.637 </string> </value> </member> <member> <name>AET</name> <value> <string>PACS_Inobitec</string> </value> </member> <member> <name>IP</name> <value> <string>192.168.0.235</string> </value> </member> <member> <name>port</name> <value> <string>3000</string> </value> </member> <member> <name>WadoServiceRootPath</name> <value> <string>path/to/service</string> </value> </member> <member> <name>IsWadoSecured</name> <value> <string>false</string> </value> </member> <member> <name>WadoPort</name> <value> <string>8010</string> </value> </member> <member> <name>WadoAuthLogin</name> <value> <string></string> </value> </member> <member> <name>WadoAuthPassword</name> <value> <string></string> </value> </member> <member> <name>CommandType</name> <value> <string>WADO-RS</string> </value> </member> </struct> </value> </param> </params> </methodCall>
"displayStudy.xml"
<?xml version=";1.0"; encoding=";utf-8";?> <methodCall> <methodName>DisplayStudy</methodName> <params> <param> <value> <struct> <member> <name>PatientID</name> <value> <string> 8211038be1bebb57fb131414a04818f4f5c8f25f4a02cccec2b0cc20 \...\8211038be1bebb57fb131414a04818f4f5c8f25f4a02cccec2b0cc21 </string> </value> </member> <member> <name>StudyInstanceUID</name> <value> <string> 1.2.276.0.7230010.3.1.2.1658924591.30288.1727881038.636 \...\1.2.276.0.7230010.3.1.2.1658924591.30288.1727881038.637 </string> </value> </member> </struct> </value> </param> </params> </methodCall>