Профессиональный кабинет врача — управление своими пациентами, загрузка анализов, генерация отчётов под собственным брендом. Состояние в transition: legacy реализация на .NET-стеке всё ещё работает; целевая форма — фича внутри B2B Portal где врач становится member маленькой организации, не отдельный продукт-с-подпиской. Подробности .NET → новый стек миграции см. отдельную страницу (carry-over: создать dotnet-to-new-stack-migration если ещё нет).
Legacy: что работает сейчас (.NET-стек)
Реализовано как самостоятельный продукт, описано в specs/business/14-doctor-portal.md:
- Отдельный фронтенд-клон patient-стека — UX почти идентичный B2C-app, но с дополнительным слоем patient-management поверх
accountTypefield на user-уровне:1=Patient,2=Doctor. На login системa redirect-ит:- Patient →
/desk(Personal Dashboard) - Doctor →
/doctor(Doctor Dashboard)
- Patient →
- Subscription оплачивается врачом напрямую (не организацией) — врач сам заключает контракт, sa Stripe
- Patient management под врачом:
- Список пациентов
- Создание / редактирование / удаление профилей пациентов (имя, DOB, sex, weight/height, race, language, заметки)
- Переключение между пациентами
- Загрузка анализов для конкретного пациента
- Генерация отчётов с брендингом врача — логотип, подпись
- Sharing результатов с пациентами
Типичный пользователь — частный нутрициолог / endocrinologist. Клиент приносит анализы, врач загружает PDF в Doctor Portal, получает AI-интерпретацию, скачивает брендированный отчёт, отправляет клиенту.
Что меняется и почему
Идёт миграция с .NET на новый стек (multi-tenant-fhir-storage — backend, b2b-portal — frontend на Next.js + Prisma + WorkOS). Doctor Portal в legacy форме был аналогом обычного patient-фронтенда, дополненным patient management. В новой архитектуре:
- Doctor становится member маленькой организации внутри B2B-решения — а не самостоятельный продукт-с-подпиской
- Биллинг переходит на org-level — оплачивает organization (даже если в ней один врач), не индивидуальный subscription
- Шаринговый stack с b2b-portal и patient-portal — нет отдельного фронтенда-клона
- Doctor role в WorkOS уже существует (doctor-validation) — может стать тем же механизмом для отдельно-стоящих врачей
Блокер: загрузка неструктурированных данных
Без этой capability полноценного переноса с .NET на новый стек не будет. В legacy Doctor Portal врач может загрузить PDF-анализ напрямую — это core-workflow. На новом стеке (b2b-platform / patient-portal / PHR) канонический input сейчас — это API integration или magic-link для пациента, не интерактивная upload-страница для doctor-as-uploader.
Причина гэпа — мы сознательно не реализовывали upload в новом B2B-стеке: опасения точности распознавания PDF/изображений и сопряжённого регуляторного риска (если доктор использует наш AI-вывод как опору для решения, точность распознавания — критична). Пока мы не будем уверены до конца в распознавании, doctor-upload-UI не вводим.
Пока не появится такой UI flow в новом стеке — врачи остаются на .NET-варианте.
Связь с Doctor Validation
doctor-validation — это фича в новом стеке: врач review-ит AI-интерпретацию до доставки пациенту, может отредактировать. Изначально дизайн под B2B-клиента (клиника launching pipeline), но в Doctor Portal-redesign это скорее всего станет главной фичей — врач видит что сгенерировано для пациента, корректирует если нужно. То есть Doctor Validation = core-workflow доктора в новой форме, не отдельная опция.
Возможные эволюции:
- Doctor Portal в новой форме = B2B Portal с org-of-one + Doctor Validation поверх + upload UI — один stack, разные features for different cases
- Или Doctor Portal остаётся отдельной product-страницей с своим onboarding flow, но шарящим backend / роли
Окончательный shape пока не зафиксирован.
Pricing
Активно обсуждаемая зона; конкретные модели меняются. Snapshot текущих известных позиций:
- Doctor tier — $80/месяц, single tier (1 user, до 100 тестов). Если нужно больше — upgrade на organization tier.1
- Organization tier — минимум 0.03/biomarker, 6500 биомаркеров включено), безлимитные users + uploads.1
Главные открытые развилки:
- Doctor price level — Никита предлагал поднять до 79 — это «бомж-доктор pricing». Василий возражает: 190 organization — illogical, ломает linup. Ната: B2B target важнее, не жертвовать organizations ради doctor acquisition. Не решено.2
- Biomarkers vs tests как unit — Джонатан настаивал на тестах, Ната на биомаркерах. Argument для биомаркеров: разброс 5-400 на тест делает per-test pricing нерабочим. Решено: биомаркеры.1
- Биллинг кому — organization-level (даже single-doctor org) vs индивидуальная подписка врача через Stripe vs гибрид. Связано с org-of-one redesign.
Открытые вопросы
- Технический подход к миграции: единый flow с org-of-one или отдельный Doctor flavour
- Биллинг: организация оплачивает (даже single-doctor-org) vs индивидуальная подписка врача через Stripe vs гибрид
- Onboarding: как новый врач попадает в систему — auto-create organization при registration? через partner channel? manual create через super-admin?
- Upload UI: где живёт — внутри
/dashboard/[id]/...route в b2b-platform или отдельный route? - Patient management в новой форме — как работает в multi-tenant FHIR (multi-tenant-fhir-storage) если врач — это organization-of-one
- Linear chain про redesign: BG-1117 «Doctor pages: продумать flow для врачей в B2C Dashboard» (parent, Medium priority, Todo) → BG-1147 «Research: Doctor portal architecture — current state + proposal» (subtask, Triage) → BG-1148 «Decision: Doctor portal architecture — review research, choose approach» (subtask, Triage). Все три не started, ждут когда возьмём в работу. Project:
B2C Dashboard Migration - Что делать с врачами на legacy .NET сейчас — миграция дёргом, постепенный sunset, или две системы параллельно
Связано
- b2b-portal — куда мигрирует Doctor Portal (org-of-one model)
- doctor-validation — параллельная фича для doctor role внутри B2B-клиентов; может оказаться частью Doctor Portal redesign
- patient-portal — для пациентов B2B-клиентов, не для врачей
- PHR — B2C app для individual users, ортогонально Doctor Portal
- use-cases — Doctor (B2B) mode в матрице use cases, сейчас в transition
- workos —
doctorrole + organization feature flags - multi-tenant-fhir-storage — backend FHIR storage, если врач становится org-of-one
Сноски
-
Billing call p.2 (Jonathan / Ната / Alex Shan), 2026-01-28: https://github.com/Realai-plus/meeting-digests/blob/main/data/digest/2026/01/2026-01-28T11%3A30%3A00.000Z_billing_p.2_01KG1Z73F5CS9H860AS1YAHPQC.md — doctor 195 min + $0.03/biomarker, biomarkers chosen over tests as unit. ↩ ↩2 ↩3
-
Маркетинг февраль (Vasilii / Nata / Nikita), 2026-02-05: https://github.com/Realai-plus/meeting-digests/blob/main/data/digest/2026/02/2026-02-05T12%3A04%3A05.000Z_%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%82%D0%B8%D0%BD%D0%B3_%D1%84%D0%B5%D0%B2%D1%80%D0%B0%D0%BB%D1%8C_01KGPV0AHS7GXBSRC65QPGCFG1.md — Nikita $499 предложение, Vasilii contra (pricing lineup), Nata B2B focus argument. ↩