Что такое модули
Ядро X7 Insight занимается универсальными вещами: субъекты, формы, данные, запросы, подписи, блокировки, аудит. Всё остальное — медицинское кодирование, экспортёры форматов, рандомизация, электронные дневники пациентов — добавляют модули: пакеты поставки, которые работают поверх ядра, не меняя его.
Для клинического персонала это значит: набор функций в вашем исследовании зависит от того, какие модули включены. Управляет этим администратор арендатора в разделе Администрирование → Модули.
- Управляемый релиз операторасинхронизация с поставкой (манифест)
- Модуль в каталоге платформыenable
- Служебный принципал + грантывызовы
- Работа через ModuleContext.sdk.*
Дальше модуль работает только через ModuleContext.sdk.*: каждый такой вызов проходит
проверку прав (PBAC) и аудируется с пометкой module_id — поэтому «модуль X» всегда
отличим в следе от других действий.
Как модуль встраивается в работу
Заголовок раздела «Как модуль встраивается в работу»Модуль не «влезает» в ядро напрямую. Он подписывается на события (например, «сохранены данные»), ведёт собственное хранилище и добавляет свои экраны и панели в строго отведённые места интерфейса. Поэтому модули можно включать и выключать независимо, не ломая основной поток работы.
На практике вы встречаете модуль как:
- панель на форме (например, панель кодирования сбоку от полей);
- пункт навигации исследования (например, «Кодирование»);
- действие или формат (например, выгрузку в дополнительном формате в Export Console — если такой модуль вам поставлен).
Что именно вы видите, по-прежнему зависит от ваших прав: даже включённый модуль показывает свои панели только тем, у кого есть соответствующее разрешение.
Включение и права
Заголовок раздела «Включение и права»Модуль включается на арендатора целиком — одно включение на модуль. Отдельного «согласия на возможности» нет: набор прав служебного принципала модуля задаёт манифест поставки, и он же виден администратору на карточке модуля.
- Права модуля — собственные права модуля (
mod.<id>.*) для его экранов и данных; - Гранты ядра — какие права ядра модуль получает для своего служебного «пользователя», и зачем: каждый грант в манифесте сопровождается человекочитаемой причиной (например, «чтение вербатимов для формирования очереди кодирования»).
Изменить набор грантов из интерфейса нельзя: новый релиз модуля с изменённым манифестом
проходит тот же управляемый релиз, а изменение прав фиксируется в аудите
(module.grants_synced) при обновлении платформы.
К каким исследованиям модуль применим, решают не включения, а права людей: панель или
пункт модуля видит тот, у кого есть соответствующее право mod.<id>.* в scope этого
исследования. Один и тот же модуль может работать в одних исследованиях арендатора и не
работать в других — именно потому, что у людей разные права.
Как включить модуль
Заголовок раздела «Как включить модуль»-
Откройте Администрирование → Модули и выберите модуль — откроется его карточка: где он включён, права модуля и запрашиваемые гранты, настройки; слоты интерфейса, события и сущности — под «Технические детали».
-
Нажмите «Включить» — включение одно на арендатора.
-
При необходимости задайте настройки модуля (например, версию словаря для кодирования).
-
Подтвердите — модуль включён, его панели и пункты навигации появляются у пользователей с правами на модуль в их исследованиях.
После включения настройки и журнал модуля доступны на той же карточке. Журнал — это
аудиторский след: синхронизация модуля с поставкой (включая изменение его прав,
module.grants_synced), исчезновение модуля из поставки (module.absent) и каждое
включение/отключение фиксируются.
Отключение: данные остаются
Заголовок раздела «Отключение: данные остаются»Модуль можно отключить в любой момент (с указанием причины). При отключении его гранты отзываются, подписки на события останавливаются, а панели и пункты навигации исчезают.
Что живёт в модулях
Заголовок раздела «Что живёт в модулях»Ядро остаётся тонким и неизменным, а прикладные, доменные функции выносятся в модули. Ниже — примеры категорий, а не перечень поставляемых модулей: конкретный набор в вашем исследовании определяется тем, какие модули поставлены оператором платформы и включены администратором.
- Медицинское кодирование — присвоение вербатимам терминов управляемых словарей (например, MedDRA, WHODrug).
- Экспортёры форматов — выгрузка данных в специализированные отраслевые форматы поверх экспорта ядра.
- Рандомизация и поставки (RTSM) — динамические схемы (минимизация) и учёт препарата; рандомизация по списку и экстренное раскрытие кода есть в ядре — см. Включение субъектов.
- eConsent / ePRO — электронное согласие и данные, вводимые самим участником.
- Мониторинг — расширенные рабочие места и метрики очистки данных.
- Тестирование конфигурации — тест-кейсы к правилам CRF и отчёт о тестировании, привязанный к отпечатку дизайна (поставляется модуль «Тестирование конфигурации ИРК»).
- Лабораторные данные — референсные значения и отметки L/H у значения (поставляется модуль «Лабораторные нормы»).