موتور چگونه کار میکند
گام ۱ — Enumerate (فهرستسازی)
تمام ترکیبهای ممکن پزشک، اتاق، بازه زمانی و تخصص از الگوهای دسترسی هفتگی و موجودی اتاق استخراج میشود.
گام ۲ — Filter (فیلتر)
محدودیتهای سخت اعمال میشوند: رزرو دوباره، ناهماهنگی تخصص با مجوز اتاق، ناسازگاری نوع کلینیک، و سرریز ظرفیت ویزیت.
گام ۳ — Score (امتیازدهی)
محدودیتهای نرم — ترجیح پزشک، تطابق تجهیزات، تخصیص سهامدار — در امتیاز هر ترکیب لحاظ میشوند.
گام ۴ — Assign (تخصیص)
الگوریتم ساخت حریصانه بهترین تخصیصها را انتخاب میکند و جستجوی محلی نتیجه را بهبود میدهد.
چهار استراتژی بهینهسازی
| استراتژی | کاربرد |
|---|---|
| حداکثر بهرهوری اتاق | پر کردن اتاقهای خالی و کاهش بیکاری فضا |
| اولویت ترجیح پزشک | رضایت کادر درمان با لحاظ روز و ساعت ترجیحی |
| بهینهسازی درآمد/سهم | همراستایی با مدل مالی و درصد سهم بخش |
| توزیع عادلانه | تعادل بار کاری بین پزشکان و اتاقها |
مدیر یا برنامهریز میتواند بر اساس اولویت هفته استراتژی را انتخاب کند — مثلاً ابتدای فصل بهرهوری اتاق، هفتههای حساس به ترجیح پزشک.
محدودیتهای سخت (Hard Constraints)
- رزرو دوباره: یک پزشک یا اتاق در یک بازه دو بار تخصیص نمییابد
- ناهماهنگی تخصص: تخصص پزشک با مجوز اتاق (اصلی/جایگزین/انحصاری) سازگار نیست
- ناهماهنگی نوع کلینیک: اتاق برای نوع کلینیک مورد نظر مجاز نیست
- سرریز ظرفیت: تعداد ویزیت از ظرفیت محاسبهشده بیشتر است
این موارد در گزارش تداخل قبل از ارسال به مدیر نمایش داده میشوند.
الگوهای دسترسی و تولید برنامه
الگوهای دسترسی هفتگی تکرارشونده (availability templates) از مدیریت پزشکان وارد موتور میشوند. برنامه هفتگی، ماهانه و تاریخی تولید میشود — همه با همان منطق محدودیت.
چرخه عمر برنامه
Draft → Pending Approval → Approved → Published → Archived
- برنامههای تاریخی هرگز بازنویسی نمیشوند (append-only)
- تغییرات پس از انتشار با ثبت دلیل ردیابی میشوند
لینکهای مرتبط
- مدیریت پزشکان — الگوهای دسترسی هفتگی
- مدیریت اتاقها — مجوز تخصص و نوع کلینیک
- برای برنامهریزان · ClinicIQ در برابر زمانبندی دستی
برنامه هفتگی بدون تداخل بسازید — درخواست دمو