Веб-портал для организаций-клиентов (клиник и лабораторий) — админка где организация настраивает свой workspace, управляет командой, мониторит обработку анализов, контролирует расходы и ключи API. Деплоится на platform.bloodgpt.tech.

В отличие от API Integration (программный доступ), B2B Portal — визуальный интерфейс для людей внутри организации (admin / member). В отличие от Patient Portal (где пациент клиента видит свои результаты), B2B Portal — для сотрудников клиники, не для пациентов.

Что получает клиент

  • Дашборд организации — Members / API Keys / Blood Tests / Total Parameters счётчики, итоговая сумма затрат если настроена price-per-parameter
  • Управление командой — приглашения, роли (Admin / Member), удаление
  • API ключи — создать / отозвать / ротация
  • Мониторинг обработки тестов в реальном времени — статусы, error log, latency, crosscheck metrics (см. Org Monitoring Dashboard)
  • Brand / white-label настройки — логотип, цвета, оформление PDF (нюансы реализации могут варьироваться)
  • Включить / выключить фичи — feature flags на per-org уровне (см. WorkOS Organization Feature Flags)

Фичи (по бизнес-спеке 12)

#ФичаОписание
12.1SSO loginemail/password или Enterprise SSO (Google, Microsoft, SAML, OIDC); auto-binding к организациям по email домену
12.2Список организацийТолько для BloodGPT-admins / partner-консультантов: видно все organizations к которым есть доступ, role, members count, API keys count, tests count
12.3Создание организацииТолько для BloodGPT-admins: новый workspace, создатель → admin, data isolation
12.4Дашборд организацииMembers / API Keys / Blood Tests / Total Parameters; сумма затрат если настроен pricing
12.5+Команда, API keys, monitoring, settingsСм. spec

Реализация

apps/b2b-platform/ в bloodgpt-for-business (main, production):

  • Stack: Next.js + WorkOS + Prisma
  • Auth: WorkOS — SSO + organization roles (admin / member / doctor)
  • DB: analysis-worker-db через Prisma (Cloud SQL Proxy)
  • Domain: platform.bloodgpt.tech
  • i18n: 10 локалей

Routes:

  • /admin/... — super-admin (внутренняя команда BloodGPT, полный доступ ко всем организациям)
  • /dashboard/[id]/... — org-scoped (admin/member конкретной организации)

Multi-role layout

RoleГдеЧто может
admin (BloodGPT)/admin/*Видит все organizations, создаёт новые, super-admin tools (DQD, error log, monitoring across orgs)
admin (org)/dashboard/[id]/*Управляет своей организацией: команда, API keys, settings, Generation Quality (если flag включён), brand
member (org)/dashboard/[id]/* (read-mostly)Просматривает дашборд организации, обработанные тесты
doctor (org)/dashboard/[id]/validation/*Doctor Validation очередь — см. doctor-validation

admin (super-admin) — это наша внутренняя команда. admin (org) — это сотрудник клиники-клиента. Технически одна и та же role, разница только в scope какие orgs видны.

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

  • White-label scope — насколько deep customization (cores, fonts, accent colors, custom CSS) реально доступна клиенту через UI vs захардкожено в коде
  • Pricing setup — где именно настраивается «price per parameter» и кто это делает (super-admin или org-admin)
  • Member-vs-admin permissions внутри organization — насколько granular (можно ли member-у видеть API keys но не отозвать?)
  • Partner-консультантская роль для multi-org access — насколько отдельная от super-admin

Связано

  • integration-options — B2B Portal complementary к API Integration: организация подключается через API, видит/мониторит через portal
  • patient-portal — портал для пациентов клиента, deployед на subdomain клиники, не на platform
  • doctor-validation — фича внутри B2B Portal для doctor role
  • doctor-portal — legacy standalone-продукт для врачей, мигрирует в фичу внутри этого B2B Portal
  • workos — auth + organization feature flags
  • data-quality-dashboard — Admin Monitoring Dashboard и Org Monitoring Dashboard живут здесь же

Источники