§01
Обзор
- Что это: зонтичная папка
~/development/phiс двумя реализациями единого healthtech-микросервиса для работы с защищённой медицинской информацией (PHI) внутри Healthcare CRM platform (Саудовская Аравия / KSA — Vault наvt.ksa.healthcare-platform.com): - phi-service (Python/FastAPI) — исходная реализация (этот файл сфокусирован на ней).
- phi-elysia (TypeScript/Elysia/Bun) — миграция/переписывание (с
MIGRATION_PLAN.md); рассматривается отдельно в задаче #45. - Тип / статус / роль: api (медицинский микросервис) · active · lead — пользователь основной автор (phi-service ~79 коммитов, phi-elysia 45); команда: Alisher Mukhtorov (~28 в phi-service), Anna Shevtsova/aniashev, Harsh Manwani.
- Период активности: phi-service 2025-09-18 → 2026-01-12 (109 коммитов); phi-elysia 2026-01-05 → 2026-02-12 (57). Активное развитие с миграцией стека Python→Bun/Elysia.
§02
Стек
- phi-service (Python): Python 3.12+, FastAPI + uvicorn, SQLAlchemy 2.0 async + asyncpg + Alembic, Postgres, cryptography + HashiCorp Vault (
hvac) для ключей, python-jose (JWT), Temporal (temporalio— durable-воркфлоу), MinIO (объектное хранилище), HL7 (hl7), парсинг PDF-отчётов лабораторий (pymupdf,pdf2image, Pillow), Groq/OpenAI (AI-интерпретация), structlog + python-json-logger + prometheus-client, slowapi (rate-limit), tenacity (retry), httpx. UV (пакетный менеджер), Docker (+Dockerfile.worker), Makefile, pytest+xdist+cov, ruff/mypy/bandit. - phi-elysia (TypeScript, → задача #45): Elysia (Bun) +
@elysiajs/{jwt,bearer,cors,swagger,opentelemetry}, Temporal (client/worker/workflow) + Inngest (event-driven), Drizzle ORM, MinIO, jose, AWS Secrets Manager, OpenTelemetry + LogTape, Biome. - Инфраструктура/деплой: Docker Compose (варианты dev/prod/inngest), отдельный worker-контейнер, миграции alembic (Python) / drizzle (TS), Vault/Secrets Manager для ключей шифрования.
- Данные: PostgreSQL (зашифрованные медицинские данные), MinIO (файлы/PDF отчётов лабораторий), Vault (ключи). Интеграция с PII Service (псевдонимизация) и Healthcare CRM platform.
§03
Что реализовано
- Защищённое хранение PHI: двухуровневое шифрование (AES-256-GCM + HMAC-SHA256), управление ключами через Vault, псевдонимизация (связка PHI↔PII через отдельный PII Service).
- Результаты анализов: парсинг PDF-результатов (PyMuPDF/pdf2image), обмен по HL7, конвертеры/воркфлоу в
src/labs/{converters,workflows,repositories,services,rest}. - AI-интерпретация: версионируемые интерпретации результатов через Groq/OpenAI.
- Аудит: полный лог доступа к медицинским данным.
- Доменные модули: labs, medical_profile, health_metrics, chat, ai, partner, authentication, security, external, facades (Onion Architecture).
- Миграция Python→Elysia (phi-elysia): порт на Bun/Elysia + Temporal + Inngest, с тест-планами (TESTING_PLAN*.md) и IMPLEMENTATION_SUMMARY.
- Объём: 166 коммитов всего (~124 от пользователя) за ~5 месяцев.
§04
Технические челленджи
Подтверждено по README/CLAUDE/pyproject/структуре:
- Двухуровневое шифрование медицинских данных + Vault (
src/security/): AES-256-GCM (конфиденциальность) + HMAC-SHA256 (целостность/аутентичность), ключи берутся из HashiCorp Vault, а не из env. → Серьёзная криптография для медицинского комплаенса. - Псевдонимизация через разделение PHI/PII (
src/external/, связь с PII Service): медицинские данные хранятся отдельно от идентифицирующих, связь через псевдонимы — паттерн health-privacy (класса HIPAA/GDPR). → Грамотная архитектура приватности. - Onion Architecture (REST → Facade → Domain Service → Repository): чёткое разделение на слои, кросс-доменные фасады, доменные модули со своими models/schemas/dtos/repositories/services. → Зрелая структура для крупного сервиса.
- HL7 + AI-интерпретация результатов анализов (
src/labs,src/ai): приём PDF → парсинг (PyMuPDF) → HL7 → версионируемая AI-интерпретация (Groq/OpenAI). → Нетривиальный пайплайн обработки медицинских данных. - Durable-воркфлоу на Temporal (обе реализации): долгоживущая обработка результатов анализов как Temporal-воркфлоу (отдельный worker-контейнер) — устойчивость к сбоям. В phi-elysia добавлен Inngest для event-driven обработки.
- Production-grade обвязка: метрики Prometheus, structlog (JSON-логи), rate-limit на slowapi, ретраи на tenacity, security-скан bandit, mypy strict, pytest с xdist/coverage. → Операционная и качественная зрелость.
§05
AI-разработка
- Найденные сессии: 2 директории — по одной на phi-service и phi-elysia (subdir-форма; обе реализации построены с Claude Code).
.claude/присутствует и в зонтичной папке. - Что делалось с AI: размер CLAUDE.md (phi-service 314 строк!) + планы миграции/тестов (MIGRATION_PLAN, TESTING_PLAN, IMPLEMENTATION_SUMMARY в phi-elysia) указывают на AI-assisted разработку и spec-first процесс, особенно при переписывании Python→Elysia.
- Паттерны AI-воркфлоу: документо-ориентированная разработка (подробный CLAUDE.md как гайд для агента), AI-driven миграция стека, поэтапные тест-планы.
§06
Достижения и метрики
- 2 полноценные реализации одного медицинского микросервиса (Python + TypeScript), миграция стека.
- ~10 доменных модулей (labs, medical_profile, health_metrics, chat, ai, security, external, authentication, partner, facades).
- Криптография медицинского уровня (AES-256-GCM + HMAC, Vault), HL7, аудит.
- 166 коммитов за ~5 месяцев, команда 3–4 человека, пользователь основной автор.
- Полный CI-тулчейн (ruff/mypy/bandit/pytest-cov), observability на Prometheus/structlog.