В «Инобитек DICOM-Просмотрщик» есть HTTP RPC-сервис, через который можно выполнять команды. Сейчас поддерживаются две команды:
DownloadAndOpenStudy;
DisplayStudy.
DownloadAndOpenStudy — команда загрузки исследования с DICOM-сервера (PACS) в локальное хранилище с последующим открытием исследования. При получении этой команды DICOM-Просмотрщик выполняет поиск исследования в локальном хранилище. Если искомое исследование есть в локальном хранилище, то DICOM-Просмотрщик открывает его первую серию в окне просмотра плоских изображений. Если искомое исследование в локальном хранилище отсутствует, то DICOM-Просмотрщик отправляет запрос на DICOM-сервер (PACS) и, загрузив файлы исследования, открывает первую серию исследования в окне просмотра плоских изображений;
Для выполнения команды DownloadAndOpenStudy выполните:
Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт «Сервисы» в меню «Сеть» (подробнее см. в разделах 13.1.1 и 13.1.2).
Подайте HTTP RPC-запрос на открытие исследования путем отправки POST-запроса, содержащего xml указанного формата (образец файла downloadAndOpenStudy.xml доступен в папке «demo»).
В файле downloadAndOpenStudy.xml указываются следующие параметры:
PatientID (необязательный параметр) — ID пациента, исследование которого следует открыть;
StudyInstanceUID — UID исследования, которое следует открыть;
AccessionNumber — регистрационный номер исследования, которое следует открыть;
AET — AE Title PACS-сервера;
IP — сетевой адрес PACS-сервера;
port — DICOM порт PACS-сервера;
CommandType (необязательный параметр) — способ загрузки изображений с PACS-сервера в DICOM-Просмотрщик. Может принимать значения «C-GET» (по умолчанию) или «C-MOVE». При использовании «C-MOVE» PACS-сервер должен быть настроен соответствующим образом.
Значения параметров StudyInstanceUID и AccessionNumber, указанные в xml-файле, должны принадлежать одному исследованию. Если значения параметров 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 в папке «demo»:
Включите в 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».
Инструкция по настройке HTTP RPC-сервиса, образцы конфигурационных файлов и тестовые страницы доступны по ссылке: https://inobitec.ru/downloads/dicomviewer/.
DisplayStudy — команда открытия исследования из локального хранилища. При получении этой команды DICOM-Просмотрщик выполняет поиск исследования в локальном хранилище. Если искомое исследование есть в локальном хранилище, то DICOM-Просмотрщик открывает его первую серию в окне просмотра плоских изображений. На момент получения этой команды файлы исследования уже должны быть сохранены в локальном хранилище.
Для выполнения команды DisplayStudy следует:
Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт «Сервисы» в меню «Сеть» (подробнее см. в разделах 13.1.1 и 13.1.2).
Подайте HTTP RPC-запрос на открытие исследования путем отправки POST-запроса, содержащего xml указанного формата (файл displayStudy.xml в папке «demo»).
В файле displayStudy.xml указываются следующие параметры:
PatientID — ID пациента, исследование которого следует открыть;
StudyInstanceUID — UID исследования, которое следует открыть.
Также можно воспользоваться тестовым скриптом display.bat в папке «demo»:
Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт «Сервисы» в меню «Сеть» (подробнее см. в разделах 13.1.1 и 13.1.2).
Отредактируйте файл displayStudy.xml:
PatientID — ID пациента, исследование которого следует открыть;
StudyInstanceUID — UID исследования, которое следует открыть.
В командной строке выполнитt скрипт со следующими параметрами:
display.bat [ip] [port]
где:
ip — сетевой адрес DICOM-Просмотрщика;
port — HTTP-порт DICOM-Просмотрщика.
Инструкция по настройке HTTP RPC-сервиса, образцы конфигурационных файлов и тестовые страницы доступны по ссылке: https://inobitec.ru/downloads/dicomviewer/.
Ниже приведены примеры конфигурационных файлов HTTP RPC-сервиса удалённого вызова процедур.
«downloadAndOpenStudy.xml»
<?xml version="1.0" encoding="utf-8"?> <methodCall> <methodName>DownloadAndOpenStudy</methodName> <params> <param> <value> <struct> <member> <name>PatientID</name> <value> <string>9Htqj5c</string> </value> </member> <member> <name>StudyInstanceUID</name> <value> <string>1.2.840.113704.1.111.5600.1107858801.1</string> </value> </member> <member> <name>AccessionNumber</name> <value> <string>value</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>
«displayStudy.xml»
<?xml version="1.0" encoding="utf-8"?> <methodCall> <methodName>DisplayStudy</methodName> <params> <param> <value> <struct> <member> <name>PatientID</name> <value> <string>9Htqj5c</string> </value> </member> <member> <name>StudyInstanceUID</name> <value> <string>1.2.840.113704.1.111.5600.1107858801.1</string> </value> </member> </struct> </value> </param> </params> </methodCall>