Доска FigJam¶
Точное описание того, что должно быть на доске в Figma/FigJam: раскладка зон, содержимое каждого фрейма, цветовые соглашения и порядок сборки.
Два способа наполнения:
- Импорт CSV —
figjam/board-import.csvсоздаёт все стикеры разом (см. «Импорт» ниже). - Ручная сборка — по описанию фреймов; диаграммы вставляются как Mermaid-блоки или изображения.
Цветовые соглашения¶
Единые по всей доске. Цвет несёт смысл — не декоративен.
| Цвет | Значение | Пример |
|---|---|---|
| 🔵 Синий | Компонент разрабатываемой системы | fhir-gateway, triage-core |
| 🟡 Жёлтый | Внешняя система или вендор | МРМ СМП, АИС «Медик», ЦИСЗ, серверы координат |
| 🟢 Зелёный | Данные: таблица, ресурс FHIR, поле | appeals, Observation, п. 21.4 |
| 🟠 Оранжевый | Задача backlog | E2-7, E8-14 |
| 🔴 Красный | Риск, открытый вопрос, блокер | R-4, «пороги не утверждены» |
| 🟣 Фиолетовый | Нормативное требование | Приказ ОАЦ № 66, Пост. МЗ № 62 |
| ⚪ Серый | Оборудование, аппаратная позиция | Прикроватный блок ×560 |
Красный цвет резервируется под риски
Соблазн использовать красный для «красных пациентов» в зоне ТРИАЖ велик, но он сломает читаемость доски: на общем плане невозможно будет отличить риск от элемента бизнес-логики. Цвета сортировки показываются внутри фрейма ТРИАЖ отдельной легендой, а не общей палитрой стикеров.
Раскладка холста¶
Семь зон слева направо, сверху вниз. Ориентировочные размеры фреймов — 1600 × 1200 px, между зонами — 400 px.
flowchart TB
subgraph ROW1["Ряд 1 — Что и зачем"]
Z1["ЗОНА A<br/>Паспорт и цели"] --- Z2["ЗОНА B<br/>Состав ПАК"] --- Z3["ЗОНА C<br/>Нормативная база"]
end
subgraph ROW2["Ряд 2 — Как устроено"]
Z4["ЗОНА D<br/>Архитектура C4"] --- Z5["ЗОНА E<br/>Мультипровайдерность"] --- Z6["ЗОНА F<br/>Аппаратный комплекс"]
end
subgraph ROW3["Ряд 3 — Что течёт"]
Z7["ЗОНА G<br/>Контракты FHIR"] --- Z8["ЗОНА H<br/>Набор данных СМП"] --- Z9["ЗОНА I<br/>Схема БД"]
end
subgraph ROW4["Ряд 4 — Как работает"]
Z10["ЗОНА J<br/>Жизненный цикл"] --- Z11["ЗОНА K<br/>Логика ТРИАЖ"]
end
subgraph ROW5["Ряд 5 — Как делаем"]
Z13["ЗОНА M<br/>Backlog"] --- Z14["ЗОНА N<br/>Дорожная карта"] --- Z15["ЗОНА O<br/>Риски"]
end
ROW1 --> ROW2 --> ROW3 --> ROW4 --> ROW5
ЗОНА A — Паспорт и цели¶
Фрейм A1 — Карточка мероприятия. Крупный заголовок: «ПАК автоматизации сортировки пациентов (Триаж)». Под ним таблица: заказчик (Брестский облисполком), созаказчики, участники, срок 18 мес (1 кв. 2026 — 2 кв. 2027), бюджет 2 190,89 тыс. бел. руб.
Фрейм A2 — Две цели. Два крупных блока: «Сократить время ожидания для тяжёлых пациентов» и «Снизить нагрузку медперсонала». Под каждым — механизм достижения.
Фрейм A3 — КПЭ. Две пары «было → станет» крупным шрифтом:
- Время ожидания: 30–120 мин → 15–60 мин
- Пациентов в час: 0,5–2 → 1–4
Фрейм A4 — Экономика. Годовая экономия: 116 121,67 бел. руб.
Фрейм A5 — Масштаб объекта. Числа крупно: 560 коек · 208 палат · 20 постов · 30 коек реанимации · 28 964 обращения/год.
ЗОНА B — Состав ПАК¶
Фрейм B1 — Состав ПАК. Синий блок «Триаж» + жёлтый блок МИС «Медик» с подписью «имеется, доработка не требуется» + жёлтый ЦИСЗ. Стрелки: «Триаж» ↔ МИС ↔ ЦИСЗ. Важно: стрелка от «Триажа» к ЦИСЗ напрямую отсутствует — это визуальное выражение ADR-9.
Фрейм B2 — Инновация. Стикер с заявленной инновацией из паспорта.
Фрейм B3 — Границы. Два списка: «Входит в ПАК» и «Остаётся в МИС» (направления, назначения, ЭМК, расписания, рецепты).
ЗОНА C — Нормативная база¶
Фрейм C1 — Карта норм. Фиолетовые стикеры, сгруппированные в четыре кластера: цифровое развитие, здравоохранение, защита информации, регистрация и размещение. Содержание — по «Нормативной базе».
Фрейм C2 — Что ограничивает архитектуру. Пять фиолетовых стикеров со стрелками на синие компоненты:
- Приказ МЗ № 1001 → «Обмен только HL7 FHIR» →
fhir-gateway - Приказ МЗ № 1030 → «Правила по клиническому протоколу» →
rules-engine - Пост. МЗ № 62 → «Цветовая система светофор» → сортировка
- Приказ ОАЦ № 66 → «Журнал ИБ ≥ 1 года, ЭЦП» → журналы
- Указ № 46 / Пост. № 182 → «Заключение: РЦОД нецелесообразен» → on-prem
Фрейм C3 — Требование свободного ПО. Крупный фиолетовый стикер с цитатой паспорта. Рядом — таблица стека с колонкой лицензий.
Фрейм C4 — Вехи регистрации. Цепочка: разработка → аудит → СЗИ → аттестация ЕТТ → ГРИС + FHIR-регистр → промышленная эксплуатация. Красная подпись: «блокируют ввод».
Зона C — самая важная для согласующих
Именно эту зону будут смотреть заказчик и регулятор. Она должна быть самодостаточной: со стикеров понятно, какая норма чего требует и где это реализовано, без обращения к остальной доске.
ЗОНА D — Архитектура C4¶
Фрейм D1 — Контекст (C4 L1). В центре синий блок «ПАК 3H». Вокруг жёлтые: МРМ СМП, серверы координат, МИС «Медик», ЦИСЗ. Слева — пользователи (оператор, пациент). Стрелки подписаны контрактами: «FHIR Bundle, push, mTLS», «опрос координат», «обращение / бригада».
Фрейм D2 — Контейнеры (C4 L2). Синие блоки: fhir-gateway, triage-core, geo-worker, rules-engine, mis-adapter. Хранение: PostgreSQL, RabbitMQ. Периметр: nginx.
Фрейм D3 — Компоненты «Триажа» (C4 L3). Внутренности шлюза и ядра: listener, валидатор, идемпотентность, ACL, диспетчер типов, обработчики пяти сообщений, менеджер обращений, очередь, контроль SLA, ручная передача в МИС.
Фрейм D4 — ADR. 12 стикеров с решениями и однострочным обоснованием каждого.
ЗОНА E — Мультипровайдерность¶
Фрейм E1 — Три оси. Центральный синий блок «Каноническая модель FHIR». Три группы жёлтых стикеров, каждая через свой ACL:
- Ось 1 — координаты (GPS-сервер вендора, сервер маршрутизации)
- Ось 2 — API СМП (МРМ СМП первый, Эрикполь, МАП, Лекарь)
- Ось 3 — МИС («Медик» первая)
Фрейм E2 — Что нормализует ACL. Шесть зелёных стикеров: единицы, коды состояний, часовые пояса, идентификаторы, полнота данных, гранулярность обновлений. Красный стикер: «Неизвестный код → ошибка, НЕ null».
Фрейм E3 — Ввод нового вендора. Шесть шагов: фикстуры → симулятор → ACL → контрактные тесты → стенд → эксплуатация. Подпись: шаги 1–4 не требуют доступности вендора.
Фрейм E4 — Деградация. Таблица «отказ → поведение → что видит оператор». Красный стикер: «Молчаливая деградация недопустима».
ЗОНА F — Аппаратный комплекс¶
Фрейм F1 — Логическая схема размещения. Серые стикеры, сгруппированные по помещениям: серверная, приёмное отделение, палаты, посты, реанимация. Линии RS-485 к преобразователям, от них Ethernet в ЛВС.
Фрейм F2 — Спецификация закупки. Серые стикеры с количествами: терминал самообращения ×1, АРМ тип 2 ×44, сервер ×1 и т.д.
Фрейм F4 — Идентификация пациента. Цепочка: сортировка → печать браслета → сканирование при оформлении → сканирование при распределении на койку → регистрация в «Палатной связи». Зелёный стикер: «В штрих-коде — идентификатор обращения, НЕ ПДн».
ЗОНА G — Контракты HL7 FHIR¶
Фрейм G1 — Пять типов сообщений. Пять жёлтых стикеров в ряд с ответом системы под каждым:
| Сообщение | Ответ |
|---|---|
transport_request |
синхронный accepted / rejected / conditional |
transport_notification |
202 |
transport_health_status |
202 |
transport_cancel |
202 |
transport_complete |
202 |
Фрейм G2 — Автомат транспортного эпизода. Состояния: requested → notified → en_route → delivered / cancelled / rejected.
Фрейм G3 — Транспорт и безопасность. Шесть уровней защиты периметра: mTLS → IP allowlist → подпись тела → ограничение частоты → валидация FHIR → идемпотентность.
Фрейм G4 — Обработка ошибок. Таблица кодов ответа. Красный стикер: «2xx только после записи в БД».
Фрейм G5 — Замечания к образцу. Шесть красных стикеров: российские OID (1.2.643 вместо 1.2.112), отсутствует MessageHeader, отсутствует AllergyIntolerance, неверный admitSource, нет Condition с кодом диагноза, водитель помечен как фельдшер.
ЗОНА H — Набор данных СМП¶
Фрейм H1 — Шесть групп полей. Горизонтальная лента: вызов (п. 1–14) → анамнез (15–20) → объективные данные (21.1–21.20) → помощь и исход (22–28) → транспортировка (29–36) → прочее (37–40).
Фрейм H2 — Объективные данные развёрнуто. Зелёные стикеры на каждый подпункт 21.x. Шесть выделены рамкой — те, на которых держится сортировка: шкала Глазго, АД, пульс, ЧД, гликемия, сатурация.
Фрейм H3 — Покрытие по типам сообщений. Матрица «поле × тип сообщения» из набора данных.
Фрейм H4 — Вопросы к вендору. Девять красных стикеров с вопросами 1–9 из рисков.
ЗОНА I — Схема БД¶
Фрейм I1 — Предметные области. Кластеры зелёных стикеров: конфигурация, транспортный эпизод, обращение и сортировка, журналы.
Фрейм I2 — Семь обязательных групп данных. Семь стикеров с номерами групп, от каждого — стрелки на таблицы, которые их закрывают. Это ключевой фрейм для проверки полноты.
Фрейм I3 — Быстрорастущие таблицы. Четыре стикера с оценками объёма. Красный: «monitor_observations 50–150 ГБ/год при 4×960 ГБ SSD».
Фрейм I4 — Ретеншн. Таблица сроков по таблицам. Фиолетовый стикер: «security_events ≥ 12 мес — требование ОАЦ № 66».
ЗОНА J — Жизненный цикл¶
Фрейм J1 — Автомат обращения. open → triaged → queued → in_registration → registered → closed, с ветками пересортировки и «красный минуя приёмник».
Фрейм J2 — Слияние потоков. Слева поток СМП, справа самообращение, в центре крупный блок appeals — общая сущность. Ниже таблица различий между потоками.
Фрейм J3 — Сквозные отсечки времени. Лента моментов от transport_started_at до closed_at. Под лентой — какие интервалы дают какие метрики; два интервала помечены как КПЭ паспорта.
ЗОНА K — Логика ТРИАЖ¶
Фрейм K1 — Три цвета. Три крупных блока с цветовой заливкой и кодами талонов: 🔴 К43 высший · 🟡 В34 средний · 🟢 П45 плановый. Под ними — маршрут каждого цвета.
Фрейм K2 — Правило «СМП не бывает зелёным». Схема с перечёркнутой стрелкой от потока СМП к зелёному.
Фрейм K3 — Движок правил. Схема применения: сортировка по приоритету → проверка → результат или «не покрыто правилами». Пример JSON-правила. Красный стикер: «"Не покрыто правилами" ≠ "зелёный"».
Фрейм K4 — Приоритетная очередь. Порядок вызова красные → жёлтые → зелёные, внутри цвета по времени. Красный стикер: «Защита от голодания зелёных — норматив выбытия по каждому цвету».
Фрейм K5 — Самообращение. Цепочка: кнопка на терминале → анонимный номер → сортировка (пол, температура, состояние, вес, дыхание) → талон.
Фрейм K6 — Режим массового поступления. Отличия от штатного режима + фиолетовый стикер «Пост. МЗ РБ № 62: система светофор».
Фрейм K7 — Что не утверждено. Красные стикеры: пороги показателей, нормативы времени по цветам, правило нумерации талонов.
ЗОНА M — Backlog¶
Фрейм M1 — Эпики. Оранжевые стикеры с номером, названием, SP и приоритетом.
Фрейм M2 — Граф зависимостей эпиков. Стрелки между эпиками; E12 отдельно с подписью «блокирует ввод в эксплуатацию».
Фрейм M3 — Пять spike-задач. Красные стикеры с крайними сроками. Заголовок фрейма: «Выполнить первыми — до госзакупки этапа 2».
Фрейм M4 — Задачи по эпикам. Оранжевые стикеры на каждую задачу (≈ 120 шт.), сгруппированные по эпикам. Основной источник наполнения при импорте CSV.
Фрейм M5 — Колонки Kanban. Backlog → Ready → In Progress → Review → Testing → Blocked → Done, с правилами выхода. Стикер: «Колонка Blocked обязательна — много внешних зависимостей».
ЗОНА N — Дорожная карта¶
Фрейм N1 — Три этапа. Временная лента 1 кв. 2026 — 2 кв. 2027 с границами этапов и распределением SP (≈ 640 / 30 / 47).
Фрейм N2 — Критический путь. Цепочка: платформа → шлюз → сортировка → очередь → испытания → интеграция с реальным вендором → аттестация → эксплуатация. Красная подпись: «3 из 4 узлов зависят от внешних сторон».
Фрейм N3 — Одиннадцать вех. M1–M11 с признаками достижения. M5 (клинические правила) помечена красным: «нельзя закрыть силами разработки».
Фрейм N4 — Ранняя ценность. Порядок частичного ввода: Триаж для самообращений → пульт с СМП.
ЗОНА O — Риски¶
Фрейм O1 — Матрица рисков. Квадрант «вероятность × влияние», 15 красных стикеров R-1…R-15 расставлены по позициям.
Фрейм O2 — Риски до закупки. R-4 (API МИС). Подпись: «после закупки смягчение невозможно или очень дорого».
Фрейм O3 — Открытые вопросы. Четыре колонки по адресатам: вендор СМП (9), заказчик и медперсонал (9), АИС «Медик» (5), регулятор (5).
Фрейм O4 — Расхождения источников. Семь стикеров с расхождениями паспорта и операционных требований + предлагаемое разрешение каждого.
Импорт CSV¶
figjam/board-import.csv генерируется скриптом и покрывает все дискретные элементы документации: 602 стикера в 32 секциях.
Как FigJam читает CSV. Импорт создаёт сетку стикеров, повторяющую структуру таблицы: каждая ячейка → один стикер, столбцы и строки сохраняются. Поэтому файл организован как один столбец = одна секция доски, а заголовок столбца становится подписью секции.
Порядок действий:
- Открыть FigJam →
Import→ выбратьfigjam/board-import.csv. - Полученную сетку разложить по зонам согласно описанию выше.
- Применить цвета по соглашению — импорт создаёт стикеры одного цвета.
- Добавить диаграммы: скопировать Mermaid-код из соответствующих страниц документации в Mermaid-плагин FigJam либо вставить отрендеренные изображения.
- Провести связи между зонами: требование → компонент → таблица → задача.
Скрипт — источник правды, CSV — артефакт
figjam/board-import.csv не редактируется вручную. При изменении документации правится словарь S в scripts/generate_figjam_csv.py, после чего CSV перегенерируется. Ручные правки CSV будут потеряны при следующей генерации.
Что должно читаться с доски без объяснений¶
Проверка качества сборки. Человек, впервые подошедший к доске, должен без сопровождения ответить на вопросы:
| # | Вопрос | Где ответ |
|---|---|---|
| 1 | Что строим и для кого | ЗОНА A |
| 2 | Из скольких подсистем состоит и что уже есть | ЗОНА B |
| 3 | Почему нельзя выбрать любой стек и любую СУБД | ЗОНА C |
| 4 | Как данные попадают в систему и почему не через ЦИСЗ | ЗОНЫ B, D, G |
| 5 | Что произойдёт при появлении второго вендора СМП | ЗОНА E |
| 6 | Где хранится каждая из семи обязательных групп данных | ЗОНА I |
| 7 | Как пациент становится красным и что дальше | ЗОНА K |
| 8 | Что делает система, когда МИС недоступна | ЗОНЫ E, L |
| 9 | Сколько это работы и в каком порядке | ЗОНЫ M, N |
| 10 | Что может сорвать проект | ЗОНА O |
Если на вопрос нельзя ответить с доски — доска собрана не полностью
Список выше — не украшение, а приёмочный тест раскладки. Особенно вопросы 8 и 10: их обычно не выносят на доску, и именно они всплывают на согласовании.