Версия цифровой рецепции с резализованным механизмом отслеживания трека пациента по зонам
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Алексей Разорвин b9f88194d9 Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
apps Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
docker Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
packages Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
.env.example Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
.gitignore Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
README.md Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
TZ (1).md Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
package.json Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
pnpm-lock.yaml Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
pnpm-workspace.yaml Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago
turbo.json Initial commit: digital reception monorepo (M1-M11 + demo extensions) 5 days ago

README.md

Digital Reception — Фаза 1

Видеоаналитика рецепции клиники: распознавание лиц, ручной enrollment, согласия, история визитов. Компонент Платформы цифровых сервисов клиники (ПЦС).

ТЗ: TZ (1).md. План разработки: ~/.claude/plans/plan-mode-reflective-wand.md.

Стек

  • Монорепо: pnpm workspaces + Turborepo.
  • БД: PostgreSQL 16 + pgvector, Prisma 5.
  • Backend: NestJS 10 (apps/api, apps/polimed-mock), Python + FastAPI (apps/face-service, apps/video-ingest).
  • Frontend: Next.js 15 (App Router) + shadcn/ui + Recharts (apps/web-admin).
  • Очереди: BullMQ (Redis).
  • Хранилище кадров: MinIO (S3-совместимое).
  • Распознавание лиц: InsightFace buffalo_l, 512-d cosine.

Структура

apps/
  api/             # NestJS — auth, RBAC, треки, согласия, визиты, аудит
  face-service/    # Python FastAPI — InsightFace + pgvector + re-id
  polimed-mock/    # NestJS — мок МИС Полимед (вне скоупа Ф1)
  video-ingest/    # Python — минимальный mp4-консьюмер (скаффолд)
  fixtures-runner/ # Node — e2e сценарии треков и событий
  web-admin/       # Next.js 15 + shadcn/ui — админка
packages/
  db/              # Prisma schema, миграции, сид
  ui/              # shadcn/ui компоненты (shared)
  tsconfig/        # base / nest / next tsconfig пресеты
  eslint-config/   # общий ESLint
docker/
  docker-compose.yml   # postgres + redis + minio
  init.sql             # CREATE EXTENSION vector

Быстрый старт

# 1. Инфраструктура
cp .env.example .env
pnpm docker:up                    # postgres+redis+minio

# 2. Зависимости
pnpm install

# 3. БД
pnpm db:migrate                   # создаёт схему
pnpm db:seed                      # 4 юзера, 3 камеры, 3 зоны

# 4. Сервисы (каждый в своём терминале)
pnpm --filter=@reception/api dev
pnpm --filter=@reception/polimed-mock dev
pnpm --filter=@reception/web-admin dev
# face-service:
cd apps/face-service && uvicorn main:app --reload --port 8001

Контроль доступа

Сидер создаёт 4 dev-пользователя (пароли в .env.example):

Email Роль Что видит
manager@local MANAGER Дашборд, история визитов
senior@local SENIOR_ADMIN Enrollment, согласия
security@local SECURITY Лента инцидентов (Ф2)
admin@local SYSADMIN Аудит, пользователи, камеры

Скоуп Фазы 1

  • face-service + pgvector + cross-camera re-id.
  • Web-admin: ручной enrollment, согласия, история визитов, аудит.
  • Фиксация бумажных согласий, отзыв → удаление эмбеддингов за 24 ч.
  • 🚫 Полимед API — замокан apps/polimed-mock, реальной интеграции нет.
  • 🚫 RTSP / GPU / ByteTrack — работа Фазы 0, в Ф1 только минимальный mp4-скаффолд.
  • 🚫 Поведенческие алерты (Max-бот) — Фаза 2.