feat(admin): name the tab for what it shows, prefill the patient, paginate and search
The tab was called 'نوبتهای بعدی' but shows the whole course — finished sessions with their recorded readings as much as upcoming ones. It is 'دورههای درمان' now. Booking from a session still made the user search for a patient the page already had open. The plan response carries the patient's national code (from the profile, falling back to the user — the same COALESCE PatientController uses, because users.national_code is routinely empty), and the modal takes a patient prop that seeds the lookup and hides the search step. The old 'بیمار یافت شد' card is suppressed in that mode; saying it twice is noise. Sessions are now searchable and paged. A protocol allows up to 60 steps and a patient can hold several courses, so an unbounded list was only ever going to work for the small cases. Search filters on what the card actually shows — service, staff, status, session number, area names — and runs in the page, since /plan already returns the whole course and a round trip would add latency and nothing else. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -296,6 +296,10 @@ single-session again. Idempotent: deleting a service that has no protocol still
|
||||
| `is_estimate` | `false` یعنی به واقعیتی گره خورده، `true` یعنی محاسبهٔ لحظهٔ نمایش |
|
||||
| `areas[]` | نواحی با `parameters` (خواندههای دستگاه)، `resource`، `note`، زمانها |
|
||||
|
||||
`case.patient_national_code` هم میآید: از پروفایل و در نبودش از کاربر (همان COALESCE
|
||||
که `PatientController` میکند). فرم ثبت نوبت با آن بیمار را از پیش پر میکند تا منشی
|
||||
کسی را که همینجا معلوم است دوباره جستجو نکند.
|
||||
|
||||
پاسخ یک `resource` هم دارد: دستگاهی که جلسهٔ قبلِ همین دوره رویش انجام شده
|
||||
(`NextSessionSlotFinder::preferredResource`). فرم ثبت نوبت بدونش کار نمیکند — سرویسِ
|
||||
دوره روی تقویم منبع رزرو میشود نه روی برنامهٔ پزشک. `null` یعنی هنوز هیچ جلسهای روی
|
||||
|
||||
Reference in New Issue
Block a user