معرفی پروژه

پروژه سپاس مادران: سایت معرفی و جذب بیمار + پنل مدیریت و حسابداری کلینیک کاردرمانی.

نمودار مورد کاربرد (Use Case)

بازیگران سیستم

بازدیدکننده عمومی منشی / کاربر سیستم مدیر کلینیک کاربر دارای دسترسی مالی
بازیگرتوضیحنمونه دسترسی
بازدیدکننده عمومیبدون ورود؛ از سایت معرفی استفاده می‌کندمشاهده سایت، درخواست مشاوره، ثبت نظر، غربالگری
منشی / کاربرکاربر احراز هویت‌شده با دسترسی عملیاتیبیماران، درمانگران، ویزیت، برنامه، پیگیری مشاوره
مدیر کلینیککاربر با نقش مدیر (is_admin)همه دسترسی‌های منشی + تأیید/رد نظرات
کاربر مالیکاربر با دسترسی مالی (is_show_info_money)گزارشات مالی و نمودار مالی داشبورد

نمودار Use Case

flowchart LR subgraph Public["سایت معرفی و جذب بیمار"] UC1["مشاهده صفحه معرفی"] UC2["ثبت درخواست مشاوره"] UC3["ثبت نظر والدین"] UC4["انجام تست غربالگری"] end subgraph Panel["پنل مدیریت و حسابداری"] UC5["ورود / خروج"] UC6["مشاهده داشبورد"] UC7["مدیریت بیماران"] UC8["مدیریت درمانگران"] UC9["ثبت و ویرایش ویزیت"] UC10["برنامه ویزیت‌ها"] UC11["پیگیری درخواست مشاوره"] UC12["تأیید نظرات"] UC13["گزارش مالی"] UC14["پیگیری غربالگری"] end A1(("بازدیدکننده\nعمومی")) A2(("منشی /\nکاربر")) A3(("مدیر\nکلینیک")) A4(("کاربر\nمالی")) A1 --> UC1 A1 --> UC2 A1 --> UC3 A1 --> UC4 A2 --> UC5 A2 --> UC6 A2 --> UC7 A2 --> UC8 A2 --> UC9 A2 --> UC10 A2 --> UC11 A2 --> UC14 A3 --> UC5 A3 --> UC12 A3 -.-> UC6 A3 -.-> UC7 A3 -.-> UC9 A4 --> UC13 A4 -.-> UC6

مستندسازی جریان رخداد

جریان اصلی جریان فرعی / جایگزین جریان خطا / استثنا

UC-02 — ثبت درخواست مشاوره از سایت

بازیگر اصلی: بازدیدکننده عمومی
پیش‌شرط‌ها (Preconditions)
  1. سامانه در دسترس است و صفحه معرفی کلینیک قابل مشاهده است.
  2. فرم «درخواست مشاوره» در صفحه معرفی فعال است.
  3. بازدیدکننده نیاز به ورود به سیستم ندارد.
پس‌شرط‌ها (Postconditions)
  1. یک رکورد «درخواست مشاوره» در پایگاه‌داده ذخیره شده است.
  2. وضعیت تماس درخواست برابر «تماس نگرفته» است.
  3. درخواست در پنل منشی قابل مشاهده و پیگیری است.
  4. پیام موفقیت برای بازدیدکننده نمایش داده شده است.
جریان اصلی رخداد (Basic / Main Flow)
1
اصلی بازدیدکننده صفحه معرفی کلینیک را باز می‌کند.
2
اصلی به بخش «درخواست مشاوره» می‌رود.
3
اصلی فیلدهای نام، شماره تماس و شرح مشکل را تکمیل می‌کند.
4
اصلی دکمه ارسال فرم را می‌زند. ← اگر فیلد ناقص باشد → E1 · اگر محدودیت نرخ رخ دهد → E2
5
اصلی سیستم داده‌ها را اعتبارسنجی می‌کند. ← اگر نامعتبر باشد → E1
6
اصلی سیستم رکورد درخواست مشاوره را با وضعیت «تماس نگرفته» ذخیره می‌کند.
7
اصلی پیام موفقیت به بازدیدکننده نمایش داده می‌شود و مورد کاربرد پایان می‌یابد.
جریان فرعی / جایگزین (Alternative Flow)
A1 انصراف از ارسال — انشعاب از گام ۳
  1. بازدیدکننده بدون ارسال فرم، صفحه را ترک می‌کند یا بخش دیگری را باز می‌کند.
  2. هیچ رکوردی ذخیره نمی‌شود.
  3. مورد کاربرد بدون موفقیت پایان می‌یابد.
A2 ویرایش قبل از ارسال — انشعاب از گام ۳
  1. بازدیدکننده مقادیر واردشده را اصلاح می‌کند.
  2. جریان به گام ۴ بازمی‌گردد.
جریان خطا / استثنا (Exception / Error Flow)
E1 اعتبارسنجی ناموفق — انشعاب از گام ۴ یا ۵
  1. سیستم فیلدهای خالی یا شماره تماس نامعتبر را تشخیص می‌دهد.
  2. پیام خطای اعتبارسنجی کنار فیلدها نمایش داده می‌شود.
  3. رکوردی ذخیره نمی‌شود.
  4. جریان به گام ۳ بازمی‌گردد تا کاربر داده را اصلاح کند.
E2 محدودیت نرخ ارسال — انشعاب از گام ۴
  1. سیستم تشخیص می‌دهد تعداد ارسال از یک IP بیش از حد مجاز است.
  2. درخواست رد می‌شود و پیام محدودیت نمایش داده می‌شود.
  3. مورد کاربرد ناموفق پایان می‌یابد.
E3 خطای ذخیره‌سازی — انشعاب از گام ۶
  1. ذخیره در پایگاه‌داده با شکست مواجه می‌شود.
  2. پیام خطای سیستمی نمایش داده می‌شود.
  3. مورد کاربرد ناموفق پایان می‌یابد.

UC-05 — ورود به سیستم و مشاهده داشبورد

منشی / کاربر مدیر
پیش‌شرط‌ها
  1. کاربر از قبل در سیستم تعریف شده است (شماره موبایل و رمز معتبر دارد).
  2. صفحه ورود در دسترس است.
  3. IP کاربر قفل نشده است.
پس‌شرط‌ها
  1. نشست (Session) برای کاربر ایجاد شده است.
  2. کاربر وارد داشبورد شده است.
  3. آمار روز و اعلان‌های مربوطه نمایش داده شده است.
جریان اصلی رخداد
1
اصلی کاربر صفحه ورود را باز می‌کند.
2
اصلی شماره موبایل و رمز عبور را وارد می‌کند.
3
اصلی دکمه ورود را می‌زند. ← اگر اطلاعات اشتباه باشد → E1 · اگر IP قفل باشد → E2
4
اصلی سیستم کاربر را در پایگاه‌داده پیدا و رمز را بررسی می‌کند.
5
اصلی سیستم نشست کاربری می‌سازد.
6
اصلی کاربر به داشبورد هدایت می‌شود. ← اگر دسترسی مالی داشته باشد → A1
7
اصلی سیستم آمار روز، اعلان مشاوره و موارد مرتبط را نمایش می‌دهد و مورد کاربرد پایان می‌یابد.
جریان فرعی / جایگزین
A1 نمایش بخش مالی داشبورد — انشعاب از گام ۶
  1. اگر کاربر پرچم دسترسی مالی داشته باشد، نمودار/خلاصه مالی نیز در داشبورد نمایش داده می‌شود.
  2. جریان به گام ۷ ادامه می‌یابد.
A2 کاربر از قبل وارد شده — انشعاب از گام ۱
  1. اگر نشست فعال وجود داشته باشد، کاربر مستقیم به داشبورد هدایت می‌شود.
  2. جریان به گام ۷ می‌رود.
جریان خطا / استثنا
E1 نام کاربری یا رمز اشتباه — انشعاب از گام ۳ یا ۴
  1. سیستم ورود را رد می‌کند.
  2. پیام «اطلاعات ورود نادرست است» نمایش داده می‌شود.
  3. نشست ساخته نمی‌شود.
  4. جریان به گام ۲ بازمی‌گردد. پس از ۵ شکست متوالی → E2
E2 قفل موقت IP — انشعاب از گام ۳
  1. سیستم به دلیل تلاش‌های ناموفق متوالی، IP را موقتاً قفل می‌کند.
  2. صفحه قفل / مسدود نمایش داده می‌شود.
  3. مورد کاربرد ناموفق پایان می‌یابد.
E3 کاربر غیرفعال — انشعاب از گام ۴
  1. سیستم تشخیص می‌دهد حساب کاربری غیرفعال است.
  2. ورود رد و پیام مناسب نمایش داده می‌شود.
  3. مورد کاربرد ناموفق پایان می‌یابد.

UC-07 — ثبت بیمار جدید

بازیگر اصلی: منشی / کاربر سیستم
پیش‌شرط‌ها
  1. کاربر وارد سیستم شده است (نشست فعال دارد).
  2. کاربر به بخش مدیریت بیماران دسترسی دارد.
  3. کد ملی بیمار جدید هنوز در سیستم ثبت نشده است.
پس‌شرط‌ها
  1. رکورد بیمار در پایگاه‌داده ذخیره شده است.
  2. کد ملی بیمار یکتا ثبت شده است.
  3. بیمار در لیست بیماران قابل مشاهده است.
  4. بیمار برای ثبت ویزیت قابل انتخاب است.
جریان اصلی رخداد
1
اصلی منشی از منوی کناری وارد «مدیریت بیماران» می‌شود. ← اگر وارد نباشد → E1
2
اصلی گزینه «بیمار جدید» را انتخاب می‌کند.
3
اصلی فرم ثبت بیمار نمایش داده می‌شود.
4
اصلی نام، کد ملی، تاریخ تولد، نام بیماری، تلفن، آدرس و معرف را وارد می‌کند. ← انصراف → A1
5
اصلی دکمه «ثبت بیمار» را می‌زند.
6
اصلی سیستم اعتبارسنجی فیلدهای اجباری و یکتایی کد ملی را انجام می‌دهد. ← فیلد ناقص → E2 · کد ملی تکراری → E3
7
اصلی سیستم رکورد بیمار را ذخیره می‌کند.
8
اصلی صفحه موفقیت نمایش داده می‌شود و مورد کاربرد پایان می‌یابد.
جریان فرعی / جایگزین
A1 انصراف از ثبت — انشعاب از گام ۴
  1. منشی دکمه بازگشت / انصراف را می‌زند یا از منو خارج می‌شود.
  2. هیچ بیمار جدیدی ذخیره نمی‌شود.
  3. مورد کاربرد بدون موفقیت پایان می‌یابد.
A2 اصلاح داده پس از خطای اعتبارسنجی — انشعاب از E2 یا E3
  1. منشی مقادیر فرم را اصلاح می‌کند.
  2. جریان به گام ۵ بازمی‌گردد.
جریان خطا / استثنا
E1 کاربر وارد نشده — انشعاب از گام ۱
  1. سیستم کاربر را به صفحه ورود هدایت می‌کند.
  2. مورد کاربرد جاری متوقف می‌شود تا ورود انجام شود.
E2 فیلدهای اجباری ناقص — انشعاب از گام ۶
  1. سیستم فیلدهای خالی/نامعتبر را مشخص می‌کند.
  2. پیام خطا نمایش داده می‌شود و رکورد ذخیره نمی‌شود.
  3. جریان به گام ۴ بازمی‌گردد.
E3 کد ملی تکراری — انشعاب از گام ۶
  1. سیستم وجود بیمار با همان کد ملی را تشخیص می‌دهد.
  2. پیام خطای یکتایی نمایش داده می‌شود.
  3. رکورد جدید ذخیره نمی‌شود و جریان به گام ۴ بازمی‌گردد.
E4 خطای پایگاه‌داده — انشعاب از گام ۷
  1. ذخیره ناموفق است.
  2. پیام خطای سیستمی نمایش داده می‌شود و مورد کاربرد ناموفق پایان می‌یابد.

UC-09 — ثبت ویزیت جدید

بازیگر اصلی: منشی / کاربر سیستم
پیش‌شرط‌ها
  1. کاربر وارد سیستم شده است.
  2. حداقل یک بیمار در سیستم ثبت شده است.
  3. حداقل یک درمانگر فعال در سیستم وجود دارد.
پس‌شرط‌ها
  1. رکورد ویزیت ذخیره شده است.
  2. ویزیت به یک بیمار و یک درمانگر متصل است.
  3. مبالغ و وضعیت پرداخت ثبت شده است.
  4. ویزیت در برنامه ویزیت‌ها (و در صورت دسترسی، گزارش مالی) قابل مشاهده است.
جریان اصلی رخداد
1
اصلی منشی از منو وارد «ویزیت جدید» می‌شود. ← اگر وارد نباشد → E1
2
اصلی سیستم فرم ویزیت و لیست بیماران/درمانگران را نمایش می‌دهد. ← اگر لیست خالی باشد → E2
3
اصلی منشی بیمار را انتخاب می‌کند.
4
اصلی منشی درمانگر را انتخاب می‌کند.
5
اصلی نوع درمان، تاریخ و ساعت، مبلغ کل، سهم درمانگر، دریافتی از بیمار، شیوه پرداخت، وضعیت پرداخت و وضعیت انجام را وارد می‌کند. ← انصراف → A1
6
اصلی دکمه ثبت را می‌زند.
7
اصلی سیستم اعتبارسنجی می‌کند. ← بیمار/درمانگر خالی → E3 · مبلغ نامعتبر → E4
8
اصلی سیستم ویزیت را ذخیره و نام/کد ملی بیمار و درمانگر را همگام می‌کند.
9
اصلی پیام موفقیت نمایش داده می‌شود و مورد کاربرد پایان می‌یابد.
جریان فرعی / جایگزین
A1 انصراف از ثبت ویزیت — انشعاب از گام ۵
  1. منشی از فرم خارج می‌شود.
  2. ویزیتی ذخیره نمی‌شود و مورد کاربرد بدون موفقیت پایان می‌یابد.
A2 ثبت ویزیت با وضعیت پرداخت‌نشده — انشعاب از گام ۵
  1. منشی وضعیت پرداخت را «پرداخت نشده» و/یا شیوه پرداخت را «پرداخت نشده» انتخاب می‌کند.
  2. جریان به گام ۶ ادامه می‌یابد و ویزیت با همان وضعیت ذخیره می‌شود.
A3 اصلاح داده پس از خطا — انشعاب از E3 یا E4
  1. منشی فیلدهای نادرست را اصلاح می‌کند.
  2. جریان به گام ۶ بازمی‌گردد.
جریان خطا / استثنا
E1 عدم احراز هویت — انشعاب از گام ۱
  1. کاربر به صفحه ورود هدایت می‌شود.
  2. مورد کاربرد متوقف می‌شود.
E2 نبود بیمار یا درمانگر — انشعاب از گام ۲
  1. سیستم نمی‌تواند لیست معتبر ارائه دهد.
  2. پیام راهنما برای ثبت بیمار/درمانگر نمایش داده می‌شود.
  3. مورد کاربرد ناموفق پایان می‌یابد یا منشی ابتدا UC-07 را انجام می‌دهد.
E3 بیمار یا درمانگر انتخاب نشده — انشعاب از گام ۷
  1. سیستم خطای فیلد اجباری نمایش می‌دهد.
  2. ویزیت ذخیره نمی‌شود و جریان به گام ۳ یا ۴ بازمی‌گردد.
E4 مبالغ نامعتبر — انشعاب از گام ۷
  1. سیستم مقدار منفی/غیرعددی را رد می‌کند.
  2. پیام خطا نمایش داده می‌شود و جریان به گام ۵ بازمی‌گردد.
E5 خطای ذخیره‌سازی — انشعاب از گام ۸
  1. ذخیره ویزیت شکست می‌خورد.
  2. پیام خطای سیستمی نمایش داده می‌شود و مورد کاربرد ناموفق پایان می‌یابد.

UC-12 — تأیید / رد نظر والدین

بازیگر اصلی: مدیر کلینیک
پیش‌شرط‌ها
  1. کاربر با نقش مدیر وارد سیستم شده است.
  2. حداقل یک نظر با وضعیت «در انتظار تأیید» وجود دارد. (در غیر این صورت → A3)
پس‌شرط‌ها
  1. در صورت تأیید: نظر تأییدشده است و در سایت معرفی نمایش داده می‌شود.
  2. در صورت رد: نظر از سیستم حذف شده است و در سایت نمایش داده نمی‌شود.
  3. لیست نظرات در انتظار به‌روز شده است.
جریان اصلی رخداد (تأیید نظر)
1
اصلی مدیر وارد بخش «تأیید نظرات» می‌شود. ← اگر مدیر نباشد → E1 · اگر وارد نباشد → E2
2
اصلی سیستم لیست نظرات در انتظار تأیید را نمایش می‌دهد. ← اگر لیست خالی باشد → A3
3
اصلی مدیر یک نظر را انتخاب و متن آن را می‌خواند.
4
اصلی مدیر دکمه «تأیید» را می‌زند. ← اگر بخواهد رد کند → A1
5
اصلی سیستم وضعیت نظر را «تأییدشده» می‌کند و زمان تأیید را ثبت می‌کند.
6
اصلی نظر از لیست انتظار خارج و در سایت عمومی قابل نمایش می‌شود.
7
اصلی مورد کاربرد با موفقیت پایان می‌یابد. ← ادامه بررسی نظر بعدی → A2
جریان فرعی / جایگزین
A1 رد نظر — انشعاب از گام ۴
  1. مدیر دکمه رد/حذف را می‌زند.
  2. سیستم رکورد نظر را حذف می‌کند.
  3. نظر در سایت عمومی نمایش داده نمی‌شود.
  4. لیست نظرات به‌روز می‌شود و مورد کاربرد پایان می‌یابد (یا → A2).
A2 بررسی نظر بعدی — انشعاب از گام ۷ یا انتهای A1
  1. اگر هنوز نظر در انتظار وجود دارد، مدیر نظر بعدی را انتخاب می‌کند.
  2. جریان به گام ۳ بازمی‌گردد.
A3 نبود نظر در انتظار — انشعاب از گام ۲
  1. سیستم پیام «نظری در انتظار تأیید نیست» را نمایش می‌دهد.
  2. مورد کاربرد بدون تغییر داده پایان می‌یابد.
جریان خطا / استثنا
E1 کاربر مدیر نیست — انشعاب از گام ۱
  1. سیستم دسترسی را رد می‌کند.
  2. عملیات تأیید/رد انجام نمی‌شود و مورد کاربرد ناموفق پایان می‌یابد.
E2 کاربر وارد نشده — انشعاب از گام ۱
  1. هدایت به صفحه ورود انجام می‌شود.
  2. مورد کاربرد متوقف می‌شود.
E3 خطای ذخیره‌سازی/حذف — انشعاب از گام ۵ یا A1
  1. عملیات پایگاه‌داده شکست می‌خورد.
  2. پیام خطا نمایش داده می‌شود و وضعیت نظر تغییر نمی‌کند.

UC-13 — مشاهده گزارش مالی

بازیگر اصلی: کاربر دارای دسترسی مالی
پیش‌شرط‌ها
  1. کاربر وارد سیستم شده است.
  2. کاربر پرچم دسترسی مالی دارد.
  3. حداقل ممکن است ویزیتی در سیستم وجود داشته باشد (اختیاری برای اجرای مورد کاربرد).
پس‌شرط‌ها
  1. گزارش مطابق فیلتر نمایش داده شده است.
  2. جمع مبلغ ویزیت، سهم درمانگر و دریافتی از بیمار محاسبه و نمایش داده شده است.
  3. هیچ تغییری روی داده‌های ویزیت اعمال نشده است (فقط خواندن).
جریان اصلی رخداد
1
اصلی کاربر از منو وارد «گزارشات مالی» می‌شود. ← اگر وارد نباشد → E1 · اگر دسترسی مالی نداشته باشد → E2
2
اصلی سیستم صفحه گزارش و فیلترها را نمایش می‌دهد.
3
اصلی کاربر فیلترهای موردنظر (تاریخ، درمانگر، بیمار، وضعیت پرداخت و ...) را تنظیم می‌کند. ← بدون فیلتر → A1 · پاک کردن فیلتر → A2
4
اصلی کاربر دکمه «اعمال فیلتر» را می‌زند.
5
اصلی سیستم ویزیت‌های منطبق را واکشی و جمع مبالغ را محاسبه می‌کند. ← نتیجه خالی → A3 · خطای پرس‌وجو → E3
6
اصلی جدول ویزیت‌ها و کارت‌های خلاصه مالی نمایش داده می‌شود.
7
اصلی کاربر گزارش را مشاهده می‌کند و مورد کاربرد پایان می‌یابد. ← ویرایش یک ویزیت از جدول → A4
جریان فرعی / جایگزین
A1 مشاهده بدون فیلتر خاص — انشعاب از گام ۳
  1. کاربر بدون تغییر فیلترها یا با فیلتر پیش‌فرض ادامه می‌دهد.
  2. جریان به گام ۴ یا مستقیم به گام ۵ می‌رود.
A2 پاک کردن فیلتر — انشعاب از گام ۳
  1. کاربر دکمه پاک کردن فیلتر را می‌زند.
  2. فیلترها به حالت اولیه برمی‌گردند و جریان به گام ۴/۵ ادامه می‌یابد.
A3 نتیجه خالی — انشعاب از گام ۵
  1. سیستم پیامی مانند «رکوردی یافت نشد» نمایش می‌دهد.
  2. جمع مبالغ صفر یا خالی است.
  3. کاربر می‌تواند فیلتر را تغییر دهد (بازگشت به گام ۳) یا خارج شود.
A4 رفتن به ویرایش ویزیت — انشعاب از گام ۷
  1. کاربر روی ویرایش یک ردیف می‌زند.
  2. سیستم به صفحه ویرایش ویزیت هدایت می‌کند (مورد کاربرد جداگانه).
  3. مورد کاربرد گزارش مالی در این نقطه پایان می‌یابد یا بعداً از سر گرفته می‌شود.
جریان خطا / استثنا
E1 کاربر وارد نشده — انشعاب از گام ۱
  1. هدایت به صفحه ورود انجام می‌شود.
  2. گزارش نمایش داده نمی‌شود.
E2 نبود دسترسی مالی — انشعاب از گام ۱
  1. سیستم منوی مالی را نشان نمی‌دهد یا دسترسی را رد می‌کند.
  2. کاربر به داشبورد/صفحه مجاز هدایت می‌شود.
  3. مورد کاربرد ناموفق پایان می‌یابد.
E3 خطای واکشی داده — انشعاب از گام ۵
  1. پرس‌وجوی پایگاه‌داده شکست می‌خورد.
  2. پیام خطای سیستمی نمایش داده می‌شود.
  3. مورد کاربرد ناموفق پایان می‌یابد.
E4 بازه تاریخ نامعتبر — انشعاب از گام ۴
  1. اگر تاریخ شروع بعد از تاریخ پایان باشد، سیستم خطا می‌دهد.
  2. گزارش ساخته نمی‌شود و جریان به گام ۳ بازمی‌گردد.

UC-11 — پیگیری درخواست مشاوره (علامت تماس گرفته‌شد)

بازیگر اصلی: منشی / کاربر سیستم
پیش‌شرط‌ها
  1. کاربر وارد سیستم شده است.
  2. حداقل یک درخواست مشاوره با وضعیت «تماس نگرفته» وجود دارد. (در غیر این صورت → A2)
پس‌شرط‌ها
  1. وضعیت درخواست به «تماس گرفته شده» تغییر کرده است.
  2. زمان تماس ثبت شده است.
  3. درخواست از لیست جدید/در انتظار خارج شده است.
جریان اصلی رخداد
1
اصلی منشی وارد «درخواست‌های مشاوره» می‌شود. ← اگر وارد نباشد → E1
2
اصلی سیستم لیست درخواست‌های جدید را نمایش می‌دهد. ← لیست خالی → A2
3
اصلی منشی یک درخواست را انتخاب و اطلاعات تماس را می‌بیند.
4
اصلی منشی با بیمار تماس می‌گیرد (خارج از سیستم).
5
اصلی دکمه «تماس گرفته شد» را می‌زند. ← انصراف از تأیید → A1
6
اصلی سیستم پنجره تأیید را نمایش می‌دهد و منشی تأیید می‌کند.
7
اصلی سیستم وضعیت را به‌روز و زمان تماس را ذخیره می‌کند. ← خطای ذخیره → E2
8
اصلی لیست به‌روز می‌شود و مورد کاربرد پایان می‌یابد.
جریان فرعی / جایگزین
A1 انصراف از تأیید تماس — انشعاب از گام ۵ یا ۶
  1. منشی تأیید را لغو می‌کند.
  2. وضعیت درخواست تغییر نمی‌کند.
  3. جریان به گام ۳ بازمی‌گردد یا مورد کاربرد پایان می‌یابد.
A2 نبود درخواست جدید — انشعاب از گام ۲
  1. پیام «همه درخواست‌ها پیگیری شده‌اند» نمایش داده می‌شود.
  2. مورد کاربرد بدون تغییر داده پایان می‌یابد.
جریان خطا / استثنا
E1 عدم ورود — انشعاب از گام ۱
  1. هدایت به صفحه ورود.
  2. مورد کاربرد متوقف می‌شود.
E2 خطای به‌روزرسانی وضعیت — انشعاب از گام ۷
  1. ذخیره وضعیت شکست می‌خورد.
  2. پیام خطا نمایش داده می‌شود و وضعیت قبلی حفظ می‌شود.

نمودار کلاس (Class Diagram)

دامنه اصلی: کاربر، بیمار، درمانگر، ویزیت

classDiagram direction RTL class UserSys["کاربر سیستم"] { +شماره موبایل +نام کامل +کد ملی +مدیر است؟ +دسترسی مالی دارد؟ +فعال است؟ } class Patient["بیمار"] { +نام و نام خانوادگی +کد ملی +تاریخ تولد +نام بیماری +شماره تماس +آدرس +معرف } class Therapist["درمانگر"] { +نام و نام خانوادگی +کد ملی +تخصص +کد نظام پزشکی +شماره تماس +سابقه کاری +وضعیت فعال } class VisitCls["ویزیت"] { +نوع درمان +تاریخ و ساعت ویزیت +مبلغ کل ویزیت +سهم درمانگر +دریافتی از بیمار +شیوه پرداخت +وضعیت پرداخت +وضعیت انجام +توضیحات } Patient "1" --> "*" VisitCls : دارد Therapist "1" --> "*" VisitCls : انجام میدهد

سایت معرفی و جذب بیمار

classDiagram direction RTL class ConsultLead["درخواست مشاوره"] { +نام کامل +شماره تماس +شرح مشکل +تماس گرفته شده؟ +زمان تماس +زمان ثبت } class ParentRev["نظر والدین"] { +نام کامل +خلاصه نظر +شرح مشکل +میزان بهبود +ناشناس است؟ +تأیید شده؟ +زمان تأیید } class SiteSet["تنظیمات سایت کلینیک"] { +آدرس +شماره های تماس +لینک نقشه +ساعات کاری +شبکه های اجتماعی } class TeamMem["عضو تیم"] { +نام +سمت +عکس +ترتیب نمایش } SiteSet ..> TeamMem : مدیریت محتوا

غربالگری

classDiagram direction RTL class ScrTest["تست غربالگری"] { +شناسه کوتاه +عنوان تست +فعال است؟ } class ScrPart["شرکت کننده"] { +نام کودک +نام والد +سن به ماه +جنسیت +شماره تماس } class ScrSess["جلسه تست"] { +شناسه یکتا +وضعیت جلسه +پاسخ ها } class ScrRes["نتیجه تست"] { +سطح ریسک +درصد احتمال +بازبینی شده؟ +فایل PDF } class ScrCons["درخواست مشاوره پس از تست"] { +وضعیت پیگیری +زمان ثبت } ScrPart "1" --> "*" ScrSess : شرکت میکند ScrTest "1" --> "*" ScrSess : مربوط به ScrSess "1" --> "0..1" ScrRes : تولید میکند ScrRes "1" --> "0..1" ScrCons : منجر به

نمودار توالی (Sequence Diagram)

۱) ثبت درخواست مشاوره از سایت معرفی

sequenceDiagram autonumber actor V as بازدیدکننده participant UI as صفحه معرفی participant C as کنترلر مشاوره participant DB as پایگاه‌داده V->>UI: باز کردن فرم مشاوره V->>UI: ورود نام، تلفن، شرح مشکل UI->>C: ارسال فرم C->>C: اعتبارسنجی alt معتبر C->>DB: ذخیره درخواست DB-->>C: تأیید C-->>UI: پیام موفقیت UI-->>V: نمایش تأیید else نامعتبر C-->>UI: پیام خطا UI-->>V: نمایش خطا end

۲) ورود و مشاهده داشبورد

sequenceDiagram autonumber actor S as منشی/مدیر participant UI as صفحه ورود participant Auth as احراز هویت participant DB as پایگاه‌داده participant Dash as داشبورد S->>UI: موبایل و رمز UI->>Auth: ارسال اطلاعات Auth->>DB: جستجوی کاربر alt موفق DB-->>Auth: کاربر یافت شد Auth->>Auth: ایجاد نشست Auth-->>Dash: هدایت Dash->>DB: آمار و اعلان‌ها DB-->>Dash: داده Dash-->>S: نمایش داشبورد else ناموفق Auth-->>UI: خطا UI-->>S: نمایش خطا end

۳) ثبت ویزیت جدید

sequenceDiagram autonumber actor S as منشی participant UI as فرم ویزیت participant C as کنترلر ویزیت participant DB as پایگاه‌داده S->>UI: باز کردن ویزیت جدید UI->>DB: لیست بیمار و درمانگر DB-->>UI: داده انتخابی S->>UI: انتخاب و وارد کردن مبالغ UI->>C: ارسال فرم C->>C: اعتبارسنجی C->>DB: ذخیره ویزیت DB-->>C: تأیید C-->>UI: موفقیت UI-->>S: ثبت انجام شد

۴) تأیید نظر والدین

sequenceDiagram autonumber actor A as مدیر participant UI as تأیید نظرات participant C as کنترلر نظرات participant DB as پایگاه‌داده participant Web as سایت عمومی A->>UI: مشاهده نظرات در انتظار UI->>DB: واکشی نظرات تأییدنشده DB-->>UI: لیست alt تأیید A->>C: تأیید C->>DB: تأییدشده کردن نظر DB-->>C: ذخیره Web->>DB: نمایش نظرات تأییدشده else رد A->>C: رد C->>DB: حذف نظر DB-->>C: حذف شد end

۵) گزارش مالی

sequenceDiagram autonumber actor F as کاربر مالی participant UI as گزارش مالی participant C as کنترلر مالی participant DB as پایگاه‌داده F->>UI: باز کردن گزارش UI->>C: بررسی دسترسی مالی alt دارای دسترسی F->>UI: اعمال فیلتر UI->>C: درخواست گزارش C->>DB: پرس‌وجوی ویزیت‌ها و جمع مبالغ DB-->>C: نتیجه C-->>UI: جدول و خلاصه UI-->>F: مشاهده گزارش else بدون دسترسی C-->>UI: رد دسترسی end