Веб-портал для организаций-клиентов (клиник и лабораторий) — админка где организация настраивает свой 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.1 | SSO login | email/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 для
doctorrole - doctor-portal — legacy standalone-продукт для врачей, мигрирует в фичу внутри этого B2B Portal
- workos — auth + organization feature flags
- data-quality-dashboard — Admin Monitoring Dashboard и Org Monitoring Dashboard живут здесь же