Что такое модули
Ядро X7 Insight занимается универсальными вещами: субъекты, формы, данные, запросы, подписи, блокировки, аудит. Всё остальное — медицинское кодирование, экспортёры форматов, рандомизация, электронные дневники пациентов — добавляют модули: подключаемые возможности, которые работают поверх ядра, не меняя его.
Для клинического персонала это значит: набор функций в вашем исследовании зависит от того, какие модули включены. Управляет этим администратор арендатора в разделе Администрирование → Модули.
- Управляемый релиз оператораregister (манифест)
- Возможности согласованы (negotiation)enable
- Служебный принципал + грантывызовы
- Работа через ModuleContext.sdk.*
Дальше модуль работает только через ModuleContext.sdk.*: каждый такой вызов проходит
проверку прав (PBAC) от имени служебного принципала модуля и аудируется с пометкой
module_id — поэтому «модуль X в исследовании A» всегда отличим в следе от того же модуля в
другом исследовании.
Как модуль встраивается в работу
Заголовок раздела «Как модуль встраивается в работу»Модуль не «влезает» в ядро напрямую. Он подписывается на события (например, «сохранены данные»), ведёт собственное хранилище и добавляет свои экраны и панели в строго отведённые места интерфейса. Поэтому модули можно включать и выключать независимо, не ломая основной поток работы.
На практике вы встречаете модуль как:
- панель на форме (например, панель кодирования сбоку от полей);
- пункт навигации исследования (например, «Кодирование»);
- действие или формат (например, выгрузку в ODM-XML в Export Console).
Что именно вы видите, по-прежнему зависит от ваших прав: даже включённый модуль показывает свои панели только тем, у кого есть соответствующее разрешение.
Согласие на возможности (capability consent)
Заголовок раздела «Согласие на возможности (capability consent)»Ключевая идея включения модуля — осознанное согласие. Модуль не получает доступ молча: администратор видит и подтверждает каждую возможность и каждый грант, которые модуль запрашивает.
В диалоге «Согласие на capabilities» показаны две вещи:
- Требуемые capabilities — какие возможности ядра нужны модулю (подписка на события, своё хранилище, свои экраны, фоновые задачи и т. п.);
- Запрашиваемые гранты ядра — какие права модуль просит для своего служебного «пользователя», и зачем (каждый грант сопровождается человекочитаемой причиной: например, «чтение вербатимов для формирования очереди кодирования»).
Администратор подтверждает каждый пункт галочкой; включить модуль можно только после согласия со всеми. При этом администратор может сузить область (scope) любого гранта, но не расширить.
Включение по исследованиям
Заголовок раздела «Включение по исследованиям»Модуль включается на арендатора целиком или на конкретное исследование. У каждого включения — свой отдельный служебный принципал, которому выдаются согласованные права. Благодаря этому один и тот же модуль может по-разному работать в разных исследованиях (свои настройки, свой scope), а аудит различает «модуль X в исследовании A» и «модуль X в исследовании B».
-
Откройте Администрирование → Модули и выберите модуль — откроется его карточка с манифестом: возможности, права модуля, запрашиваемые гранты, события, вклады в интерфейс, настройки.
-
Нажмите «Включить», выберите исследование (или весь арендатор).
-
В диалоге согласия подтвердите каждую capability и каждый грант.
-
При необходимости задайте настройки модуля (например, версию словаря для кодирования).
-
Подтвердите — модуль включён, его панели и пункты навигации появляются у пользователей с нужными правами.
После включения настройки и журнал модуля доступны на той же карточке. Журнал — это аудиторский след: регистрация модуля и каждое включение/отключение фиксируются.
Отключение: данные остаются
Заголовок раздела «Отключение: данные остаются»Модуль можно отключить в любой момент (с указанием причины). При отключении его гранты отзываются, подписки на события останавливаются, а панели и пункты навигации исчезают.
Что живёт в модулях
Заголовок раздела «Что живёт в модулях»Ядро остаётся тонким и неизменным, а прикладные, доменные функции выносятся в модули. Ниже — примеры категорий, а не перечень поставляемых модулей: конкретный набор в вашем исследовании определяется тем, какие модули зарегистрированы оператором платформы и включены администратором.
- Медицинское кодирование — присвоение вербатимам терминов управляемых словарей (например, MedDRA, WHODrug).
- Экспортёры форматов — выгрузка данных в специализированные отраслевые форматы поверх экспорта ядра.
- Рандомизация и поставки (RTSM) — распределение субъектов по группам и учёт препарата.
- eConsent / ePRO — электронное согласие и данные, вводимые самим участником.
- Мониторинг — расширенные рабочие места и метрики очистки данных.