§01
Umumiy ko'rinish
- Bu nima: laboratoriya ma'lumotlarini (HL7 xabari, PDF yoki strukturaviy JSON) qabul qiluvchi, ularni AI pipeline orqali o'tkazuvchi (har bir panel bo'yicha tibbiy konsultatsiyalar, salomatlik xulosasi, yuqori darajali konsultatsiya, turmush tarzi bo'yicha tavsiyalar) va yakuniy hisobotni (JSON + HTML) yig'ib, uni PHI servisiga jo'natuvchi Python mikroservisi. Healthcare platform tibbiy platformasining bir qismi.
- Turi / statusi / roli: api (mikroservis) · active · lead — 72 kommitdan 44 tasi foydalanuvchidan (Davron 42 + Dave93 2), hammuallif aniashev (27, deutsch-cookbook'dagi bilan bir xil odam), Ramiro (3), Alisher (1).
- Faollik oynasi: 2025-09-05 → 2025-12-09 (~3 oy zich ish).
§02
Stek
- Tillar: Python 3.11+.
- Freymvork/kutubxonalar: FastAPI + Uvicorn; Temporal (
temporalio) — retry bilan durable workflow orkestrlash; LangGraph (StateGraph) — parallel AI DAG; PydanticAI (Azure OpenAI / Groq) — type-safe LLM interfeyslari; Pydantic v2 + pydantic-settings;hl7+hl7conv2(tibbiy HL7 standarti); PyMuPDF (PDF); Jinja2 (HTML hisobotlar);python-jose(JWT); Keycloak (realm asosidagi autentifikatsiya); HashiCorp Vault (hvac); loguru; httpx. - Infra/deploy: Docker (API uchun alohida
Dockerfileva Temporal worker uchunDockerfile.worker), docker-compose (tashqitemporal-network); dual CI — GitLab CI (.gitlab-ci.yml, install/lint/build/deploy bosqichlari) + GitHub Actions; uv (paket menejeri,uv.lock); pre-commit; ruff + mypy (strict typing). - Ma'lumotlar: o'zi ma'lumot saqlamaydi; PII (bemorni qidirish/yaratish) va PHI (HL7 qayta ishlash, tahlillarni jo'natish) mikroservislari bilan integratsiya qiladi; sirlar uchun Vault.
- E'tiborga molik tooling: LLM mock'lari uchun PydanticAI testing utils; LangGraph'da MemorySaver checkpointing.
§03
Nima qilindi
Asosiy mualliflik kommitlari (diff/fayllar bo'yicha):
- Temporal orkestrlash (
587a922, 2025-10-30, 20 fayl, +1449):generate_lab_analysis→submit_analysis_to_phi_serviceactivity'lari bilanLabReportProcessingWorkflow, worker, retry siyosatlari. - Keycloak auth + HL7 (
4fcdb98, 2025-10-21, 19 fayl, +1791): JWT validatsiya,AuthenticationMiddleware, lab endpoint'larda HL7 bilan ishlash, yangi bog'liqliklar. - Multi-realm Keycloak (
9f57ea8): hard-coded realm'siz token validatsiyasi → endpoint'larda bir nechta realm qo'llab-quvvatlanadi. - Dinamik public-endpoint moslash (
d794004): path normallashtirish + sozlamalardan API v1 prefiksi. - Docker + CI (
13bf773Docker +220,999210aGitLab CI +95,d92cb3eGitHub Actions +114): to'liq deploy pipeline, alohida worker image. - mypy / typing (
bc1fc18,e484245): type stub'lar (hvac, jinja2), LLM chiqishlarining strict typing'i. - Hajm: 3 oyda 72 kommit; foydalanuvchi arxitekturaning (Temporal + auth + infra) yetakchi muallifi.
§04
Texnik chellenjlar
Haqiqiy kod bo'yicha (foydalanuvchi muallifligi asosiy kommitlar bilan tasdiqlangan):
- Ikki qatlamli orkestrlash Temporal × LangGraph (
src/temporal/workflows.py,src/workflows/lab_graph.py): tashqi Temporal qatlami durability beradi (har bir activity uchun eksponensial backoff bilanRetryPolicy:initial_interval=5s,maximum_interval=30s,backoff_coefficient=2.0,maximum_attempts=3, aniqstart_to_close_timeout), ichki LangGraph qatlami esa parallel DAG: tibbiy zanjir (consultations → health_summary → high_level) va turmush tarzi tavsiyalari bir vaqtda ishlaydi, so'ng report_assembly'da birlashadi. To'g'ri Temporal idiomasiworkflow.unsafe.imports_passed_through()activity'larni import qilish uchun. → Namoyish etadi: durable execution, worker crash'idan keyin tiklanish, AI-pipeline parallelizmi, muhandislik yetukligi. - Type-safe AI pipeline (PydanticAI +
LabAnalysisStateTypedDict): barcha LLM chiqishlari Pydantic modellari; umumiy state LangGraph tomonidan parallel branch'lar bo'ylab merge qilinadi; provider abstraksiyasi Azure/Groq. → Type-safe LLM'lar, mock'lar orqali testlanuvchanlik. - Enterprise auth (Keycloak realm'lari: partner-api / internal-service / b2c; ikki token turi — PII uchun service, PHI uchun partner; permission asosidagi DI
require_permission). → Tibbiy ma'lumotlar uchun jiddiy kirish modeli. - Tibbiy standartlar: kiruvchi xabarlarni HL7 parsing, PDF (PyMuPDF), sirlar uchun Vault. → Sog'liqni saqlash sohasidagi domen yetukligi.
§05
AI yordamida ishlab chiqish
- Topilgan sessiyalar: ushbu loyiha uchun to'liq-path-normallashtirilgan kalit ostida 0 ta (tekshirilgan). Ehtimol monorepo / asosiy healthcare-platform repo'sidan ishlangan. Batafsil
CLAUDE.md(365 satr) +PYTHON_SERVICE_INTEGRATION_GUIDE.md(33 KB) — AI yordamida ishlab chiqilganining belgisi. - AI bilan nima qilingan: bu yerda transkriptlar yo'q; lekin loyihaning o'zi AI servisi (LLM orkestrlash), va hujjatlashtirish Claude Code uchun strukturalangan.
- AI workflow patternlari: CLAUDE.md arxitektura ma'lumotnomasi + integratsiya qo'llanmasi sifatida.
§06
Yutuqlar va metrikalar
- Production tibbiy AI mikroservisi: 6 ta LangGraph tuguni, 2 ta Temporal activity, 2 ta API router (partner/B2C), 2 ta mikroservis (PII/PHI) bilan integratsiya + Vault + Keycloak.
- Dual CI/CD, API+worker konteynerlashtirish, strict typing (mypy) va lint (ruff).