سامانه جامع سلامت یک نرمافزار یکپارچه برای مدیریت کلینیکها و مطبهای پزشکی است که با ترکیب رابط کاربری دسکتاپ، رباتهای پیامرسان و هوش مصنوعی پزشکی، فرآیندهای زیر را خودکار میکند:
ثبتنام بیماران، مشاهده سوابق، جستجوی پیشرفته و مدیریت اطلاعات.
ثبت پزشکان، تعیین تخصص، احراز هویت دو مرحلهای و مدیریت نوبتها.
رزرو نوبت توسط بیماران از طریق رباتهای روبیکا و تلگرام با انتخاب پزشک، تاریخ و ساعت.
تحلیل بالینی با استفاده از OpenRouter و موتور آفلاین، تولید تشخیص و نسخه پیشنهادی.
ایجاد فایل PDF حرفهای از ویزیتها با فونت فارسی و هدر اختصاصی.
ارسال خودکار نتایج ویزیت، یادآوری نوبت و چت با پزشک هوشمند از طریق رباتها.
| کتابخانه | کاربرد | نسخه پیشنهادی |
|---|---|---|
ttkbootstrap | طراحی رابط کاربری مدرن با تمهای بوتاسترپ | ≥1.10.1 |
tkinter | فریمورک اصلی ساخت رابط کاربری دسکتاپ | داخلی پایتون |
sqlite3 | دیتابیس سبک و بدون نیاز به سرور | داخلی پایتون |
pillow | پردازش تصاویر (لوگو، آیکونها) | ≥10.0.0 |
jdatetime | تبدیل تاریخ میلادی به شمسی و برعکس | ≥4.1.0 |
arabic_reshaper + python-bidi | اصلاح و راستچینسازی متن فارسی برای PDF | ≥2.1.0 |
reportlab | تولید فایلهای PDF حرفهای | ≥4.0.0 |
rubkey | کتابخانه رسمی ربات روبیکا | ≥1.0.0 |
telebot | ساخت و مدیریت ربات تلگرام | ≥4.12.0 |
requests | ارسال درخواستهای HTTP به APIهای هوش مصنوعی | ≥2.28.0 |
hazm | پردازش زبان فارسی (نرمالسازی و توکنسازی) | ≥0.7.0 |
bcrypt | هش کردن رمزهای عبور برای امنیت بالا | ≥4.0.0 |
threading | اجرای همزمان رباتها و رابط کاربری | داخلی پایتون |
| نام فایل | توضیحات | نقش اصلی |
|---|---|---|
main.py | نقطه ورود برنامه، مدیریت پنجرهها و فرم لاگین | اجرای اصلی |
setup.py | نصب پکیجها و ایجاد دیتابیس اولیه | راهاندازی |
admin_panel.py | پنل مدیریت (پزشکان، بیماران، نوبتها، تنظیمات ربات) | مدیریت |
doctor_panel.py | پنل پزشک (داشبورد، نوبتها، ویزیت هوشمند، گزارش) | ویزیت |
bot.py | ربات روبیکا با منوی شیشهای و رزرو نوبت | ربات روبیکا |
telegram_bot.py | ربات تلگرام با قابلیتهای مشابه و اشتراکگذاری شماره | ربات تلگرام |
ai_engine.py | موتور تحلیل هوشمند بالینی با OpenRouter و قوانین آفلاین | هوش مصنوعی |
avicenna.py | دستیار پزشکی ابنسینا (چت هوشمند با حافظه) | چتبات پزشکی |
pdf_maker.py | تولید گزارش ویزیت به صورت PDF با فونت فارسی | گزارش |
help.py | پنجره راهنمای گرافیکی با اسکرول و افکت محو شدن | راهنما |
🔑 نکته مهم: ورود پزشکان به پنل نیازمند کد تایید دو مرحلهای (2FA) است که از طریق ربات تلگرام یا روبیکا ارسال میشود.
چتبات پزشکی با حافظه مکالمه، پاسخدهی آفلاین و یکپارچهسازی با OpenRouter برای تحلیلهای پیشرفته.
مدیریت پزشکان، بیماران، نوبتها، گزارشات و تنظیمات رباتها با رابط کاربری شیک و حرفهای.
ربات روبیکا و تلگرام با منوی دکمهای، رزرو نوبت، ثبتنام بیماران و ارسال گزارش PDF.
تولید خودکار فایل PDF از ویزیتها با فونت فارسی، هدر اختصاصی و ساختار حرفهای.
هش کردن رمزهای عبور با bcrypt، کپچای ریاضی و احراز هویت دو مرحلهای (2FA) برای پزشکان.
طراحی شده برای ویندوز با پشتیبانی از فونتهای فارسی، گرد کردن گوشهها و حالت تمامصفحه.
| جدول | توضیحات | ستونهای مهم |
|---|---|---|
users | کاربران سیستم (ادمین و پزشک) | username, password (hashed), role |
patients | اطلاعات بیماران | national_code, name, phone, chat_id |
appointments | نوبتهای رزرو شده | patient_id, doctor_id, date, time, status |
checkups | ویزیتهای ثبت شده | patient_id, doctor_id, diagnosis, prescription, ai_analysis |
tokenbot | توکن ربات روبیکا | token |
telegram_bot | توکن ربات تلگرام | token |
doctor_login_codes | کدهای 2FA پزشکان | phone, code, expires_at |
تمام رمزهای عبور با الگوریتم bcrypt هش میشوند که در برابر حملات دیکشنری و جدول رنگینکمان مقاوم است.
در صفحه ورود، یک کپچای ریاضی پویا با خطوط مزاحم و رنگهای تصادفی برای جلوگیری از حملات خودکار نمایش داده میشود.
پزشکان پس از وارد کردن رمز صحیح، باید یک کد ۶ رقمی که از طریق ربات تلگرام یا روبیکا دریافت میکنند را وارد کنند.
تمام فرمها شامل اعتبارسنجی کد ملی، شماره تلفن، سن و فیلدهای اجباری هستند تا از ورود دادههای نادرست جلوگیری شود.
openai/gpt-oss-20b:freeavicenna_memory.json ذخیره میشوند.hazm) پاسخهای تکراری سریعتر ارائه میشوند.در صورت قطعی سرور، موتور آفلاین با قوانین بالینی از پیش تعریف شده (فشار خون، دیابت، کمخونی، عفونت) پاسخ میدهد و از بروز خطا جلوگیری میکند.
CreateRoundRectRgn)فایل setup.py را اجرا کنید:
clinic.db ساخته میشود.پس از ورود به پنل ادمین:
فایل main.py را اجرا کنید:
🔑 اطلاعات ورود پیشفرض:
ادمین: نام کاربری و رمز عبوری که در حین نصب وارد کردید.
پزشک نمونه: کد نظام پزشکی 00001، رمز 123456
امکان افزودن پنل اختصاصی برای بیماران جهت مشاهده سوابق و نوبتها.
یکپارچهسازی با درگاههای پرداخت برای رزرو نوبت با پیشپرداخت.
پشتیبانی از چندین شعبه و کلینیک با مدیریت متمرکز.
افزودن نمودارها و آمارهای پیشرفته برای تحلیل عملکرد کلینیک.
ارسال خودکار پیام یادآوری نوبت به بیماران از طریق رباتها.
پشتیبانی از حالت تاریک (Dark Mode) برای پنلهای مدیریت و پزشک.
این پروژه توسط امیرعلی مومنی طراحی و توسعه یافته است.
تمامی کدها به صورت ماژولار و با رعایت اصول تمیز نویسی (Clean Code) و طراحی الگو (Design Patterns) نوشته شدهاند.