Инобитек DICOM-Просмотрщик

12.4. HTTP RPC-сервис удалённого вызова процедур

В «Инобитек DICOM-Просмотрщик» есть HTTP RPC-сервис, через который можно выполнять команды. Сейчас поддерживаются две команды:

  • DownloadAndOpenStudy;

  • DisplayStudy.

12.4.1 Команда «DownloadAndOpenStudy»

  • DownloadAndOpenStudy — команда загрузки исследования с DICOM-сервера
    (PACS) в локальное хранилище с последующим открытием исследования. При получении этой команды DICOM-Просмотрщик выполняет поиск исследования в локальном хранилище. Если искомое исследование есть в локальном хранилище, то DICOM-Просмотрщик открывает его первую серию в окне просмотра плоских изображений. Если искомое исследование в локальном хранилище отсутствует, то DICOM-Просмотрщик отправляет запрос на DICOM-сервер (PACS) и, загрузив файлы исследования, открывает первую серию исследования в окне просмотра плоских изображений;

Для выполнения команды DownloadAndOpenStudy выполните:

  1. Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт «Сервисы» в меню «Сеть» (подробнее см. в разделах 12.1.1 и 12.1.2).

  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»:

  1. Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт «Сервисы» в меню «Сеть» (подробнее см. в разделах 12.1.1 и 12.1.2).

  2. Откройте страницу testpage.html.

  3. Заполните следующие поля:

    • AET — AE Title PACS-сервера;

    • IP — сетевой адрес PACS-сервера;

    • Port — DICOM-порт PACS-сервера;

    • StudyUID — UID исследования, которое следует открыть;

    • Destination IP — сетевой адрес DICOM-Просмотрщика;

    • Destination port — HTTP-порт DICOM-Просмотрщика.

  4. Нажмите на кнопку «Send command».

Инструкция по настройке HTTP RPC-сервиса, образцы конфигурационных файлов и тестовые страницы доступны по ссылке: https://inobitec.com/downloads/dicomviewer/.

12.4.2 Команда «DisplayStudy»

  • DisplayStudy — команда открытия исследования из локального хранилища. При получении этой команды DICOM-Просмотрщик выполняет поиск исследования в локальном хранилище. Если искомое исследование есть в локальном хранилище, то DICOM-Просмотрщик открывает его первую серию в окне просмотра плоских изображений. На момент получения этой команды файлы исследования уже должны быть сохранены в локальном хранилище.

Для выполнения команды DisplayStudy следует:

  1. Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт «Сервисы» в меню «Сеть» (подробнее см. в разделах 12.1.1 и 12.1.2).

  2. Подайте HTTP RPC-запрос на открытие исследования путем отправки POST-запроса, содержащего xml указанного формата (файл displayStudy.xml в папке «demo»).

В файле displayStudy.xml указываются следующие параметры:

  • PatientID — ID пациента, исследование которого следует открыть;

  • StudyInstanceUID — UID исследования, которое следует открыть.

Также можно воспользоваться тестовым скриптом display.bat в папке «demo»:

  1. Включите в DICOM-Просмотрщике DICOM и HIS/HTTP-сервисы, выбрав пункт «Сервисы» в меню «Сеть» (подробнее см. в разделах 12.1.1 и 12.1.2).

  2. Отредактируйте файл displayStudy.xml:

    • PatientID — ID пациента, исследование которого следует открыть;

    • StudyInstanceUID — UID исследования, которое следует открыть.

  3. В командной строке выполнитt скрипт со следующими параметрами:
    display.bat [ip] [port]
    где:

    • ip — сетевой адрес DICOM-Просмотрщика;

    • port — HTTP-порт DICOM-Просмотрщика.

Инструкция по настройке HTTP RPC-сервиса, образцы конфигурационных файлов и тестовые страницы доступны по ссылке: https://inobitec.com/downloads/dicomviewer/.

12.4.3 Конфигурационные файлы HTTP RPC-сервиса

Ниже приведены примеры конфигурационных файлов 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>7Thjq7g</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»