التحدي
كانت SHCA تدير عشرات مرافق رعاية كبار السن بمزيج من جداول Excel وملاحظات المناوبات الورقية وثلاث أدوات منفصلة بنمط السجلات الطبية الإلكترونية — دون مصدر واحد للحقيقة عن أي مريض. كانت الممرضات يعدن إدخال التحديثات في الأنظمة كل مناوبة، ولم يكن لدى العائلات أي رؤية، ولم يكن لدى المسؤولين طريقة لإثبات من اطلع على ماذا، وكان إدخال مرفق جديد يعني إعادة إنشاء قالب Excel الهش نفسه من جديد.
كان المطلوب صارماً: تسليم منصة SaaS لإدارة المرضى متعددة المرافق ومتوافقة مع HIPAA، يستطيع أي ممرض أو طبيب أو مسؤول أو فرد من العائلة تسجيل الدخول إليها بأمان من اليوم الأول — مع ملاحظات سريرية قائمة على القوالب، ووصول إلى السجلات مقيّد بالأدوار، ومسارات تدقيق كاملة، وإمكانية إدخال مرفق جديد خلال دقائق بدلاً من أسابيع. وأي أقل من «سجل واحد، وسجل أحداث واحد، ومصدر واحد للحقيقة» كان سيسلّم مشكلة التشتت نفسها بثوب أجمل.
حلّنا
بنينا منصة SaaS متعددة المستأجرين بـ Next.js + Django + PostgreSQL مستضافة على AWS، حيث يعيش كل مريض في سجل واحد بالضبط، وكل إجراء قابل للمراقبة والتدقيق ومقيّد بالأدوار.
يوفّر الجزء الخلفي المبني على Django واجهة API من Django REST Framework بحدود صارمة بين المستأجرين — تتم تصفية كل استعلام بحسب `facility_id` على مستوى ORM، بحيث لا تستطيع ممرضة من المنشأة A فعليًا تنفيذ SELECT لمريض من المنشأة B حتى مع رابط URL مزوّر. تربط المصادقة القائمة على JWT أربعة أدوار (طبيب، ممرض، مسؤول، أسرة) بأذونات على مستوى كل نقطة نهاية وكل حقل، ويسجّل سجل 'audit_event' الوحيد القابل للإلحاق فقط كل عملية قراءة وكتابة وتصدير مع `(user_id, role, facility_id, patient_id, action, timestamp, ip)`، بحيث يمكن إنتاج تدقيق متوافق مع HIPAA لأي مريض وعلى أي نطاق زمني في ثوانٍ.
الملاحظات السريرية — أعلى مهام سير العمل قيمةً في المنتج — قائمة على القوالب. فبدلًا من كتابة ملاحظة SOAP حرة مدتها 20 دقيقة، تختار الممرضة قالبًا وتملأ التغييرات فقط، ويقوم النظام بتسلسل ملاحظة منظّمة مع ملخص مقروء للبشر. وتخفّض حقول الإدخال النصي الداعمة للصوت، والحفظ التلقائي كل 5 ثوانٍ، ولقطات الأدوية والعلامات الحيوية القابلة للإرفاق متوسط زمن الملاحظة من أكثر من 18 دقيقة إلى أقل من 5.
تقدّم الواجهة الأمامية المبنية على Next.js تجربة مستخدم واحدة على نمط SPA لكل دور، مع تنقّل يراعي الدور، وتحديثات تفاؤلية لبيانات المرضى، ومبدّل منشآت داخلي للمسؤولين الذين يديرون عدة مواقع. ويحصل أفراد الأسرة على بوابة محددة النطاق بدقة — فلا يرون إلا المريض المرتبطين به، ولا يرون إلا الحقول التي وافق الطبيب على مشاركتها.
على صعيد البنية التحتية: PostgreSQL على RDS مع استرداد تلقائي إلى نقطة زمنية محددة، وS3 مع مرفقات مشفّرة بـ KMS وروابط موقّعة محدودة المدة (دون روابط S3 خام متاحة علنًا)، وCloudWatch وSentry على كل نقطة نهاية، وتحقق تلقائي ليلي من النسخ الاحتياطية، والبنية كشيفرة بحيث يمكن تشغيل منطقة ثانية دون فتح تذاكر لدى فريق السحابة.
- سجلات مرضى متعددة المستأجرين مع حدود صارمة لـ `facility_id` مفروضة على مستوى Django ORM (الوصول بين المنشآت مستحيل، لا مجرد غير مرجّح)
- وصول محدد بحسب الدور للطبيب والممرض والمسؤول والأسرة — مضبوط على مستوى نقطة النهاية والحقل معًا
- ملاحظات سريرية قائمة على القوالب مع حفظ تلقائي، وعلامات حيوية/أدوية قابلة للإرفاق، وملخص مقروء للبشر يُخزَّن بجانب JSON المنظّم
- سجل `audit_event` للإلحاق فقط لكل عملية قراءة وكتابة وتصدير، قابل للاستعلام لكل مريض على أي نطاق زمني — متوافق مع HIPAA مباشرةً
- بوابة للأسرة مع مشاركة على مستوى الحقول بموافقة الطبيب، ومرفقات بروابط موقّعة محدودة المدة، ونطاق وصول محدد لكل مريض
- لوحة إدارة متعددة المنشآت: إضافة منشأة جديدة وتهيئة الأدوار وإعادة تعيين المرضى دون أي تغيير في الشيفرة
- بنية تحتية معزَّزة على AWS: استرداد إلى نقطة زمنية في RDS، وتشفير S3 + KMS، وCloudWatch + Sentry، وتحقق ليلي من النسخ الاحتياطية، والبنية كشيفرة