في أغلب العيادات الخاصة في العراق، سجلّ المريض دفتر أو كارت ورقي. وحين يعود المريض بعد ستة أشهر يبدأ السؤال من الصفر: «شنو كان تشخيصك؟ شنو كتبتلك؟». المعلومة موجودة — لكنها في ذاكرة الطبيب أو في كارت ضاع.
في هذا الدليل نبني نظام إدارة عيادة يحلّ هذا تحديداً: سجل مرضى، ومواعيد يومية، وسجل طبي تراكمي لكل مريض فيه الشكوى والتشخيص والعلاج وموعد المراجعة، وتقرير يومي بالإيراد ونسبة الحضور وقائمة من يجب الاتصال بهم. بلا كتابة كود — طلبات بالعربية لوكيل ذكاء اصطناعي على سيرفرك.
كل الصور من النظام وهو يعمل على سيرفر حقيقي. أسماء المرضى وبياناتهم من نسج الخيال بالكامل — ولا يجوز أبداً نشر لقطات فيها بيانات مرضى حقيقيين، وهذه أول قاعدة في أي نظام طبي.
إن لم يكن عندك سيرفر وأداة مفعّلة، ابدأ من الدليل الأساس. ولمثال أبسط: نظام المبيعات أو نظام الحسابات.
كيف تطلب السيرفر؟ خمس دقائق
لا تحتاج معرفة تقنية لطلب السيرفر — الخطوات أقرب إلى شراء اشتراك إنترنت منها إلى أي شيء تقني:
- افتح صفحة باقات VPS واختر الباقة المناسبة (الجدول أدناه يساعدك).
- في صفحة الإعداد اختر نظام التشغيل — اختر
Ubuntu-24، فهو ما تعمل عليه الأدوات بأقل مشاكل. - اختر دورة الفوترة: شهري، أو سنوي بخصم يقارب السُّبع.
- أضف إلى السلة، وادفع بالدينار العراقي عبر زين كاش أو بطاقة فيزا وماستركارد.
- خلال دقائق تصلك رسالة فيها عنوان الجهاز واسم المستخدم وكلمة المرور — ومنفذ الدخول
2026.
أي باقة تختار؟
| الباقة | الموارد | الشهري | هل تصلح للعمل مع الوكيل؟ |
|---|---|---|---|
| S-VPS 2 | نواة · 2 غيغابايت | 8 دولارات | لا للبناء. تصلح لاستضافة البرنامج بعد أن يكتمل ويخفّ. |
| S-VPS 3 | نواتان · 4 غيغابايت | 17 دولاراً | الحد الأدنى العملي. يعمل، مع بطء محسوس في المهام الطويلة. |
| S-VPS 4 | 4 أنوية · 8 غيغابايت | 29 دولاراً | المريح — وهو ما بنينا عليه كل مقالات هذه السلسلة. |
لماذا لا تكفي أرخص باقة؟ لأن الوكيل لا يكتب سطراً وينتظر: يقرأ عشرات الملفات، ويشغّل التنصيب، ويرفع الخادم، ويختبر — في اللحظة نفسها. بنواة واحدة وغيغابايت واحد ستختنق الجلسة قبل أن تُنهي الطلب الثالث، وستظن أن الأداة ضعيفة بينما المشكلة في الجهاز.
كيف تستخدم الأداة وأنت لست مبرمجاً؟
هذا هو السؤال الذي يوقف أكثر الناس. والجواب أبسط ممّا تظن: أنت لا تقرأ الكود، بل تقرأ الوصف وتجرّب النتيجة. الوكيل يشرح ما سيفعله بلغة بسيطة قبل أن يفعله، ويطلب إذنك، وينفّذ، ثم يخبرك بما جرى.
كيف تجري الجلسة عملياً؟
تدخل إلى سيرفرك، وتنتقل إلى مجلد المشروع، وتكتب اسم الأداة — فتفتح شاشة تكتب فيها طلبك بالعربية. ثم تتكرّر أربع خطوات:
- تكتب الطلب وتضغط Enter.
- يعرض عليك خطة قبل التنفيذ في المهام غير البديهية — اقرأها. إن رأيت فيها ما لم تطلبه، قل «لا تفعل كذا» قبل أن يبدأ.
- يطلب إذنك عند كل عملية حسّاسة: إنشاء ملف، تعديل ملف، تشغيل أمر. هذه لحظتك — الموافقة ليست شكلية.
- تفتح الصفحة في متصفحك وتجرّب. ما لم تجرّبه بنفسك لا تعتبره منجزاً، مهما قال لك إنه انتهى.
الأوامر التي تحتاجها فعلاً
الأدوات فيها عشرات الخيارات، لكن ما ستستعمله يومياً لا يتجاوز هذه:
أهمّها --continue وresume: الجلسة تحتفظ بذاكرتها، فتستطيع أن تغلق حاسبتك وتعود غداً وتكمل من حيث توقّفت — والوكيل يتذكّر المشروع كله.
أربع قواعد تغنيك عن تعلّم البرمجة
| القاعدة | التطبيق |
|---|---|
| اطلب مهمة واحدة | شاشة واحدة أو ميزة واحدة في كل طلب — لا «ابنِ لي النظام» |
| جرّب بعد كل خطوة | افتح الصفحة واضغط الأزرار. خمس دقائق تجربة توفّر ساعة تصحيح |
| صف العطل لا الحل | «أضغط حفظ فتختفي الفاتورة» أفضل بكثير من «غيّر الدالة الفلانية» |
| خذ نسخة قبل الطلبات الكبيرة | نسخة من مجلد المشروع، أو git init مرة واحدة — فتكون تكلفة أي خطأ صفراً |
وإن تعطّل شيء ولم تفهم السبب؟ انسخ رسالة الخطأ كما هي والصقها في الجلسة واكتب: «هذا ما ظهر لي، ما المشكلة وكيف نصلحها؟». الوكيل يقرأ الأخطاء أفضل ممّا يقرأها كثير من المبرمجين — ورسالة الخطأ هي نصف الحل.
الخطوة 1 قواعد المشروع — وفيها بند لا يوجد في غيرها
# قواعد نظام العيادة - الواجهة عربية من اليمين إلى اليسار، والتاريخ ميلادي، والعملة دينار عراقي. - Node.js + SQLite في ملف واحد. - بيانات المرضى سرّية: لا ترسل أي بيانات إلى أي خدمة خارجية، ولا تضف أي أداة تحليلات أو تتبّع. - كل شاشة تتطلّب تسجيل دخول — لا صفحة مفتوحة إطلاقاً. - بعد كل تعديل شغّل البرنامج وتأكّد أنه يعمل.
البند الثالث ليس زائداً. الوكلاء يميلون إلى إضافة مكتبات ومساعدات جاهزة، وبعضها يرسل بيانات إلى خوادم خارجية. في نظام طبي هذا غير مقبول مهما كان صغيراً. اكتب المنع صراحةً في ملف القواعد، ولا تكتفِ بتوقّع أنه «لن يفعلها».
الخطوة 2 سجل المرضى
أنشئ تطبيق ويب بـ Node.js. الشاشة الأولى «المرضى»: جدول فيه لكل مريض الاسم، الجنس، العمر (محسوباً من سنة الميلاد)، الهاتف، الأمراض المزمنة، عدد زياراته، وتاريخ آخر زيارة. فوق الجدول نموذج لإضافة مريض جديد. أظهر الأمراض المزمنة بخلفية حمراء فاتحة لتلفت النظر. أدخل ستة مرضى تجريبيين بأسماء عراقية وأعمار متنوّعة.
لاحظ أننا طلبنا العمر لا تاريخ الميلاد. خزّن سنة الميلاد واحسب العمر عند العرض — وإلا صار عمر المريض خطأ بعد سنة من إدخاله. هذا النوع من التفاصيل هو ما يميّز نظاماً يُستعمل من نظام يُهجَر.
الخطوة 3 المواعيد وحالاتها
أضف شاشة «المواعيد»: نموذج حجز (المريض، التاريخ، الوقت، أجر الكشف) وجدول بكل المواعيد مرتّبة من الأحدث. لكل موعد حالة: «بانتظار» أو «تمت» أو «ملغاة»، تظهر شارة ملوّنة لكل حالة. واعرض الأجر والمدفوع في عمودين منفصلين.
ولماذا نفصل «الأجر» عن «المدفوع»؟ للسبب نفسه في نظام الحسابات: المريض قد يدفع نصف الأجر ويكمل في المراجعة، والنظام الذي يعرف رقماً واحداً يجبرك على تذكّر الباقي في رأسك.
الخطوة 4 السجل الطبي — قلب النظام
هذه الشاشة هي سبب بناء النظام كله. اطلبها بهذه الدقة:
أضف شاشة «السجل الطبي»: تختار مريضاً فيعرض كل زياراته مرتّبة من الأحدث إلى الأقدم، كل زيارة في بطاقة مستقلة فيها: التاريخ والطبيب في الأعلى، ثم أربعة حقول: الشكوى · التشخيص (بخط عريض) · العلاج · تاريخ المراجعة القادمة. حقل العلاج قد يكون عدة أسطر — اعرضه بأسطره كما كُتب. وفي أعلى الصفحة اسم المريض وعمره وهاتفه وأمراضه المزمنة، وزر طباعة يطبع السجل وحده بلا القائمة الجانبية.
جملة «اعرضه بأسطره كما كُتب» في الطلب أعلاه تحلّ مشكلة شائعة: الوصفة متعددة الأسطر تُعرض في سطر واحد متلاصق إن لم تطلب غير ذلك. صف ما تريد رؤيته، لا ما تريد تخزينه.
الخطوة 5 تقرير اليوم — ومكالمات المتابعة
أضف شاشة «تقرير اليوم» باختيار تاريخ، تعرض: عدد المراجعين، وإيراد اليوم، وعدد المواعيد الملغاة، ونسبة الحضور. وتحتها جدولان: الأول: التشخيصات في ذلك اليوم وعدد حالات كل تشخيص. الثاني: «مراجعات قادمة» — المرضى الذين حُدّد لهم موعد مراجعة بعد هذا التاريخ، مع أرقام هواتفهم، مرتّبين بالأقرب.
هذا الجدول الأخير يحوّل النظام من أرشيف إلى أداة تُنمّي العيادة. مكالمة تذكير قبل يومين ترفع نسبة الحضور بوضوح، وتحمي المريض المزمن من الانقطاع عن علاجه.
الخطوة 6 الخصوصية والتشغيل الدائم
1. أضف تسجيل دخول بحسابين: الطبيب يرى كل شيء، وموظف الاستقبال يرى المواعيد والمرضى ولا يرى السجل الطبي. 2. اجعل البرنامج خدمة نظام تعمل عند الإقلاع وتعيد تشغيل نفسها. 3. أضف نسخة احتياطية يومية لملف قاعدة البيانات مع الاحتفاظ بآخر 30 نسخة.
ثلاث قواعد غير قابلة للتفاوض في نظام طبي: لا تفتح النظام على الإنترنت بلا تسجيل دخول ولو ليوم واحد · لا تضع بيانات مرضى في أي أداة خارجية لتجربتها · واحتفظ بنسخة احتياطية خارج السيرفر. الثالثة هي التي يندم على إهمالها الجميع.
فخّ عمليّ واجهناه أثناء البناء
شغّلنا النظام على المنفذ 8080 فعمل داخل السيرفر ولم يُفتح من الإنترنت. السبب أن جدار الجهاز يسمح بثلاثة منافذ فقط: 2026 و80 و443. الحل سطر واحد:
sudo ufw allow 8080/tcp
والأفضل من فتح منافذ إضافية: شغّل نظامك على المنفذ 80 أو 443 مباشرة، فيفتحه المستخدم باسم النطاق بلا رقم منفذ.
ماذا تعلّمنا؟
| الدرس | التفصيل |
|---|---|
| خزّن الثابت واحسب المتغيّر | سنة الميلاد تُخزَّن، والعمر يُحسب — وإلا شاخ الجدول وحده |
| صف ما تريد رؤيته | «اعرضه بأسطره كما كُتب» جملة بلغة عادية حلّت مشكلة عرض الوصفة |
| اكتب المنع في القواعد | حظر إرسال البيانات خارجاً يُكتب مرة في ملف المشروع لا في كل طلب |
| الصلاحيات ليست رفاهية | الاستقبال يرى المواعيد لا التشخيصات — طلب من سطرين |
| افحص من الخارج | «يعمل داخل السيرفر» لا يعني «يعمل من الإنترنت» — جرّب من جهازك |
ماذا بعد؟
التوسعة بالمنطق نفسه، طلب لكل إضافة: رفع صور الأشعة والتحاليل إلى ملف المريض، وطباعة الوصفة بترويسة العيادة، ورسائل تذكير بالمواعيد، وحجز إلكتروني يفتحه المريض بنفسه، وتقرير شهري بالإيرادات وأكثر التشخيصات.
وفي المقالات القادمة من السلسلة: نظام إدارة مدرسة، ومتجر إلكتروني بالدفع عند الاستلام.
للبدء: اختر باقة VPS ثم دليل التنصيب والتفعيل.