Привет, ребята!
Это первая статья в блоге об интересной функции, которую большинство из нас всегда хотело, используя письменныевозможности ESAPI.
Все, чем я здесь делюсь, предназначено для образовательных целей, я советую вам сначала изучить, а затем внедрять любой сценарий в клиническую среду. Это не рекомендация и не клинически проверенный сценарий.
Важно признать, что в клинической среде запись через ESAPI разрешена в версиях Eclipse выше 15.1.1.
Утверждения сценариев и TBOX:
Varian Testing Station, также известная как TBOX, имитирует клиническую среду, в которой вы можете свободно тестировать свои сценарии.
В моем начальном руководстве по ESAPI я показал, как создавать одиночные файлы, бинарные плагины и исполняемые файлы для скриптов только для чтения. Записываемые подключаемые модули сохраняют те же свойства, но если они будут использоваться в клинике, их необходимо одобрить в пользовательском интерфейсе Eclipse, и вы не можете одобрить надстройку с одним файлом.
Декларируя, мы собираемся записать в базу данных:
В исполняемых файлах мы объявляем в начале кода флаг [STAThread]. ESAPI необходимо, чтобы в любом файле кода, который вы создаете (исполняемом или двоичном), присутствовал следующий флаг:
[assembly: ESAPIScript(IsWriteable = true)]
И запустите метод Patient.BeginModification() перед изменением любого свойства объекта пациента.
scriptContext.Patient.BeginModifications();
Не забудьте использовать оба.
Я заметил, что в TBOX последний не нужен. Но это, безусловно, в клинической среде.
Шаблон:
Для бинарных плагинов это должен быть код для начала:
Для исполняемых файлов:
Помните, что вы можете сохранить с помощью скрипта в исполняемых файлах, в плагинах вы должны сохранить в UI после того, как скрипт завершит свою задачу.
Если вы действительно хотите автоматизировать задачу и не иметь контакта с человеком, но запускать каждого пациента за раз, вы всегда можете эмулировать плагин с помощью исполняемых файлов (см.Как эмулировать плагин).
Трубопровод:
Мы рассмотрим следующие этапы клинического принятия перезаписываемого двоичного плагина:
- Разработка сценария
- Тестирование скрипта в TBOX с помощью Eclipse Plugin Runner Карлоса Андерсона.
- Оцените функцию скрипта в Clinical Environment
- Утвердить его
Работа разработчиков:
В чем проблема?
Предположим, что когда вы начинаете планировать обращение 3DCRT, вы добавляете несколько полей и не назначаете им идентификатор или имя. Затем вы начинаете использовать Поле в полях и дополнительных полях, и в конце вы получаете эту прекрасную картинку:
Какое решение?
Мы автоматически назначим идентификаторыстатическим полям на основе их угла гентри. А также добавьте флаг FF или Comp, если поле является одним из них.
Желаемый результат:
Код:
Мы создадим двоичный подключаемый модуль, поэтому создайте новое решение Библиотека классов .NET Framework 4.5 с именем FieldIdFromGantry. Измените имя сборки на FieldIdFromGantry.esapi и конфигурацию ЦП на x64.
В этом проекте мы создадим один класс с именем BeamIdChanger. Создайте новый файл класса .cs (Ctrl + Shift + A) с именем BeamIdChanger.cs :
Также переименуйте Class1.cs в Script.cs:
Теперь у вас должны быть эти два файла:
Ссылка на библиотеки VMS.TPS:
Вставьте следующий код в BeamIdChanger.cs:
И в Script.cs вставьте:
Следующая блок-схема описывает процесс принятия решений, происходящий в Beam Id Changer:
Тестирование на TBOX:
Мы могли бы просто создать код в Visual Studio и запустить его на любом допустимом плане расчета дозы в TBOX. Однако вас может интересовать не копирование и вставка, а скорее создание и тестированиедоступных для записи сценариев и тестирование во время разработки. В моем Первоначальном руководстве по ESAPI я кратко рассказываю о необходимости перезапускать eclipse или менять имя сборки каждый раз, когда мы хотим протестировать бинарный плагин. Мы можем решить эту проблему, используя исполняемые файлы, или при тестировании в TBOX мы можем просто использовать решение Carlos Anderson’s plugin Runner.
ESAPI Plugin Runner и Git Карлоса Андерсона:
На мой взгляд, наиболее подходящий вариант для тестирования ваших скриптов — создать решение, содержащее пакеты NuGet, ESAPI Plugin Runner и ESAPI Essentials, а также каждый новый проект. вы входите, вы разветвляете решение Plugin Tester через Git и добавляете проект, над которым работаете, в качестве внешней ссылки.
Модуль запуска плагинов позволяет выполнять Отладку, это очень и очень полезно.
Поступая таким образом, вам не нужно ссылаться на эти тестовые библиотеки в вашем клиническом сценарии.
Давайте протестируем наш проект с помощью ESAPI plugin Runner.
Закройте решение FieldIdFromGantry:
Создайте новое решение .NET Framework 4.5 WPF под названием PluginTester.
Перейдите на архитектуру x64.
Удалите файл MainWindow.xaml из проекта!
Установите выделенные библиотеки из NuGet Manager:
После установки пакетов обратитесь к библиотекам VMS.TPS.
Ваш обозреватель решений должен выглядеть следующим образом:
Создайте файл с именем ScriptTesting.cs.
Можно использовать сочетание клавиш(Ctrl + Shift + A).
Вставьте в этот файл следующий код:
Теперь это важная часть!
Поскольку мы удалили MainWindow.xaml из проекта, нам нужно переписать App.xaml, изменив строку:
.... StartupUri="MainWindow.xaml">
To:
.... Startup="App_OnStartup">
В App.xaml.cs мы создадим метод App_OnStartup:
Это должно быть его содержание:
Это шаблон для Eclipse Plugin Runner.
Теперь создайте репозиторий git с помощью визуального инструмента git в Visual Studio:
Ветвление и тестирование:
Создайте новую ветку от мастера через git.
Вызовите его на основе решения FieldIdFromGantry:
В новой ссылке на ветку проекта FieldIdFromGantry щелкните правой кнопкой мыши имя решения:
Найдите папку проекта и нажмите «Открыть» в файле FieldIdFromGantry.csproj:
Проверьте обозреватель решений:
В файл ScriptTesting.cs добавьте следующие строки внутри метода Run:
BeamIdChanger changer = new BeamIdChanger(scriptContext.PlanSetup); changer.ChangeBeamsIdsFromGantryAngles(); MessageBox.Show(changer.Log);
Используйте сочетание клавиш Ctrl + ., чтобы устранить ссылку на FieldIdFromGantry.
Добавить и зафиксировать изменения…
Наконец-то тестируем:
Нажмите Ctrl + F5 или нажмите Run, Eclipse Runner подключится к DB Eclipse в TBOX:
Найдите план, который хотите протестировать:
Вот и желаемый результат!
Используя Plugin Runner, вы также можете отлаживать код с помощью Visual Studio (установлена на TBOX):
Теперь, когда мы уже протестировали в Plugin Runner, мы должны протестировать его в пользовательском интерфейсе Eclipse.
Все хорошо!
Утверждение сценария:
После ваших тестов вы должны быть уверены, что можете начать использовать его в клинике.
Теперь вы, как физик, должны проверить авторизацию пользователей на использование скриптов в сервисе varian.
Если с привилегиями пользователей все в порядке, вам следует перейти к .
Появится черное окно одобрения, после чего вам следует зарегистрировать новый скрипт.
Спасибо за чтение!
Спасибо Джонасу за рецензирование этого поста.