Как использовать двоичные файлы DCMTK для отправки модального рабочего списка модальностям без получения запроса от них? - PullRequest
1 голос
/ 19 марта 2020

Я использую DCMTK storescp.exe для получения изображений из модальности CR и последующей обработки / сохранения их в моей БД.

Можно ли использовать другой двоичный файл DCMTK для ручной отправки PatientName и PatientId к модальности CR до того, как пациент туда пойдет?

Я где-то читал, что модальность делает запрос для получения рабочего списка модальности. Я хотел бы обратить этот поток вспять. Я хочу напрямую отправить модальный рабочий список модальности, когда захочу, без получения запроса от модальности.

Возможно ли это? Если да; Как я могу сделать это с DCMTK?

Обратите внимание, что это не запрос инструмента вне сайта. Я просто хочу знать двоичный файл DCMTK, который реализует требуемую службу / команду DICOM.

1 Ответ

1 голос
/ 20 марта 2020

Вы ищете Modality Worklist или службу MWL, которая реализует команду C-FIND.
SOP Class: 1.2.840.10008.5.1.4.31 [Информационная модель рабочего списка Modality - FIND].

Но это не работает вы ожидаете; и он не должен - для хорошего .

MWL SCU (в вашем случае - CR) инициирует запрос с (необязательными) фильтрами, которые ему подходят. Как обычно, происходит ассоциация, и MWL SCP получает запрос MWL. Затем он получает данные из своей базы данных, соответствующие фильтрам, если таковые имеются. Затем он отправляет один MWL-ответ для каждой строки, выбранной из базы данных, состояние для каждого ответа - PENDING. Когда все строки переданы, отправляется окончательный ответ SUCCESS. Если не найдено строк, соответствующих фильтру, отправляется только окончательный ответ. Если что-то идет не так, отправляется правильный ответ об ошибке. Затем SCU отправляет запрос на выпуск и, получив ответ на выпуск, закрывает ассоциацию.

Теперь, почему ваш ожидаемый рабочий процесс невозможен?

Как правило, MWL SCP реализуется системами RIS. Эти системы имеют инструменты / функции для регистрации демографических данных пациента c во время / до поступления пациента в больницу. Они также имеют функции для расписания заказов, которые будут выполняться Модальностями. В данной сети DICOM (больница) может быть несколько модальностей. Хотя у RIS есть способ решить, какой порядок должен go, какой модальности (на основе титула AE, если он настроен и используется должным образом), они не могут сделать это sh, потому что они действуют как SCP, т.е. как Сервер. Как и любой другой сервер в любом сетевом протоколе, они должны ждать запроса от клиента, то есть SCU.

Далее, хотя SCP может знать, какой заказ следует отправить, какой модальности, модальности может не быть ожидая этого заказа по многим причинам. Итак, общий поток в MWL - это способ, который я объяснил выше. Вы не можете реализовать обратный рабочий процесс с какой-либо службой / командой DICOM.

Просто для ясности:

Все это не имеет ничего общего с данными, которые вы получили и хранится в БД с использованием storescp.exe. Я имею в виду, что вы обычно не отправляете эти данные в модальность как рабочий список модальности.

MWL происходит первым. Когда модальность получает элемент рабочего списка MWL, он проводит исследование и получает изображения с данными демографии c, полученными в элементе рабочего списка MWL. Таким образом, можно избежать ошибок, избежать избыточных входов, а поток автоматизирован. Когда все будет готово, измените значение pu sh (C-STORE) для экземпляров (CR-изображения в вашем случае) на C-STORE SCP, который в вашем случае - storecp.exe.

...