Placeholder. Strategy наполнения Dictionary dictionary-first-paradigm — особенно при онбординге новой лабы.

Контекст

Dictionary в Dictionary-First архитектуре — управляемый справочник {name, units, material} → LOINC code. Чем больше в нём — тем меньше production pipeline / Agent Fallback вызовов. Cold start (новая лаба, новый язык, новый набор параметров) — ситуация когда Dictionary пуст для этой лабы.

Идея шире чем «name → LOINC». Лаба может пре-зарегистрировать про свои параметры много чего, не только маппинг на LOINC: собственные внутренние коды (тогда incoming-документ может отправлять код вместо имени, и нам не надо парсить fuzzy-name каждый раз), custom reference ranges, материал-специфика, units-conventions. Всё это становится частью lab profile в Dictionary, не данных на каждом запросе. См. custom-reference-ranges.

Возможные стратегии наполнения

  1. Reactive (online) — лаба подключается, Dictionary наполняется по мере прихода тестов через production pipeline. Простой путь, но первые сотни тестов медленные / нестабильные.
  2. Proactive offline (manual catalog) — лаба присылает свой каталог параметров (200-2000 позиций) с маппингом на их standard names. Мы прогоняем через pipeline + manual review офлайн, наполняем Dictionary заранее. Production уже видит known parameters.
  3. Proactive offline (LLM-bootstrapped) — лаба присылает каталог без явного маппинга. Мы прогоняем через pipeline pre-launch, верифицируем границы, наполняем.
  4. Hybrid — каталог + reactive для unforeseen параметров.

Связь с custom-ranges feature

Эта тема пересекается с custom-reference-ranges (BG-925 / RFC-028) — там лаба тоже загружает свой каталог, но там данные про диапазоны и метаданные параметров. Общий механизм покрывает оба требования: lab profile в Dictionary держит и LOINC-mapping, и custom ranges, и lab-specific коды (см. расширенный контекст выше).

Связь с Agent Fallback

Чем больше Dictionary при онбординге, тем реже срабатывает Agent Fallback в production. См. agent-fallback-role — обсуждение нужен ли вообще.

Открытые вопросы

  • Какая стратегия default? (1 reactive или 2/3 proactive)
  • Каков workflow proactive ingestion — UI / API / CLI?
  • Как handle differences в bланк-форматах между labs (caталог = list of names, но real bланки отличаются)?

Связано

Источники