Конструктор CRF
Черновик дизайна собирается визуально — в конструкторе CRF. Здесь вы создаёте формы, разделы и поля, настраиваете их свойства, заводите справочники значений (списки вариантов), правила проверки и автозаполнение — всё в одном экране, без файлов и ручной разметки.
Вход — со страницы Дизайн исследования. Если дизайна ещё нет, нажмите Новый черновик дизайна, а затем в зоне черновика — Открыть конструктор. Рядом кнопки Матрица SoA (привязка форм к визитам) и Превью (прожить форму до публикации). Опубликованную версию та же страница открывает кнопкой Посмотреть дизайн — конструктор запускается в режиме только чтения.
Три панели конструктора
Заголовок раздела «Три панели конструктора»Экран конструктора разделён на три зоны — слева направо, от общего к частному:
| Панель | Что в ней |
|---|---|
| Слева — список | Две вкладки — Формы и Списки — и поле Поиск по названию. На вкладке «Формы» — все формы черновика; клик выбирает форму для работы. На вкладке «Списки» — справочники значений. |
| По центру — форма | Открытая форма в двух вкладках: Структура (разделы и поля в порядке отображения; у каждого поля виден его тип — Текст · Выбор из списка · Дата …) и Логика (проверки и автозаполнение формы). |
| Справа — инспектор свойств | Свойства выбранного элемента — формы, раздела или поля. Всё, что определяет поведение элемента, настраивается здесь. |
В шапке экрана — кнопка Проблемы (со счётчиком находок) и меню Ещё (⋯), где собрано редкое и продвинутое: Экспорт JSON, Импорт JSON и Языки CRF.
Порядок элементов меняется стрелками «Переместить выше» / «Переместить ниже» или перетаскиванием; поле можно перетащить и в соседний раздел. Так вы выстраиваете форму в том виде, в каком её увидит координатор. Рядом с полем видны бейджи: условие — у поля задано условие отображения, автозаполняется — значение вычисляет система, слепое — значение маскируется.
Формы, разделы и поля
Заголовок раздела «Формы, разделы и поля»-
На вкладке Формы нажмите Добавить форму и задайте название. OID (технический идентификатор) конструктор присвоит сам — вводить его вручную не нужно.
-
Во вкладке Структура добавьте разделы — смысловые секции формы. Раздел можно пометить как журнал (повторяющийся раздел) — тогда при вводе он превратится в таблицу строк (например, серия измерений давления).
-
Внутри разделов добавьте поля, выберите тип вопроса и настройте каждое в инспекторе справа.
Форму, раздел, поле и список вариантов можно дублировать — через меню ⋯ рядом с элементом: копия сохраняет свойства, а конструктор присваивает ей новые OID.
Быстрый ввод: композер и вставка из буфера
Заголовок раздела «Быстрый ввод: композер и вставка из буфера»Кнопка Добавить поле открывает строку-композер прямо в разделе: напечатайте название и нажмите Enter — поле создано, строка ждёт следующее. Тип задаётся командой в конце строки, юнит — скобками, варианты выбора — двоеточием:
Вес /число (кг)Дата рожденияКурит /данетПол /выбор: Мужской, Женский«Пол» сразу получит список вариантов — отдельно создавать его не нужно.
⌥Enter создаёт поле и открывает его свойства, Esc закрывает композер. Для формулы или тонкой настройки формата остаётся полный диалог — ссылка под строкой композера.
Вставка из буфера: скопируйте список вопросов из протокола или Excel и вставьте в композер — каждая строка станет полем по той же грамматике (с подтверждением, сколько и каких).
Шаблоны
Заголовок раздела «Шаблоны»Меню ⋯ центральной панели (и пустой черновик) предлагают «Из шаблона…» — галерею готовых заготовок: Демография, Витальные показатели, Нежелательное явление (со своими словарями), стандартные списки. Повторная вставка легальна — имена данных получат суффикс, ссылки перепишутся. Свою форму или список можно сохранить как шаблон из их меню ⋯ — форма уедет вместе с используемыми словарями и станет доступна во всех исследованиях организации.
Отмена вместо предупреждений
Заголовок раздела «Отмена вместо предупреждений»Удаление поля, раздела, формы или списка не спрашивает подтверждения — вместо этого тост «Удалено · Отменить» и ⌘Z возвращают удалённое со всеми свойствами, правилами и прежней позицией.
Саму форму тоже можно пометить как повторяющуюся (несколько экземпляров на визит или общий журнал) — так делаются log-формы для нежелательных явлений и сопутствующей терапии (см. Расписание активностей).
Инспектор свойств поля
Заголовок раздела «Инспектор свойств поля»У поля в инспекторе настраиваются:
| Свойство | Что задаёт |
|---|---|
| Название | Подпись поля, как её увидит координатор. |
| Раздел | В каком разделе формы лежит поле; переключение переносит поле в другой раздел (то же делает перетаскивание). |
| Список вариантов | Для типа «Выбор из списка» — из какого справочника выбирается значение. |
| Обязательное | Пустое поле будет считаться недоработкой — система сама создаст проверку «поле не должно быть пустым». |
| Ед. изм. | Единицы измерения — показываются рядом с полем. |
| Мин. / Макс. значение | Границы допустимых значений — система сама создаст проверку диапазона. |
| Нарушение диапазона | Мягкое (записать значение и открыть запрос) или жёсткое (отклонить значение) — для числа с заданным диапазоном. |
| Макс. длина | Для текста — ограничение длины. |
| Условие отображения | Выражение от других полей формы: истина — поле видно (см. Скип-логика и автозаполнение). |
Мониторинг и слепота — Подлежит SDV, Требует медицинского кодирования и Слепое (значение маскируется) — собраны в свёрнутом блоке «Дополнительно». Свёрнутый блок «Технические детали» держит OID и полный Тип данных (Текст · Целое число · Число · Да/Нет · Дата · Неполная дата · Дата и время · Выбор из списка) — тип обычно задаётся «Типом вопроса» ещё при создании поля.
Если поле участвует в проверках или автозаполнении, инспектор показывает блок «Правила поля» со связанными правилами; клик по автозаполнению открывает его редактор.
Если поле выбрано целью автозаполнения, в инспекторе оно помечено признаком «автозаполняется»: значение рассчитывается автоматически по выражению, ручной ввод закрыт, а тип данных менять нельзя. Сами формулы задаются в блоке Автозаполнение вкладки Логика (см. Скип-логика и автозаполнение).
Списки вариантов
Заголовок раздела «Списки вариантов»Вкладка Списки — справочники значений для полей типа «Выбор из списка»: список пар
«код → подпись» (например, M → Мужской, F → Женский). Список создаётся один раз и
подключается к любому числу полей. Коды внутри списка не должны повторяться — конструктор
за этим следит. Готовый список можно дублировать через меню ⋯.
Логика формы: проверки и автозаполнение
Заголовок раздела «Логика формы: проверки и автозаполнение»Вторая вкладка центральной панели — Логика. Здесь живут правила поведения той формы, что открыта: правило принадлежит форме и версионируется вместе с дизайном — правка после публикации создаёт новую версию. Логика разбита на три блока:
- Проверки — правила контроля качества (block и query), которые срабатывают при вводе. Кнопка Добавить проверку; готовое правило можно изменить (клик по нему) или удалить. Подробно — в статье Правила проверки.
- Автозаполнение — вычисляемые поля: система заполняет их сама из других полей. Кнопка Добавить автозаполнение; правило так же правится на месте. Подробно — в статье Скип-логика и автозаполнение.
- Из свойств полей — проверки, которые ядро создаёт само из Обязательное и границ диапазона. Блок только для чтения: эти проверки не правят здесь, а меняют свойствами поля.
Редактор выражений проверяет формулу на лету: под полем сразу видно «Выражение корректно» или конкретную ошибку, а также от каких полей выражение зависит.
Панель «Проблемы»
Заголовок раздела «Панель «Проблемы»»Кнопка Проблемы в шапке несёт счётчик находок (ошибки — красным) и открывает живой отчёт «Проблемы дизайна» — конструктор постоянно просматривает черновик и подсвечивает недоработки с разбивкой «Ошибки · Предупреждения · Инфо»:
- в версии нет ни одной формы или ни одного визита;
- форма пустая — в ней нет полей;
- форма не привязана ни к одному визиту (вне SoA);
- поле-выбор без списка вариантов;
- минимум больше максимума;
- визит без форм, список вариантов без вариантов, список вариантов не используется ни одним полем.
Каждый пункт ведёт к месту проблемы: находка внутри дизайна (форма, поле, список) открывает нужный элемент в конструкторе, а находка про визиты и расписание (форма вне SoA, визит без форм) ведёт на матрицу SoA — там она и чинится. Разбирать их лучше по ходу сборки: те же проверки встроены в отправку версии на ревью — «битый» дизайн дальше черновика не уйдёт.
Превью формы: прожить до публикации
Заголовок раздела «Превью формы: прожить до публикации»Кнопка Превью на странице «Дизайн» открывает форму так, как её увидит координатор, — и позволяет прожить её до публикации: вводить значения и смотреть, как форма реагирует.
- Работают скип-логика (поля появляются и скрываются по условиям), автозаполнение (вычисляемые поля пересчитываются мгновенно) и проверки — сработавшие перечисляются под формой.
- Ошибки форматов подсвечиваются как при реальном вводе.
- Всё это — вхолостую: превью ничего не сохраняет, не создаёт запросов и не пишет в аудит.
- Плашка над формой напоминает: «Это превью — данные не сохраняются». Введённое можно сбросить одной кнопкой и начать заново.
- Журнал (повторяющийся раздел) показывается одной строкой (при реальном вводе строк будет несколько).
Языки CRF: одноязычный дизайн по умолчанию
Заголовок раздела «Языки CRF: одноязычный дизайн по умолчанию»Многоязычный CRF нужен меньшинству исследований, поэтому по умолчанию его нет: у новой draft-версии список языков пуст, и название элемента и есть тот текст, который увидит центр. Отдельной ссылки «Переводы» в шапке при этом нет — она лишний раз намекала бы, что «здесь ещё есть работа».
Многоязычность включается по желанию: меню Ещё (⋯) → Языки CRF — отметьте языки, на которых собирают CRF, и сохраните. После этого в навигации дизайна появляется экран Переводы, а публикация версии начинает требовать утверждённый перевод каждого отмеченного языка (см. Публикация и запуск).
Палитра команд ⌘K
Заголовок раздела «Палитра команд ⌘K»⌘K (или Ctrl+K) открывает палитру команд: создать форму, раздел или поле, вставить шаблон, открыть «Проблемы», аннотированный CRF или экспорт — не отрывая рук от клавиатуры. Начните печатать название поля, формы или списка — палитра найдёт его в любом месте версии и откроет с выделением.
Замечания ревью
Заголовок раздела «Замечания ревью»Внизу инспектора живёт тред «Замечания ревью»: ревьюер оставляет замечание к выделенному элементу (или к версии в целом), не редактируя дизайн — комментирование работает и в режиме «только чтение», на черновике и на версии, отправленной на ревью. Автор отвечает правками и отмечает замечание решённым; решённые сереют и остаются историей ревью. Нерешённые замечания видны счётчиком на странице «Дизайн» и дают предупреждение рядом с кнопкой утверждения — предупреждение, а не запрет: решение остаётся за утверждающим.
Импорт и экспорт JSON
Заголовок раздела «Импорт и экспорт JSON»Кнопки Экспорт JSON и Импорт JSON (меню Ещё — ⋯) остаются для переноса дизайна между системами и исследованиями: экспортируйте собранный дизайн файлом, импортируйте готовый — и продолжайте дорабатывать его визуально. Основной путь сборки — конструктор; JSON — способ перевезти дизайн целиком.