feat(doctor): hide deactivated doctors from public listing and update filters

This commit is contained in:
hamed
2026-07-23 19:40:10 +03:30
parent d0fbe204a1
commit 6e9cf59d39
10 changed files with 1430 additions and 1385 deletions
+159 -164
View File
@@ -1,16 +1,16 @@
# Graph Report - clinicpro (2026-07-23)
## Corpus Check
- 1202 files · ~868,940 words
- 1202 files · ~869,182 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 14087 nodes · 22090 edges · 1015 communities (778 shown, 237 thin omitted)
- 14088 nodes · 22093 edges · 1018 communities (776 shown, 242 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 465 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `aa842b88`
- Built from commit: `d0fbe204`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -953,14 +953,21 @@
- [[_COMMUNITY_Community 952|Community 952]]
- [[_COMMUNITY_Community 953|Community 953]]
- [[_COMMUNITY_Community 954|Community 954]]
- [[_COMMUNITY_Community 955|Community 955]]
- [[_COMMUNITY_Community 956|Community 956]]
- [[_COMMUNITY_Community 957|Community 957]]
- [[_COMMUNITY_Community 958|Community 958]]
- [[_COMMUNITY_Community 959|Community 959]]
- [[_COMMUNITY_Community 960|Community 960]]
- [[_COMMUNITY_Community 961|Community 961]]
- [[_COMMUNITY_Community 962|Community 962]]
- [[_COMMUNITY_Community 963|Community 963]]
- [[_COMMUNITY_Community 964|Community 964]]
- [[_COMMUNITY_Community 965|Community 965]]
- [[_COMMUNITY_Community 966|Community 966]]
- [[_COMMUNITY_Community 967|Community 967]]
- [[_COMMUNITY_Community 968|Community 968]]
- [[_COMMUNITY_Community 969|Community 969]]
- [[_COMMUNITY_Community 971|Community 971]]
- [[_COMMUNITY_Community 973|Community 973]]
- [[_COMMUNITY_Community 974|Community 974]]
@@ -968,7 +975,6 @@
- [[_COMMUNITY_Community 977|Community 977]]
- [[_COMMUNITY_Community 978|Community 978]]
- [[_COMMUNITY_Community 980|Community 980]]
- [[_COMMUNITY_Community 982|Community 982]]
- [[_COMMUNITY_Community 983|Community 983]]
- [[_COMMUNITY_Community 984|Community 984]]
- [[_COMMUNITY_Community 985|Community 985]]
@@ -986,13 +992,11 @@
- [[_COMMUNITY_Community 1000|Community 1000]]
- [[_COMMUNITY_Community 1001|Community 1001]]
- [[_COMMUNITY_Community 1002|Community 1002]]
- [[_COMMUNITY_Community 1003|Community 1003]]
- [[_COMMUNITY_Community 1006|Community 1006]]
- [[_COMMUNITY_Community 1007|Community 1007]]
- [[_COMMUNITY_Community 1008|Community 1008]]
- [[_COMMUNITY_Community 1009|Community 1009]]
- [[_COMMUNITY_Community 1010|Community 1010]]
- [[_COMMUNITY_Community 1013|Community 1013]]
- [[_COMMUNITY_Community 1015|Community 1015]]
- [[_COMMUNITY_Community 1016|Community 1016]]
- [[_COMMUNITY_Community 1017|Community 1017]]
@@ -1010,7 +1014,6 @@
- [[_COMMUNITY_Community 1029|Community 1029]]
- [[_COMMUNITY_Community 1030|Community 1030]]
- [[_COMMUNITY_Community 1031|Community 1031]]
- [[_COMMUNITY_Community 1032|Community 1032]]
- [[_COMMUNITY_Community 1033|Community 1033]]
- [[_COMMUNITY_Community 1034|Community 1034]]
@@ -1031,25 +1034,25 @@
.claude/skills/qa-clinicpro/driver.mjs → assets/admin/components/dashboard/dashboardIcons.tsx
- `shot()` --calls--> `S` [INFERRED]
.claude/skills/redesign-page/driver.mjs → assets/admin/components/dashboard/dashboardIcons.tsx
- `PrivateRoute()` --calls--> `useAuthStore` [EXTRACTED]
assets/admin/App.tsx → assets/admin/stores/authStore.ts
- `PublicRoute()` --calls--> `useAuthStore` [EXTRACTED]
assets/admin/App.tsx → assets/admin/stores/authStore.ts
- `ClinicDoctorsManager()` --calls--> `formatNumber()` [EXTRACTED]
assets/admin/components/ClinicDoctorsManager.tsx → assets/admin/lib/utils.ts
- `DiscountTab()` --calls--> `usePermissions()` [EXTRACTED]
assets/admin/components/DiscountTab.tsx → assets/admin/hooks/usePermissions.ts
- `PatientCaseBanner()` --calls--> `formatDate()` [EXTRACTED]
assets/admin/components/PatientCaseBanner.tsx → assets/admin/lib/utils.ts
## Import Cycles
- None detected.
## Communities (1015 total, 237 thin omitted)
## Communities (1018 total, 242 thin omitted)
### Community 0 - "Community 0"
Cohesion: 0.06
Nodes (19): ClinicAppointmentAccessTest, ClinicDoctorPermissionTest, ClinicDoctorPermissionRepository, ClinicDoctorPermission, ClinicRecordAccessTest, ClinicDoctorPermissionChecker, Clinic, Doctor (+11 more)
### Community 1 - "Community 1"
Cohesion: 0.03
Nodes (95): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, TenantInsuranceContracts(), EMPTY_CATS (+87 more)
Cohesion: 0.06
Nodes (47): RoleRoute(), EMPTY_CATS, EMPTY_ITEMS, EMPTY_META, EMPTY_PACKAGES, EMPTY_STATS, InventoryItem, InventoryMeta (+39 more)
### Community 2 - "Community 2"
Cohesion: 0.10
@@ -1072,12 +1075,12 @@ Cohesion: 0.17
Nodes (8): SettlementController, SettlementRepository, Settlement, JsonResponse, Request, User, ManagerRegistry, User
### Community 7 - "Community 7"
Cohesion: 0.06
Nodes (8): DoctorService, Clinic, DoctorServiceRepository, Collection, Doctor, self, User, ManagerRegistry
Cohesion: 0.05
Nodes (11): DoctorServiceController, DoctorService, Clinic, DoctorServiceRepository, Collection, Doctor, self, User (+3 more)
### Community 8 - "Community 8"
Cohesion: 0.04
Nodes (37): DoctorTab, StatDef, TurnsStats, td, th, CANCELLED_STATUSES, EMPTY_SLOT_CONFIG, STATUS (+29 more)
Nodes (42): DoctorTab, PickedService, ServicePick, ServiceSlot, ServiceSlotPicker(), get, services, td (+34 more)
### Community 9 - "Community 9"
Cohesion: 0.04
@@ -1088,8 +1091,8 @@ Cohesion: 0.17
Nodes (12): Clinic Address Management, `DELETE /api/v1/clinic/{clinicUuid}/address/{addressUuid}`, Errors, Errors, `GET /api/v1/clinic/{clinicUuid}/addresses`, `PATCH /api/v1/clinic/{clinicUuid}/address/{addressUuid}`, `POST /api/v1/clinic/{clinicUuid}/address`, Removed endpoint (+4 more)
### Community 11 - "Community 11"
Cohesion: 0.05
Nodes (36): numericField(), CitiesTab(), CityForm, citySchema, DoctorServicesTab(), ImportError, InsuranceForm, insuranceSchema (+28 more)
Cohesion: 0.04
Nodes (44): ServiceItemFormModal(), numericField(), emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY (+36 more)
### Community 12 - "Community 12"
Cohesion: 0.04
@@ -1097,7 +1100,7 @@ Nodes (49): Account provisioning, Clinic Doctor Invitation API, Console: `app:in
### Community 13 - "Community 13"
Cohesion: 0.02
Nodes (136): appointment, get, post, render(), PickedService, ServicePick, ServiceSlot, ServiceSlotPicker() (+128 more)
Nodes (152): appointment, get, post, render(), appt, get, openMenu(), patch (+144 more)
### Community 14 - "Community 14"
Cohesion: 0.09
@@ -1109,7 +1112,7 @@ Nodes (7): PaymentController, Appointment, JsonResponse, Payment, Request, Respo
### Community 16 - "Community 16"
Cohesion: 0.05
Nodes (8): PatientSession, Appointment, Collection, InventoryPackage, PatientRecord, SessionConsumable, SessionPayment, SessionService
Nodes (10): AppointmentExpiryServiceTest, PatientSession, Appointment, Collection, InventoryPackage, PatientRecord, self, SessionConsumable (+2 more)
### Community 17 - "Community 17"
Cohesion: 0.05
@@ -1128,12 +1131,12 @@ Cohesion: 0.12
Nodes (5): AdminApiController, RepresentationRepository, JsonResponse, Request, StreamedResponse
### Community 21 - "Community 21"
Cohesion: 0.06
Nodes (28): SessionPaymentAccordion(), SessionPaymentData, paid, unpaid, InvoicePaymentRow, InvoiceRowStatus, MY_PAYMENTS_LIMIT, PatientInvoiceRow (+20 more)
Cohesion: 0.03
Nodes (95): Invoice, InvoiceItem, InvoiceSummaryModal(), SessionConsumable, SessionData, SessionPayment, STATUS_LABEL, ServiceTariffModal() (+87 more)
### Community 22 - "Community 22"
Cohesion: 0.16
Nodes (9): RatingController, Rate, RateRepository, JsonResponse, Request, User, Doctor, ManagerRegistry (+1 more)
Cohesion: 0.15
Nodes (9): RatingController, Like, LikeRepository, JsonResponse, Request, User, Comment, ManagerRegistry (+1 more)
### Community 23 - "Community 23"
Cohesion: 0.05
@@ -1176,8 +1179,8 @@ Cohesion: 0.06
Nodes (32): 10. Modal / Dialog, 11. Toast Notifications, 12. Empty States & Loading, 13. Page Header (هر صفحه), 14. تکنولوژی Stack, 15. Responsive Breakpoints, 16. Dark Mode (اختیاری — فاز دوم), 17. نمونه رنگ‌بندی صفحه داشبورد (+24 more)
### Community 33 - "Community 33"
Cohesion: 0.07
Nodes (25): CoverageRow, Draft, KIND, TenantInsurance, EMPTY_FORM, ItemForm, itemSchema, Props (+17 more)
Cohesion: 0.11
Nodes (21): buildInsurancePayload(), Contract, contractToForm(), EMPTY_FORM, InsuranceFormValues, InsuranceModal(), InsuranceOption, KIND_LABEL (+13 more)
### Community 34 - "Community 34"
Cohesion: 0.05
@@ -1241,7 +1244,7 @@ Nodes (4): Payment, Appointment, self, User
### Community 49 - "Community 49"
Cohesion: 0.03
Nodes (75): ConfirmAppointmentModal(), AppointmentInfoModal(), ModalKind, PickedPatient, PickerOption, ReplaceAppointmentModal(), toEpoch(), TransferReserveModal() (+67 more)
Nodes (97): AppointmentInfoModal(), ModalKind, PickedPatient, PickerOption, ReplaceAppointmentModal(), toEpoch(), TransferReserveModal(), WalletChargeLink() (+89 more)
### Community 50 - "Community 50"
Cohesion: 0.07
@@ -1257,7 +1260,7 @@ Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, با
### Community 53 - "Community 53"
Cohesion: 0.06
Nodes (20): AppLogRepository, ClaimItemRepository, DoctorClaimRequestRepository, PreRegistrationRepository, ProvinceRepository, SessionConsumableRepository, SiteConfigRepository, TaxRateHistoryRepository (+12 more)
Nodes (20): AppLogRepository, ClaimItemRepository, DoctorClaimRequestRepository, DoctorInsuranceRepository, InvoiceItemRepository, PreRegistrationRepository, ServiceSectionRepository, SiteConfigRepository (+12 more)
### Community 54 - "Community 54"
Cohesion: 0.10
@@ -1280,8 +1283,8 @@ Cohesion: 0.29
Nodes (5): BlogController, City, JsonResponse, Request, User
### Community 59 - "Community 59"
Cohesion: 0.22
Nodes (6): ClinicController, Clinic, DoctorAddress, JsonResponse, Request, User
Cohesion: 0.05
Nodes (18): ClinicController, SpecialtyController, DoctorSpecialtyParentsTest, Specialty, BackfillSpecialtyParentsStep, SpecialtyRepository, Clinic, DoctorAddress (+10 more)
### Community 60 - "Community 60"
Cohesion: 0.08
@@ -1292,16 +1295,16 @@ Cohesion: 0.17
Nodes (12): Add Session Payment (تسویه چندتکه), Create Patient Record, Create Session, Edit Session Payment, Endpoints, Get Patient Record, List Patient Appointments, List Patient Sessions (+4 more)
### Community 62 - "Community 62"
Cohesion: 0.05
Nodes (47): AppointmentLike, METHOD_OPTIONS, PaymentRow, Props, rowStyle, ServiceItem, STATE_TONE, MethodOption (+39 more)
Cohesion: 0.07
Nodes (35): AppointmentLike, ConfirmAppointmentModal(), METHOD_OPTIONS, PaymentRow, Props, rowStyle, ServiceItem, STATE_TONE (+27 more)
### Community 63 - "Community 63"
Cohesion: 0.02
Nodes (147): PaginatedResponse, formatDate(), emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY (+139 more)
Cohesion: 0.01
Nodes (185): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), queryClient, toastStyle, ClinicDoctorsManager(), ClinicInvitation, HUES_LIST (+177 more)
### Community 64 - "Community 64"
Cohesion: 0.19
Nodes (7): SmsWalletController, SmsSettingsRepository, SmsSettings, JsonResponse, Request, User, ManagerRegistry
Cohesion: 0.29
Nodes (4): SmsWalletController, JsonResponse, Request, User
### Community 65 - "Community 65"
Cohesion: 0.08
@@ -1328,8 +1331,8 @@ Cohesion: 0.08
Nodes (24): سناریو: ایمپورت پزشکان سازمان نظام پزشکی و مدیریت مالکیت پروفایل, نتیجه‌گیری کلیدی طراحی, ۱. خلاصه اجرایی, ۱۰. جریان کاربری (خلاصه‌ی گام‌به‌گام), ۱۱. حالات مرزی و قواعد کسب‌وکار, ۱۲. مراحل پیاده‌سازی (به‌ترتیب و به‌تفکیک ریپو), ۱۳. تصمیمات باز و ریسک‌ها, ۱۴. مرجع نمونه‌ی داده (+16 more)
### Community 72 - "Community 72"
Cohesion: 0.08
Nodes (3): Claim, Collection, self
Cohesion: 0.07
Nodes (4): ClaimItem, Claim, Collection, self
### Community 74 - "Community 74"
Cohesion: 0.09
@@ -1356,8 +1359,12 @@ Cohesion: 0.12
Nodes (3): SubscriptionPlan, Collection, self
### Community 81 - "Community 81"
Cohesion: 0.09
Nodes (23): dependencies, @ckeditor/ckeditor5-build-classic, @ckeditor/ckeditor5-react, @fontsource/vazirmatn, @heroicons/react, @hookform/resolvers, jalaali-js, leaflet (+15 more)
Cohesion: 0.07
Nodes (27): dependencies, @ckeditor/ckeditor5-build-classic, @ckeditor/ckeditor5-react, @fontsource/vazirmatn, @heroicons/react, @hookform/resolvers, jalaali-js, leaflet (+19 more)
### Community 82 - "Community 82"
Cohesion: 0.14
Nodes (5): CategoryImportTest, PurgeDoctorsCommand, Connection, InputInterface, OutputInterface
### Community 83 - "Community 83"
Cohesion: 0.09
@@ -1373,7 +1380,7 @@ Nodes (30): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react
### Community 86 - "Community 86"
Cohesion: 0.03
Nodes (23): BookingServicesPublicTest, DateOverrideOwnershipTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, CaptchaFlowTest, ServiceItemMultiStaffTest, ServiceItemStaffOwnershipTest (+15 more)
Nodes (24): BookingModeImmutableTest, BookingServicesPublicTest, DateOverrideOwnershipTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListNPlusOneTest, ClaimsListPaginationTest, CaptchaFlowTest (+16 more)
### Community 87 - "Community 87"
Cohesion: 0.10
@@ -1436,7 +1443,7 @@ Cohesion: 0.10
Nodes (19): Backend — endpoint اشتراک, Frontend — App.tsx, Frontend — authStore, Frontend — Sidebar, اعمال محدودیت‌های اشتراک در پنل ادمین (Frontend Gate), ترتیب اجرا, زمینه, فایل‌های مرتبط (+11 more)
### Community 102 - "Community 102"
Cohesion: 0.08
Cohesion: 0.07
Nodes (26): Bulk import / export, DELETE `/api/v1/admin/tag/{id}`, DELETE `/api/v1/tenant-tag/{uuid}`, Errors, Errors, Errors, Errors, Errors (+18 more)
### Community 103 - "Community 103"
@@ -1664,8 +1671,8 @@ Cohesion: 0.13
Nodes (15): Date Overrides, DELETE `/api/v1/appointment-settings/date-override/{uuid}`, Errors, Errors, GET `/api/v1/appointment-settings/date-override/list/{doctorUuid}`, GET `/api/v1/appointment-settings/date-override/{uuid}`, PATCH `/api/v1/appointment-settings/date-override/{uuid}`, POST `/api/v1/appointment-settings/date-override` (+7 more)
### Community 161 - "Community 161"
Cohesion: 0.02
Nodes (85): latinDigitsField(), NumericFieldProps, wrap(), cn(), digitsOnly(), displayDoctorName(), iranMobileOptionalSchema, iranMobileSchema (+77 more)
Cohesion: 0.04
Nodes (30): ApiError, { refreshMock, logoutMock }, replaceMock, displayDoctorName(), SecretaryDashboard(), AddrForm, addrSchema, AVATAR_COLORS (+22 more)
### Community 162 - "Community 162"
Cohesion: 0.10
@@ -1696,8 +1703,8 @@ Cohesion: 0.10
Nodes (20): api.ir (استعلام هویت — Shahkar / IbanMatch), اتصال به دیتابیس‌های مستقل (الزامی), اسرار (الزامی — قبل از اولین دیپلوی), امنیت و منابع, بررسی سلامت, دامنه‌ها و CORS, دیپلوی‌های بعدی, راهنمای دیپلوی ClinicPro (Coolify + Docker Compose) (+12 more)
### Community 169 - "Community 169"
Cohesion: 0.08
Nodes (11): SourceProfileIdTest, UserProfileDemographicsTest, MellatGatewayTest, ErrorCodesTest, HealthControllerTest, TimezoneTest, KavehNegarProviderTest, TestCase (+3 more)
Cohesion: 0.12
Nodes (7): SourceProfileIdTest, MellatGatewayTest, ErrorCodesTest, HealthControllerTest, TimezoneTest, TestCase, EntityManagerInterface
### Community 170 - "Community 170"
Cohesion: 0.13
@@ -1833,7 +1840,7 @@ Nodes (16): Clinic Services API, DELETE /api/v1/service-item/{uuid}, DELETE /api
### Community 204 - "Community 204"
Cohesion: 0.04
Nodes (44): useSubscription(), AdminLayout(), avatarBg(), HUES, ProfileMenu(), Role, ROLE_LABELS, settingsPath() (+36 more)
Nodes (43): useSubscription(), AdminLayout(), avatarBg(), HUES, ProfileMenu(), Role, ROLE_LABELS, settingsPath() (+35 more)
### Community 205 - "Community 205"
Cohesion: 0.21
@@ -1916,8 +1923,8 @@ Cohesion: 0.14
Nodes (13): DELETE `/api/v1/representation/{uuid}`, Errors, Errors, GET `/api/v1/representation/{uuid}/dashboard/monthly`, GET `/api/v1/site-context`, Path Parameters, Query Parameters, Query Parameters (+5 more)
### Community 230 - "Community 230"
Cohesion: 0.17
Nodes (6): SpecialtyController, DoctorSpecialtyParentsTest, SpecialtyRepository, JsonResponse, Request, Specialty
Cohesion: 0.28
Nodes (6): ClinicServiceController, JsonResponse, Request, ServiceItem, ServiceSection, User
### Community 231 - "Community 231"
Cohesion: 0.17
@@ -2160,8 +2167,8 @@ Cohesion: 0.20
Nodes (9): AdminApiController — dashboardCharts با بازه زمانی, DashboardController — اضافه کردن from/to, date range selector component:, تغییر Backend, تغییر Frontend — DashboardPage.tsx, فایل‌هایی که تغییر می‌کنند, معماری — تسک ۱۶: داشبورد هوشمند, نصب dependency: (+1 more)
### Community 294 - "Community 294"
Cohesion: 0.33
Nodes (4): PatientAttachment, PatientAttachmentRepository, ManagerRegistry, PatientRecord
Cohesion: 0.21
Nodes (5): PatientAttachmentTest, PatientAttachment, PatientAttachmentRepository, ManagerRegistry, PatientRecord
### Community 295 - "Community 295"
Cohesion: 0.20
@@ -2201,7 +2208,7 @@ Nodes (16): آماده‌سازی پروژه ClinicPro برای دیپلوی ر
### Community 304 - "Community 304"
Cohesion: 0.04
Nodes (56): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 31. 🟡 `PATCH` patch, 32. 🔵 `POST` post, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 35. 🟡 `PATCH` patch, 36. 🟢 `GET` get my rate (+48 more)
Nodes (56): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 31. 🟡 `PATCH` patch, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 36. 🟢 `GET` get my rate, 37. 🔵 `POST` post, 38. 🟢 `GET` Unapproved comments (+48 more)
### Community 306 - "Community 306"
Cohesion: 0.07
@@ -2236,8 +2243,8 @@ Cohesion: 0.36
Nodes (4): InsuranceRepository, Insurance, InsuranceType, ManagerRegistry
### Community 314 - "Community 314"
Cohesion: 0.02
Nodes (119): AppointmentCardData, AppointmentTurnCard(), base, Invoice, InvoiceItem, InvoiceSummaryModal(), SessionConsumable, SessionData (+111 more)
Cohesion: 0.03
Nodes (97): AppointmentCardData, AppointmentTurnCard(), base, Breadcrumb(), PatientCaseBanner(), Tag, PatientTagsCell(), TenantTag (+89 more)
### Community 315 - "Community 315"
Cohesion: 0.05
@@ -2247,10 +2254,6 @@ Nodes (21): BillingCalculatorTest, BillingCalculator, Money, InvoiceRepository,
Cohesion: 0.12
Nodes (15): mapping صفحات clinicpro → فریم فیگما, الف-۱. توکن‌های رنگ (light + dark), الف-۲. سلکتور رنگ کاربر, الف-۳. ابعاد و رفتار layout, الف-۴. شعاع‌ها و input/button, الف-۵. کامپوننت‌های مشترک مطابق فیگما, ایندکس فریم‌های فیگما (۴ section، node-id دسکتاپ), بخش الف — سیستم طراحی مشترک (یک‌بار، پایه‌ی همه‌ی صفحات) (+7 more)
### Community 317 - "Community 317"
Cohesion: 0.29
Nodes (3): CorsRegexEnvProcessor, EnvVarProcessorInterface, CorsRegexEnvProcessorTest
### Community 318 - "Community 318"
Cohesion: 0.32
Nodes (4): PatientListFilterTest, Doctor, PatientRecord, TenantTag
@@ -2428,8 +2431,8 @@ Cohesion: 0.25
Nodes (7): بازسازی از صفر, دادهٔ انبوه, شناسه‌ها, نام پزشک بدون عنوان, نکته‌ها, پرسوناها, کاربران تستی
### Community 367 - "Community 367"
Cohesion: 0.24
Nodes (3): Altcha, AltchaService, altcha
Cohesion: 0.16
Nodes (6): Altcha, AltchaService, altcha, Altcha(), AltchaProps, IntrinsicElements
### Community 368 - "Community 368"
Cohesion: 0.36
@@ -2564,8 +2567,8 @@ Cohesion: 0.06
Nodes (30): انتقال برنامه کاری، اصلاح فرم تنظیمات نوبت، فیلدهای عددی لاتین، رفع باگ هزینه ویزیت در مودال، و لاگ/تایم‌لاین لغو نوبت, تسک ۱ — انتقال کامل «برنامه کاری» از پروفایل به تنظیمات نوبت‌دهی, تسک ۲ — اصلاح چیدمان دکمه ذخیره در صفحه تنظیمات نوبت‌دهی, تسک ۳ — اجبار ورودی لاتین در همه فیلدهای عددی سراسری, تسک ۴ — رفع باگ: ثبت نوبت هنگام الزامی بودن هزینه ویزیت (۴۲۲), تسک ۵ — ثبت لاگ و رویداد Timeline هنگام لغو نوبت, زمینه, فایل‌های مرتبط (+22 more)
### Community 407 - "Community 407"
Cohesion: 0.17
Nodes (11): MessageBusInterface, MockObject, SmsLogRepository, SmsServiceLookupOnlyTest, SmsLog, SmsLogRepository, SmsMessageTemplateRepository, SmsService (+3 more)
Cohesion: 0.21
Nodes (9): LoggerInterface, MessageBusInterface, MockObject, SmsServiceLookupOnlyTest, SmsLogRepository, SmsMessageTemplateRepository, SmsService, SmsTextResolver (+1 more)
### Community 410 - "Community 410"
Cohesion: 0.08
@@ -2576,16 +2579,16 @@ Cohesion: 0.10
Nodes (20): edge cases, خلاصهٔ خطاها و اولویت, راه‌حل, راه‌حل, راه‌حل, راه‌حل, رفع خطاهای لاگ سرور (production) — ۱۴۰۵/۰۴/۲۰, ریشه (+12 more)
### Community 416 - "Community 416"
Cohesion: 0.03
Nodes (83): TauriStatCards(), usePaymentConfig(), AddPackageModal(), formatDateTime(), formatNumber(), formatRial(), AdminCharts, AdminDashboard() (+75 more)
Cohesion: 0.05
Nodes (32): ApiAppointment, NOT_VISITED_STATUSES, ServiceOption, STATUS_OPTIONS, NewAppointmentsTable(), AdminCharts, AdminDashboard(), AdminRecent (+24 more)
### Community 418 - "Community 418"
Cohesion: 0.17
Nodes (11): دیپلوی ClinicPro روی Coolify (Docker Compose), رفع اشکال, مراحل دیپلوی, معماری دیپلوی, نکات عملیاتی, چند دامنه فرانت‌اند (مهم), ۱. ساخت Resource در Coolify, ۲. اختصاص دامنه (+3 more)
### Community 421 - "Community 421"
Cohesion: 0.15
Nodes (6): UniqueConstraintsTest, FinancialBreakdown, FinancialBreakdownRepository, FinancialBreakdownIntegrityTest, ManagerRegistry, Payment
Cohesion: 0.14
Nodes (8): UniqueConstraintsTest, FinancialBreakdown, FinancialBreakdownRepository, CommissionService, ManagerRegistry, Payment, Payment, Representation
### Community 422 - "Community 422"
Cohesion: 0.12
@@ -2608,20 +2611,24 @@ Cohesion: 0.12
Nodes (16): backend (آماده — فقط annotation/doc ناقص), افزودن فیلد «تاریخ شروع فعالیت» (سال تجربه) در پنل ادمین با تقویم شمسی, زمینه, فایل‌های مرتبط, فرم ساخت پزشک — `DoctorFormPage.tsx` (خط ~282), فرم ویرایش پزشک — `DoctorDetailPage.tsx` (وضعیت فعلی، بدون فیلد تاریخ), مشکل / هدف, نکات مهم (+8 more)
### Community 433 - "Community 433"
Cohesion: 0.05
Nodes (32): AbstractAuthenticator, AuthenticationException, ErrorCodes, AuthController, ClinicServiceController, PatientController, ExceptionSubscriber, AppException (+24 more)
Cohesion: 0.17
Nodes (8): ErrorCodes, PatientController, JsonResponse, PatientRecord, PatientRecordScope, PatientSession, Request, User
### Community 435 - "Community 435"
Cohesion: 0.38
Nodes (3): MaintenanceCommand, InputInterface, OutputInterface
Cohesion: 0.20
Nodes (6): AuthController, RateLimiterFactory, ClinicDoctorPermission, JsonResponse, Request, User
### Community 436 - "Community 436"
Cohesion: 0.12
Nodes (16): `book()` عمومی — الگوی درستِ موجود (کپی از `AppointmentController::book`, خط ۲۴۲–۲۶۳), زمینه, فایل‌های مرتبط, فرم — بدون فیلد کد ملی (کپی از `AppointmentCreatePage.tsx`), مسیر ادمین — بیمار فقط با موبایل (کپی از `MyAppointmentsController::createAppointment`, خط ۸۱–۸۷), نوبت‌دهی ادمین بر اساس کد ملی + موبایل (پرونده یکتا با کد ملی), نکات مهم, هدف (+8 more)
### Community 437 - "Community 437"
Cohesion: 0.11
Nodes (12): AdminCspSubscriber, MaintenanceSubscriber, NumericFieldNormalizerSubscriber, SecurityHeadersSubscriber, EventSubscriberInterface, ResponseEvent, ExceptionEvent, Request (+4 more)
Cohesion: 0.17
Nodes (7): AdminCspSubscriber, NumericFieldNormalizerSubscriber, SecurityHeadersSubscriber, EventSubscriberInterface, ResponseEvent, RequestEvent, ResponseEvent
### Community 438 - "Community 438"
Cohesion: 0.17
Nodes (9): AbstractAuthenticator, AuthenticationException, ExceptionSubscriber, Passport, PasswordAuthenticator, Request, Response, ExceptionEvent (+1 more)
### Community 439 - "Community 439"
Cohesion: 0.17
@@ -2644,8 +2651,8 @@ Cohesion: 0.27
Nodes (4): RequireVisitPriceTest, Doctor, EntityInsurancePricing, PatientRecord
### Community 446 - "Community 446"
Cohesion: 0.38
Nodes (3): PurgeUnclaimedDoctorsCommandTest, CommandTester, Doctor
Cohesion: 0.15
Nodes (8): PurgeDoctorsCommandTest, PurgeUnclaimedDoctorsCommandTest, RepositoryClassMappingTest, KernelTestCase, DbLoggerTest, CommandTester, CommandTester, Doctor
### Community 447 - "Community 447"
Cohesion: 0.25
@@ -2676,8 +2683,8 @@ Cohesion: 0.24
Nodes (10): gridItemStyle, JALALI_MONTHS, jalaliFirstWeekday(), jalaliToGregorian(), navBtnStyle, PersianCalendar(), pf, Props (+2 more)
### Community 459 - "Community 459"
Cohesion: 0.33
Nodes (6): API موجود (نیاز به تغییر ندارند), اپیک‌ها, اپیک ۳ — منشی (Secretary) — تکمیل, تغییرات مورد نیاز, توضیح, نیازمندی‌های کارکردی
Cohesion: 0.40
Nodes (5): API موجود (نیاز به تغییر ندارند), اپیک ۳ — منشی (Secretary) — تکمیل, تغییرات مورد نیاز, توضیح, نیازمندی‌های کارکردی
### Community 460 - "Community 460"
Cohesion: 0.33
@@ -2752,7 +2759,7 @@ Cohesion: 0.10
Nodes (20): book() فعلی فقط slot_start/slot_end می‌گیرد, overlap واقعی از قبل درست است, زمینه, ساخت اسلاتِ ثابت (حالت فعلی = slot mode), فایل‌های مرتبط, متای برنامهٔ هفتگی, مدت خدمت — هست ولی استفاده نمی‌شود, نوبت‌دهی بر اساس مدت سرویس (Service-based booking) — Backend + Admin (+12 more)
### Community 479 - "Community 479"
Cohesion: 0.14
Cohesion: 0.15
Nodes (6): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Persian digit normalization (global), Standard Response Envelope
### Community 481 - "Community 481"
@@ -2788,8 +2795,8 @@ Cohesion: 0.20
Nodes (9): Backend Audit Backlog — ClinicPro, ☐ CRITICAL, ✅ DONE (committed on backend-audit), ☐ EPICS (design debt — cross-repo, defer; do NOT quick-fix), ☐ HIGH, ☐ LOW, ☐ MEDIUM, Progress (this audit session) (+1 more)
### Community 494 - "Community 494"
Cohesion: 0.07
Nodes (19): ClaimAmountBoundsTest, ClaimsByPatientTest, ClaimsListNPlusOneTest, ClaimItem, ClaimSubmitterInterface, ClaimService, ManualClaimSubmitter, Claim (+11 more)
Cohesion: 0.24
Nodes (8): ClaimSubmitterInterface, ClaimService, ManualClaimSubmitter, Claim, Invoice, User, Claim, ClaimSubmissionResult
### Community 495 - "Community 495"
Cohesion: 0.12
@@ -2812,8 +2819,8 @@ Cohesion: 0.12
Nodes (16): `AppointmentSettingsPage.tsx` (بخش render), backend — نیازی به تغییر نیست (اول گشتم), `InsuranceModal.tsx` — انتخاب دستی نوع (حذف شود), `InsurancePricingPage.tsx`, `TenantInsuranceContracts.tsx` — یک جدول مسطح، خلاصه فقط در زیرنویس نام, بازطراحی صفحه بیمه و قیمت‌گذاری — تفکیک نوع بیمه با Tab + ردیف Expandable + انتقال ویزیت آزاد, زمینه, فایل‌های مرتبط (+8 more)
### Community 500 - "Community 500"
Cohesion: 0.40
Nodes (5): API موجود (نیاز به endpoint جدید ندارد), اپیک ۷ — داشبورد هوشمند (Smart Dashboard), تغییر مورد نیاز, توضیح, نیازمندی‌های کارکردی
Cohesion: 0.33
Nodes (6): API موجود (نیاز به endpoint جدید ندارد), اپیک‌ها, اپیک ۷ — داشبورد هوشمند (Smart Dashboard), تغییر مورد نیاز, توضیح, نیازمندی‌های کارکردی
### Community 501 - "Community 501"
Cohesion: 0.40
@@ -2920,8 +2927,8 @@ Cohesion: 0.16
Nodes (3): BankAccount, self, User
### Community 533 - "Community 533"
Cohesion: 0.31
Nodes (4): BaseKernel, Closure, MicroKernelTrait, Kernel
Cohesion: 0.19
Nodes (6): BaseKernel, Closure, CorsRegexEnvProcessor, EnvVarProcessorInterface, MicroKernelTrait, Kernel
### Community 534 - "Community 534"
Cohesion: 0.34
@@ -3064,16 +3071,16 @@ Cohesion: 0.40
Nodes (5): Errors, Notes, POST `/api/v1/notification-mobile/request-otp`, Request Body, Response `200`
### Community 576 - "Community 576"
Cohesion: 0.48
Nodes (3): DoctorInsuranceRepository, DoctorInsurance, ManagerRegistry
Cohesion: 0.15
Nodes (13): EMPTY, PatientFilters, PricingInsurance, TenantTag, AddTurn(), PatientsCategoryView(), PatientsGridView(), SearchHeaderP() (+5 more)
### Community 577 - "Community 577"
Cohesion: 0.06
Nodes (45): grid, PatientFormOptions, patientFormSchema, PatientFormValues, Props, baseValues, options, InvoicePayload (+37 more)
Cohesion: 0.03
Nodes (67): grid, PatientFormOptions, patientFormSchema, PatientFormValues, Props, baseValues, options, setup() (+59 more)
### Community 578 - "Community 578"
Cohesion: 0.36
Nodes (3): ServiceSectionRepository, ManagerRegistry, ServiceSection
Cohesion: 0.22
Nodes (5): ClaimsByPatientTest, Doctor, Invoice, PatientRecord, User
### Community 579 - "Community 579"
Cohesion: 0.12
@@ -3124,8 +3131,8 @@ Cohesion: 0.29
Nodes (3): FinancialBreakdown, Payment, User
### Community 597 - "Community 597"
Cohesion: 0.29
Nodes (7): Configuration, Errors, GET `/api/v1/admin/sms/templates`, GET `/api/v1/sms/template/{uuid}`, Response `200`, Response `200`, SMS API
Cohesion: 0.20
Nodes (10): Configuration, Errors, Errors, GET `/api/v1/admin/sms/templates`, GET `/api/v1/sms/template/{uuid}`, POST `/api/v1/sms/send` — ⛔ غیرفعال (Deprecated), Response `200`, Response `200` (+2 more)
### Community 598 - "Community 598"
Cohesion: 0.29
@@ -3280,8 +3287,8 @@ Cohesion: 0.28
Nodes (4): SubscriptionService, ClinicSubscription, Payment, SubscriptionPlan
### Community 681 - "Community 681"
Cohesion: 0.22
Nodes (5): PurgeDoctorsCommandTest, RepositoryClassMappingTest, KernelTestCase, DbLoggerTest, CommandTester
Cohesion: 0.27
Nodes (5): MaintenanceSubscriber, ExceptionEvent, Request, RequestEvent, Response
### Community 683 - "Community 683"
Cohesion: 0.33
@@ -3308,12 +3315,8 @@ Cohesion: 0.12
Nodes (16): Errors, Errors, Errors, GET `/api/v1/admin/representations`, GET `/api/v1/admin/representations/{uuid}/appointments`, GET `/api/v1/admin/representations/{uuid}/doctors`, POST `/api/v1/admin/representations/{uuid}/doctors`, Query Parameters (+8 more)
### Community 693 - "Community 693"
Cohesion: 0.47
Nodes (3): CommissionService, Payment, Representation
### Community 694 - "Community 694"
Cohesion: 0.18
Nodes (4): KavehNegarProvider, SmsService, SendSmsMessage, SmsProviderInterface
Cohesion: 0.16
Nodes (4): RanginehProvider, SmsService, SendSmsMessage, SmsProviderInterface
### Community 695 - "Community 695"
Cohesion: 0.67
@@ -3376,8 +3379,8 @@ Cohesion: 0.12
Nodes (15): رفع باگ: نوبت‌های رزروشده در سایت عمومی «آزاد» نمایش داده می‌شوند, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+7 more)
### Community 717 - "Community 717"
Cohesion: 0.08
Nodes (11): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantInsuranceCleanupTest, SessionInsuranceShareTest, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, TenantServiceCoverage (+3 more)
Cohesion: 0.09
Nodes (7): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantInsuranceCleanupTest, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, TenantServiceCoverage
### Community 718 - "Community 718"
Cohesion: 0.36
@@ -3407,10 +3410,18 @@ Nodes (4): Errors, POST `/api/v1/user/login`, Request Body, Response `200`
Cohesion: 0.43
Nodes (3): PatientResolver, User, UserProfile
### Community 730 - "Community 730"
Cohesion: 0.41
Nodes (4): SessionInsuranceShareTest, Doctor, Insurance, ServiceItem
### Community 732 - "Community 732"
Cohesion: 0.15
Nodes (12): call siteهای فعلی PersianDateInput (نباید تغییر کنند — فقط برای اطمینان از سازگاری Props), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, همه‌ی تقویم‌های پنل ادمین باید شمسی باشند (رفع تقویم میلادی PersianDateInput), وضعیت فعلی (کد مشکل‌دار), وظایف (+4 more)
### Community 733 - "Community 733"
Cohesion: 0.38
Nodes (5): Rate, RateRepository, Doctor, ManagerRegistry, User
### Community 737 - "Community 737"
Cohesion: 0.33
Nodes (5): DoctorImportResult, DoctorImportService, Collection, Doctor, User
@@ -3485,16 +3496,12 @@ Nodes (3): AppointmentWorkflowFieldsTest, Appointment, Doctor
### Community 766 - "Community 766"
Cohesion: 0.36
Nodes (3): DoctorServiceController, JsonResponse, Request
Nodes (4): ClaimAmountBoundsTest, Claim, Doctor, User
### Community 767 - "Community 767"
Cohesion: 0.14
Nodes (13): DELETE `/api/v1/admin/discount-rules/{uuid}`, Discount API, Errors, Errors, GET `/api/v1/admin/discount-rules`, GET `/api/v1/session/{uuid}/discount-suggestions`, PATCH `/api/v1/admin/discount-rules/{uuid}`, POST `/api/v1/admin/discount-rules` (+5 more)
### Community 768 - "Community 768"
Cohesion: 0.36
Nodes (3): RepairImportedDoctorsCommand, InputInterface, OutputInterface
### Community 769 - "Community 769"
Cohesion: 0.43
Nodes (3): SessionPaymentRepository, ManagerRegistry, SessionPayment
@@ -3528,8 +3535,8 @@ Cohesion: 0.24
Nodes (4): InventoryPackageItem, InventoryItem, InventoryPackage, self
### Community 782 - "Community 782"
Cohesion: 0.08
Nodes (19): Command, BackfillAppointmentSessionsCommand, CancelExpiredAppointmentsCommand, NormalizeScheduleFormatCommand, PruneLogsCommand, PurgeDoctorsCommand, RepairAcceptedInvitationsCommand, InputInterface (+11 more)
Cohesion: 0.07
Nodes (22): Command, BackfillAppointmentSessionsCommand, CancelExpiredAppointmentsCommand, CreateAdminCommand, MaintenanceCommand, PruneLogsCommand, RepairAcceptedInvitationsCommand, SeedCategoriesCommand (+14 more)
### Community 783 - "Community 783"
Cohesion: 0.13
@@ -3583,10 +3590,6 @@ Nodes (4): Errors, POST `/api/v1/user/verify-code`, Request Body, Response `200`
Cohesion: 0.24
Nodes (9): ChartPoint, faNum, niceTicks(), projectTrend(), smoothPath(), TauriBarChart(), TauriLineChart(), real (+1 more)
### Community 804 - "Community 804"
Cohesion: 0.06
Nodes (7): AppointmentCreateReserveTest, AppointmentExpiryServiceTest, AppointmentUpdateTest, SmsWallet, AppLog, SecretaryAppointmentScopeTest, self
### Community 805 - "Community 805"
Cohesion: 0.31
Nodes (3): InventoryPackageRepository, InventoryPackage, ManagerRegistry
@@ -3599,16 +3602,12 @@ Nodes (15): بازطراحی صفحه Claims به داشبورد مدیریتی
Cohesion: 0.25
Nodes (8): Errors, GET `/api/v1/patient/{uuid}/payments`, GET `/api/v1/patient/{uuid}/wallet`, GET `/api/v1/patient/{uuid}/wallet/transactions`, PATCH `/api/v1/session/{uuid}` — پرداخت مراجعه از کیف پول, POST `/api/v1/patient/{uuid}/wallet/charge`, POST `/api/v1/patient/{uuid}/wallet/withdraw`, مالی بیمار (Financials: پرداخت / تراکنش / کیف‌پول)
### Community 809 - "Community 809"
Cohesion: 0.16
Nodes (3): LoggerInterface, RanginehProvider, ApiIrService
### Community 810 - "Community 810"
Cohesion: 0.15
Nodes (12): زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, ویرایش سرویس‌های مراجعه + ویرایش/حذف پرداخت + Audit Log مالی جامع, پروژه (+4 more)
### Community 813 - "Community 813"
Cohesion: 0.17
Cohesion: 0.18
Nodes (5): BackfillSourceProfileIdStep, SourceProfileId, RepairOptions, RepairResult, SymfonyStyle
### Community 814 - "Community 814"
@@ -3651,17 +3650,13 @@ Nodes (14): رفع کامل عملیات نوبت در حالت کلینیک (co
Cohesion: 0.50
Nodes (4): autoload, files, psr-4, App\\
### Community 832 - "Community 832"
Cohesion: 0.43
Nodes (3): InvoiceItemRepository, InvoiceItem, ManagerRegistry
### Community 833 - "Community 833"
Cohesion: 0.50
Nodes (4): extra, symfony, allow-contrib, require
### Community 834 - "Community 834"
Cohesion: 0.33
Nodes (5): Like, LikeRepository, Comment, ManagerRegistry, User
Cohesion: 0.22
Nodes (3): AppException, SlotTakenException, RuntimeException
### Community 835 - "Community 835"
Cohesion: 0.39
@@ -3677,7 +3672,7 @@ Nodes (3): BookingContextResolver, Clinic, Doctor
### Community 842 - "Community 842"
Cohesion: 0.16
Nodes (7): AbstractMigration, Schema, Version20260609130407, Schema, Version20260610183655, Schema, Version20260719044321
Nodes (7): AbstractMigration, Schema, Version20260610103401, Schema, Version20260610183655, Schema, Version20260719044321
### Community 844 - "Community 844"
Cohesion: 0.15
@@ -3771,6 +3766,10 @@ Nodes (3): SpecialtyRepository, ManagerRegistry, Specialty
Cohesion: 0.33
Nodes (6): DELETE `/api/v1/patient/note/{uuid}`, Errors, GET `/api/v1/patient/{uuid}/notes`, PATCH `/api/v1/patient/note/{uuid}`, POST `/api/v1/patient/{uuid}/note`, یادداشت‌های بیمار (Notes)
### Community 877 - "Community 877"
Cohesion: 0.39
Nodes (3): ProvinceRepository, ManagerRegistry, Province
### Community 880 - "Community 880"
Cohesion: 0.25
Nodes (8): ثبت‌نام دکتر — از طریق نماینده, ثبت‌نام دکتر — از طریق کلینیک, ثبت‌نام دکتر — مستقل, ۱. معرفی محصول, ۱.۱ نقش‌های سیستم, ۱.۲ فلوهای عملیاتی اصلی, ۱.۳ پلن‌های اشتراک, ۱.۴ سیستم پیامک
@@ -3779,10 +3778,6 @@ Nodes (8): ثبت‌نام دکتر — از طریق نماینده, ثبت‌
Cohesion: 0.15
Nodes (12): زمینه, فایل‌های مرتبط, فرآیند ثبت و قطعی کردن نوبت (مودال پرداخت + پرونده), مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+4 more)
### Community 885 - "Community 885"
Cohesion: 0.47
Nodes (3): SeedCategoriesCommand, InputInterface, OutputInterface
### Community 890 - "Community 890"
Cohesion: 0.40
Nodes (5): DELETE `/api/v1/patient/call/{uuid}`, Errors, GET `/api/v1/patient/{uuid}/calls`, POST `/api/v1/patient/{uuid}/call`, کال سنتر بیمار (Call Center)
@@ -3808,8 +3803,8 @@ Cohesion: 0.40
Nodes (5): Errors, GET `/api/v1/clinic/doctor-list/{clinicUuid}`, Path Parameters, Query Parameters, Response `200`
### Community 903 - "Community 903"
Cohesion: 0.50
Nodes (4): 40. 🔵 `POST` post, مثال Request, هدرهای اضافی, پاسخ‌ها
Cohesion: 0.38
Nodes (3): NormalizeScheduleFormatCommand, InputInterface, OutputInterface
### Community 906 - "Community 906"
Cohesion: 0.18
@@ -3887,25 +3882,21 @@ Nodes (5): DELETE `/api/v1/patient/message/{uuid}`, Errors, GET `/api/v1/patient
Cohesion: 0.53
Nodes (3): PaymentLog, PaymentLogRepository, ManagerRegistry
### Community 938 - "Community 938"
Cohesion: 0.40
Nodes (5): Errors, GET `/api/v1/appointment-settings/month-availability/{doctorUuid}`, Path Parameters, Query Parameters, Response `200`
### Community 939 - "Community 939"
Cohesion: 0.12
Nodes (9): DoctorRepairStep, BackfillSpecialtyParentsStep, BackfillSurrogateRoleStep, RepairOptions, RepairResult, SymfonyStyle, RepairOptions, RepairResult (+1 more)
Cohesion: 0.09
Nodes (12): RepairImportedDoctorsCommand, DoctorRepairStep, BackfillSurrogateRoleStep, StripNameTitleStep, InputInterface, OutputInterface, RepairOptions, RepairResult (+4 more)
### Community 940 - "Community 940"
Cohesion: 0.40
Nodes (5): Context additions (2026-07), Date overrides are always per-context, `GET /available-locations/{doctorUuid}`, Holidays are global by default, Response fields
### Community 941 - "Community 941"
Cohesion: 0.40
Nodes (5): 37. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
Cohesion: 0.48
Nodes (3): SessionConsumableRepository, ManagerRegistry, SessionConsumable
### Community 942 - "Community 942"
Cohesion: 0.40
Nodes (5): 41. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
Cohesion: 0.43
Nodes (3): SmsLogRepository, SmsLog, ManagerRegistry
### Community 944 - "Community 944"
Cohesion: 0.43
@@ -3916,16 +3907,32 @@ Cohesion: 0.25
Nodes (4): ReportSuspectedDuplicatesStep, RepairOptions, RepairResult, SymfonyStyle
### Community 950 - "Community 950"
Cohesion: 0.25
Nodes (4): StripNameTitleStep, RepairOptions, RepairResult, SymfonyStyle
Cohesion: 0.48
Nodes (3): SmsSettingsRepository, SmsSettings, ManagerRegistry
### Community 956 - "Community 956"
Cohesion: 0.53
Nodes (3): TaxRateHistoryRepository, ManagerRegistry, TaxRateHistory
### Community 957 - "Community 957"
Cohesion: 0.40
Nodes (5): Errors, POST `/api/v1/appointment/{uuid}/confirm`, Request Body, Response `200`, What happens on the server
### Community 958 - "Community 958"
Cohesion: 0.40
Nodes (5): DELETE `/api/v1/patient/attachment/{uuid}`, Errors, GET `/api/v1/patient/{uuid}/attachments`, POST `/api/v1/patient/{uuid}/attachment`, ضمیمه‌های بیمار (Attachments)
### Community 960 - "Community 960"
Cohesion: 0.40
Nodes (5): 32. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 962 - "Community 962"
Cohesion: 0.38
Nodes (3): CreateAdminCommand, InputInterface, OutputInterface
Cohesion: 0.40
Nodes (5): 35. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 964 - "Community 964"
Cohesion: 0.50
Nodes (4): 39. 🟡 `PATCH` Comment confirmation, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 965 - "Community 965"
Cohesion: 0.33
@@ -3952,17 +3959,13 @@ Cohesion: 0.46
Nodes (6): ChildMap, removeSpecialtyEntry(), childMap, toggleSpecialtyChild(), toggleSpecialtyRoot(), uniq()
### Community 978 - "Community 978"
Cohesion: 0.42
Nodes (4): UserActiveContextRepository, ManagerRegistry, User, UserActiveContext
Cohesion: 0.15
Nodes (6): ClinicDoctorPermissionEnforcementTest, UserActiveContextRepository, SecretaryAppointmentScopeTest, ManagerRegistry, User, UserActiveContext
### Community 980 - "Community 980"
Cohesion: 0.33
Nodes (6): GET `/api/v1/admin/sms/logs`, GET `/api/v1/admin/sms/templates`, Query Parameters, Response `200`, Response `200`, SMS Management (Admin)
### Community 982 - "Community 982"
Cohesion: 0.67
Nodes (3): Errors, POST `/api/v1/sms/send` — ⛔ غیرفعال (Deprecated), Response `422` (همیشه)
### Community 984 - "Community 984"
Cohesion: 0.50
Nodes (4): GET /api/v1/appointment-settings/slots — دریافت اسلات‌های خالی, POST /api/v1/appointment-settings/holidays — ثبت تعطیلی (فقط ادمین), POST /api/v1/appointment-settings/overrides — ثبت Override توسط دکتر, Task-09: API تنظیمات نوبت
@@ -4015,10 +4018,6 @@ Nodes (5): Errors, PATCH `/api/v1/clinic-pro/doctor-address/{id}`, Path Paramete
Cohesion: 0.40
Nodes (5): DELETE `/api/v1/billing/tenant-insurances/{uuid}`, GET `/api/v1/billing/tenant-insurances`, PATCH `/api/v1/billing/tenant-insurances/{uuid}`, POST `/api/v1/billing/tenant-insurances`, TenantInsurance — قراردادهای بیمه‌ی tenant (فاز ۱ سیستم صورتحساب)
### Community 1013 - "Community 1013"
Cohesion: 0.40
Nodes (4): license, overrides, lodash, private
### Community 1015 - "Community 1015"
Cohesion: 0.50
Nodes (4): DELETE `/api/v1/doctor/{uuid}`, Errors, Path Parameters, Response `200`
@@ -4075,10 +4074,6 @@ Nodes (4): GET `/api/v1/insurance-pricing`, Query Parameters, Response `200`, خ
Cohesion: 0.50
Nodes (4): PUT `/api/v1/insurance-pricing`, Request Body, Response `200`, خطاها
### Community 1032 - "Community 1032"
Cohesion: 0.50
Nodes (3): Altcha(), AltchaProps, IntrinsicElements
### Community 1033 - "Community 1033"
Cohesion: 0.67
Nodes (3): GET `/api/v1/insurances`, Query Parameters, Response `200`
@@ -4090,22 +4085,22 @@ Nodes (3): POST `/api/v1/admin/insurance/{id}/upload-logo`, Request, Response `2
## Knowledge Gaps
- **5317 isolated node(s):** `PORT`, `ROLES`, `[cmd, ...argv]`, `positional`, `opts` (+5312 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **237 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
- **242 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
- **Why does `Altcha` connect `Community 367` to `Community 1032`, `Community 485`?**
- **Why does `Altcha` connect `Community 367` to `Community 485`?**
_High betweenness centrality (0.116) - this node is a cross-community bridge._
- **Why does `SiteConfigRepository` connect `Community 451` to `Community 704`, `Community 608`, `Community 485`, `Community 677`, `Community 169`, `Community 205`, `Community 15`, `Community 367`, `Community 881`, `Community 693`, `Community 759`, `Community 637`, `Community 254`?**
- **Why does `SiteConfigRepository` connect `Community 451` to `Community 704`, `Community 608`, `Community 485`, `Community 421`, `Community 677`, `Community 169`, `Community 205`, `Community 15`, `Community 367`, `Community 881`, `Community 759`, `Community 637`, `Community 254`?**
_High betweenness centrality (0.106) - this node is a cross-community bridge._
- **Why does `ApiTestCase` connect `Community 86` to `Community 0`, `Community 531`, `Community 534`, `Community 535`, `Community 538`, `Community 539`, `Community 541`, `Community 562`, `Community 565`, `Community 574`, `Community 575`, `Community 583`, `Community 594`, `Community 82`, `Community 609`, `Community 633`, `Community 640`, `Community 646`, `Community 652`, `Community 658`, `Community 659`, `Community 685`, `Community 690`, `Community 697`, `Community 704`, `Community 710`, `Community 715`, `Community 717`, `Community 719`, `Community 733`, `Community 230`, `Community 743`, `Community 744`, `Community 748`, `Community 765`, `Community 775`, `Community 779`, `Community 784`, `Community 791`, `Community 804`, `Community 300`, `Community 826`, `Community 828`, `Community 318`, `Community 837`, `Community 840`, `Community 851`, `Community 854`, `Community 856`, `Community 871`, `Community 877`, `Community 887`, `Community 907`, `Community 403`, `Community 917`, `Community 918`, `Community 920`, `Community 921`, `Community 927`, `Community 928`, `Community 421`, `Community 936`, `Community 424`, `Community 431`, `Community 943`, `Community 953`, `Community 442`, `Community 954`, `Community 445`, `Community 959`, `Community 451`, `Community 455`, `Community 968`, `Community 971`, `Community 978`, `Community 983`, `Community 480`, `Community 482`, `Community 483`, `Community 484`, `Community 486`, `Community 1003`, `Community 492`, `Community 494`, `Community 497`?**
- **Why does `ApiTestCase` connect `Community 86` to `Community 0`, `Community 16`, `Community 531`, `Community 534`, `Community 535`, `Community 538`, `Community 539`, `Community 541`, `Community 562`, `Community 565`, `Community 59`, `Community 574`, `Community 575`, `Community 578`, `Community 583`, `Community 594`, `Community 82`, `Community 609`, `Community 633`, `Community 640`, `Community 646`, `Community 652`, `Community 658`, `Community 659`, `Community 685`, `Community 690`, `Community 697`, `Community 704`, `Community 710`, `Community 715`, `Community 717`, `Community 719`, `Community 730`, `Community 743`, `Community 744`, `Community 748`, `Community 765`, `Community 766`, `Community 768`, `Community 775`, `Community 779`, `Community 784`, `Community 791`, `Community 804`, `Community 294`, `Community 300`, `Community 826`, `Community 828`, `Community 318`, `Community 837`, `Community 840`, `Community 851`, `Community 854`, `Community 856`, `Community 871`, `Community 887`, `Community 907`, `Community 403`, `Community 917`, `Community 918`, `Community 920`, `Community 921`, `Community 927`, `Community 928`, `Community 421`, `Community 936`, `Community 424`, `Community 431`, `Community 943`, `Community 442`, `Community 954`, `Community 445`, `Community 959`, `Community 451`, `Community 963`, `Community 455`, `Community 968`, `Community 971`, `Community 978`, `Community 983`, `Community 480`, `Community 482`, `Community 483`, `Community 484`, `Community 486`, `Community 492`, `Community 497`?**
_High betweenness centrality (0.057) - this node is a cross-community bridge._
- **What connects `PORT`, `ROLES`, `[cmd, ...argv]` to the rest of the system?**
_5317 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
_Cohesion score 0.06073871409028728 - nodes in this community are weakly interconnected._
- **Should `Community 1` be split into smaller, more focused modules?**
_Cohesion score 0.0277750418595489 - nodes in this community are weakly interconnected._
_Cohesion score 0.05573770491803279 - nodes in this community are weakly interconnected._
- **Should `Community 2` be split into smaller, more focused modules?**
_Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._