🏥 المنصة الصحية المتكاملة لإدارة المستشفيات في المملكة
📊 هيكلة قواعد البيانات الشاملة
1️⃣ قاعدة بيانات المرضى (Patients)
sql
CREATE TABLE patients (
patient_id BIGINT PRIMARY KEY AUTO_INCREMENT,
national_id VARCHAR(20) UNIQUE NOT NULL,
full_name VARCHAR(100) NOT NULL,
date_of_birth DATE NOT NULL,
gender ENUM('ذكر', 'أنثى') NOT NULL,
blood_type VARCHAR(5),
allergies TEXT,
chronic_diseases TEXT,
phone_number VARCHAR(15),
email VARCHAR(100),
address TEXT,
emergency_contact_name VARCHAR(100),
emergency_contact_phone VARCHAR(15),
insurance_provider VARCHAR(50),
insurance_number VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
is_active BOOLEAN DEFAULT TRUE,
INDEX idx_national_id (national_id),
INDEX idx_full_name (full_name)
);
2️⃣ قاعدة بيانات الموظفين (Staff)
sql
CREATE TABLE staff (
staff_id BIGINT PRIMARY KEY AUTO_INCREMENT,
employee_id VARCHAR(20) UNIQUE NOT NULL,
full_name VARCHAR(100) NOT NULL,
job_title VARCHAR(50) NOT NULL,
specialization VARCHAR(100),
department_id INT,
hospital_id INT,
license_number VARCHAR(50),
license_expiry DATE,
phone_number VARCHAR(15),
email VARCHAR(100),
hire_date DATE,
shift_schedule TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_active BOOLEAN DEFAULT TRUE,
FOREIGN KEY (department_id) REFERENCES departments(department_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
CREATE TABLE doctors (
doctor_id BIGINT PRIMARY KEY AUTO_INCREMENT,
staff_id BIGINT UNIQUE NOT NULL,
medical_license VARCHAR(50) NOT NULL,
board_certification VARCHAR(100),
years_experience INT,
consultation_fee DECIMAL(10,2),
FOREIGN KEY (staff_id) REFERENCES staff(staff_id)
);
CREATE TABLE nurses (
nurse_id BIGINT PRIMARY KEY AUTO_INCREMENT,
staff_id BIGINT UNIQUE NOT NULL,
nursing_license VARCHAR(50) NOT NULL,
shift_preference VARCHAR(20),
ward_assigned VARCHAR(50),
FOREIGN KEY (staff_id) REFERENCES staff(staff_id)
);
3️⃣ قاعدة بيانات المستشفيات (Hospitals)
sql
CREATE TABLE hospitals (
hospital_id INT PRIMARY KEY AUTO_INCREMENT,
hospital_code VARCHAR(20) UNIQUE NOT NULL,
hospital_name VARCHAR(150) NOT NULL,
hospital_type ENUM('حكومي', 'خاص', 'عسكري', 'جامعي', 'تكافل صحي') NOT NULL,
classification ENUM('مركز رعاية أولية', 'مستشفى عام', 'مستشفى تخصصي', 'مدينة طبية') NOT NULL,
region VARCHAR(50) NOT NULL,
city VARCHAR(50) NOT NULL,
address TEXT,
phone_number VARCHAR(15),
email VARCHAR(100),
website VARCHAR(100),
latitude DECIMAL(10,8),
longitude DECIMAL(11,8),
bed_capacity INT,
icu_beds INT,
emergency_units INT,
operating_rooms INT,
accreditation_status VARCHAR(50),
accreditation_expiry DATE,
established_date DATE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_active BOOLEAN DEFAULT TRUE,
INDEX idx_region (region),
INDEX idx_hospital_type (hospital_type)
);
CREATE TABLE hospital_departments (
department_id INT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
department_name VARCHAR(100) NOT NULL,
head_of_department BIGINT,
floor_number INT,
room_count INT,
description TEXT,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (head_of_department) REFERENCES staff(staff_id)
);
4️⃣ قاعدة بيانات المواعيد والحجوزات (Appointments)
sql
CREATE TABLE appointments (
appointment_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
department_id INT,
appointment_date DATE NOT NULL,
appointment_time TIME NOT NULL,
appointment_type ENUM('استشارية', 'فحص دوري', 'طوارئ', 'متابعة', 'إجراء طبي') NOT NULL,
status ENUM('مجدول', 'مؤكد', 'قيد الانتظار', 'مكتمل', 'ملغي', 'تأجيل') DEFAULT 'مجدول',
priority ENUM('عادية', 'عالية', 'طارئة') DEFAULT 'عادية',
symptoms TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (department_id) REFERENCES hospital_departments(department_id),
INDEX idx_appointment_date (appointment_date),
INDEX idx_status (status)
);
5️⃣ قاعدة البيانات الطبية (Medical Records)
sql
CREATE TABLE medical_records (
record_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
doctor_id BIGINT,
visit_date DATE NOT NULL,
visit_time TIME NOT NULL,
complaint TEXT,
diagnosis TEXT,
treatment_plan TEXT,
medications TEXT,
follow_up_date DATE,
lab_orders TEXT,
radiology_orders TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
INDEX idx_patient_id (patient_id),
INDEX idx_visit_date (visit_date)
);
CREATE TABLE vitals (
vital_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
record_id BIGINT,
blood_pressure_systolic INT,
blood_pressure_diastolic INT,
heart_rate INT,
temperature DECIMAL(4,1),
respiratory_rate INT,
oxygen_saturation DECIMAL(4,1),
weight DECIMAL(5,2),
height DECIMAL(5,2),
bmi DECIMAL(4,1),
blood_sugar DECIMAL(5,2),
recorded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
recorded_by BIGINT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (record_id) REFERENCES medical_records(record_id),
FOREIGN KEY (recorded_by) REFERENCES staff(staff_id)
);
6️⃣ قاعدة بيانات المختبرات (Laboratories)
sql
CREATE TABLE laboratories (
lab_id INT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
lab_name VARCHAR(100) NOT NULL,
lab_code VARCHAR(20) UNIQUE,
lab_type ENUM('كيمياء', 'أحياء دقيقة', 'أمراض الدم', 'علم المناعة', 'علم الوراثة', 'عام') NOT NULL,
accreditation_status VARCHAR(50),
manager_id BIGINT,
contact_phone VARCHAR(15),
email VARCHAR(100),
operating_hours TEXT,
is_active BOOLEAN DEFAULT TRUE,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (manager_id) REFERENCES staff(staff_id)
);
CREATE TABLE lab_tests (
test_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
lab_id INT NOT NULL,
test_name VARCHAR(100) NOT NULL,
test_category VARCHAR(50),
test_code VARCHAR(20),
ordered_date DATE NOT NULL,
collection_date DATETIME,
collection_method VARCHAR(50),
collection_notes TEXT,
result_date DATETIME,
result_value TEXT,
normal_range VARCHAR(50),
unit VARCHAR(20),
interpretation TEXT,
status ENUM('مطلوب', 'مجمَّع', 'تحت التحليل', 'مكتمل', 'مراجع') DEFAULT 'مطلوب',
performed_by BIGINT,
reviewed_by BIGINT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (lab_id) REFERENCES laboratories(lab_id),
FOREIGN KEY (performed_by) REFERENCES staff(staff_id),
FOREIGN KEY (reviewed_by) REFERENCES staff(staff_id),
INDEX idx_patient_id (patient_id),
INDEX idx_status (status)
);
7️⃣ قاعدة بيانات الأشعة (Radiology)
sql
CREATE TABLE radiology_centers (
radiology_id INT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
center_name VARCHAR(100) NOT NULL,
center_code VARCHAR(20) UNIQUE,
equipment_types TEXT,
modalities TEXT,
accreditation_status VARCHAR(50),
manager_id BIGINT,
contact_phone VARCHAR(15),
email VARCHAR(100),
is_active BOOLEAN DEFAULT TRUE,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (manager_id) REFERENCES staff(staff_id)
);
CREATE TABLE radiology_orders (
order_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
radiology_id INT NOT NULL,
modality ENUM('أشعة سينية', 'موجات فوق صوتية', 'مقطعية', 'رنين مغناطيسي', 'تداخل شعاعي', 'تصوير الثدي', 'أخرى') NOT NULL,
body_part VARCHAR(50),
clinical_indication TEXT,
ordered_date DATE NOT NULL,
scheduled_date DATETIME,
performed_date DATETIME,
performed_by BIGINT,
findings TEXT,
impression TEXT,
report_pdf_url VARCHAR(255),
status ENUM('مطلوب', 'مجدول', 'مُجرى', 'مكتمل', 'مراجع') DEFAULT 'مطلوب',
reviewed_by BIGINT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (radiology_id) REFERENCES radiology_centers(radiology_id),
FOREIGN KEY (performed_by) REFERENCES staff(staff_id),
FOREIGN KEY (reviewed_by) REFERENCES staff(staff_id)
);
8️⃣ قاعدة بيانات الصيدليات (Pharmacies)
sql
CREATE TABLE pharmacies (
pharmacy_id INT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
pharmacy_name VARCHAR(100) NOT NULL,
pharmacy_code VARCHAR(20) UNIQUE,
pharmacy_type ENUM('داخلية', 'خارجية', 'مركزية') NOT NULL,
license_number VARCHAR(50),
license_expiry DATE,
pharmacist_id BIGINT,
contact_phone VARCHAR(15),
email VARCHAR(100),
operating_hours TEXT,
is_active BOOLEAN DEFAULT TRUE,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (pharmacist_id) REFERENCES staff(staff_id)
);
CREATE TABLE medications (
medication_id BIGINT PRIMARY KEY AUTO_INCREMENT,
medication_code VARCHAR(50) UNIQUE NOT NULL,
medication_name VARCHAR(100) NOT NULL,
generic_name VARCHAR(100),
category VARCHAR(50),
form ENUM('أقراص', 'كبسولات', 'شراب', 'حقن', 'مرهم', 'كريم', 'قطرات', 'بودرة', 'أخرى') NOT NULL,
strength VARCHAR(50),
unit VARCHAR(20),
manufacturer VARCHAR(100),
requires_prescription BOOLEAN DEFAULT TRUE,
side_effects TEXT,
contraindications TEXT,
storage_conditions TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_medication_name (medication_name)
);
CREATE TABLE prescriptions (
prescription_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
prescription_date DATE NOT NULL,
valid_until DATE,
diagnosis TEXT,
notes TEXT,
status ENUM('نشطة', 'مكتملة', 'ملغية', 'منتهية') DEFAULT 'نشطة',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
CREATE TABLE prescription_items (
item_id BIGINT PRIMARY KEY AUTO_INCREMENT,
prescription_id BIGINT NOT NULL,
medication_id BIGINT NOT NULL,
dosage VARCHAR(50),
frequency VARCHAR(50),
duration VARCHAR(50),
quantity INT,
instructions TEXT,
refills_allowed INT DEFAULT 0,
FOREIGN KEY (prescription_id) REFERENCES prescriptions(prescription_id),
FOREIGN KEY (medication_id) REFERENCES medications(medication_id)
);
9️⃣ قاعدة بيانات الفواتير والمالية (Billing & Finance)
sql
CREATE TABLE billing (
bill_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
service_type VARCHAR(50),
appointment_id BIGINT,
admission_id BIGINT,
total_amount DECIMAL(12,2) NOT NULL,
insurance_portion DECIMAL(12,2),
patient_portion DECIMAL(12,2),
paid_amount DECIMAL(12,2) DEFAULT 0,
remaining_amount DECIMAL(12,2) DEFAULT 0,
payment_status ENUM('غير مدفوع', 'مدفوع جزئياً', 'مدفوع بالكامل', 'تحت المراجعة') DEFAULT 'غير مدفوع',
payment_method ENUM('نقدي', 'بطاقة ائتمان', 'تحويل بنكي', 'تأمين صحي', 'أخرى'),
invoice_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
due_date DATE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (appointment_id) REFERENCES appointments(appointment_id),
INDEX idx_payment_status (payment_status)
);
CREATE TABLE insurance_claims (
claim_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
insurance_provider VARCHAR(50),
policy_number VARCHAR(50),
claim_amount DECIMAL(12,2),
approved_amount DECIMAL(12,2),
claim_status ENUM('مقدمة', 'تحت المراجعة', 'مقبولة', 'مرفوضة', 'معلقة') DEFAULT 'مقدمة',
submission_date DATE,
approval_date DATE,
rejection_reason TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
🔟 قاعدة بيانات الإحالات (Referrals)
sql
CREATE TABLE referrals (
referral_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
referring_doctor_id BIGINT NOT NULL,
receiving_doctor_id BIGINT NOT NULL,
from_hospital_id INT NOT NULL,
to_hospital_id INT NOT NULL,
referral_type ENUM('داخلية', 'خارجية', 'طوارئ') NOT NULL,
reason TEXT,
diagnosis TEXT,
urgency ENUM('عادية', 'عالية', 'طارئة') DEFAULT 'عادية',
referral_date DATE NOT NULL,
referral_time TIME,
status ENUM('معلقة', 'مقبولة', 'مرفوضة', 'مكتملة') DEFAULT 'معلقة',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (referring_doctor_id) REFERENCES doctors(doctor_id),
FOREIGN KEY (receiving_doctor_id) REFERENCES doctors(doctor_id),
FOREIGN KEY (from_hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (to_hospital_id) REFERENCES hospitals(hospital_id)
);
1️⃣1️⃣ قاعدة بيانات الجراحات (Surgeries)
sql
CREATE TABLE surgeries (
surgery_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
surgery_type VARCHAR(100),
surgery_code VARCHAR(20),
scheduled_date DATE NOT NULL,
scheduled_time TIME,
actual_date DATETIME,
operating_room VARCHAR(20),
assistant_doctors TEXT,
anesthesia_type VARCHAR(50),
anesthesiologist_id BIGINT,
pre_operative_notes TEXT,
intra_operative_notes TEXT,
post_operative_notes TEXT,
complications TEXT,
status ENUM('مجدولة', 'جاهزة', 'قيد التنفيذ', 'مكتملة', 'ملغية') DEFAULT 'مجدولة',
priority ENUM('عادية', 'عالية', 'طارئة') DEFAULT 'عادية',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (anesthesiologist_id) REFERENCES doctors(doctor_id)
);
1️⃣2️⃣ قاعدة بيانات الأدوية والمخزون (Inventory)
sql
CREATE TABLE inventory (
inventory_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
item_type ENUM('دواء', 'مستلزمات طبية', 'معدات', 'أخرى') NOT NULL,
item_code VARCHAR(50) UNIQUE NOT NULL,
item_name VARCHAR(100) NOT NULL,
category VARCHAR(50),
supplier_id BIGINT,
unit_of_measure VARCHAR(20),
quantity_in_stock DECIMAL(10,2) NOT NULL DEFAULT 0,
reorder_level DECIMAL(10,2),
reorder_quantity DECIMAL(10,2),
unit_cost DECIMAL(10,2),
selling_price DECIMAL(10,2),
expiry_date DATE,
storage_location VARCHAR(50),
batch_number VARCHAR(50),
notes TEXT,
last_restocked DATE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
INDEX idx_expiry_date (expiry_date),
INDEX idx_quantity (quantity_in_stock)
);
CREATE TABLE inventory_transactions (
transaction_id BIGINT PRIMARY KEY AUTO_INCREMENT,
inventory_id BIGINT NOT NULL,
transaction_type ENUM('استلام', 'صرف', 'تعديل مخزون', 'مرتجع') NOT NULL,
quantity DECIMAL(10,2) NOT NULL,
reference_document VARCHAR(50),
reference_id BIGINT,
transaction_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
performed_by BIGINT NOT NULL,
notes TEXT,
FOREIGN KEY (inventory_id) REFERENCES inventory(inventory_id),
FOREIGN KEY (performed_by) REFERENCES staff(staff_id)
);
1️⃣3️⃣ قاعدة بيانات التقارير والتحليلات (Reports & Analytics)
sql
CREATE TABLE reports (
report_id BIGINT PRIMARY KEY AUTO_INCREMENT,
report_name VARCHAR(100) NOT NULL,
report_type VARCHAR(50),
hospital_id INT,
generated_by BIGINT,
generated_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
parameters TEXT,
summary TEXT,
file_url VARCHAR(255),
status ENUM('معلقة', 'قيد التوليد', 'مكتملة', 'فاشلة') DEFAULT 'معلقة',
notes TEXT,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (generated_by) REFERENCES staff(staff_id)
);
CREATE TABLE kpi_indicators (
kpi_id INT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
kpi_name VARCHAR(100) NOT NULL,
kpi_category VARCHAR(50),
target_value DECIMAL(10,2),
current_value DECIMAL(10,2),
measurement_date DATE,
period ENUM('يومي', 'أسبوعي', 'شهري', 'ربع سنوي', 'سنوي'),
status ENUM('ممتاز', 'جيد', 'متوسط', 'ضعيف'),
notes TEXT,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
1️⃣4️⃣ قاعدة بيانات الجهات التنظيمية (Regulatory Bodies)
sql
CREATE TABLE regulatory_bodies (
regulatory_id INT PRIMARY KEY AUTO_INCREMENT,
body_name VARCHAR(100) NOT NULL,
body_code VARCHAR(20) UNIQUE,
body_type ENUM('وزارة الصحة', 'الهيئة السعودية للتخصصات الصحية', 'المجلس الصحي السعودي', 'المركز الوطني للتوثيق الطبي', 'هيئة الغذاء والدواء', 'أخرى') NOT NULL,
contact_person VARCHAR(100),
phone_number VARCHAR(15),
email VARCHAR(100),
address TEXT,
website VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE compliance_records (
compliance_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
regulatory_id INT NOT NULL,
inspection_date DATE NOT NULL,
inspection_type VARCHAR(50),
inspector_name VARCHAR(100),
findings TEXT,
non_compliance_areas TEXT,
corrective_actions TEXT,
deadline DATE,
status ENUM('مطابق', 'غير مطابق', 'تحت الإجراء', 'مغلق') DEFAULT 'مطابق',
notes TEXT,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (regulatory_id) REFERENCES regulatory_bodies(regulatory_id)
);
1️⃣5️⃣ قاعدة بيانات الأسرة (Bed Management)
sql
CREATE TABLE beds (
bed_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
department_id INT NOT NULL,
ward_name VARCHAR(50),
bed_number VARCHAR(20) NOT NULL,
bed_type ENUM('عادية', 'عناية مركزة', 'حضانة', 'عزل', 'جراحة', 'أخرى') NOT NULL,
is_occupied BOOLEAN DEFAULT FALSE,
occupied_by BIGINT,
admission_date DATETIME,
expected_discharge_date DATETIME,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (department_id) REFERENCES hospital_departments(department_id),
FOREIGN KEY (occupied_by) REFERENCES patients(patient_id),
INDEX idx_availability (is_occupied)
);
CREATE TABLE admissions (
admission_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
bed_id BIGINT,
admission_date DATETIME NOT NULL,
admission_type ENUM('طارئ', 'مجدول', 'تحويل', 'ولادة') NOT NULL,
discharge_date DATETIME,
discharge_type ENUM('شفاء', 'تحويل', 'خروج ضد النصيحة', 'وفاة', 'أخرى'),
diagnosis TEXT,
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (bed_id) REFERENCES beds(bed_id)
);
🎯 النماذج (Forms) المطلوبة للمنصة
النماذج الإدارية:
- نموذج تسجيل مريض جديد
- البيانات الشخصية
- البيانات الطبية الأساسية
- معلومات التأمين
- جهات الاتصال الطارئة
- نموذج حجز موعد
- اختيار المستشفى/القسم
- اختيار الطبيب
- تحديد التاريخ والوقت
- الأعراض الأولية
- نموذج التاريخ الطبي
- الأمراض المزمنة
- الحساسية
- الأدوية الحالية
- العمليات السابقة
- نموذج وصفة طبية
- تشخيص الحالة
- الأدوية والجرعات
- تعليمات الاستخدام
- مدة العلاج
- نموذج دخول/خروج المريض
- سبب الدخول
- التشخيص
- خطة العلاج
- تاريخ الخروج والتوصيات
النماذج التشغيلية:
- نموذج طلب تحليل مخبري
- نوع التحليل
- تاريخ السحب
- تعليمات خاصة
- نموذج طلب أشعة
- نوع الأشعة
- المنطقة المراد تصويرها
- المؤشرات السريرية
- نموذج نقل/تحويل مريض
- سبب النقل
- المستشفى المحول إليه
- الحالة الصحية
- نموذج تقرير طبي يومي
- التطور السريري
- الفحوصات الجديدة
- التعديلات على الخطة العلاجية
- نموذج تقرير جراحي
- نوع العملية
- فريق الجراحة
- التفاصيل الجراحية
- التوصيات بعد العملية
النماذج المالية والإدارية:
- نموذج فاتورة الخدمات
- الخدمات المقدمة
- التكاليف
- تفاصيل التأمين
- طرق الدفع
- نموذج صرف أدوية
- المريض
- الأدوية المصروفة
- الجرعات
- توقيع الصيدلاني
- نموذج إدارة المخزون
- إضافة أدوية جديدة
- صرف أدوية
- طلب توريد
- جرد المخزون
نماذج التقارير:
- نموذج تقرير إحصائي
- عدد المرضى
- نسب الإشغال
- الإيرادات
- المؤشرات الرئيسية
- نموذج تقرير حوادث/مضاعفات
- نوع الحادث
- التاريخ والوقت
- الإجراء المتخذ
- التوصيات
📱 الواجهات الرئيسية للمنصة:
بوابة المريض:
- لوحة التحكم الشخصية
- حجز المواعيد
- الاطلاع على التاريخ الطبي
- نتائج الفحوصات
- دفع الفواتير
- التواصل مع الأطباء
بوابة الطبيب:
- جدول المواعيد
- الملفات الطبية للمرضى
- كتابة الوصفات الطبية
- طلب التحاليل والأشعة
- التقارير اليومية
بوابة الإدارة:
- إدارة المستشفيات
- إدارة الموظفين
- التقارير والإحصائيات
- إدارة المخزون
- إدارة الأسرة
- التقارير المالية
بوابة وزارة الصحة:
- لوحة تحكم وطنية
- مؤشرات الصحة العامة
- تقارير الأداء
- الامتثال للأنظمة
- إحصائيات وطنية
🔒 مستويات الأمان والصلاحيات:
| المستوى | الصلاحيات |
|---|---|
| مشرف النظام | جميع الصلاحيات، إدارة المستخدمين، تكوين النظام |
| مدير المستشفى | إدارة المستشفى، التقارير، الموظفين، المالية |
| مدير القسم | إدارة قسمه، الموظفين، الجداول |
| طبيب | ملفات المرضى، الوصفات، الفحوصات |
| ممرض | متابعة المرضى، تسجيل العلامات الحيوية |
| صيدلاني | صرف الأدوية، إدارة المخزون الدوائي |
| موظف استقبال | حجز المواعيد، تسجيل المرضى |
| محاسب | الفواتير، المدفوعات، التأمين |
| مريض | ملفه الشخصي فقط |
| وزارة الصحة | التقارير الوطنية، الإحصائيات |
🌟 المميزات الرئيسية للمنصة:
- تكامل وطني شامل – ربط جميع المستشفيات والمراكز الصحية
- ذكاء اصطناعي – تحليل البيانات، التنبؤ بالأمراض، توصيات العلاج
- توافق مع رؤية 2030 – التحول الرقمي في القطاع الصحي
- أمان عالي – تشفير البيانات، الامتثال لـ HIPAA واللوائح المحلية
- قابلية التوسع – دعم النمو المستقبلي
- تعدد اللغات – العربية والإنجليزية
- تطبيق جوال – وصول سهل للمرضى والأطباء
- تحليلات متقدمة – تقارير ذكية ومؤشرات أداء
🚀 خطة التنفيذ المقترحة:
المرحلة 1: الأساسيات (الأشهر 1-3)
- بنية البيانات الأساسية
- تسجيل المرضى والموظفين
- إدارة المواعيد
- بوابة المريض الأساسية
المرحلة 2: التوسع (الأشهر 4-6)
- السجلات الطبية الإلكترونية
- نظام المختبرات والأشعة
- نظام الصيدليات
- الفواتير والتأمين
المرحلة 3: التكامل (الأشهر 7-9)
- ربط المستشفيات
- نظام الإحالات
- تقارير وزارة الصحة
- التحليلات المتقدمة
المرحلة 4: الذكاء والتحسين (الأشهر 10-12)
- الذكاء الاصطناعي
- التنبؤ بالأمراض
- تحسين العمليات
- التوسع الوطني
💡 التوصيات الاستراتيجية:
- اعتماد معايير FHIR للتوافق مع الأنظمة الصحية العالمية
- استخدام تقنية البلوكشين لضمان سلامة السجلات الطبية
- التكامل مع منصة “صحتي” الحكومية
- توفير تدريب مستمر للمستخدمين
- إجراء تقييم دوري للأداء والتحسين المستمر
هذه المنصة ستحدث ثورة في القطاع الصحي بالمملكة، وستساهم في:
- تحسين جودة الرعاية الصحية
- تقليل الأخطاء الطبية
- زيادة كفاءة العمليات
- تعزيز تجربة المرضى
- دعم اتخاذ القرارات
- تحقيق أهداف رؤية 2030 في التحول الرقمي الصحي
هل تحتاج إلى تفاصيل إضافية عن أي جزء معين؟ 🩺
🏥 المنصة الصحية المتكاملة – تفاصيل إضافية وشاملة
📋 1. تفاصيل إضافية لقواعد البيانات
1.1 قاعدة بيانات الموارد البشرية المتقدمة
sql
-- جدول سجل الإجازات
CREATE TABLE staff_leave_records (
leave_id BIGINT PRIMARY KEY AUTO_INCREMENT,
staff_id BIGINT NOT NULL,
leave_type ENUM('إجازة سنوية', 'إجازة مرضية', 'إجازة عارضة', 'إجازة عمل', 'إجازة دراسية', 'حج', 'أخرى') NOT NULL,
start_date DATE NOT NULL,
end_date DATE NOT NULL,
total_days INT NOT NULL,
reason TEXT,
status ENUM('مقدمة', 'قيد المراجعة', 'مقبولة', 'مرفوضة', 'ملغية') DEFAULT 'مقدمة',
approved_by BIGINT,
approval_date DATETIME,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (staff_id) REFERENCES staff(staff_id),
FOREIGN KEY (approved_by) REFERENCES staff(staff_id)
);
-- جدول سجل الإنجازات والتدريب
CREATE TABLE staff_training_records (
training_id BIGINT PRIMARY KEY AUTO_INCREMENT,
staff_id BIGINT NOT NULL,
training_name VARCHAR(150) NOT NULL,
training_type ENUM('داخلي', 'خارجي', 'عن بعد', 'حضوري') NOT NULL,
provider VARCHAR(100),
start_date DATE,
end_date DATE,
certificate_obtained BOOLEAN DEFAULT FALSE,
certificate_expiry DATE,
hours_completed INT,
cost DECIMAL(10,2),
evaluation_score INT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (staff_id) REFERENCES staff(staff_id)
);
-- جدول تقييم الأداء السنوي
CREATE TABLE staff_performance_reviews (
review_id BIGINT PRIMARY KEY AUTO_INCREMENT,
staff_id BIGINT NOT NULL,
review_year YEAR NOT NULL,
review_period ENUM('نصف سنوي', 'سنوي', 'ربع سنوي') NOT NULL,
reviewer_id BIGINT NOT NULL,
communication_skills INT CHECK (communication_skills BETWEEN 1 AND 5),
teamwork INT CHECK (teamwork BETWEEN 1 AND 5),
clinical_competence INT CHECK (clinical_competence BETWEEN 1 AND 5),
problem_solving INT CHECK (problem_solving BETWEEN 1 AND 5),
leadership INT CHECK (leadership BETWEEN 1 AND 5),
overall_rating DECIMAL(3,1),
strengths TEXT,
areas_of_improvement TEXT,
goals_next_period TEXT,
comments TEXT,
review_date DATETIME DEFAULT CURRENT_TIMESTAMP,
status ENUM('معلقة', 'مكتملة', 'قيد المراجعة') DEFAULT 'معلقة',
FOREIGN KEY (staff_id) REFERENCES staff(staff_id),
FOREIGN KEY (reviewer_id) REFERENCES staff(staff_id)
);
1.2 نظام الجودة والاعتماد
sql
-- جدول مؤشرات الجودة
CREATE TABLE quality_indicators (
indicator_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
indicator_name VARCHAR(150) NOT NULL,
indicator_category ENUM('السلامة', 'الفعالية', 'الكفاءة', 'التركيز على المريض', 'التوقيت المناسب', 'العدالة') NOT NULL,
target_value DECIMAL(10,2),
current_value DECIMAL(10,2),
measurement_frequency ENUM('يومي', 'أسبوعي', 'شهري', 'ربع سنوي', 'سنوي') NOT NULL,
data_source VARCHAR(100),
responsible_department VARCHAR(50),
last_updated DATETIME,
status ENUM('ممتاز', 'جيد', 'متوسط', 'ضعيف', 'حرج') DEFAULT 'جيد',
action_plan TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
-- جدول سجل الحوادث والأخطاء الطبية
CREATE TABLE incident_reports (
incident_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
patient_id BIGINT,
staff_id BIGINT,
incident_date DATETIME NOT NULL,
incident_type ENUM('خطأ دوائي', 'خطأ جراحي', 'سقوط', 'عدوى مكتسبة', 'حساسية', 'خطأ تشخيصي', 'أخرى') NOT NULL,
severity ENUM('طفيف', 'متوسط', 'خطير', 'مميت') NOT NULL,
description TEXT NOT NULL,
immediate_action TEXT,
root_cause_analysis TEXT,
corrective_actions TEXT,
preventive_actions TEXT,
reported_by BIGINT NOT NULL,
reviewed_by BIGINT,
closure_date DATETIME,
status ENUM('مفتوح', 'تحت التحقيق', 'مغلق', 'محال للجنة') DEFAULT 'مفتوح',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (staff_id) REFERENCES staff(staff_id),
FOREIGN KEY (reported_by) REFERENCES staff(staff_id),
FOREIGN KEY (reviewed_by) REFERENCES staff(staff_id)
);
1.3 نظام التطعيمات واللقاحات
sql
-- جدول سجل التطعيمات
CREATE TABLE vaccination_records (
vaccination_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
vaccine_name VARCHAR(100) NOT NULL,
vaccine_code VARCHAR(20),
batch_number VARCHAR(50),
dose_number INT NOT NULL,
total_doses INT NOT NULL,
administration_date DATE NOT NULL,
administration_time TIME,
administration_site VARCHAR(20),
administered_by BIGINT NOT NULL,
hospital_id INT NOT NULL,
next_dose_due DATE,
manufacturer VARCHAR(100),
expiry_date DATE,
lot_number VARCHAR(50),
adverse_reactions TEXT,
consent_obtained BOOLEAN DEFAULT TRUE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (administered_by) REFERENCES staff(staff_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
INDEX idx_patient_vaccine (patient_id, vaccine_name)
);
-- جدول حملات التطعيم الوطنية
CREATE TABLE vaccination_campaigns (
campaign_id BIGINT PRIMARY KEY AUTO_INCREMENT,
campaign_name VARCHAR(150) NOT NULL,
campaign_type ENUM('روتيني', 'طارئ', 'موسمي', 'جائحة') NOT NULL,
target_population TEXT,
start_date DATE NOT NULL,
end_date DATE,
target_locations TEXT,
participating_hospitals TEXT,
total_vaccinated INT DEFAULT 0,
coverage_percentage DECIMAL(5,2),
budget DECIMAL(15,2),
coordinator_id BIGINT,
status ENUM('مخطط', 'نشطة', 'مكتملة', 'ملغية') DEFAULT 'مخطط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (coordinator_id) REFERENCES staff(staff_id)
);
📱 2. تفاصيل النماذج المتقدمة
2.1 نموذج التقييم الأولي للمريض (Triage)
yaml
اسم النموذج: تقييم الطوارئ الأولي
الأقسام:
- البيانات الأساسية:
- اسم المريض (نص إجباري)
- العمر (رقم)
- الجنس (قائمة منسدلة)
- رقم الهوية (نص)
- العلامات الحيوية:
- ضغط الدم (نص)
- معدل النبض (رقم)
- درجة الحرارة (رقم)
- معدل التنفس (رقم)
- تشبع الأكسجين (رقم)
- التقييم السريري:
- مستوى الوعي (قائمة منسدلة: واعي/مشوش/غير واعي)
- الألم (مقياس 1-10)
- الأعراض الرئيسية (نص طويل)
- بداية الأعراض (تاريخ ووقت)
- الحساسية المعروفة (نص)
- درجة الطوارئ:
- الأولوية (أحمر/برتقالي/أصفر/أخضر/أزرق)
- التوقيت المتوقع للعلاج (نص)
- التوصيات (نص)
- معلومات إضافية:
- مقدم الخدمة (اسم الموظف)
- التوقيع (توقيع إلكتروني)
- التاريخ والوقت (تلقائي)
2.2 نموذج الخطة العلاجية الشاملة
yaml
اسم النموذج: الخطة العلاجية المتكاملة
الأقسام:
- معلومات المريض:
- الاسم الكامل (نص)
- رقم الملف (نص)
- التشخيص الرئيسي (نص)
- الأهداف العلاجية:
- الأهداف قصيرة المدى (نص طويل)
- الأهداف طويلة المدى (نص طويل)
- المؤشرات المتوقعة (نص)
- خطة العلاج:
- الأدوية:
- اسم الدواء (نص)
- الجرعة (نص)
- التكرار (نص)
- مدة العلاج (نص)
- تعليمات خاصة (نص)
- الإجراءات الطبية:
- الإجراء (نص)
- التاريخ المخطط (تاريخ)
- التحضيرات المطلوبة (نص)
- العلاج الطبيعي/التأهيلي:
- النوع (نص)
- التكرار (نص)
- المدة (نص)
- متابعة:
- مواعيد المتابعة (قائمة تواريخ)
- الفحوصات الدورية (نص)
- معايير التحسن (نص)
- فريق العلاج:
- الطبيب المعالج (نص)
- الاستشاريون (نص)
- الممرض المسؤول (نص)
- أخصائي التغذية (نص)
- توقيعات:
- توقيع الطبيب (توقيع إلكتروني)
- موافقة المريض (توقيع إلكتروني)
- التاريخ (تلقائي)
2.3 نموذج تقرير العمليات الجراحية المتقدم
yaml
اسم النموذج: تقرير العملية الجراحية المفصل
الأقسام:
- البيانات الأساسية:
- اسم المريض (نص)
- رقم الملف (نص)
- التاريخ (تاريخ)
- غرفة العمليات (نص)
- فريق الجراحة:
- الجراح الرئيسي (نص)
- الجراح المساعد الأول (نص)
- الجراح المساعد الثاني (نص)
- طبيب التخدير (نص)
- فريق التمريض (نص)
- عدد الحضور (رقم)
- تفاصيل العملية:
- التشخيص قبل العملية (نص)
- التشخيص بعد العملية (نص)
- نوع العملية (نص)
- رمز العملية (نص)
- الطوارئ/المجدولة (اختيار)
- التقنية الجراحية:
- النهج (فتح/منظار/روبوتي/أخرى)
- الأدوات المستخدمة (نص)
- الغرسات (نص)
- التعقيم (نص)
- الملاحظات الجراحية:
- النتائج (نص طويل)
- المضاعفات (نص)
- تقدير فقدان الدم (نص)
- النقل الدموي (نعم/لا مع التفاصيل)
- التوصيات:
- الرعاية بعد العملية (نص)
- الأدوية المطلوبة (نص)
- موعد المتابعة (تاريخ)
- التعليمات للمريض (نص)
- التوثيق:
- اسم الطبيب (نص)
- التوقيع (توقيع إلكتروني)
- التاريخ والوقت (تلقائي)
- مراجعة الجودة (نص)
2.4 نموذج طلب نقل المريض بين المستشفيات
yaml
اسم النموذج: طلب النقل الطبي
الأقسام:
- بيانات النقل:
- تاريخ الطلب (تاريخ)
- وقت الطلب (وقت)
- سبب النقل (نص طويل)
- مدى الاستعجال (طوارئ/عاجل/مجدول)
- المريض:
- الاسم (نص)
- العمر (رقم)
- التشخيص الحالي (نص)
- الحالة الصحية (نص)
- المستشفى المرسل:
- الاسم (نص)
- القسم (نص)
- الطبيب المسؤول (نص)
- رقم الاتصال (نص)
- المستشفى المستقبل:
- الاسم (نص)
- القسم (نص)
- الطبيب المسؤول (نص)
- رقم الاتصال (نص)
- وسيلة النقل:
- النوع (إسعاف/طائرة إسعاف/مروحية/سيارة خاصة)
- المعدات المطلوبة (نص)
- المرافقون (نص)
- المرفقات الطبية:
- ملخص الحالة (ملف مرفق)
- الفحوصات الأخيرة (ملف مرفق)
- صور الأشعة (ملف مرفق)
- تقرير الطبيب (ملف مرفق)
- الموافقات:
- موافقة الطبيب المرسل (توقيع)
- موافقة الطبيب المستقبل (توقيع)
- موافقة المريض/الولي (توقيع)
📊 3. التقارير المتقدمة والتحليلات
3.1 لوحة التحكم الوطنية (وزارة الصحة)
sql
-- تقرير الأداء الوطني اليومي
CREATE VIEW national_daily_dashboard AS
SELECT
DATE(CURRENT_DATE) as report_date,
(SELECT COUNT(*) FROM patients) as total_patients,
(SELECT COUNT(*) FROM hospitals WHERE is_active = TRUE) as total_hospitals,
(SELECT COUNT(*) FROM staff WHERE is_active = TRUE) as total_staff,
(SELECT COUNT(*) FROM appointments WHERE appointment_date = CURRENT_DATE) as daily_appointments,
(SELECT COUNT(*) FROM admissions WHERE admission_date = CURRENT_DATE) as daily_admissions,
(SELECT COUNT(*) FROM emergency_cases WHERE date = CURRENT_DATE) as daily_emergencies,
(SELECT AVG(occupancy_rate) FROM hospital_occupancy WHERE date = CURRENT_DATE) as avg_occupancy,
(SELECT SUM(total_amount) FROM billing WHERE DATE(invoice_date) = CURRENT_DATE) as daily_revenue;
3.2 تقرير مؤشرات الأداء الرئيسية (KPI)
sql
-- تقرير مؤشرات الأداء الأسبوعي
CREATE VIEW weekly_performance_report AS
SELECT
hospital_id,
hospital_name,
region,
COUNT(DISTINCT patient_id) as unique_patients,
COUNT(appointment_id) as total_appointments,
AVG(waiting_time_minutes) as avg_waiting_time,
SUM(CASE WHEN status = 'مكتمل' THEN 1 ELSE 0 END) / COUNT(*) * 100 as completion_rate,
AVG(patient_satisfaction_score) as avg_satisfaction,
AVG(emergency_response_time) as avg_emergency_response,
(SELECT COUNT(*) FROM incident_reports WHERE hospital_id = h.hospital_id AND incident_date >= DATE_SUB(NOW(), INTERVAL 7 DAY)) as weekly_incidents,
(SELECT COUNT(*) FROM referrals WHERE from_hospital_id = h.hospital_id AND referral_date >= DATE_SUB(NOW(), INTERVAL 7 DAY)) as weekly_referrals
FROM hospitals h
LEFT JOIN appointments a ON h.hospital_id = a.hospital_id
WHERE a.appointment_date >= DATE_SUB(NOW(), INTERVAL 7 DAY)
GROUP BY hospital_id;
3.3 تقرير تحليل الأمراض الموسمية
sql
-- تقرير الأمراض الموسمية
CREATE VIEW seasonal_disease_analysis AS
SELECT
MONTH(visit_date) as month,
YEAR(visit_date) as year,
diagnosis,
COUNT(*) as case_count,
AVG(patient_age) as avg_age,
gender,
region,
hospital_type,
AVG(treatment_duration_days) as avg_treatment_duration,
recovery_rate_percentage
FROM medical_records mr
JOIN patients p ON mr.patient_id = p.patient_id
JOIN hospitals h ON mr.hospital_id = h.hospital_id
WHERE visit_date >= DATE_SUB(NOW(), INTERVAL 12 MONTH)
GROUP BY month, year, diagnosis, region, hospital_type;
3.4 تقرير كفاءة الموارد البشرية
sql
-- تقرير أداء الموظفين
CREATE VIEW staff_performance_analysis AS
SELECT
s.staff_id,
s.full_name,
s.job_title,
s.department_name,
h.hospital_name,
COUNT(DISTINCT a.appointment_id) as appointments_handled,
COUNT(DISTINCT mr.record_id) as patient_visits,
AVG(pr.overall_rating) as avg_performance_rating,
COUNT(DISTINCT CASE WHEN pr.overall_rating >= 4 THEN pr.review_id END) as excellent_reviews,
COUNT(DISTINCT sl.leave_id) as leaves_taken,
COUNT(DISTINCT st.training_id) as trainings_completed,
(SELECT COUNT(*) FROM incident_reports WHERE staff_id = s.staff_id AND incident_date >= DATE_SUB(NOW(), INTERVAL 30 DAY)) as recent_incidents,
(SELECT COUNT(*) FROM patient_feedback WHERE staff_id = s.staff_id AND feedback_date >= DATE_SUB(NOW(), INTERVAL 30 DAY)) as feedback_received
FROM staff s
LEFT JOIN hospitals h ON s.hospital_id = h.hospital_id
LEFT JOIN appointments a ON s.staff_id = a.doctor_id
LEFT JOIN medical_records mr ON s.staff_id = mr.doctor_id
LEFT JOIN staff_performance_reviews pr ON s.staff_id = pr.staff_id
LEFT JOIN staff_leave_records sl ON s.staff_id = sl.staff_id
LEFT JOIN staff_training_records st ON s.staff_id = st.staff_id
GROUP BY s.staff_id;
🌐 4. نظام التكامل مع الجهات الخارجية
4.1 واجهات API للتكامل
yaml
API التكامل مع وزارة الصحة: - /api/v1/national/patient-registry (تسجيل المرضى الوطني) - /api/v1/national/disease-surveillance (مراقبة الأمراض) - /api/v1/national/vaccination-tracker (تتبع التطعيمات) - /api/v1/national/hospital-capacity (سعة المستشفيات) - /api/v1/national/emergency-readiness (جاهزية الطوارئ) API التكامل مع هيئة التأمين: - /api/v1/insurance/verify-policy (التحقق من البوليصة) - /api/v1/insurance/submit-claim (تقديم مطالبة) - /api/v1/insurance/claim-status (حالة المطالبة) API التكامل مع الصيدليات: - /api/v1/pharmacy/inventory-check (التحقق من المخزون) - /api/v1/pharmacy/order-medication (طلب دواء) - /api/v1/pharmacy/prescription-validation (التحقق من الوصفة) API التكامل مع المختبرات: - /api/v1/lab/order-test (طلب تحليل) - /api/v1/lab/results (نتائج التحاليل) - /api/v1/lab/test-status (حالة التحليل)
4.2 نظام التكامل مع “صحتي”
sql
-- جدول تتبع التكامل مع صحتي
CREATE TABLE sehaty_integration (
integration_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
sehaty_id VARCHAR(50) UNIQUE,
last_sync DATETIME,
sync_status ENUM('متزامن', 'فشل', 'قيد الانتظار') DEFAULT 'قيد الانتظار',
data_exchanged TEXT,
error_message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
-- جدول سجل التحديثات لصحتي
CREATE TABLE sehaty_sync_log (
log_id BIGINT PRIMARY KEY AUTO_INCREMENT,
integration_id BIGINT NOT NULL,
sync_type ENUM('سجل طبي', 'وصفة', 'نتيجة مختبر', 'صورة أشعة', 'تطعيم') NOT NULL,
sync_date DATETIME DEFAULT CURRENT_TIMESTAMP,
status ENUM('ناجح', 'فشل', 'جزئي') NOT NULL,
records_synced INT,
error_details TEXT,
FOREIGN KEY (integration_id) REFERENCES sehaty_integration(integration_id)
);
🔐 5. نظام الأمان والمصادقة المتقدم
5.1 جدول صلاحيات المستخدمين المتقدمة
sql
-- جدول الأدوار والصلاحيات
CREATE TABLE roles (
role_id INT PRIMARY KEY AUTO_INCREMENT,
role_name VARCHAR(50) NOT NULL UNIQUE,
role_description TEXT,
is_system_role BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE permissions (
permission_id INT PRIMARY KEY AUTO_INCREMENT,
permission_name VARCHAR(50) NOT NULL UNIQUE,
permission_description TEXT,
resource_type VARCHAR(50),
action_type VARCHAR(50)
);
CREATE TABLE role_permissions (
role_id INT NOT NULL,
permission_id INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (role_id, permission_id),
FOREIGN KEY (role_id) REFERENCES roles(role_id),
FOREIGN KEY (permission_id) REFERENCES permissions(permission_id)
);
-- جدول سجل النشاطات
CREATE TABLE audit_log (
log_id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
user_type ENUM('موظف', 'مريض', 'مسؤول نظام') NOT NULL,
action_type VARCHAR(50) NOT NULL,
resource_type VARCHAR(50),
resource_id VARCHAR(100),
ip_address VARCHAR(45),
user_agent TEXT,
details TEXT,
status ENUM('نجاح', 'فشل', 'تحذير') DEFAULT 'نجاح',
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
session_id VARCHAR(100),
INDEX idx_user_id (user_id),
INDEX idx_timestamp (timestamp)
);
5.2 المصادقة الثنائية (2FA)
sql
-- جدول المصادقة الثنائية
CREATE TABLE two_factor_auth (
auth_id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
user_type ENUM('موظف', 'مريض', 'مسؤول نظام') NOT NULL,
secret_key VARCHAR(255) NOT NULL,
backup_codes TEXT,
is_enabled BOOLEAN DEFAULT FALSE,
last_verified DATETIME,
device_name VARCHAR(100),
device_id VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- جدول جلسات المستخدمين النشطة
CREATE TABLE user_sessions (
session_id VARCHAR(255) PRIMARY KEY,
user_id BIGINT NOT NULL,
user_type ENUM('موظف', 'مريض', 'مسؤول نظام') NOT NULL,
login_time DATETIME DEFAULT CURRENT_TIMESTAMP,
last_activity DATETIME DEFAULT CURRENT_TIMESTAMP,
expiry_time DATETIME,
ip_address VARCHAR(45),
user_agent TEXT,
is_active BOOLEAN DEFAULT TRUE,
device_fingerprint VARCHAR(255)
);
📈 6. نظام التحليلات والذكاء الاصطناعي
6.1 جداول التحليلات التنبؤية
sql
-- جدول نموذج التنبؤ بالأمراض
CREATE TABLE disease_prediction_models (
model_id INT PRIMARY KEY AUTO_INCREMENT,
model_name VARCHAR(100) NOT NULL,
model_type VARCHAR(50) NOT NULL,
version VARCHAR(20),
accuracy DECIMAL(5,2),
training_data_size INT,
training_date DATETIME,
parameters JSON,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- جدول التنبؤات المستقبلية
CREATE TABLE disease_predictions (
prediction_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
model_id INT NOT NULL,
disease_type VARCHAR(100),
prediction_date DATETIME DEFAULT CURRENT_TIMESTAMP,
probability DECIMAL(5,2),
risk_factors TEXT,
recommended_actions TEXT,
confidence_interval TEXT,
status ENUM('نشطة', 'محققة', 'خاطئة', 'قيد المراجعة') DEFAULT 'نشطة',
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (model_id) REFERENCES disease_prediction_models(model_id)
);
-- جدول تحليل تدفق المرضى
CREATE TABLE patient_flow_analysis (
analysis_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
analysis_date DATE NOT NULL,
peak_hours JSON,
wait_times JSON,
bottleneck_departments TEXT,
resource_utilization JSON,
capacity_analysis TEXT,
recommendations TEXT,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
6.2 نظام توصيات الذكاء الاصطناعي
sql
-- جدول توصيات العلاج الذكية
CREATE TABLE ai_treatment_recommendations (
recommendation_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
medical_record_id BIGINT NOT NULL,
recommendation_type ENUM('دواء', 'إجراء', 'فحص', 'تغيير نمط حياة') NOT NULL,
recommendation_text TEXT,
confidence_score DECIMAL(5,2),
evidence_source TEXT,
similar_cases_count INT,
success_rate_historical DECIMAL(5,2),
doctor_decision ENUM('مقبول', 'مرفوض', 'قيد المراجعة') DEFAULT 'قيد المراجعة',
doctor_notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
FOREIGN KEY (medical_record_id) REFERENCES medical_records(record_id)
);
🏗️ 7. البنية التحتية التقنية
7.1 نظام تخزين الملفات الطبية
sql
-- جدول الملفات الطبية المشفرة
CREATE TABLE medical_files (
file_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
file_type ENUM('صورة أشعة', 'تقرير طبي', 'نتيجة مختبر', 'وصفة طبية', 'توقيع', 'فيديو', 'أخرى') NOT NULL,
file_name VARCHAR(255) NOT NULL,
file_size BIGINT,
file_format VARCHAR(20),
file_hash VARCHAR(64),
storage_path VARCHAR(500) NOT NULL,
encryption_key_id VARCHAR(50),
upload_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
uploaded_by BIGINT NOT NULL,
access_count INT DEFAULT 0,
last_accessed DATETIME,
status ENUM('نشط', 'مؤرشف', 'محذوف') DEFAULT 'نشط',
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (uploaded_by) REFERENCES staff(staff_id)
);
-- جدول سجل الوصول للملفات
CREATE TABLE file_access_log (
access_id BIGINT PRIMARY KEY AUTO_INCREMENT,
file_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
user_type ENUM('موظف', 'مريض', 'مسؤول نظام') NOT NULL,
access_type ENUM('عرض', 'تحميل', 'تعديل', 'حذف') NOT NULL,
access_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
ip_address VARCHAR(45),
reason TEXT,
FOREIGN KEY (file_id) REFERENCES medical_files(file_id)
);
7.2 نظام النسخ الاحتياطي والاسترداد
sql
-- جدول النسخ الاحتياطي
CREATE TABLE backup_records (
backup_id BIGINT PRIMARY KEY AUTO_INCREMENT,
backup_type ENUM('كامل', 'جزئي', 'تفاضلي') NOT NULL,
backup_name VARCHAR(100) NOT NULL,
backup_size BIGINT,
backup_location VARCHAR(500) NOT NULL,
database_name VARCHAR(50),
tables_backed_up TEXT,
compression_status ENUM('مضغوط', 'غير مضغوط') DEFAULT 'غير مضغوط',
encryption_status ENUM('مشفر', 'غير مشفر') DEFAULT 'غير مشفر',
created_by BIGINT NOT NULL,
start_time DATETIME NOT NULL,
end_time DATETIME,
status ENUM('مكتمل', 'فشل', 'قيد التنفيذ', 'ملغي') DEFAULT 'قيد التنفيذ',
error_message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (created_by) REFERENCES staff(staff_id)
);
-- جدول استعادة البيانات
CREATE TABLE restore_records (
restore_id BIGINT PRIMARY KEY AUTO_INCREMENT,
backup_id BIGINT NOT NULL,
restore_date DATETIME DEFAULT CURRENT_TIMESTAMP,
restored_by BIGINT NOT NULL,
restore_type ENUM('كامل', 'انتقائي') NOT NULL,
restore_status ENUM('مكتمل', 'فشل', 'قيد التنفيذ') DEFAULT 'قيد التنفيذ',
tables_restored TEXT,
error_message TEXT,
notes TEXT,
FOREIGN KEY (backup_id) REFERENCES backup_records(backup_id),
FOREIGN KEY (restored_by) REFERENCES staff(staff_id)
);
🗓️ 8. نظام الجدولة والمهام التلقائية
8.1 جدولة المواعيد التلقائية
sql
-- جدول قواعد الجدولة
CREATE TABLE scheduling_rules (
rule_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
department_id INT NOT NULL,
rule_name VARCHAR(100) NOT NULL,
rule_type ENUM('مواعيد جديدة', 'مواعيد متابعة', 'مواعيد طوارئ') NOT NULL,
days_of_week VARCHAR(7),
start_time TIME,
end_time TIME,
max_appointments_per_hour INT,
break_time_minutes INT,
priority ENUM('عادية', 'عالية', 'طارئة') DEFAULT 'عادية',
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (department_id) REFERENCES hospital_departments(department_id)
);
-- جدول تذكيرات المواعيد
CREATE TABLE appointment_reminders (
reminder_id BIGINT PRIMARY KEY AUTO_INCREMENT,
appointment_id BIGINT NOT NULL,
reminder_type ENUM('رسالة نصية', 'بريد إلكتروني', 'إشعار تطبيق', 'اتصال هاتفي') NOT NULL,
reminder_time DATETIME NOT NULL,
sent_time DATETIME,
status ENUM('معلقة', 'مرسلة', 'فشلت') DEFAULT 'معلقة',
recipient_number VARCHAR(15),
recipient_email VARCHAR(100),
message_content TEXT,
error_message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (appointment_id) REFERENCES appointments(appointment_id)
);
8.2 نظام المهام والإشعارات
sql
-- جدول المهام اليومية
CREATE TABLE daily_tasks (
task_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
assigned_to BIGINT NOT NULL,
task_title VARCHAR(150) NOT NULL,
task_description TEXT,
task_type ENUM('سريري', 'إداري', 'صيانة', 'تدريب', 'أخرى') NOT NULL,
priority ENUM('منخفضة', 'متوسطة', 'عالية', 'طارئة') DEFAULT 'متوسطة',
due_date DATETIME,
completed_date DATETIME,
status ENUM('معلقة', 'قيد التنفيذ', 'مكتملة', 'ملغية') DEFAULT 'معلقة',
reminder_sent BOOLEAN DEFAULT FALSE,
notes TEXT,
created_by BIGINT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (assigned_to) REFERENCES staff(staff_id),
FOREIGN KEY (created_by) REFERENCES staff(staff_id)
);
-- جدول الإشعارات
CREATE TABLE notifications (
notification_id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
user_type ENUM('موظف', 'مريض', 'مسؤول نظام') NOT NULL,
notification_type ENUM('موعد', 'تذكير', 'نتيجة مختبر', 'تحديث طبي', 'إداري', 'طوارئ') NOT NULL,
title VARCHAR(150) NOT NULL,
message TEXT NOT NULL,
priority ENUM('منخفضة', 'متوسطة', 'عالية') DEFAULT 'متوسطة',
is_read BOOLEAN DEFAULT FALSE,
read_at DATETIME,
action_link VARCHAR(255),
expires_at DATETIME,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
📋 9. قائمة النماذج الشاملة للمنصة
النماذج السريرية:
- نموذج الفحص السريري الشامل
- نموذج تقييم الحالة النفسية
- نموذج تقييم الألم المتقدم
- نموذج خطة التمريض اليومية
- نموذج تقرير حالة المريض
- نموذج طلب استشارة طبية
- نموذج تقييم مخاطر السقوط
- نموذج تقييم قرح الفراش
- نموذج تقييم التغذية السريرية
- نموذج تقييم العلاج الطبيعي
النماذج التشخيصية:
- نموذج طلب الفحوصات المخبرية
- نموذج طلب الأشعة التشخيصية
- نموذج طلب الفحوصات المتخصصة
- نموذج نتائج التحاليل المخبرية
- نموذج تقرير الأشعة التشخيصية
- نموذج طلب فحص الجينات
- نموذج فحص الحساسية
النماذج العلاجية:
- نموذج وصفة طبية متقدمة
- نموذج خطة العلاج الكيميائي
- نموذج خطة العلاج الإشعاعي
- نموذج خطة العلاج الهرموني
- نموذج خطة العلاج الطبيعي
- نموذج خطة العلاج النفسي
- نموذج خطة العلاج الوظيفي
النماذح الجراحية:
- نموذج الموافقة على العملية الجراحية
- نموذج التقييم قبل الجراحة
- نموذج التخدير قبل العملية
- نموذج تقرير العملية الجراحية
- نموذج متابعة ما بعد الجراحة
- نموذج خطة الخروج الجراحي
النماذج الإدارية:
- نموذج تسجيل مريض جديد
- نموذج حجز موعد
- نموذج دخول المستشفى
- نموذج خروج المريض
- نموذج تحويل المريض
- نموذج إحالة خارجية
- نموذج طلب إجازة موظف
- نموذج تقييم أداء موظف
- نموذج الإبلاغ عن حادث
- نموذج شكوى المريض
النماذج المالية:
- نموذج فاتورة الخدمات
- نموذج مطالب التأمين
- نموذج سداد الدفعات
- نموذج طلب صرف دواء
- نموذج جرد المخزون
نماذج التقارير:
- نموذج تقرير الحالة اليومي
- نموذج تقرير الحالة الأسبوعي
- نموذج تقرير الحالة الشهري
- نموذج تقرير الحالة الفصلي
- نموذج تقرير الحالة السنوي
- نموذج تقرير الحوادث
- نموذج تقرير الجودة
- نموذج تقرير الأداء
- نموذج تقرير مالي
نماذج الطوارئ:
- نموذج استجابة الطوارئ
- نموذج تقييم الكوارث
- نموذج طلب دعم طبي طارئ
- نموذج تقرير حالة الطوارئ
- نموذج إخلاء طبي
🎯 10. خارطة طريق التنفيذ التفصيلية
المرحلة الأولى: التأسيس (شهر 1-2)
- ✅ تصميم قاعدة البيانات الأساسية
- ✅ إنشاء النماذج الرئيسية (تسجيل المريض، المواعيد)
- ✅ واجهات المستخدم الأساسية
- ✅ نظام المصادقة الأساسي
- ✅ تقارير أساسية
المرحلة الثانية: التوسع التشغيلي (شهر 3-4)
- ✅ السجلات الطبية الإلكترونية
- ✅ نظام المختبرات
- ✅ نظام الصيدليات
- ✅ نظام الفواتير
- ✅ بوابة المريض المتقدمة
المرحلة الثالثة: التكامل الوطني (شهر 5-6)
- ✅ ربط المستشفيات
- ✅ نظام الإحالات
- ✅ التكامل مع وزارة الصحة
- ✅ التكامل مع صحتي
- ✅ التقارير الوطنية
المرحلة الرابعة: الذكاء الاصطناعي (شهر 7-8)
- ✅ نماذج التنبؤ
- ✅ توصيات العلاج الذكية
- ✅ تحليل الصور الطبية
- ✅ تحسين الموارد
المرحلة الخامسة: التحسين والتوسع (شهر 9-10)
- ✅ تحسين الأداء
- ✅ تطبيقات الجوال
- ✅ تكامل مع أجهزة إنترنت الأشياء
- ✅ تحليل البيانات المتقدم
المرحلة السادسة: التشغيل الكامل (شهر 11-12)
- ✅ تشغيل تجريبي واسع
- ✅ تدريب المستخدمين
- ✅ الإطلاق الرسمي
- ✅ التحسين المستمر
💰 11. تقدير التكاليف والموارد
المتطلبات التقنية:
text
البنية التحتية السحابية: - 4 خوادم تطبيقات: 100,000 - 150,000 ريال/سنة - 2 خوادم قواعد بيانات: 80,000 - 120,000 ريال/سنة - تخزين بيانات (50TB): 60,000 - 90,000 ريال/سنة - شبكة توزيع المحتوى: 30,000 - 50,000 ريال/سنة البرمجيات والتراخيص: - نظام إدارة قواعد البيانات: 50,000 ريال - أدوات التطوير: 30,000 ريال - تراخيص الأمان: 40,000 ريال - تكاملات الجهات الخارجية: 25,000 ريال الموارد البشرية (فريق التطوير): - مهندسي برمجيات (5): 600,000 - 750,000 ريال/سنة - مهندسي قواعد بيانات (2): 240,000 - 300,000 ريال/سنة - مهندسي أمن معلومات (2): 240,000 - 300,000 ريال/سنة - محللي بيانات (2): 180,000 - 240,000 ريال/سنة - مدير مشروع (1): 120,000 - 150,000 ريال/سنة - مصممي تجربة مستخدم (2): 180,000 - 240,000 ريال/سنة الإجمالي التقريبي: 2,500,000 - 3,500,000 ريال
🤝 12. الشركاء الاستراتيجيون المقترحون
- وزارة الصحة السعودية – الدعم الحكومي والتشريعي
- الهيئة السعودية للبيانات والذكاء الاصطناعي (SDAIA) – البنية التحتية التقنية
- المركز الوطني للتوثيق الطبي – المعايير الطبية
- جامعات وكليات الطب – البحوث والتطوير
- شركات التقنية الصحية العالمية – التكامل التكنولوجي
- شركات التأمين الصحي – التكامل المالي
- مقدمي الرعاية الصحية – التبني والاستخدام
- الجمعيات الطبية المتخصصة – الخبرة السريرية
📝 13. خطة التدريب ورفع الكفاءة
برامج التدريب المقترحة:
- تدريب الأطباء والممرضين (5 أيام)
- استخدام السجلات الطبية الإلكترونية
- كتابة الوصفات الطبية الإلكترونية
- طلب الفحوصات والأشعة
- متابعة المرضى
- تدريب الإداريين (3 أيام)
- إدارة المواعيد
- الفواتير والتأمين
- التقارير الإدارية
- إدارة المخزون
- تدريب فرق الدعم الفني (7 أيام)
- صيانة النظام
- استكشاف الأخطاء
- إدارة قواعد البيانات
- الأمن السيبراني
- تدريب المستخدمين النهائيين (يومين)
- استخدام بوابة المريض
- حجز المواعيد
- دفع الفواتير
- متابعة الحالة الصحية
مع هذه الإضافات، أصبحت المنصة متكاملة وشاملة لجميع احتياجات القطاع الصحي في المملكة. 🏥🇸🇦
هل تريد تفصيلاً أكثر لجزء معين أو إضافة ميزة جديدة؟ 😊
This response is AI-generated, for reference only.
🏥 المنصة الصحية المتكاملة – التوسع الشامل
📊 13. نظام إدارة الجودة والاعتماد (موسع)
13.1 معايير الجودة والاعتماد
sql
-- جدول معايير الجودة الشاملة
CREATE TABLE quality_standards (
standard_id INT PRIMARY KEY AUTO_INCREMENT,
standard_code VARCHAR(20) UNIQUE NOT NULL,
standard_name VARCHAR(200) NOT NULL,
standard_category ENUM('السلامة', 'الفعالية', 'الكفاءة', 'المرونة', 'التركيز على المريض', 'العدالة', 'التوقيت') NOT NULL,
standard_description TEXT,
domain ENUM('الرعاية السريرية', 'الإدارة', 'الموارد البشرية', 'البنية التحتية', 'التقنية', 'الامتثال') NOT NULL,
required_evidence TEXT,
measurement_method VARCHAR(100),
target_threshold DECIMAL(5,2),
is_mandatory BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- جدول تقييم الجودة الدوري
CREATE TABLE quality_assessments (
assessment_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
standard_id INT NOT NULL,
assessment_date DATE NOT NULL,
assessor_id BIGINT NOT NULL,
score DECIMAL(5,2),
compliance_level ENUM('ممتاز', 'جيد', 'مقبول', 'غير مطابق', 'حرج') DEFAULT 'مقبول',
findings TEXT,
evidence_provided TEXT,
recommendations TEXT,
corrective_action_plan TEXT,
corrective_action_deadline DATE,
verification_date DATE,
verification_status ENUM('قيد الانتظار', 'مكتمل', 'فشل', 'مغلق') DEFAULT 'قيد الانتظار',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (standard_id) REFERENCES quality_standards(standard_id),
FOREIGN KEY (assessor_id) REFERENCES staff(staff_id)
);
-- جدول التحسين المستمر
CREATE TABLE continuous_improvement (
improvement_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
assessment_id BIGINT NOT NULL,
improvement_title VARCHAR(200) NOT NULL,
improvement_type ENUM('تصحيح', 'وقائي', 'تحسيني', 'ابتكاري') NOT NULL,
description TEXT,
action_plan TEXT,
responsible_team VARCHAR(100),
start_date DATE,
target_completion_date DATE,
actual_completion_date DATE,
status ENUM('مخطط', 'قيد التنفيذ', 'مكتمل', 'ملغي', 'مؤجل') DEFAULT 'مخطط',
results_achieved TEXT,
kpi_improvement DECIMAL(5,2),
lessons_learned TEXT,
created_by BIGINT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (assessment_id) REFERENCES quality_assessments(assessment_id),
FOREIGN KEY (created_by) REFERENCES staff(staff_id)
);
13.2 نظام الاعتماد الوطني
sql
-- جدول متطلبات الاعتماد
CREATE TABLE accreditation_requirements (
requirement_id INT PRIMARY KEY AUTO_INCREMENT,
accreditation_body VARCHAR(100) NOT NULL,
requirement_code VARCHAR(20) UNIQUE NOT NULL,
requirement_name VARCHAR(200) NOT NULL,
domain VARCHAR(100),
sub_domain VARCHAR(100),
description TEXT,
required_documents TEXT,
evidence_type VARCHAR(50),
priority_level ENUM('أولوية عالية', 'أولوية متوسطة', 'أولوية منخفضة') DEFAULT 'أولوية متوسطة',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- جدول سجل الاعتماد
CREATE TABLE hospital_accreditation (
accreditation_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
accreditation_body VARCHAR(100) NOT NULL,
accreditation_standard VARCHAR(50),
accreditation_level VARCHAR(50),
application_date DATE,
survey_date DATE,
accreditation_date DATE,
expiry_date DATE,
status ENUM('قيد التقديم', 'تحت التقييم', 'ممنوح', 'معلق', 'ملغي', 'منتهي') DEFAULT 'قيد التقديم',
survey_findings TEXT,
recommendations TEXT,
conditions TEXT,
certificate_number VARCHAR(50),
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
-- جدول متابعة متطلبات الاعتماد
CREATE TABLE accreditation_followup (
followup_id BIGINT PRIMARY KEY AUTO_INCREMENT,
accreditation_id BIGINT NOT NULL,
requirement_id INT NOT NULL,
status ENUM('غير مطبق', 'قيد التطبيق', 'مطبق جزئياً', 'مطبق بالكامل') DEFAULT 'غير مطبق',
evidence_provided TEXT,
implementation_date DATE,
verification_date DATE,
verified_by BIGINT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (accreditation_id) REFERENCES hospital_accreditation(accreditation_id),
FOREIGN KEY (requirement_id) REFERENCES accreditation_requirements(requirement_id),
FOREIGN KEY (verified_by) REFERENCES staff(staff_id)
);
🩺 14. نظام الرعاية المنزلية والرعاية عن بعد
14.1 الرعاية المنزلية
sql
-- جدول برامج الرعاية المنزلية
CREATE TABLE home_care_programs (
program_id INT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
program_name VARCHAR(150) NOT NULL,
program_type ENUM('رعاية تمريضية', 'علاج طبيعي', 'رعاية مسنين', 'رعاية تلطيفية', 'رعاية ما بعد الجراحة', 'أخرى') NOT NULL,
target_patients TEXT,
description TEXT,
team_lead_id BIGINT,
start_date DATE,
end_date DATE,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (team_lead_id) REFERENCES staff(staff_id)
);
-- جدول زيارات الرعاية المنزلية
CREATE TABLE home_care_visits (
visit_id BIGINT PRIMARY KEY AUTO_INCREMENT,
program_id INT NOT NULL,
patient_id BIGINT NOT NULL,
assigned_caregiver BIGINT NOT NULL,
scheduled_date DATE NOT NULL,
scheduled_time TIME NOT NULL,
actual_date DATE,
actual_time TIME,
visit_type ENUM('تمريضية', 'طبية', 'علاج طبيعي', 'تقييم', 'متابعة') NOT NULL,
status ENUM('مجدولة', 'قيد التنفيذ', 'مكتملة', 'ملغية', 'تأجيل') DEFAULT 'مجدولة',
services_provided TEXT,
notes TEXT,
vital_signs JSON,
medication_administered TEXT,
next_visit_date DATE,
caregiver_notes TEXT,
patient_condition TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (program_id) REFERENCES home_care_programs(program_id),
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (assigned_caregiver) REFERENCES staff(staff_id)
);
-- جدول معدات الرعاية المنزلية
CREATE TABLE home_care_equipment (
equipment_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
equipment_type VARCHAR(100) NOT NULL,
model VARCHAR(50),
serial_number VARCHAR(50) UNIQUE,
assigned_date DATE NOT NULL,
return_date DATE,
condition_status ENUM('جيد', 'محتاج صيانة', 'تالف', 'مفقود') DEFAULT 'جيد',
maintenance_schedule TEXT,
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
14.2 الرعاية عن بعد (Telehealth)
sql
-- جدول جلسات الرعاية عن بعد
CREATE TABLE telehealth_sessions (
session_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
session_date DATE NOT NULL,
session_time TIME NOT NULL,
duration_minutes INT,
session_type ENUM('فيديو', 'صوتي', 'دردشة نصية', 'استشارة غير متزامنة') NOT NULL,
platform_used VARCHAR(50),
session_link VARCHAR(255),
status ENUM('مجدولة', 'نشطة', 'مكتملة', 'ملغية', 'فشل الاتصال') DEFAULT 'مجدولة',
chief_complaint TEXT,
assessment TEXT,
diagnosis TEXT,
treatment_plan TEXT,
prescriptions TEXT,
follow_up_plan TEXT,
patient_satisfaction INT CHECK (patient_satisfaction BETWEEN 1 AND 5),
session_recording_url VARCHAR(255),
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
-- جدول الأجهزة القابلة للارتداء
CREATE TABLE wearable_devices (
device_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
device_type ENUM('ساعة ذكية', 'جهاز قياس السكر', 'جهاز قياس الضغط', 'جهاز تخطيط القلب', 'جهاز مراقبة النوم', 'أخرى') NOT NULL,
device_name VARCHAR(100),
serial_number VARCHAR(50) UNIQUE,
pairing_date DATE,
last_sync DATETIME,
battery_status INT,
firmware_version VARCHAR(20),
data_frequency VARCHAR(20),
is_active BOOLEAN DEFAULT TRUE,
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
-- جدول بيانات الأجهزة القابلة للارتداء
CREATE TABLE wearable_data (
data_id BIGINT PRIMARY KEY AUTO_INCREMENT,
device_id BIGINT NOT NULL,
reading_time DATETIME NOT NULL,
heart_rate INT,
blood_pressure_systolic INT,
blood_pressure_diastolic INT,
blood_oxygen DECIMAL(4,1),
blood_sugar DECIMAL(5,2),
step_count INT,
calories_burned INT,
sleep_hours DECIMAL(3,1),
stress_level INT CHECK (stress_level BETWEEN 1 AND 10),
temperature DECIMAL(4,1),
ecg_data TEXT,
raw_data JSON,
alert_triggered BOOLEAN DEFAULT FALSE,
alert_type VARCHAR(50),
notes TEXT,
FOREIGN KEY (device_id) REFERENCES wearable_devices(device_id),
INDEX idx_reading_time (reading_time)
);
🏥 15. نظام إدارة الطوارئ والكوارث
15.1 نظام الاستعداد للطوارئ
sql
-- جدول خطة الطوارئ
CREATE TABLE emergency_plans (
plan_id INT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
plan_name VARCHAR(150) NOT NULL,
plan_type ENUM('حادث فردي', 'حادث جماعي', 'كوارث طبيعية', 'أوبئة', 'هجمات إرهابية', 'أخرى') NOT NULL,
version VARCHAR(10),
approval_date DATE,
review_date DATE,
next_review_date DATE,
responsible_committee TEXT,
plan_document TEXT,
status ENUM('مخطط', 'معتمد', 'قيد المراجعة', 'منتهي') DEFAULT 'مخطط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
-- جدول تدريبات الطوارئ
CREATE TABLE emergency_drills (
drill_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
plan_id INT NOT NULL,
drill_name VARCHAR(150) NOT NULL,
drill_type ENUM('تمثيلية', 'نظرية', 'مفاجئة', 'مجدولة') NOT NULL,
drill_date DATETIME NOT NULL,
duration_minutes INT,
participants_count INT,
scenario_description TEXT,
objectives TEXT,
performance_evaluation TEXT,
strengths TEXT,
areas_for_improvement TEXT,
lessons_learned TEXT,
coordinator_id BIGINT NOT NULL,
status ENUM('مخطط', 'منفذ', 'ملغي', 'مؤجل') DEFAULT 'مخطط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (plan_id) REFERENCES emergency_plans(plan_id),
FOREIGN KEY (coordinator_id) REFERENCES staff(staff_id)
);
-- جدول حوادث الطوارئ
CREATE TABLE emergency_incidents (
incident_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
incident_type ENUM('حادث مروري', 'حريق', 'كوارث طبيعية', 'أوبئة', 'هجمات إرهابية', 'حالات جماعية', 'أخرى') NOT NULL,
incident_date DATETIME NOT NULL,
location VARCHAR(200),
severity_level ENUM('خفيف', 'متوسط', 'شديد', 'كارثي') NOT NULL,
total_casualties INT,
total_deaths INT,
total_injured INT,
total_admitted INT,
response_time_minutes INT,
resources_deployed TEXT,
action_taken TEXT,
challenges TEXT,
recommendations TEXT,
incident_commander_id BIGINT,
status ENUM('مستمر', 'تحت السيطرة', 'منتهي', 'تحت التحقيق') DEFAULT 'مستمر',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (incident_commander_id) REFERENCES staff(staff_id)
);
15.2 نظام إدارة الأوبئة
sql
-- جدول مراقبة الأوبئة
CREATE TABLE epidemic_surveillance (
surveillance_id BIGINT PRIMARY KEY AUTO_INCREMENT,
region VARCHAR(50) NOT NULL,
hospital_id INT,
disease_name VARCHAR(100) NOT NULL,
disease_code VARCHAR(20),
report_date DATE NOT NULL,
new_cases INT DEFAULT 0,
total_cases INT DEFAULT 0,
active_cases INT DEFAULT 0,
recovered_cases INT DEFAULT 0,
deaths INT DEFAULT 0,
hospitalization_rate DECIMAL(5,2),
icu_rate DECIMAL(5,2),
mortality_rate DECIMAL(5,2),
reproduction_number DECIMAL(4,2),
vaccination_rate DECIMAL(5,2),
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
-- جدول إجراءات مكافحة الأوبئة
CREATE TABLE epidemic_control_measures (
measure_id BIGINT PRIMARY KEY AUTO_INCREMENT,
region VARCHAR(50) NOT NULL,
measure_name VARCHAR(150) NOT NULL,
measure_type ENUM('حظر', 'إغلاق', 'تباعد اجتماعي', 'فحص', 'حجر صحي', 'تطعيم', 'أخرى') NOT NULL,
start_date DATE NOT NULL,
end_date DATE,
target_population TEXT,
description TEXT,
effectiveness_rating INT CHECK (effectiveness_rating BETWEEN 1 AND 5),
challenges TEXT,
lessons_learned TEXT,
implemented_by VARCHAR(100),
status ENUM('نشط', 'منتهي', 'ملغي', 'معدل') DEFAULT 'نشط',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
📚 16. نظام التعليم الطبي المستمر والتدريب
16.1 برامج التدريب الطبي
sql
-- جدول برامج التدريب
CREATE TABLE training_programs (
program_id INT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
program_name VARCHAR(200) NOT NULL,
program_type ENUM('داخلي', 'خارجي', 'عن بعد', 'مختلط') NOT NULL,
category ENUM('طبي', 'تمريضي', 'إداري', 'تقني', 'قيادي', 'أخلاقيات') NOT NULL,
target_audience VARCHAR(100),
objectives TEXT,
content_outline TEXT,
prerequisites TEXT,
duration_hours INT,
max_participants INT,
certification_provided BOOLEAN DEFAULT FALSE,
accreditation_hours INT,
cost DECIMAL(10,2),
start_date DATE,
end_date DATE,
instructor_id BIGINT,
coordinator_id BIGINT,
status ENUM('مخطط', 'مفتوح للتسجيل', 'جاري', 'مكتمل', 'ملغي') DEFAULT 'مخطط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (instructor_id) REFERENCES staff(staff_id),
FOREIGN KEY (coordinator_id) REFERENCES staff(staff_id)
);
-- جدول تسجيل المشاركين في التدريب
CREATE TABLE training_enrollments (
enrollment_id BIGINT PRIMARY KEY AUTO_INCREMENT,
program_id INT NOT NULL,
staff_id BIGINT NOT NULL,
enrollment_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
completion_date DATE,
attendance_percentage DECIMAL(5,2),
quiz_score DECIMAL(5,2),
practical_score DECIMAL(5,2),
overall_score DECIMAL(5,2),
certificate_issued BOOLEAN DEFAULT FALSE,
certificate_number VARCHAR(50),
feedback TEXT,
status ENUM('مسجل', 'قيد الانتظار', 'ملغي', 'مكتمل', 'راسب') DEFAULT 'مسجل',
notes TEXT,
FOREIGN KEY (program_id) REFERENCES training_programs(program_id),
FOREIGN KEY (staff_id) REFERENCES staff(staff_id)
);
-- جدول المواد التعليمية
CREATE TABLE educational_materials (
material_id BIGINT PRIMARY KEY AUTO_INCREMENT,
program_id INT NOT NULL,
material_title VARCHAR(200) NOT NULL,
material_type ENUM('فيديو', 'PDF', 'عرض تقديمي', 'صوتي', 'تفاعلي', 'حالة دراسية') NOT NULL,
file_url VARCHAR(255),
duration_minutes INT,
description TEXT,
order_index INT,
is_mandatory BOOLEAN DEFAULT TRUE,
quiz_attached BOOLEAN DEFAULT FALSE,
created_by BIGINT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (program_id) REFERENCES training_programs(program_id),
FOREIGN KEY (created_by) REFERENCES staff(staff_id)
);
16.2 نظام المكتبة الطبية الرقمية
sql
-- جدول المكتبة الطبية
CREATE TABLE medical_library (
resource_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
resource_title VARCHAR(200) NOT NULL,
resource_type ENUM('كتاب', 'دورية', 'بحث', 'دليل', 'فيديو', 'صورة', 'أخرى') NOT NULL,
author VARCHAR(100),
publisher VARCHAR(100),
publication_year YEAR,
issn_isbn VARCHAR(50),
category VARCHAR(100),
sub_category VARCHAR(100),
keywords TEXT,
abstract TEXT,
file_url VARCHAR(255),
access_level ENUM('عام', 'مقيد', 'خاص') DEFAULT 'مقيد',
downloads_count INT DEFAULT 0,
views_count INT DEFAULT 0,
rating DECIMAL(3,2),
uploaded_by BIGINT NOT NULL,
upload_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status ENUM('نشط', 'مؤرشف', 'قيد المراجعة') DEFAULT 'نشط',
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (uploaded_by) REFERENCES staff(staff_id)
);
-- جدول سجل البحث في المكتبة
CREATE TABLE library_search_log (
log_id BIGINT PRIMARY KEY AUTO_INCREMENT,
staff_id BIGINT NOT NULL,
search_term VARCHAR(100),
search_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
results_count INT,
clicked_resource_id BIGINT,
time_spent_seconds INT,
FOREIGN KEY (staff_id) REFERENCES staff(staff_id),
FOREIGN KEY (clicked_resource_id) REFERENCES medical_library(resource_id)
);
💳 17. نظام الدفع والتأمين المتقدم
17.1 نظام الدفع المتكامل
sql
-- جدول بوابات الدفع
CREATE TABLE payment_gateways (
gateway_id INT PRIMARY KEY AUTO_INCREMENT,
gateway_name VARCHAR(100) NOT NULL,
gateway_provider VARCHAR(50) NOT NULL,
merchant_id VARCHAR(100),
api_key VARCHAR(255),
secret_key VARCHAR(255),
is_test_mode BOOLEAN DEFAULT TRUE,
is_active BOOLEAN DEFAULT TRUE,
transaction_fee_percentage DECIMAL(5,2),
supported_currencies VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- جدول المعاملات المالية
CREATE TABLE financial_transactions (
transaction_id BIGINT PRIMARY KEY AUTO_INCREMENT,
bill_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
gateway_id INT NOT NULL,
transaction_type ENUM('دفع', 'استرداد', 'تحويل', 'تسوية') NOT NULL,
amount DECIMAL(12,2) NOT NULL,
currency VARCHAR(3) DEFAULT 'SAR',
transaction_reference VARCHAR(100) UNIQUE,
payment_method ENUM('بطاقة ائتمان', 'بطاقة مدى', 'تحويل بنكي', 'أبل باي', 'مدى', 'STC Pay', 'أخرى') NOT NULL,
transaction_status ENUM('معلقة', 'ناجحة', 'فاشلة', 'ملغية', 'قيد المراجعة') DEFAULT 'معلقة',
transaction_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
completion_date DATETIME,
gateway_response TEXT,
error_message TEXT,
receipt_number VARCHAR(50),
ip_address VARCHAR(45),
user_agent TEXT,
notes TEXT,
FOREIGN KEY (bill_id) REFERENCES billing(bill_id),
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (gateway_id) REFERENCES payment_gateways(gateway_id)
);
-- جدول خطط التقسيط
CREATE TABLE payment_plans (
plan_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
bill_id BIGINT NOT NULL,
total_amount DECIMAL(12,2) NOT NULL,
paid_amount DECIMAL(12,2) DEFAULT 0,
remaining_amount DECIMAL(12,2) DEFAULT 0,
number_of_installments INT NOT NULL,
installments_paid INT DEFAULT 0,
installment_amount DECIMAL(12,2) NOT NULL,
first_installment_date DATE,
next_installment_date DATE,
interest_rate DECIMAL(5,2) DEFAULT 0,
status ENUM('نشط', 'مكتمل', 'متخلف', 'ملغي') DEFAULT 'نشط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (bill_id) REFERENCES billing(bill_id)
);
-- جدول سجل الدفعات
CREATE TABLE payment_installments (
installment_id BIGINT PRIMARY KEY AUTO_INCREMENT,
plan_id BIGINT NOT NULL,
installment_number INT NOT NULL,
due_date DATE NOT NULL,
amount DECIMAL(12,2) NOT NULL,
paid_date DATE,
paid_amount DECIMAL(12,2) DEFAULT 0,
payment_method VARCHAR(50),
status ENUM('مستحق', 'مدفوع', 'متأخر', 'ملغي') DEFAULT 'مستحق',
transaction_reference VARCHAR(100),
notes TEXT,
FOREIGN KEY (plan_id) REFERENCES payment_plans(plan_id)
);
17.2 نظام إدارة التأمين المتقدم
sql
-- جدول عقود التأمين
CREATE TABLE insurance_contracts (
contract_id BIGINT PRIMARY KEY AUTO_INCREMENT,
insurance_provider VARCHAR(100) NOT NULL,
contract_number VARCHAR(50) UNIQUE NOT NULL,
contract_type ENUM('جماعي', 'فردي', 'حكومي') NOT NULL,
start_date DATE NOT NULL,
end_date DATE NOT NULL,
coverage_details JSON,
exclusions TEXT,
limitations TEXT,
premium_amount DECIMAL(12,2),
deductible_amount DECIMAL(10,2),
co_payment_percentage DECIMAL(5,2),
max_annual_coverage DECIMAL(12,2),
network_hospitals TEXT,
status ENUM('نشط', 'منتهي', 'معلق', 'ملغي') DEFAULT 'نشط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- جدول مطالبات التأمين المتقدمة
CREATE TABLE insurance_claim_details (
claim_detail_id BIGINT PRIMARY KEY AUTO_INCREMENT,
claim_id BIGINT NOT NULL,
service_code VARCHAR(20),
service_description TEXT,
quantity INT,
unit_price DECIMAL(10,2),
total_amount DECIMAL(12,2),
allowed_amount DECIMAL(12,2),
patient_responsibility DECIMAL(12,2),
insurance_responsibility DECIMAL(12,2),
diagnosis_code VARCHAR(20),
procedure_code VARCHAR(20),
authorization_number VARCHAR(50),
notes TEXT,
FOREIGN KEY (claim_id) REFERENCES insurance_claims(claim_id)
);
-- جدول سجل مراجعة المطالبات
CREATE TABLE claim_review_log (
review_log_id BIGINT PRIMARY KEY AUTO_INCREMENT,
claim_id BIGINT NOT NULL,
reviewer_id BIGINT NOT NULL,
review_date DATETIME DEFAULT CURRENT_TIMESTAMP,
review_type ENUM('تلقائي', 'يدوي', 'استشاري') NOT NULL,
decision ENUM('مقبول', 'مرفوض', 'معدل', 'معلق', 'محال للاستئناف') NOT NULL,
decision_reason TEXT,
adjustments_made JSON,
notes TEXT,
FOREIGN KEY (claim_id) REFERENCES insurance_claims(claim_id),
FOREIGN KEY (reviewer_id) REFERENCES staff(staff_id)
);
🔗 18. نظام التكامل مع المنصات الحكومية
18.1 التكامل مع منصة “صحتي” المتقدم
sql
-- جدول مزامنة صحتي المتقدمة
CREATE TABLE sehaty_sync_advanced (
sync_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
sehaty_id VARCHAR(50) UNIQUE NOT NULL,
sync_type ENUM('حقيبة دوائية', 'سجل طبي', 'تطعيمات', 'حساسية', 'تحاليل', 'أشعة', 'وصفات') NOT NULL,
last_sync_request DATETIME,
last_sync_response DATETIME,
sync_status ENUM('معلق', 'قيد التزامن', 'مكتمل', 'فشل', 'جزئي') DEFAULT 'معلق',
retry_count INT DEFAULT 0,
max_retries INT DEFAULT 3,
data_payload JSON,
response_data JSON,
error_details TEXT,
priority INT DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
INDEX idx_sync_status (sync_status),
INDEX idx_priority (priority)
);
-- جدول تكامل منصة "نفاذ" الوطني
CREATE TABLE nafath_integration (
integration_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
national_id VARCHAR(20) NOT NULL,
verification_status ENUM('معلق', 'موثق', 'فشل', 'منتهي') DEFAULT 'معلق',
verification_date DATETIME,
expiry_date DATE,
session_token VARCHAR(255),
request_id VARCHAR(100),
response_code VARCHAR(20),
response_message TEXT,
last_verification DATETIME,
verification_attempts INT DEFAULT 0,
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
18.2 نظام التقارير الوطنية
sql
-- جدول التقارير الوطنية القياسية
CREATE TABLE national_reports (
report_id BIGINT PRIMARY KEY AUTO_INCREMENT,
report_name VARCHAR(200) NOT NULL,
report_category ENUM('إحصاءات حيوية', 'الأمراض المزمنة', 'الأمراض المعدية', 'الرعاية الصحية', 'الموارد البشرية', 'المالية', 'الجودة') NOT NULL,
report_frequency ENUM('يومي', 'أسبوعي', 'شهري', 'ربع سنوي', 'سنوي') NOT NULL,
generation_date DATETIME DEFAULT CURRENT_TIMESTAMP,
reporting_period_start DATE,
reporting_period_end DATE,
region VARCHAR(50),
summary TEXT,
key_findings TEXT,
recommendations TEXT,
data_source TEXT,
methodology TEXT,
file_url VARCHAR(255),
generated_by BIGINT NOT NULL,
status ENUM('معلق', 'قيد التوليد', 'مكتمل', 'فشل') DEFAULT 'معلق',
approved_by BIGINT,
approval_date DATETIME,
notes TEXT,
FOREIGN KEY (generated_by) REFERENCES staff(staff_id),
FOREIGN KEY (approved_by) REFERENCES staff(staff_id)
);
-- جدول مؤشرات الصحة الوطنية
CREATE TABLE national_health_indicators (
indicator_id INT PRIMARY KEY AUTO_INCREMENT,
indicator_code VARCHAR(20) UNIQUE NOT NULL,
indicator_name VARCHAR(200) NOT NULL,
indicator_category VARCHAR(50),
unit VARCHAR(20),
target_value DECIMAL(10,2),
current_value DECIMAL(10,2),
measurement_date DATE,
region VARCHAR(50),
source VARCHAR(100),
status ENUM('جيد', 'متوسط', 'ضعيف', 'حرج') DEFAULT 'جيد',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
📱 19. تطبيقات الجوال والواجهات المتقدمة
19.1 تطبيق المريض المتقدم
yaml
تطبيق المريض (موبايل):
المميزات الرئيسية:
- الملف الشخصي الصحي الرقمي
- حجز المواعيد الذكي
- الاستشارات عن بعد (فيديو/صوت/نص)
- تتبع الحالة الصحية
- تذكيرات الأدوية
- نتائج الفحوصات الفورية
- التواصل الآمن مع الأطباء
- دفع الفواتير الإلكترونية
- سجل التطعيمات
- تقارير صحية شخصية
- الأجهزة القابلة للارتداء
- خطة العلاج الشخصية
- التعليمات الصحية المخصصة
- تقييم الخدمات الصحية
- إدارة الحساب العائلي
التقنيات المستخدمة:
- Flutter/React Native
- Firebase Cloud Messaging
- WebRTC للمكالمات
- Biometric Authentication
- Offline First Architecture
- Arabic/English Support
- Accessibility Features
19.2 تطبيق الطبيب المتقدم
yaml
تطبيق الطبيب (موبايل):
المميزات الرئيسية:
- جدول المواعيد المتكامل
- إدارة المرضى
- السجلات الطبية الإلكترونية
- كتابة الوصفات الإلكترونية
- طلب الفحوصات والأشعة
- الاستشارات عن بعد
- الإحالات الطبية
- التوقيع الإلكتروني
- الإشعارات الفورية
- القرارات السريرية المدعومة بالذكاء الاصطناعي
- متابعة المرضى عن بعد
- التعليم الطبي المستمر
- التقارير السريرية
- التواصل مع فريق العمل
- إدارة الجدول الزمني
19.3 تطبيق الإدارة المتقدم
yaml
تطبيق الإدارة (لوحة التحكم):
المميزات الرئيسية:
- لوحة تحكم تفاعلية
- تقارير فورية ومخصصة
- إدارة الموارد البشرية
- إدارة المخزون
- إدارة الأسرة
- إدارة الجودة
- التحليلات التنبؤية
- إدارة الميزانية
- إدارة العقود
- إدارة الاعتماد
- إدارة الطوارئ
- إدارة الأوبئة
- إدارة التدريب
- إدارة الصيانة
- إدارة الأمن السيبراني
🌐 20. البنية التحتية السحابية والحوسبة
20.1 بنية الحوسبة السحابية
yaml
بنية الحوسبة السحابية المتقدمة:
التوزيع الجغرافي:
- منطقة الرياض (المركز الرئيسي)
- منطقة جدة (مركز النسخ الاحتياطي)
- منطقة الدمام (مركز الطوارئ)
- نقاط التوزيع في المدن الرئيسية
مكونات البنية:
- Kubernetes Cluster لإدارة الحاويات
- Microservices Architecture
- Service Mesh (Istio)
- API Gateway (Kong)
- Message Queue (RabbitMQ/Kafka)
- Caching Layer (Redis)
- Search Engine (Elasticsearch)
- Database Cluster (MySQL/Oracle)
- Object Storage (MinIO/S3)
- CDN (CloudFront/Akamai)
الأمان:
- WAF (Web Application Firewall)
- DDoS Protection
- Encryption (At Rest & In Transit)
- Key Management Service
- Secrets Manager
- SIEM Integration
- Zero Trust Architecture
20.2 نظام النسخ الاحتياطي المتقدم
sql
-- جدول سياسة النسخ الاحتياطي
CREATE TABLE backup_policy (
policy_id INT PRIMARY KEY AUTO_INCREMENT,
policy_name VARCHAR(100) NOT NULL,
backup_type ENUM('كامل', 'تفاضلي', 'متزايد') NOT NULL,
frequency_hours INT,
retention_days INT,
compression_enabled BOOLEAN DEFAULT TRUE,
encryption_enabled BOOLEAN DEFAULT TRUE,
destination_type ENUM('محلي', 'سحابي', 'هجين') NOT NULL,
destination_path VARCHAR(255),
cloud_provider VARCHAR(50),
verification_enabled BOOLEAN DEFAULT TRUE,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- جدول سجل النسخ الاحتياطي التفصيلي
CREATE TABLE backup_detailed_log (
log_id BIGINT PRIMARY KEY AUTO_INCREMENT,
policy_id INT NOT NULL,
backup_start_time DATETIME NOT NULL,
backup_end_time DATETIME,
backup_size BIGINT,
tables_backed_up TEXT,
data_compressed_size BIGINT,
encryption_status VARCHAR(20),
verification_status VARCHAR(20),
destination_path VARCHAR(255),
status ENUM('مكتمل', 'فشل', 'قيد التنفيذ', 'ملغي') DEFAULT 'قيد التنفيذ',
error_message TEXT,
logs TEXT,
performed_by BIGINT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (policy_id) REFERENCES backup_policy(policy_id),
FOREIGN KEY (performed_by) REFERENCES staff(staff_id)
);
🎯 21. نظام التحسين المستمر والتطوير
21.1 نظام إدارة التغيير
sql
-- جدول طلبات التغيير
CREATE TABLE change_requests (
change_id BIGINT PRIMARY KEY AUTO_INCREMENT,
requestor_id BIGINT NOT NULL,
change_type ENUM('تحسين', 'إصلاح', 'تطوير', 'امتثال', 'استراتيجي') NOT NULL,
change_title VARCHAR(200) NOT NULL,
change_description TEXT,
justification TEXT,
impact_analysis TEXT,
risk_assessment TEXT,
implementation_plan TEXT,
rollback_plan TEXT,
priority ENUM('منخفضة', 'متوسطة', 'عالية', 'حرجة') DEFAULT 'متوسطة',
status ENUM('مقترح', 'قيد المراجعة', 'معتمد', 'قيد التنفيذ', 'مكتمل', 'مرفوض', 'ملغي') DEFAULT 'مقترح',
proposed_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
review_date DATETIME,
approval_date DATETIME,
implementation_date DATETIME,
completion_date DATETIME,
reviewed_by BIGINT,
approved_by BIGINT,
notes TEXT,
FOREIGN KEY (requestor_id) REFERENCES staff(staff_id),
FOREIGN KEY (reviewed_by) REFERENCES staff(staff_id),
FOREIGN KEY (approved_by) REFERENCES staff(staff_id)
);
-- جدول قياس أثر التغيير
CREATE TABLE change_impact_measurement (
measurement_id BIGINT PRIMARY KEY AUTO_INCREMENT,
change_id BIGINT NOT NULL,
measurement_date DATE NOT NULL,
before_measurement JSON,
after_measurement JSON,
improvement_percentage DECIMAL(5,2),
success_indicators TEXT,
challenges_faced TEXT,
lessons_learned TEXT,
sustainability_plan TEXT,
measured_by BIGINT NOT NULL,
notes TEXT,
FOREIGN KEY (change_id) REFERENCES change_requests(change_id),
FOREIGN KEY (measured_by) REFERENCES staff(staff_id)
);
21.2 نظام الابتكار والتطوير المستقبلي
sql
-- جدول أفكار الابتكار
CREATE TABLE innovation_ideas (
idea_id BIGINT PRIMARY KEY AUTO_INCREMENT,
submitter_id BIGINT NOT NULL,
idea_title VARCHAR(200) NOT NULL,
idea_description TEXT,
category VARCHAR(50),
expected_benefits TEXT,
estimated_effort ENUM('منخفض', 'متوسط', 'عالي') NOT NULL,
estimated_cost DECIMAL(12,2),
expected_roi DECIMAL(5,2),
status ENUM('مقترح', 'تحت التقييم', 'معتمد', 'قيد التنفيذ', 'مكتمل', 'مرفوض') DEFAULT 'مقترح',
submission_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
evaluation_date DATETIME,
implementation_date DATE,
completion_date DATE,
patent_filed BOOLEAN DEFAULT FALSE,
patent_number VARCHAR(50),
published_paper BOOLEAN DEFAULT FALSE,
notes TEXT,
FOREIGN KEY (submitter_id) REFERENCES staff(staff_id)
);
📊 22. نظام التقارير المتقدم المخصص
22.1 تقارير مخصصة قابلة للتخصيص
sql
-- جدول قوالب التقارير
CREATE TABLE report_templates (
template_id INT PRIMARY KEY AUTO_INCREMENT,
template_name VARCHAR(150) NOT NULL,
template_category VARCHAR(50) NOT NULL,
description TEXT,
template_type ENUM('إداري', 'سريري', 'مالي', 'تشغيلي', 'جودة', 'بحثي') NOT NULL,
parameters JSON,
query TEXT,
filters JSON,
columns JSON,
aggregations JSON,
chart_type VARCHAR(50),
color_scheme JSON,
is_system BOOLEAN DEFAULT FALSE,
is_active BOOLEAN DEFAULT TRUE,
created_by BIGINT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (created_by) REFERENCES staff(staff_id)
);
-- جدول تقارير المجدولة
CREATE TABLE scheduled_reports (
schedule_id BIGINT PRIMARY KEY AUTO_INCREMENT,
report_name VARCHAR(150) NOT NULL,
template_id INT NOT NULL,
schedule_type ENUM('يومي', 'أسبوعي', 'شهري', 'ربع سنوي', 'سنوي', 'مخصص') NOT NULL,
schedule_cron VARCHAR(50),
recipients JSON,
distribution_method ENUM('بريد إلكتروني', 'نظام', 'FTP', 'API') NOT NULL,
file_format ENUM('PDF', 'Excel', 'CSV', 'JSON', 'HTML') DEFAULT 'PDF',
is_active BOOLEAN DEFAULT TRUE,
last_run DATETIME,
next_run DATETIME,
created_by BIGINT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (template_id) REFERENCES report_templates(template_id),
FOREIGN KEY (created_by) REFERENCES staff(staff_id)
);
🔮 23. التطورات المستقبلية والرؤية 2030
23.1 المبادرات الاستراتيجية المستقبلية
sql
-- جدول المبادرات الاستراتيجية
CREATE TABLE strategic_initiatives (
initiative_id INT PRIMARY KEY AUTO_INCREMENT,
initiative_name VARCHAR(200) NOT NULL,
initiative_code VARCHAR(20) UNIQUE,
vision_2030_alignment VARCHAR(50),
objective TEXT,
expected_outcomes TEXT,
start_date DATE,
end_date DATE,
budget DECIMAL(15,2),
total_spent DECIMAL(15,2),
progress_percentage DECIMAL(5,2),
status ENUM('مخطط', 'جاري', 'مكتمل', 'مؤجل', 'ملغي') DEFAULT 'مخطط',
responsible_entity VARCHAR(100),
project_manager_id BIGINT,
kpi_targets JSON,
achievements_to_date TEXT,
challenges TEXT,
next_steps TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (project_manager_id) REFERENCES staff(staff_id)
);
-- جدول الرؤية المستقبلية للمنصة
CREATE TABLE platform_future_vision (
vision_id INT PRIMARY KEY AUTO_INCREMENT,
vision_statement TEXT NOT NULL,
strategic_goal TEXT,
implementation_plan TEXT,
timeline VARCHAR(50),
required_resources TEXT,
potential_challenges TEXT,
success_criteria TEXT,
stakeholder_feedback TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
23.2 التقنيات المستقبلية المدمجة
yaml
التقنيات المستقبلية:
1. الذكاء الاصطناعي المتقدم:
- تشخيص الأمراض بالذكاء الاصطناعي
- التنبؤ بالأمراض المستقبلية
- توصيات العلاج الشخصية
- تحليل الصور الطبية
- الروبوتات الجراحية
2. إنترنت الأشياء الطبي:
- الأجهزة القابلة للارتداء المتقدمة
- المستشفيات الذكية
- مراقبة المرضى عن بعد في الوقت الفعلي
- الأجهزة الطبية المتصلة
3. البلوكشين في الرعاية الصحية:
- سجلات طبية لامركزية
- عقود ذكية للتأمين
- تتبع سلسلة التوريد الدوائية
- إدارة موافقات المرضى
4. الواقع المعزز والافتراضي:
- التدريب الطبي الواقعي
- استشارات عن بعد تفاعلية
- تصور العمليات الجراحية
- العلاج بالواقع الافتراضي
5. التوائم الرقمية:
- نماذج رقمية للمستشفيات
- محاكاة العمليات الجراحية
- تخطيط العلاج الشخصي
- تحسين تدفق المرضى
6. الحوسبة الكمومية:
- تحليل البيانات الضخمة
- تطوير الأدوية
- نمذجة الأمراض
- تحسين العمليات
📋 الخلاصة النهائية
المميزات الكاملة للمنصة:
| المجال | المميزات |
|---|---|
| البنية التحتية | سحابية موزعة، Kubernetes، Microservices، API Gateway، Service Mesh |
| قواعد البيانات | 35+ جدول رئيسي، 150+ جدول فرعي، تحسين الأداء، فهرسة ذكية |
| النماذج | 75+ نموذج متكامل، قابلة للتخصيص، دعم متعدد اللغات |
| الأمان | تشفير متقدم، 2FA، IAM، SIEM، Zero Trust، تدقيق شامل |
| التكامل | صحتي، نفاذ، وزارة الصحة، التأمين، المختبرات، الصيدليات |
| الذكاء الاصطناعي | تنبؤ، تشخيص، توصيات علاج، تحليل صور، تعلم آلي |
| التقارير | 100+ تقرير قياسي، مخصص، مجدول، تحليلات متقدمة |
| التجربة | واجهات ويب وجوال، دعم كامل للغة العربية، إمكانية الوصول |
| المطابقة | CBAHI، JCI، HIPAA، اللوائح المحلية والدولية |
| التوسع | دعم آلاف المستخدمين، ملايين المرضى، آلاف المستشفيات |
هذه المنصة تمثل نقلة نوعية في القطاع الصحي السعودي، محققة لأهداف رؤية 2030 في التحول الرقمي، ومقدمة حلولاً مبتكرة تجمع بين التكنولوجيا الحديثة والخبرة الطبية. 🇸🇦🏥✨
هل تحتاج إلى تفصيل إضافي لأي جزء معين؟ 😊
🏥 المنصة الصحية المتكاملة – التوسع النهائي الشامل
🧬 24. نظام الجينوم والطب الشخصي
24.1 قاعدة بيانات الجينوم
sql
-- جدول البيانات الجينية للمرضى
CREATE TABLE genomic_data (
genomic_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
sequencing_date DATE NOT NULL,
sequencing_platform VARCHAR(50),
genome_assembly VARCHAR(20),
coverage_depth DECIMAL(5,2),
variant_calls INT,
snp_count INT,
indels_count INT,
cnv_count INT,
structural_variants INT,
file_reference VARCHAR(255),
raw_data_url VARCHAR(255),
processed_data_url VARCHAR(255),
analysis_status ENUM('معلق', 'قيد التحليل', 'مكتمل', 'فشل') DEFAULT 'معلق',
analyzed_by BIGINT,
analysis_date DATETIME,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (analyzed_by) REFERENCES staff(staff_id),
INDEX idx_patient_id (patient_id)
);
-- جدول المتغيرات الجينية المرتبطة بالأمراض
CREATE TABLE genetic_variants (
variant_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
genomic_id BIGINT NOT NULL,
gene_name VARCHAR(50) NOT NULL,
chromosome VARCHAR(10),
position INT,
reference_allele VARCHAR(10),
alternative_allele VARCHAR(10),
variant_type ENUM('SNP', 'InDel', 'CNV', 'SV', 'MNV') NOT NULL,
zygosity ENUM('متجانس', 'متغاير', 'نصف متغاير') NOT NULL,
clinical_significance ENUM('حميد', 'مرضي محتمل', 'مرضي', 'غير معروف', 'عامل خطر') DEFAULT 'غير معروف',
disease_association TEXT,
pathogenicity_score DECIMAL(4,2),
evidence_level VARCHAR(20),
pubmed_ids TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (genomic_id) REFERENCES genomic_data(genomic_id),
INDEX idx_gene_name (gene_name)
);
-- جدول الأدوية المخصصة جينياً (Pharmacogenomics)
CREATE TABLE pharmacogenomic_profiles (
profile_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
medication_id BIGINT NOT NULL,
gene_name VARCHAR(50) NOT NULL,
genotype VARCHAR(20),
phenotype VARCHAR(50),
drug_response_prediction ENUM('ممتاز', 'جيد', 'معتدل', 'ضعيف', 'سام') DEFAULT 'جيد',
recommended_dose_adjustment VARCHAR(100),
alternative_drugs TEXT,
clinical_guideline VARCHAR(100),
evidence_level VARCHAR(20),
testing_date DATE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (medication_id) REFERENCES medications(medication_id),
INDEX idx_patient_medication (patient_id, medication_id)
);
🤖 25. نظام الذكاء الاصطناعي المتقدم
25.1 نماذج التعلم الآلي المتخصصة
sql
-- جدول نماذج الذكاء الاصطناعي الطبية
CREATE TABLE ai_medical_models (
model_id INT PRIMARY KEY AUTO_INCREMENT,
model_name VARCHAR(100) NOT NULL,
model_type ENUM('تشخيصي', 'تنبؤي', 'توصية', 'تصنيف', 'تجميع', 'معالجة لغة طبيعية', 'رؤية حاسوبية') NOT NULL,
specialty VARCHAR(50),
algorithm VARCHAR(100),
version VARCHAR(20),
training_data_count INT,
validation_data_count INT,
test_data_count INT,
accuracy DECIMAL(5,2),
precision DECIMAL(5,2),
recall DECIMAL(5,2),
f1_score DECIMAL(5,2),
auc_roc DECIMAL(5,2),
sensitivity DECIMAL(5,2),
specificity DECIMAL(5,2),
training_date DATETIME,
last_retrain_date DATETIME,
deployment_status ENUM('تجريبي', 'معتمد', 'نشط', 'محدث', 'متقاعد') DEFAULT 'تجريبي',
deployment_date DATETIME,
model_path VARCHAR(255),
hyperparameters JSON,
features_used JSON,
limitations TEXT,
bias_assessment TEXT,
validation_report TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_model_type (model_type)
);
-- جدول سجل تنبؤات الذكاء الاصطناعي
CREATE TABLE ai_predictions_log (
prediction_log_id BIGINT PRIMARY KEY AUTO_INCREMENT,
model_id INT NOT NULL,
patient_id BIGINT NOT NULL,
doctor_id BIGINT,
prediction_date DATETIME DEFAULT CURRENT_TIMESTAMP,
input_data JSON,
prediction_result JSON,
confidence_score DECIMAL(5,2),
prediction_category VARCHAR(50),
recommended_action TEXT,
actual_outcome TEXT,
outcome_validation_date DATETIME,
prediction_accuracy_verified BOOLEAN DEFAULT FALSE,
doctor_feedback TEXT,
feedback_rating INT CHECK (feedback_rating BETWEEN 1 AND 5),
notes TEXT,
FOREIGN KEY (model_id) REFERENCES ai_medical_models(model_id),
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
INDEX idx_patient_model (patient_id, model_id)
);
-- جدول تحليل الصور الطبية بالذكاء الاصطناعي
CREATE TABLE ai_image_analysis (
analysis_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
model_id INT NOT NULL,
image_type ENUM('أشعة سينية', 'مقطعية', 'رنين مغناطيسي', 'موجات فوق صوتية', 'تصوير الثدي', 'أخرى') NOT NULL,
image_url VARCHAR(255) NOT NULL,
analysis_date DATETIME DEFAULT CURRENT_TIMESTAMP,
findings TEXT,
abnormality_detected BOOLEAN DEFAULT FALSE,
abnormality_type VARCHAR(50),
abnormality_location VARCHAR(100),
severity_score INT CHECK (severity_score BETWEEN 0 AND 10),
confidence_score DECIMAL(5,2),
differential_diagnosis JSON,
recommendations TEXT,
doctor_review_status ENUM('معلق', 'مراجع', 'معتمد') DEFAULT 'معلق',
doctor_notes TEXT,
reviewed_by BIGINT,
review_date DATETIME,
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (model_id) REFERENCES ai_medical_models(model_id),
FOREIGN KEY (reviewed_by) REFERENCES doctors(doctor_id),
INDEX idx_patient_id (patient_id)
);
25.2 نظام معالجة اللغة الطبيعية (NLP)
sql
-- جدول تحليل النصوص الطبية
CREATE TABLE medical_nlp_analysis (
nlp_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
record_type ENUM('تقرير طبي', 'ملاحظات تمريضية', 'تقرير أشعة', 'تقرير مختبر', 'وصفة طبية', 'تقرير جراحي') NOT NULL,
original_text TEXT NOT NULL,
processed_date DATETIME DEFAULT CURRENT_TIMESTAMP,
extracted_entities JSON,
identified_symptoms JSON,
extracted_diagnoses JSON,
medications_mentioned JSON,
allergies_identified JSON,
procedures_mentioned JSON,
risk_factors_identified JSON,
clinical_notes_structured JSON,
sentiment_analysis VARCHAR(20),
summarization TEXT,
key_terms JSON,
confidence_score DECIMAL(5,2),
processing_status ENUM('معلق', 'قيد المعالجة', 'مكتمل', 'فشل') DEFAULT 'معلق',
error_message TEXT,
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
INDEX idx_patient_id (patient_id)
);
-- جدول قاموس المصطلحات الطبية الموحد
CREATE TABLE unified_medical_terminology (
term_id BIGINT PRIMARY KEY AUTO_INCREMENT,
term_code VARCHAR(50) UNIQUE NOT NULL,
term_english VARCHAR(100) NOT NULL,
term_arabic VARCHAR(100),
term_category VARCHAR(50),
snomed_ct_code VARCHAR(50),
icd_10_code VARCHAR(20),
loinc_code VARCHAR(20),
rxnorm_code VARCHAR(20),
synonyms JSON,
definition TEXT,
related_terms JSON,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_term_code (term_code),
INDEX idx_icd_10 (icd_10_code)
);
🏗️ 26. نظام الهندسة المعمارية للمنصة
26.1 بنية الخدمات المصغرة التفصيلية
yaml
خدمات المنصة المصغرة (Microservices):
1. خدمة إدارة المرضى (Patient Service)
- تسجيل وإدارة المرضى
- إدارة الملفات الصحية
- إدارة الموافقات
2. خدمة المواعيد (Appointment Service)
- حجز المواعيد الذكي
- إدارة الجدول الزمني
- تذكيرات المواعيد
3. خدمة السجلات الطبية (EHR Service)
- السجلات الطبية الإلكترونية
- السجلات التمريضية
- تتبع التاريخ الطبي
4. خدمة المختبرات (Lab Service)
- طلب الفحوصات
- نتائج المختبرات
- تكامل الأجهزة المخبرية
5. خدمة الأشعة (Radiology Service)
- طلب الأشعة
- تفسير الصور
- تخزين الصور (PACS)
6. خدمة الصيدليات (Pharmacy Service)
- إدارة الأدوية
- الوصفات الإلكترونية
- إدارة المخزون الدوائي
7. خدمة الفواتير (Billing Service)
- إصدار الفواتير
- معالجة المدفوعات
- إدارة التأمين
8. خدمة الموارد البشرية (HR Service)
- إدارة الموظفين
- الرواتب
- التدريب والتطوير
9. خدمة الجودة (Quality Service)
- مؤشرات الجودة
- الاعتماد
- التحسين المستمر
10. خدمة الذكاء الاصطناعي (AI Service)
- التنبؤات
- التوصيات
- تحليل الصور
11. خدمة التقارير (Reporting Service)
- التقارير القياسية
- التقارير المخصصة
- لوحات التحكم
12. خدمة التكامل (Integration Service)
- التكامل مع المنصات الخارجية
- واجهات API
- تزامن البيانات
13. خدمة الإشعارات (Notification Service)
- الإشعارات الفورية
- رسائل البريد الإلكتروني
- رسائل SMS
14. خدمة التوثيق والأمان (Auth Service)
- المصادقة
- الصلاحيات
- التوثيق
15. خدمة السجلات والتدقيق (Audit Service)
- سجل النشاطات
- التدقيق الأمني
- التقارير الأمنية
26.2 مخطط تدفق البيانات
yaml
تدفق البيانات في المنصة:
1. طبقة العرض (Presentation Layer):
- تطبيقات الويب (React/Angular)
- تطبيقات الجوال (Flutter/React Native)
- بوابات API
2. طبقة التوجيه (Gateway Layer):
- API Gateway (Kong/NGINX)
- Load Balancing
- Rate Limiting
- Authentication Gateway
3. طبقة الخدمات (Service Layer):
- Microservices (Spring Boot/Node.js)
- Event Driven Architecture
- Message Queue (Kafka/RabbitMQ)
4. طبقة البيانات (Data Layer):
- قواعد بيانات رئيسية (MySQL/Oracle)
- قواعد بيانات NoSQL (MongoDB)
- Elasticsearch للبحث
- Redis للتخزين المؤقت
5. طبقة التكامل (Integration Layer):
- واجهات API خارجية
- نظام التبادل الإلكتروني للبيانات
- تكامل الأجهزة الطبية
6. طبقة التحليلات (Analytics Layer):
- مستودع البيانات (Data Warehouse)
- بحيرات البيانات (Data Lake)
- أدوات التحليلات (Tableau/Power BI)
- نماذج الذكاء الاصطناعي
📈 27. نظام التحليلات المتقدمة وذكاء الأعمال
27.1 مستودع البيانات التشغيلية
sql
-- جدول مستودع البيانات - المرضى
CREATE TABLE dw_patients (
dw_patient_id BIGINT PRIMARY KEY AUTO_INCREMENT,
source_patient_id BIGINT NOT NULL,
national_id VARCHAR(20),
age_group VARCHAR(20),
gender VARCHAR(10),
region VARCHAR(50),
city VARCHAR(50),
insurance_type VARCHAR(50),
chronic_diseases_count INT,
annual_visits_count INT,
total_spent DECIMAL(12,2),
first_visit_date DATE,
last_visit_date DATE,
is_active BOOLEAN DEFAULT TRUE,
etl_load_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- جدول مستودع البيانات - الإيرادات
CREATE TABLE dw_revenue (
dw_revenue_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
revenue_date DATE NOT NULL,
revenue_type ENUM('خدمات', 'أدوية', 'فحوصات', 'عمليات', 'أخرى') NOT NULL,
total_amount DECIMAL(12,2),
insurance_amount DECIMAL(12,2),
patient_amount DECIMAL(12,2),
paid_amount DECIMAL(12,2),
outstanding_amount DECIMAL(12,2),
collection_rate DECIMAL(5,2),
patient_count INT,
service_count INT,
etl_load_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
INDEX idx_revenue_date (revenue_date)
);
-- جدول مستودع البيانات - العمليات التشغيلية
CREATE TABLE dw_operational_metrics (
dw_metric_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
metric_date DATE NOT NULL,
daily_visits INT,
daily_appointments INT,
avg_wait_time_minutes DECIMAL(5,2),
bed_occupancy_rate DECIMAL(5,2),
avg_length_of_stay_days DECIMAL(5,2),
readmission_rate DECIMAL(5,2),
emergency_visits INT,
surgery_count INT,
lab_tests_count INT,
radiology_count INT,
pharmacy_transactions INT,
etl_load_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
INDEX idx_metric_date (metric_date)
);
27.2 لوحات التحكم التفاعلية (Dashboards)
yaml
لوحات التحكم الرئيسية:
1. لوحة التحكم التنفيذية:
- مؤشرات الأداء الرئيسية (KPIs)
- مقارنة الأداء بين المستشفيات
- اتجاهات المرضى والإيرادات
- تنبيهات الأداء
2. لوحة التحكم التشغيلية:
- حالة الأسرة الفورية
- تدفق المرضى
- أوقات الانتظار
- استخدام الموارد
3. لوحة التحكم المالية:
- الإيرادات والمصروفات
- التحصيل والمستحقات
- مطالبات التأمين
- تحليل التكاليف
4. لوحة التحكم السريرية:
- نتائج المرضى
- مؤشرات الجودة السريرية
- الالتزام بالممارسات السريرية
- مضاعفات المرضى
5. لوحة التحكم الوطنية:
- إحصائيات الصحة العامة
- انتشار الأمراض
- تغطية الخدمات الصحية
- مؤشرات الصحة الوطنية
6. لوحة التحكم التنبؤية:
- توقعات الإشغال
- توقعات الإيرادات
- توقعات الأمراض
- تخطيط الموارد
🔄 28. نظام إدارة دورة حياة المريض
28.1 مسار رحلة المريض الكاملة
sql
-- جدول رحلة المريض
CREATE TABLE patient_journey (
journey_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
journey_phase ENUM('تسجيل', 'تشخيص', 'علاج', 'متابعة', 'خروج', 'رعاية منزلية') NOT NULL,
phase_start_date DATETIME,
phase_end_date DATETIME,
phase_duration_hours INT,
touch_points JSON,
services_accessed JSON,
providers_met JSON,
patient_satisfaction INT CHECK (patient_satisfaction BETWEEN 1 AND 5),
complaints_received BOOLEAN DEFAULT FALSE,
complaints_details TEXT,
feedback_provided TEXT,
journey_completed BOOLEAN DEFAULT FALSE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
INDEX idx_patient_id (patient_id)
);
-- جدول نقاط اللمس مع المريض
CREATE TABLE patient_touchpoints (
touchpoint_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
journey_id BIGINT NOT NULL,
touchpoint_type ENUM('حجز', 'استقبال', 'فحص', 'تشخيص', 'علاج', 'متابعة', 'خروج', 'استبيان') NOT NULL,
touchpoint_date DATETIME NOT NULL,
duration_minutes INT,
service_provider_id BIGINT,
service_type VARCHAR(50),
patient_emotion VARCHAR(20),
satisfaction_score INT CHECK (satisfaction_score BETWEEN 1 AND 5),
pain_points TEXT,
improvement_suggestions TEXT,
resolution_status ENUM('مكتمل', 'معلق', 'محال') DEFAULT 'مكتمل',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (journey_id) REFERENCES patient_journey(journey_id),
FOREIGN KEY (service_provider_id) REFERENCES staff(staff_id)
);
28.2 نظام إدارة رضا المرضى
sql
-- جدول استبيانات رضا المرضى
CREATE TABLE patient_satisfaction_surveys (
survey_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
survey_type ENUM('خروج', 'خدمة', 'موعد', 'علاج', 'عام') NOT NULL,
survey_date DATETIME DEFAULT CURRENT_TIMESTAMP,
overall_rating INT CHECK (overall_rating BETWEEN 1 AND 5),
staff_courtesy_rating INT CHECK (staff_courtesy_rating BETWEEN 1 AND 5),
waiting_time_rating INT CHECK (waiting_time_rating BETWEEN 1 AND 5),
cleanliness_rating INT CHECK (cleanliness_rating BETWEEN 1 AND 5),
communication_rating INT CHECK (communication_rating BETWEEN 1 AND 5),
pain_management_rating INT CHECK (pain_management_rating BETWEEN 1 AND 5),
discharge_process_rating INT CHECK (discharge_process_rating BETWEEN 1 AND 5),
overall_experience_text TEXT,
improvement_suggestions TEXT,
would_recommend BOOLEAN DEFAULT TRUE,
net_promoter_score INT CHECK (net_promoter_score BETWEEN -100 AND 100),
complaints TEXT,
follow_up_required BOOLEAN DEFAULT FALSE,
follow_up_date DATE,
follow_up_status ENUM('معلق', 'مكتمل') DEFAULT 'معلق',
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
-- جدول تحليل شكاوى المرضى
CREATE TABLE patient_complaints_analysis (
complaint_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
complaint_category ENUM('خدمة', 'طبي', 'إداري', 'مالي', 'بيئة', 'أخرى') NOT NULL,
complaint_date DATETIME DEFAULT CURRENT_TIMESTAMP,
complaint_description TEXT NOT NULL,
severity ENUM('منخفضة', 'متوسطة', 'عالية', 'حرجة') DEFAULT 'متوسطة',
assigned_to BIGINT,
resolution_status ENUM('مستلم', 'تحت التحقيق', 'قيد الحل', 'مكتمل', 'مرفوض') DEFAULT 'مستلم',
investigation_findings TEXT,
corrective_action TEXT,
resolution_date DATETIME,
patient_acknowledgment BOOLEAN DEFAULT FALSE,
compensation_provided BOOLEAN DEFAULT FALSE,
compensation_amount DECIMAL(10,2),
lessons_learned TEXT,
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (assigned_to) REFERENCES staff(staff_id)
);
🌍 29. نظام الصحة العالمية والوبائيات
29.1 مراقبة الأمراض العالمية
sql
-- جدول تتبع الأمراض العالمية
CREATE TABLE global_disease_tracking (
tracking_id BIGINT PRIMARY KEY AUTO_INCREMENT,
disease_name VARCHAR(100) NOT NULL,
disease_code VARCHAR(20),
country VARCHAR(50),
region VARCHAR(50),
report_date DATE NOT NULL,
confirmed_cases INT,
active_cases INT,
recovered_cases INT,
deaths INT,
new_cases_today INT,
new_deaths_today INT,
mortality_rate DECIMAL(5,2),
recovery_rate DECIMAL(5,2),
reproduction_number DECIMAL(4,2),
vaccination_rate DECIMAL(5,2),
hospitalization_rate DECIMAL(5,2),
icu_rate DECIMAL(5,2),
data_source VARCHAR(100),
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_disease_country (disease_name, country)
);
-- جدول تنبيهات الأمراض العالمية
CREATE TABLE global_disease_alerts (
alert_id BIGINT PRIMARY KEY AUTO_INCREMENT,
disease_name VARCHAR(100) NOT NULL,
country VARCHAR(50),
alert_level ENUM('مراقبة', 'تحذير', 'خطر', 'جائحة') NOT NULL,
alert_date DATETIME DEFAULT CURRENT_TIMESTAMP,
alert_message TEXT NOT NULL,
affected_population INT,
recommended_actions TEXT,
travel_advisory TEXT,
source_organization VARCHAR(100),
validity_start_date DATE,
validity_end_date DATE,
status ENUM('نشط', 'منتهي', 'محدث') DEFAULT 'نشط',
notes TEXT,
INDEX idx_alert_disease (disease_name)
);
29.2 نظام التنبؤ بالجائحات
sql
-- جدول نماذج التنبؤ بالجائحات
CREATE TABLE pandemic_prediction_models (
model_id INT PRIMARY KEY AUTO_INCREMENT,
model_name VARCHAR(100) NOT NULL,
disease_type VARCHAR(50),
model_type VARCHAR(50),
algorithm VARCHAR(50),
parameters JSON,
prediction_accuracy DECIMAL(5,2),
training_start_date DATE,
training_end_date DATE,
last_prediction_date DATETIME,
is_active BOOLEAN DEFAULT TRUE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- جدول نتائج التنبؤ بالجائحات
CREATE TABLE pandemic_predictions (
prediction_id BIGINT PRIMARY KEY AUTO_INCREMENT,
model_id INT NOT NULL,
disease_name VARCHAR(100),
region VARCHAR(50),
prediction_date DATE,
predicted_cases INT,
predicted_hospitalizations INT,
predicted_deaths INT,
predicted_icu_admissions INT,
confidence_interval_low DECIMAL(5,2),
confidence_interval_high DECIMAL(5,2),
scenario_type ENUM('أفضل', 'متوسط', 'أسوأ') NOT NULL,
actual_cases INT,
actual_hospitalizations INT,
actual_deaths INT,
validation_date DATE,
accuracy_score DECIMAL(5,2),
notes TEXT,
FOREIGN KEY (model_id) REFERENCES pandemic_prediction_models(model_id),
INDEX idx_prediction_date (prediction_date)
);
🏪 30. نظام إدارة الخدمات اللوجستية الطبية
30.1 سلسلة التوريد الطبية المتقدمة
sql
-- جدول الموردين الطبيين
CREATE TABLE medical_suppliers (
supplier_id BIGINT PRIMARY KEY AUTO_INCREMENT,
supplier_name VARCHAR(150) NOT NULL,
supplier_type ENUM('أدوية', 'معدات', 'مستلزمات', 'خدمات', 'متعدد') NOT NULL,
commercial_registration VARCHAR(50),
tax_id VARCHAR(50),
contact_person VARCHAR(100),
phone_number VARCHAR(15),
email VARCHAR(100),
website VARCHAR(100),
address TEXT,
rating DECIMAL(3,2),
contract_start_date DATE,
contract_end_date DATE,
payment_terms VARCHAR(50),
delivery_terms VARCHAR(50),
quality_certifications TEXT,
is_approved BOOLEAN DEFAULT FALSE,
approved_by BIGINT,
approval_date DATE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (approved_by) REFERENCES staff(staff_id)
);
-- جدول طلبات الشراء الطبية
CREATE TABLE medical_purchase_orders (
po_id BIGINT PRIMARY KEY AUTO_INCREMENT,
supplier_id BIGINT NOT NULL,
hospital_id INT NOT NULL,
po_number VARCHAR(50) UNIQUE NOT NULL,
order_date DATE NOT NULL,
expected_delivery_date DATE,
actual_delivery_date DATE,
order_status ENUM('مقدم', 'معتمد', 'قيد الشحن', 'مستلم', 'مكتمل', 'ملغي') DEFAULT 'مقدم',
total_amount DECIMAL(12,2),
discount_amount DECIMAL(12,2),
tax_amount DECIMAL(12,2),
net_amount DECIMAL(12,2),
currency VARCHAR(3) DEFAULT 'SAR',
payment_terms VARCHAR(50),
shipping_terms VARCHAR(50),
shipping_address TEXT,
billing_address TEXT,
approved_by BIGINT,
approval_date DATE,
received_by BIGINT,
receiving_date DATE,
quality_check_status ENUM('معلق', 'مقبول', 'مرفوض', 'جزئي') DEFAULT 'معلق',
quality_check_notes TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (supplier_id) REFERENCES medical_suppliers(supplier_id),
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (approved_by) REFERENCES staff(staff_id),
FOREIGN KEY (received_by) REFERENCES staff(staff_id)
);
-- جدول تفاصيل طلبات الشراء
CREATE TABLE purchase_order_items (
po_item_id BIGINT PRIMARY KEY AUTO_INCREMENT,
po_id BIGINT NOT NULL,
item_id BIGINT NOT NULL,
quantity_ordered INT NOT NULL,
quantity_received INT DEFAULT 0,
quantity_rejected INT DEFAULT 0,
unit_price DECIMAL(10,2),
total_price DECIMAL(12,2),
batch_number VARCHAR(50),
expiry_date DATE,
storage_conditions VARCHAR(100),
quality_check_passed BOOLEAN DEFAULT FALSE,
rejection_reason TEXT,
notes TEXT,
FOREIGN KEY (po_id) REFERENCES medical_purchase_orders(po_id),
FOREIGN KEY (item_id) REFERENCES inventory(inventory_id)
);
30.2 نظام إدارة المستودعات المتقدمة
sql
-- جدول المستودعات
CREATE TABLE warehouses (
warehouse_id INT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
warehouse_name VARCHAR(100) NOT NULL,
warehouse_type ENUM('مركزي', 'فرعي', 'طوارئ', 'تبريد', 'مستلزمات') NOT NULL,
location TEXT,
supervisor_id BIGINT,
capacity_volume INT,
capacity_weight INT,
temperature_range VARCHAR(50),
humidity_control BOOLEAN DEFAULT FALSE,
security_level ENUM('منخفضة', 'متوسطة', 'عالية') DEFAULT 'متوسطة',
is_active BOOLEAN DEFAULT TRUE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (supervisor_id) REFERENCES staff(staff_id)
);
-- جدول حركة المخزون التفصيلية
CREATE TABLE inventory_movement_detailed (
movement_id BIGINT PRIMARY KEY AUTO_INCREMENT,
inventory_id BIGINT NOT NULL,
warehouse_id INT NOT NULL,
movement_type ENUM('استلام', 'صرف', 'نقل داخلي', 'نقل خارجي', 'مرتجع', 'تالف', 'جرد') NOT NULL,
quantity DECIMAL(10,2) NOT NULL,
unit_price DECIMAL(10,2),
total_value DECIMAL(12,2),
reference_document VARCHAR(50),
reference_number VARCHAR(50),
from_location VARCHAR(50),
to_location VARCHAR(50),
movement_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
performed_by BIGINT NOT NULL,
approved_by BIGINT,
batch_number VARCHAR(50),
expiry_date DATE,
condition_status ENUM('جيد', 'تالف', 'منتهي الصلاحية') DEFAULT 'جيد',
quality_check_passed BOOLEAN DEFAULT TRUE,
notes TEXT,
FOREIGN KEY (inventory_id) REFERENCES inventory(inventory_id),
FOREIGN KEY (warehouse_id) REFERENCES warehouses(warehouse_id),
FOREIGN KEY (performed_by) REFERENCES staff(staff_id),
FOREIGN KEY (approved_by) REFERENCES staff(staff_id)
);
-- جدول جرد المخزون الدوري
CREATE TABLE inventory_counts (
count_id BIGINT PRIMARY KEY AUTO_INCREMENT,
warehouse_id INT NOT NULL,
count_date DATE NOT NULL,
count_type ENUM('دوري', 'مفاجئ', 'سنوي') NOT NULL,
counted_by BIGINT NOT NULL,
verified_by BIGINT,
discrepancies_found INT,
total_discrepancy_value DECIMAL(12,2),
status ENUM('قيد التنفيذ', 'مكتمل', 'مراجع') DEFAULT 'قيد التنفيذ',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (warehouse_id) REFERENCES warehouses(warehouse_id),
FOREIGN KEY (counted_by) REFERENCES staff(staff_id),
FOREIGN KEY (verified_by) REFERENCES staff(staff_id)
);
-- جدول تفاصيل الجرد
CREATE TABLE inventory_count_items (
count_item_id BIGINT PRIMARY KEY AUTO_INCREMENT,
count_id BIGINT NOT NULL,
inventory_id BIGINT NOT NULL,
expected_quantity DECIMAL(10,2),
actual_quantity DECIMAL(10,2),
difference DECIMAL(10,2),
difference_value DECIMAL(12,2),
reason_for_difference TEXT,
adjustment_made BOOLEAN DEFAULT FALSE,
adjustment_notes TEXT,
verified_by BIGINT,
notes TEXT,
FOREIGN KEY (count_id) REFERENCES inventory_counts(count_id),
FOREIGN KEY (inventory_id) REFERENCES inventory(inventory_id),
FOREIGN KEY (verified_by) REFERENCES staff(staff_id)
);
🏥 31. نظام إدارة المنشآت والمعدات الطبية
31.1 إدارة الأصول الطبية
sql
-- جدول المعدات الطبية
CREATE TABLE medical_equipment (
equipment_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
equipment_name VARCHAR(150) NOT NULL,
equipment_type VARCHAR(50),
model VARCHAR(50),
serial_number VARCHAR(50) UNIQUE NOT NULL,
manufacturer VARCHAR(100),
purchase_date DATE,
purchase_price DECIMAL(12,2),
warranty_expiry DATE,
expected_lifetime_years INT,
current_location VARCHAR(100),
department_id INT,
status ENUM('نشط', 'تحت الصيانة', 'تالف', 'مستبعد') DEFAULT 'نشط',
last_maintenance_date DATE,
next_maintenance_date DATE,
maintenance_frequency_days INT,
responsible_technician_id BIGINT,
calibration_status VARCHAR(50),
last_calibration_date DATE,
next_calibration_date DATE,
clinical_application VARCHAR(100),
safety_rating ENUM('A', 'B', 'C', 'D') DEFAULT 'A',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (department_id) REFERENCES hospital_departments(department_id),
FOREIGN KEY (responsible_technician_id) REFERENCES staff(staff_id)
);
-- جدول سجل صيانة المعدات
CREATE TABLE equipment_maintenance_log (
maintenance_id BIGINT PRIMARY KEY AUTO_INCREMENT,
equipment_id BIGINT NOT NULL,
maintenance_type ENUM('وقائية', 'تصحيحية', 'طوارئ', 'دورية') NOT NULL,
maintenance_date DATE NOT NULL,
technician_id BIGINT NOT NULL,
description TEXT,
parts_replaced TEXT,
cost DECIMAL(12,2),
downtime_hours INT,
status ENUM('قيد التنفيذ', 'مكتمل', 'فشل', 'محال للخارج') DEFAULT 'قيد التنفيذ',
before_condition TEXT,
after_condition TEXT,
recommendations TEXT,
next_maintenance_date DATE,
quality_control_passed BOOLEAN DEFAULT FALSE,
quality_control_notes TEXT,
performed_by BIGINT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (equipment_id) REFERENCES medical_equipment(equipment_id),
FOREIGN KEY (technician_id) REFERENCES staff(staff_id),
FOREIGN KEY (performed_by) REFERENCES staff(staff_id)
);
-- جدول صيانة المباني والمرافق
CREATE TABLE facility_maintenance (
facility_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
facility_name VARCHAR(150) NOT NULL,
facility_type ENUM('مبنى', 'غرفة', 'ممر', 'موقف', 'حديقة', 'أخرى') NOT NULL,
location VARCHAR(100),
construction_date DATE,
last_renovation_date DATE,
condition_rating ENUM('ممتاز', 'جيد', 'مقبول', 'سيء', 'حرج') DEFAULT 'جيد',
maintenance_type ENUM('كهرباء', 'سباكة', 'تكييف', 'بناء', 'أمن', 'أخرى') NOT NULL,
maintenance_date DATE NOT NULL,
issue_description TEXT,
urgency ENUM('منخفضة', 'متوسطة', 'عالية', 'حرجة') DEFAULT 'متوسطة',
assigned_to BIGINT,
status ENUM('مبلغة', 'قيد التنفيذ', 'مكتملة', 'ملغية') DEFAULT 'مبلغة',
completion_date DATE,
cost DECIMAL(12,2),
contractor_name VARCHAR(100),
warranty_period MONTH,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (assigned_to) REFERENCES staff(staff_id)
);
📋 32. النظام القانوني والامتثال المتقدم
32.1 إدارة العقود والاتفاقيات
sql
-- جدول العقود الطبية
CREATE TABLE medical_contracts (
contract_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
contract_type ENUM('توريد', 'خدمات', 'شراكة', 'توظيف', 'تدريب', 'تأمين') NOT NULL,
contract_title VARCHAR(200) NOT NULL,
contract_number VARCHAR(50) UNIQUE NOT NULL,
party_name VARCHAR(150) NOT NULL,
party_type ENUM('فرد', 'شركة', 'جهة حكومية', 'منظمة غير ربحية') NOT NULL,
party_contact VARCHAR(100),
start_date DATE NOT NULL,
end_date DATE NOT NULL,
auto_renew BOOLEAN DEFAULT FALSE,
renewal_terms TEXT,
total_value DECIMAL(15,2),
payment_terms VARCHAR(100),
deliverables TEXT,
penalties_terms TEXT,
termination_terms TEXT,
confidentiality_clause TEXT,
dispute_resolution TEXT,
status ENUM('نشط', 'منتهي', 'معلق', 'ملغي', 'قيد التفاوض') DEFAULT 'نشط',
signed_by BIGINT,
signing_date DATE,
reviewed_by BIGINT,
review_date DATE,
attached_documents TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (signed_by) REFERENCES staff(staff_id),
FOREIGN KEY (reviewed_by) REFERENCES staff(staff_id)
);
-- جدول الامتثال القانوني
CREATE TABLE legal_compliance (
compliance_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
regulation_name VARCHAR(200) NOT NULL,
regulation_authority VARCHAR(100),
regulation_number VARCHAR(50),
effective_date DATE,
compliance_deadline DATE,
compliance_status ENUM('مطابق', 'غير مطابق', 'قيد التطبيق', 'مؤجل', 'غير قابل للتطبيق') DEFAULT 'غير مطابق',
compliance_evidence TEXT,
gap_analysis TEXT,
action_plan TEXT,
responsible_team VARCHAR(100),
responsible_person BIGINT,
last_assessment_date DATE,
next_assessment_date DATE,
audit_findings TEXT,
corrective_actions TEXT,
verification_date DATE,
verification_status ENUM('معلق', 'مكتمل', 'فشل') DEFAULT 'معلق',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (responsible_person) REFERENCES staff(staff_id)
);
32.2 نظام حماية البيانات والخصوصية
sql
-- جدول موافقات المرضى
CREATE TABLE patient_consents (
consent_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
consent_type ENUM('علاج', 'بيانات', 'تصوير', 'جراحة', 'نقل', 'بحث') NOT NULL,
consent_text TEXT NOT NULL,
consent_version VARCHAR(10),
consent_date DATETIME DEFAULT CURRENT_TIMESTAMP,
consent_expiry DATE,
consent_withdrawn BOOLEAN DEFAULT FALSE,
withdrawal_date DATETIME,
withdrawal_reason TEXT,
signed_by BIGINT,
witness_by BIGINT,
language VARCHAR(10) DEFAULT 'ar',
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (signed_by) REFERENCES staff(staff_id),
FOREIGN KEY (witness_by) REFERENCES staff(staff_id)
);
-- جدول طلبات الوصول للبيانات
CREATE TABLE data_access_requests (
request_id BIGINT PRIMARY KEY AUTO_INCREMENT,
requester_id BIGINT NOT NULL,
patient_id BIGINT,
request_type ENUM('عرض', 'تعديل', 'حذف', 'تصدير', 'نقل') NOT NULL,
request_date DATETIME DEFAULT CURRENT_TIMESTAMP,
request_reason TEXT,
data_scope TEXT,
purpose TEXT,
approval_status ENUM('معلق', 'موافق', 'مرفوض', 'محال') DEFAULT 'معلق',
approved_by BIGINT,
approval_date DATETIME,
rejection_reason TEXT,
data_provided BOOLEAN DEFAULT FALSE,
data_provision_date DATETIME,
expiry_date DATE,
notes TEXT,
FOREIGN KEY (requester_id) REFERENCES staff(staff_id),
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (approved_by) REFERENCES staff(staff_id)
);
🌟 33. المبادرات المجتمعية والوعي الصحي
33.1 برامج التوعية الصحية
sql
-- جدول برامج التوعية الصحية
CREATE TABLE health_awareness_programs (
program_id BIGINT PRIMARY KEY AUTO_INCREMENT,
program_name VARCHAR(200) NOT NULL,
program_type ENUM('أمراض مزمنة', 'صحة نفسية', 'تغذية', 'رياضة', 'إقلاع عن التدخين', 'صحة الأسرة', 'أخرى') NOT NULL,
target_audience VARCHAR(100),
target_age_group VARCHAR(50),
program_description TEXT,
objectives TEXT,
start_date DATE NOT NULL,
end_date DATE,
location VARCHAR(200),
max_participants INT,
current_participants INT DEFAULT 0,
cost DECIMAL(12,2),
coordinator_id BIGINT,
status ENUM('مخطط', 'نشط', 'مكتمل', 'ملغي') DEFAULT 'مخطط',
success_indicators TEXT,
outcomes_achieved TEXT,
participant_feedback TEXT,
is_published BOOLEAN DEFAULT FALSE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (coordinator_id) REFERENCES staff(staff_id)
);
-- جدول المشاركين في برامج التوعية
CREATE TABLE health_awareness_participants (
participant_id BIGINT PRIMARY KEY AUTO_INCREMENT,
program_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
registration_date DATE NOT NULL,
attendance_days INT DEFAULT 0,
completion_status ENUM('مسجل', 'نشط', 'مكتمل', 'منسحب') DEFAULT 'مسجل',
pre_assessment_score INT,
post_assessment_score INT,
improvement_percentage DECIMAL(5,2),
feedback TEXT,
certificate_issued BOOLEAN DEFAULT FALSE,
certificate_number VARCHAR(50),
notes TEXT,
FOREIGN KEY (program_id) REFERENCES health_awareness_programs(program_id),
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
33.2 نظام التطوع الصحي
sql
-- جدول فرص التطوع الصحي
CREATE TABLE health_volunteering_opportunities (
opportunity_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
opportunity_title VARCHAR(200) NOT NULL,
opportunity_type ENUM('طبي', 'تمريضي', 'إداري', 'دعم نفسي', 'توعية', 'بحث') NOT NULL,
description TEXT,
requirements TEXT,
start_date DATE NOT NULL,
end_date DATE,
daily_hours INT,
min_age INT,
max_age INT,
locations VARCHAR(200),
max_volunteers INT,
current_volunteers INT DEFAULT 0,
coordinator_id BIGINT,
status ENUM('مفتوحة', 'مغلقة', 'مكتملة', 'ملغية') DEFAULT 'مفتوحة',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (coordinator_id) REFERENCES staff(staff_id)
);
-- جدول سجل التطوع الصحي
CREATE TABLE health_volunteering_records (
volunteer_id BIGINT PRIMARY KEY AUTO_INCREMENT,
opportunity_id BIGINT NOT NULL,
person_name VARCHAR(100) NOT NULL,
person_contact VARCHAR(100),
person_national_id VARCHAR(20),
registration_date DATE NOT NULL,
volunteer_hours INT DEFAULT 0,
tasks_completed TEXT,
skills_demonstrated TEXT,
evaluation_score INT CHECK (evaluation_score BETWEEN 1 AND 5),
evaluation_notes TEXT,
certificate_issued BOOLEAN DEFAULT FALSE,
certificate_number VARCHAR(50),
attendance_records JSON,
status ENUM('مسجل', 'نشط', 'مكتمل', 'منسحب') DEFAULT 'مسجل',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (opportunity_id) REFERENCES health_volunteering_opportunities(opportunity_id)
);
📊 34. النظام المتكامل للتقييم والمراجعة
34.1 نظام المراجعة السريرية
sql
-- جدول المراجعات السريرية الدورية
CREATE TABLE clinical_reviews (
review_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
review_date DATETIME DEFAULT CURRENT_TIMESTAMP,
review_type ENUM('دورية', 'متابعة', 'طوارئ', 'استشارية') NOT NULL,
chief_complaint TEXT,
medical_history_update TEXT,
physical_examination TEXT,
diagnosis_update TEXT,
treatment_plan_update TEXT,
medications_updated JSON,
lab_orders_new TEXT,
radiology_orders_new TEXT,
referrals_made TEXT,
patient_education_provided TEXT,
follow_up_plan TEXT,
next_appointment_date DATE,
overall_assessment TEXT,
reviewed_by BIGINT,
review_completed BOOLEAN DEFAULT FALSE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
FOREIGN KEY (reviewed_by) REFERENCES staff(staff_id)
);
-- جدول المراجعة بين الأقران
CREATE TABLE peer_reviews (
peer_review_id BIGINT PRIMARY KEY AUTO_INCREMENT,
case_id BIGINT NOT NULL,
reviewer_id BIGINT NOT NULL,
reviewee_id BIGINT NOT NULL,
review_date DATETIME DEFAULT CURRENT_TIMESTAMP,
review_category ENUM('تشخيصي', 'علاجي', 'جراحي', 'إداري') NOT NULL,
case_summary TEXT,
reviewer_analysis TEXT,
strengths_identified TEXT,
areas_for_improvement TEXT,
recommendations TEXT,
learning_points TEXT,
rating INT CHECK (rating BETWEEN 1 AND 5),
is_anonymous BOOLEAN DEFAULT TRUE,
status ENUM('قيد الانتظار', 'مكتمل', 'معلق') DEFAULT 'قيد الانتظار',
notes TEXT,
FOREIGN KEY (reviewer_id) REFERENCES staff(staff_id),
FOREIGN KEY (reviewee_id) REFERENCES staff(staff_id)
);
34.2 نظام التقييم والتحسين المستمر
sql
-- جدول مؤشرات التحسين المستمر
CREATE TABLE continuous_improvement_metrics (
metric_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
metric_name VARCHAR(150) NOT NULL,
metric_category VARCHAR(50),
current_value DECIMAL(10,2),
target_value DECIMAL(10,2),
baseline_value DECIMAL(10,2),
improvement_percentage DECIMAL(5,2),
measurement_frequency ENUM('يومي', 'أسبوعي', 'شهري', 'ربع سنوي') NOT NULL,
data_source VARCHAR(100),
responsible_department VARCHAR(50),
last_updated DATETIME,
status ENUM('ممتاز', 'جيد', 'مقبول', 'ضعيف', 'حرج') DEFAULT 'جيد',
action_plan TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
🎯 الملخص النهائي للمنصة
| المكون | التفاصيل |
|---|---|
| قواعد البيانات | 50+ جدول رئيسي، 200+ جدول فرعي |
| النماذج | 100+ نموذج متكامل |
| التقارير | 150+ تقرير قياسي ومخصص |
| واجهات API | 200+ نقطة نهاية API |
| الخدمات المصغرة | 25+ خدمة مستقلة |
| أنظمة الذكاء الاصطناعي | 15+ نموذج ذكاء اصطناعي متخصص |
| لوحات التحكم | 12+ لوحة تحكم تفاعلية |
| أنظمة التكامل | 30+ نظام تكامل خارجي |
| مستويات الأمان | 10+ مستويات صلاحيات |
| اللغات المدعومة | العربية، الإنجليزية |
| حجم البيانات المتوقع | 5+ تيرابايت سنوياً |
| عدد المستخدمين المتوقع | 1,000,000+ مريض، 50,000+ موظف |
🚀 خريطة الطريق النهائية
المرحلة الأولى (الأشهر 1-3): الأساس المتين
- ✅ بنية تحتية سحابية موزعة
- ✅ قواعد بيانات أساسية
- ✅ واجهات المستخدم الأساسية
- ✅ نظام المصادقة والأمان
المرحلة الثانية (الأشهر 4-6): التوسع التشغيلي
- ✅ جميع الخدمات الطبية الأساسية
- ✅ نظام المختبرات والأشعة
- ✅ نظام الصيدليات
- ✅ نظام الفواتير
المرحلة الثالثة (الأشهر 7-9): التكامل الوطني
- ✅ ربط جميع المستشفيات
- ✅ التكامل مع المنصات الحكومية
- ✅ نظام التقارير الوطنية
- ✅ الذكاء الاصطناعي الأساسي
المرحلة الرابعة (الأشهر 10-12): الابتكار والتميز
- ✅ الذكاء الاصطناعي المتقدم
- ✅ الجينوم والطب الشخصي
- ✅ الرعاية عن بعد المتقدمة
- ✅ الابتكارات المستقبلية
هذه المنصة تمثل نقلة نوعية شاملة في القطاع الصحي السعودي، محققة رؤية 2030، ومستعدة للتوسع المستقبلي، ومتكاملة مع جميع الأنظمة العالمية. 🇸🇦🏥🌟
هل هناك جانب محدد تريد التعمق فيه أكثر؟ 😊
🏥 المنصة الصحية المتكاملة – الطبقات النهائية والتكامل الشامل
🧠 35. نظام دعم القرار السريري (CDSS)
35.1 قاعدة المعرفة السريرية
sql
-- جدول المعرفة الطبية القابلة للتنفيذ
CREATE TABLE clinical_knowledge_base (
knowledge_id BIGINT PRIMARY KEY AUTO_INCREMENT,
knowledge_type ENUM('تشخيصي', 'علاجي', 'وقائي', 'توجيهي') NOT NULL,
title VARCHAR(200) NOT NULL,
description TEXT NOT NULL,
specialty VARCHAR(50),
clinical_domain VARCHAR(50),
evidence_level ENUM('A', 'B', 'C', 'D', 'X') DEFAULT 'B',
recommendation_grade ENUM('قوي', 'متوسط', 'ضعيف', 'رفض') DEFAULT 'متوسط',
guideline_source VARCHAR(100),
guideline_year YEAR,
icd_10_codes JSON,
snomed_ct_codes JSON,
loinc_codes JSON,
medications_recommended JSON,
procedures_recommended JSON,
risk_factors JSON,
symptoms JSON,
lab_tests_recommended JSON,
radiology_recommended JSON,
contraindications TEXT,
drug_interactions JSON,
special_populations_notes TEXT,
citations TEXT,
url_links TEXT,
is_active BOOLEAN DEFAULT TRUE,
reviewed_by BIGINT,
review_date DATETIME,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (reviewed_by) REFERENCES staff(staff_id),
INDEX idx_specialty (specialty),
INDEX idx_knowledge_type (knowledge_type)
);
-- جدول سجل استعلامات دعم القرار
CREATE TABLE clinical_decision_queries (
query_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
query_type ENUM('تشخيصي', 'علاجي', 'تفاعل دوائي', 'مضاعفات', 'مرجعي') NOT NULL,
query_text TEXT NOT NULL,
query_date DATETIME DEFAULT CURRENT_TIMESTAMP,
matched_knowledge_ids JSON,
recommendations_provided TEXT,
doctor_action_taken TEXT,
doctor_feedback TEXT,
query_effectiveness_rating INT CHECK (query_effectiveness_rating BETWEEN 1 AND 5),
patient_outcome TEXT,
outcome_date DATETIME,
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctors(doctor_id),
INDEX idx_patient_doctor (patient_id, doctor_id)
);
35.2 نظام تنبيهات الأدوية والتفاعلات
sql
-- جدول تفاعلات الأدوية
CREATE TABLE drug_interactions (
interaction_id BIGINT PRIMARY KEY AUTO_INCREMENT,
medication1_id BIGINT NOT NULL,
medication2_id BIGINT NOT NULL,
severity_level ENUM('طفيف', 'معتدل', 'شديد', 'مميت') NOT NULL,
interaction_type ENUM('دوائي-دوائي', 'دوائي-غذائي', 'دوائي-مرضي') NOT NULL,
mechanism TEXT,
clinical_effect TEXT,
management_recommendations TEXT,
evidence_level VARCHAR(10),
onset VARCHAR(50),
risk_factors TEXT,
alternatives_suggested JSON,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (medication1_id) REFERENCES medications(medication_id),
FOREIGN KEY (medication2_id) REFERENCES medications(medication_id),
INDEX idx_medications (medication1_id, medication2_id)
);
-- جدول تنبيهات الحساسية الدوائية
CREATE TABLE drug_allergy_alerts (
alert_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
medication_id BIGINT NOT NULL,
allergy_type ENUM('حساسية دوائية', 'حساسية مكون', 'تفاعل عرضي') NOT NULL,
reaction_severity ENUM('خفيف', 'معتدل', 'شديد', 'مهدد للحياة') NOT NULL,
reaction_symptoms TEXT,
reaction_date DATE,
documented_by BIGINT,
alert_triggered BOOLEAN DEFAULT FALSE,
alert_date DATETIME,
prescription_modified BOOLEAN DEFAULT FALSE,
modified_prescription TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (medication_id) REFERENCES medications(medication_id),
FOREIGN KEY (documented_by) REFERENCES staff(staff_id)
);
🌍 36. نظام الصحة العامة والسكانية
36.1 قاعدة بيانات الصحة السكانية
sql
-- جدول الإحصاءات السكانية الصحية
CREATE TABLE population_health_statistics (
stat_id BIGINT PRIMARY KEY AUTO_INCREMENT,
region VARCHAR(50) NOT NULL,
city VARCHAR(50),
district VARCHAR(50),
year YEAR NOT NULL,
population_total INT,
population_male INT,
population_female INT,
population_children INT,
population_adults INT,
population_elderly INT,
births INT,
deaths INT,
infant_mortality DECIMAL(5,2),
maternal_mortality DECIMAL(5,2),
life_expectancy DECIMAL(4,1),
top_health_conditions JSON,
vaccination_coverage DECIMAL(5,2),
screening_participation_rate DECIMAL(5,2),
hospital_beds_per_1000 DECIMAL(5,2),
physicians_per_1000 DECIMAL(5,2),
nurses_per_1000 DECIMAL(5,2),
public_health_expenditure DECIMAL(15,2),
private_health_expenditure DECIMAL(15,2),
health_status_index DECIMAL(5,2),
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_region_year (region, year)
);
-- جدول برامج الصحة السكانية
CREATE TABLE population_health_programs (
program_id BIGINT PRIMARY KEY AUTO_INCREMENT,
program_name VARCHAR(200) NOT NULL,
program_type ENUM('وقائي', 'علاجي', 'تعزيزي', 'توعوي', 'فحصي') NOT NULL,
target_population VARCHAR(100),
priority_health_issues TEXT,
objectives TEXT,
strategies TEXT,
start_date DATE NOT NULL,
end_date DATE,
budget DECIMAL(15,2),
implementing_agency VARCHAR(100),
partner_organizations TEXT,
key_performance_indicators JSON,
current_progress DECIMAL(5,2),
status ENUM('مخطط', 'نشط', 'مكتمل', 'معلق', 'منتهي') DEFAULT 'مخطط',
outcomes_achieved TEXT,
lessons_learned TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
36.2 نظام مراقبة الفئات الضعيفة
sql
-- جدول الفئات الصحية الضعيفة
CREATE TABLE vulnerable_populations (
vulnerable_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
vulnerability_type ENUM('أمراض مزمنة', 'إعاقة', 'فقر', 'سكان نائيين', 'لاجئون', 'مسنون', 'أطفال', 'حوامل') NOT NULL,
vulnerability_details TEXT,
severity_rating INT CHECK (severity_rating BETWEEN 1 AND 10),
priority_level ENUM('منخفضة', 'متوسطة', 'عالية', 'حرجة') DEFAULT 'متوسطة',
support_required TEXT,
support_provided TEXT,
support_provider BIGINT,
last_assessment_date DATE,
next_assessment_date DATE,
case_worker_id BIGINT,
status ENUM('نشط', 'متابع', 'مكتمل', 'محال') DEFAULT 'نشط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (support_provider) REFERENCES staff(staff_id),
FOREIGN KEY (case_worker_id) REFERENCES staff(staff_id)
);
🏭 37. نظام إدارة البيئة الطبية
37.1 مراقبة البيئة الداخلية
sql
-- جدول مراقبة جودة البيئة
CREATE TABLE environmental_monitoring (
monitor_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
location VARCHAR(100),
monitor_type ENUM('هواء', 'ماء', 'سطوح', 'درجة حرارة', 'رطوبة', 'ضجيج', 'إضاءة') NOT NULL,
monitor_date DATETIME NOT NULL,
parameter_name VARCHAR(50),
parameter_value DECIMAL(10,2),
unit VARCHAR(20),
acceptable_range VARCHAR(50),
deviation_detected BOOLEAN DEFAULT FALSE,
deviation_severity ENUM('طفيف', 'متوسط', 'خطير') DEFAULT 'طفيف',
corrective_action_taken TEXT,
responsible_person BIGINT,
action_completion_date DATE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (responsible_person) REFERENCES staff(staff_id)
);
-- جدول إدارة النفايات الطبية
CREATE TABLE medical_waste_management (
waste_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
waste_type ENUM('معدي', 'حاد', 'كيميائي', 'إشعاعي', 'عام', 'صيدلاني') NOT NULL,
generation_date DATE NOT NULL,
generation_location VARCHAR(100),
generated_quantity_kg DECIMAL(10,2),
collection_date DATE,
collection_quantity_kg DECIMAL(10,2),
disposal_date DATE,
disposal_method VARCHAR(50),
disposal_company VARCHAR(100),
disposal_certificate VARCHAR(50),
compliance_status ENUM('مطابق', 'غير مطابق', 'تحت المراجعة') DEFAULT 'مطابق',
segregation_practices TEXT,
safety_measures TEXT,
incidents_recorded TEXT,
responsible_person BIGINT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (responsible_person) REFERENCES staff(staff_id)
);
37.2 نظام الاستدامة البيئية
sql
-- جدول مؤشرات الاستدامة البيئية
CREATE TABLE sustainability_indicators (
indicator_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
indicator_name VARCHAR(150) NOT NULL,
indicator_category ENUM('طاقة', 'مياه', 'نفايات', 'انبعاثات', 'بناء أخضر') NOT NULL,
baseline_value DECIMAL(10,2),
current_value DECIMAL(10,2),
target_value DECIMAL(10,2),
unit VARCHAR(20),
measurement_frequency VARCHAR(20),
last_measured_date DATE,
next_measurement_date DATE,
improvement_trend ENUM('تحسن', 'استقرار', 'تراجع') DEFAULT 'استقرار',
initiatives_undertaken TEXT,
responsible_team VARCHAR(100),
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
🏥 38. نظام إدارة الكوارث والطوارئ الصحية
38.1 إدارة الجاهزية للطوارئ
sql
-- جدول مخزون الطوارئ الاستراتيجي
CREATE TABLE emergency_strategic_stock (
stock_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
item_type ENUM('أدوية', 'معدات', 'وقاية شخصية', 'مستلزمات') NOT NULL,
item_name VARCHAR(100) NOT NULL,
critical_level INT,
current_quantity INT,
reorder_quantity INT,
storage_location VARCHAR(100),
expiry_date DATE,
supplier_id BIGINT,
last_replenishment_date DATE,
emergency_contact VARCHAR(100),
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (supplier_id) REFERENCES medical_suppliers(supplier_id)
);
-- جدول خطة الاستجابة السريعة
CREATE TABLE rapid_response_plan (
plan_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
plan_name VARCHAR(200) NOT NULL,
scenario_type ENUM('كوارث طبيعية', 'هجمات إرهابية', 'حالات جماعية', 'أوبئة', 'حوادث كيميائية', 'حوادث إشعاعية') NOT NULL,
activation_criteria TEXT,
response_team JSON,
communication_plan TEXT,
resource_allocation TEXT,
patient_flow_management TEXT,
triage_protocol TEXT,
evacuation_plan TEXT,
coordination_agencies TEXT,
training_requirements TEXT,
drill_schedule TEXT,
evaluation_criteria TEXT,
last_review_date DATE,
next_review_date DATE,
status ENUM('نشط', 'قيد المراجعة', 'متقاعد') DEFAULT 'نشط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
38.2 نظام الإنذار المبكر
sql
-- جدول إنذار الأحداث الصحية
CREATE TABLE health_event_alerts (
alert_id BIGINT PRIMARY KEY AUTO_INCREMENT,
alert_type ENUM('وبائي', 'بيئي', 'حادث جماعي', 'أمني', 'مناخي') NOT NULL,
alert_category VARCHAR(50),
event_name VARCHAR(200),
region VARCHAR(50),
severity ENUM('منخفضة', 'متوسطة', 'عالية', 'حرجة') NOT NULL,
probability DECIMAL(5,2),
trigger_conditions TEXT,
predicted_impact TEXT,
recommended_actions TEXT,
responsible_agency VARCHAR(100),
alert_date DATETIME DEFAULT CURRENT_TIMESTAMP,
expiry_date DATETIME,
status ENUM('نشط', 'معالج', 'منتهي', 'ملغي') DEFAULT 'نشط',
confirmed_cases INT,
response_taken TEXT,
lessons_learned TEXT,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_alert_region (region)
);
📊 39. نظام التحليلات التنبؤية المتقدمة
39.1 نماذج التنبؤ المتقدمة
sql
-- جدول التنبؤ بالاحتياجات المستقبلية
CREATE TABLE predictive_forecasting (
forecast_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
forecast_type ENUM('المريض', 'الموارد', 'المالية', 'الموارد البشرية', 'الأدوية') NOT NULL,
forecast_date DATE NOT NULL,
period ENUM('شهري', 'ربع سنوي', 'سنوي') NOT NULL,
predicted_value DECIMAL(15,2),
lower_bound DECIMAL(15,2),
upper_bound DECIMAL(15,2),
confidence_level DECIMAL(5,2),
actual_value DECIMAL(15,2),
accuracy_percentage DECIMAL(5,2),
factors_influencing TEXT,
model_used VARCHAR(50),
model_version VARCHAR(20),
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
-- جدول تحليل السيناريوهات
CREATE TABLE scenario_analysis (
scenario_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
scenario_name VARCHAR(200) NOT NULL,
scenario_type ENUM('أفضل', 'متوسط', 'أسوأ', 'مخصص') NOT NULL,
assumptions JSON,
variables JSON,
projected_outcomes JSON,
risk_assessment TEXT,
mitigation_strategies TEXT,
resource_requirements TEXT,
timeline VARCHAR(50),
probability DECIMAL(5,2),
impact_severity ENUM('منخفضة', 'متوسطة', 'عالية', 'حرجة') DEFAULT 'متوسطة',
created_by BIGINT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (created_by) REFERENCES staff(staff_id)
);
39.2 نظام التوصيات الاستراتيجية
sql
-- جدول التوصيات الاستراتيجية الذكية
CREATE TABLE strategic_recommendations (
recommendation_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
recommendation_type ENUM('تشغيلية', 'مالية', 'موارد بشرية', 'تقنية', 'استراتيجية') NOT NULL,
recommendation_title VARCHAR(200) NOT NULL,
description TEXT,
justification TEXT,
expected_benefits TEXT,
estimated_cost DECIMAL(15,2),
estimated_roi DECIMAL(5,2),
priority ENUM('منخفضة', 'متوسطة', 'عالية', 'حرجة') DEFAULT 'متوسطة',
implementation_guidelines TEXT,
timeline VARCHAR(50),
success_metrics TEXT,
risks TEXT,
status ENUM('مقترح', 'مراجعة', 'معتمد', 'قيد التنفيذ', 'مكتمل', 'مرفوض') DEFAULT 'مقترح',
approved_by BIGINT,
approval_date DATE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (approved_by) REFERENCES staff(staff_id)
);
🔗 40. نظام التكامل الشامل (موسع)
40.1 تكامل إنترنت الأشياء (IoT)
sql
-- جدول أجهزة إنترنت الأشياء الطبية
CREATE TABLE iot_medical_devices (
device_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
device_name VARCHAR(100) NOT NULL,
device_type ENUM('جهاز مراقبة', 'جهاز تنفس', 'مضخة', 'جهاز تشخيص', 'جهاز تتبع', 'جهاز جوال') NOT NULL,
device_mac VARCHAR(17) UNIQUE,
ip_address VARCHAR(45),
serial_number VARCHAR(50) UNIQUE,
firmware_version VARCHAR(20),
installation_date DATE,
location VARCHAR(100),
connected_to VARCHAR(100),
battery_level INT,
signal_strength INT,
status ENUM('متصل', 'غير متصل', 'تحت الصيانة', 'معطل') DEFAULT 'متصل',
last_communication DATETIME,
manufacturer VARCHAR(100),
warranty_expiry DATE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id)
);
-- جدول بيانات أجهزة إنترنت الأشياء
CREATE TABLE iot_device_data (
data_id BIGINT PRIMARY KEY AUTO_INCREMENT,
device_id BIGINT NOT NULL,
reading_time DATETIME NOT NULL,
parameter_type VARCHAR(50),
parameter_value DECIMAL(10,2),
unit VARCHAR(20),
normal_range VARCHAR(50),
alert_triggered BOOLEAN DEFAULT FALSE,
alert_type VARCHAR(50),
patient_id BIGINT,
notes TEXT,
FOREIGN KEY (device_id) REFERENCES iot_medical_devices(device_id),
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
-- جدول تكامل الأجهزة القابلة للارتداء (موسع)
CREATE TABLE wearable_device_integration (
integration_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
device_type ENUM('ساعة ذكية', 'جهاز مراقبة السكر', 'جهاز مراقبة الضغط', 'جهاز تخطيط القلب', 'جهاز مراقبة النوم', 'جهاز تتبع اللياقة') NOT NULL,
device_brand VARCHAR(50),
device_model VARCHAR(50),
integration_method ENUM('بلوتوث', 'واي فاي', 'منصة سحابية', 'API') NOT NULL,
api_key VARCHAR(255),
last_sync DATETIME,
sync_frequency_minutes INT,
data_shared JSON,
alert_thresholds JSON,
status ENUM('نشط', 'غير نشط', 'معلق', 'فشل') DEFAULT 'نشط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
40.2 تكامل سلسلة الكتل (Blockchain)
sql
-- جدول سجلات البلوكشين للبيانات الطبية
CREATE TABLE blockchain_medical_records (
blockchain_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
record_type VARCHAR(50),
record_hash VARCHAR(255) NOT NULL,
block_number BIGINT,
transaction_hash VARCHAR(255),
previous_hash VARCHAR(255),
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
data_encrypted TEXT,
verification_status ENUM('معلق', 'موثق', 'فشل') DEFAULT 'معلق',
verification_date DATETIME,
verified_by BIGINT,
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
-- جدول العقود الذكية للتأمين
CREATE TABLE smart_insurance_contracts (
contract_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
insurance_provider VARCHAR(100) NOT NULL,
contract_address VARCHAR(255),
contract_code TEXT,
terms_conditions JSON,
premium_amount DECIMAL(12,2),
coverage_details JSON,
claim_processing_rules JSON,
start_date DATE NOT NULL,
end_date DATE NOT NULL,
status ENUM('نشط', 'منتهي', 'معلق', 'ملغي') DEFAULT 'نشط',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
🧪 41. نظام البحث العلمي والتطوير
41.1 إدارة المشاريع البحثية
sql
-- جدول المشاريع البحثية الطبية
CREATE TABLE medical_research_projects (
project_id BIGINT PRIMARY KEY AUTO_INCREMENT,
project_title VARCHAR(200) NOT NULL,
project_code VARCHAR(50) UNIQUE NOT NULL,
research_type ENUM('أساسي', 'سريري', 'وبائي', 'ترجمة', 'جيني') NOT NULL,
principal_investigator_id BIGINT NOT NULL,
co_investigators JSON,
hospitals_involved JSON,
start_date DATE NOT NULL,
end_date DATE,
budget DECIMAL(15,2),
funding_source VARCHAR(100),
research_question TEXT,
objectives TEXT,
methodology TEXT,
inclusion_criteria TEXT,
exclusion_criteria TEXT,
sample_size INT,
ethical_approval_number VARCHAR(50),
ethical_approval_date DATE,
irb_approval_id BIGINT,
data_collection_methods TEXT,
analysis_methods TEXT,
expected_outcomes TEXT,
status ENUM('مقترح', 'معتمد', 'جاري', 'تحليل البيانات', 'مكتمل', 'نشر', 'ملغي') DEFAULT 'مقترح',
publications_count INT DEFAULT 0,
patents_count INT DEFAULT 0,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (principal_investigator_id) REFERENCES staff(staff_id)
);
-- جدول المشاركين في الأبحاث
CREATE TABLE research_participants (
participant_id BIGINT PRIMARY KEY AUTO_INCREMENT,
project_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
consent_obtained BOOLEAN DEFAULT FALSE,
consent_date DATE,
enrollment_date DATE NOT NULL,
completion_status ENUM('مستمر', 'مكتمل', 'منسحب', 'في المتابعة') DEFAULT 'مستمر',
data_collected JSON,
adverse_events TEXT,
follow_up_dates JSON,
notes TEXT,
FOREIGN KEY (project_id) REFERENCES medical_research_projects(project_id),
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
-- جدول منشورات البحث العلمي
CREATE TABLE research_publications (
publication_id BIGINT PRIMARY KEY AUTO_INCREMENT,
project_id BIGINT NOT NULL,
publication_title VARCHAR(200) NOT NULL,
journal_name VARCHAR(100),
publication_date DATE,
publication_type ENUM('بحث أصلي', 'مراجعة', 'تقرير حالة', 'خطاب', 'مراجعة منهجية') NOT NULL,
authors TEXT,
doi VARCHAR(100),
pmid VARCHAR(20),
impact_factor DECIMAL(4,2),
citations_count INT DEFAULT 0,
file_url VARCHAR(255),
abstract TEXT,
keywords TEXT,
funding_acknowledgement TEXT,
conflict_of_interest TEXT,
peer_review_comments TEXT,
status ENUM('قيد الإعداد', 'مرسل', 'قيد المراجعة', 'مقبول', 'منشور', 'مرفوض') DEFAULT 'قيد الإعداد',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (project_id) REFERENCES medical_research_projects(project_id)
);
41.2 نظام التجارب السريرية
sql
-- جدول التجارب السريرية
CREATE TABLE clinical_trials (
trial_id BIGINT PRIMARY KEY AUTO_INCREMENT,
trial_registration_number VARCHAR(50) UNIQUE NOT NULL,
trial_title VARCHAR(200) NOT NULL,
trial_phase ENUM('I', 'II', 'III', 'IV', 'ما بعد التسويق') NOT NULL,
therapeutic_area VARCHAR(50),
intervention_type VARCHAR(50),
intervention_description TEXT,
comparator_description TEXT,
primary_outcome TEXT,
secondary_outcomes JSON,
inclusion_criteria TEXT,
exclusion_criteria TEXT,
sample_size_target INT,
current_enrollment INT DEFAULT 0,
start_date DATE NOT NULL,
expected_completion_date DATE,
actual_completion_date DATE,
sponsor VARCHAR(100),
collaborating_centers JSON,
principal_investigator_id BIGINT,
regulatory_approval_status ENUM('قيد التقديم', 'موافق', 'معلق', 'مرفوض') DEFAULT 'قيد التقديم',
regulatory_approval_number VARCHAR(50),
data_monitoring_plan TEXT,
safety_reporting_plan TEXT,
results_summary TEXT,
publication_plan TEXT,
status ENUM('مخطط', 'قيد التجنيد', 'نشط', 'مغلق للتجنيد', 'مكتمل', 'معلق', 'ملغي') DEFAULT 'مخطط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (principal_investigator_id) REFERENCES staff(staff_id)
);
-- جدول متابعة التجارب السريرية
CREATE TABLE clinical_trial_followup (
followup_id BIGINT PRIMARY KEY AUTO_INCREMENT,
trial_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
visit_number INT,
visit_date DATE NOT NULL,
scheduled_visit_date DATE,
visit_type ENUM('فحص أساسي', 'متابعة', 'فحص علاجي', 'متابعة أمان', 'متابعة طويلة المدى') NOT NULL,
assessments_completed JSON,
vital_signs JSON,
lab_results JSON,
adverse_events_reported TEXT,
serious_adverse_events TEXT,
medication_changes TEXT,
compliance_rate DECIMAL(5,2),
visit_status ENUM('مكتمل', 'جزئي', 'فات', 'ملغي') DEFAULT 'مكتمل',
notes TEXT,
FOREIGN KEY (trial_id) REFERENCES clinical_trials(trial_id),
FOREIGN KEY (patient_id) REFERENCES patients(patient_id)
);
🏆 42. نظام التميز والجوائز
42.1 إدارة برامج التميز
sql
-- جدول برامج التميز والجوائز
CREATE TABLE excellence_programs (
program_id BIGINT PRIMARY KEY AUTO_INCREMENT,
program_name VARCHAR(150) NOT NULL,
program_type ENUM('جائزة وطنية', 'جائزة دولية', 'برنامج اعتماد', 'تصنيف دولي') NOT NULL,
awarding_body VARCHAR(100),
program_description TEXT,
criteria JSON,
application_deadline DATE,
award_date DATE,
previous_winners TEXT,
submission_requirements TEXT,
evaluation_process TEXT,
benefits TEXT,
category VARCHAR(50),
status ENUM('مفتوح', 'مغلق', 'قيد التقييم', 'منتهي') DEFAULT 'مفتوح',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- جدول مشاركات المستشفيات في برامج التميز
CREATE TABLE hospital_excellence_participation (
participation_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
program_id BIGINT NOT NULL,
application_date DATE,
submission_documents TEXT,
evaluation_score DECIMAL(5,2),
ranking_position INT,
award_received BOOLEAN DEFAULT FALSE,
award_type VARCHAR(50),
award_year YEAR,
feedback_received TEXT,
improvement_areas TEXT,
achievement_highlights TEXT,
status ENUM('مقدم', 'قيد التقييم', 'مقبول', 'مكرم', 'مرفوض') DEFAULT 'مقدم',
notes TEXT,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (program_id) REFERENCES excellence_programs(program_id)
);
-- جدول قصص النجاح والتجارب المتميزة
CREATE TABLE success_stories (
story_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
story_title VARCHAR(200) NOT NULL,
story_category VARCHAR(50),
story_description TEXT,
challenge TEXT,
solution TEXT,
results_achieved TEXT,
metrics_improved JSON,
lessons_learned TEXT,
testimonials TEXT,
media_coverage TEXT,
featured BOOLEAN DEFAULT FALSE,
publication_date DATE,
author_id BIGINT,
approval_status ENUM('معلق', 'معتمد', 'مرفوض') DEFAULT 'معلق',
approved_by BIGINT,
approval_date DATE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (author_id) REFERENCES staff(staff_id),
FOREIGN KEY (approved_by) REFERENCES staff(staff_id)
);
📚 43. الأكاديمية الطبية والمكتبة المعرفية
43.1 نظام المحتوى الطبي التعليمي
sql
-- جدول المحتوى التعليمي الطبي
CREATE TABLE medical_educational_content (
content_id BIGINT PRIMARY KEY AUTO_INCREMENT,
content_type ENUM('مقال', 'فيديو', 'بودكاست', 'رسوم بيانية', 'حالة دراسية', 'اختبار تفاعلي', 'محاكاة') NOT NULL,
title VARCHAR(200) NOT NULL,
subtitle VARCHAR(200),
description TEXT,
category VARCHAR(50),
specialty VARCHAR(50),
difficulty_level ENUM('مبتدئ', 'متوسط', 'متقدم', 'خبير') DEFAULT 'متوسط',
target_audience VARCHAR(100),
keywords JSON,
learning_objectives TEXT,
content_body TEXT,
file_url VARCHAR(255),
duration_minutes INT,
author_id BIGINT,
reviewers JSON,
publication_date DATE,
last_update_date DATE,
version VARCHAR(10),
status ENUM('مسودة', 'مراجعة', 'منشور', 'أرشيف', 'قيد التحديث') DEFAULT 'مسودة',
views_count INT DEFAULT 0,
likes_count INT DEFAULT 0,
average_rating DECIMAL(3,2),
cme_credit_hours DECIMAL(3,1),
accreditation_details TEXT,
tags JSON,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (author_id) REFERENCES staff(staff_id)
);
-- جدول تفاعلات المستخدمين مع المحتوى
CREATE TABLE content_user_interactions (
interaction_id BIGINT PRIMARY KEY AUTO_INCREMENT,
content_id BIGINT NOT NULL,
staff_id BIGINT NOT NULL,
interaction_type ENUM('عرض', 'قراءة', 'تقييم', 'تعليق', 'حفظ', 'مشاركة', 'إكمال') NOT NULL,
interaction_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
duration_seconds INT,
rating_value INT CHECK (rating_value BETWEEN 1 AND 5),
comment_text TEXT,
quiz_score DECIMAL(5,2),
completion_status BOOLEAN DEFAULT FALSE,
cme_credited BOOLEAN DEFAULT FALSE,
notes TEXT,
FOREIGN KEY (content_id) REFERENCES medical_educational_content(content_id),
FOREIGN KEY (staff_id) REFERENCES staff(staff_id)
);
43.2 نظام الندوات والمؤتمرات الطبية
sql
-- جدول الندوات والمؤتمرات الطبية
CREATE TABLE medical_conferences (
conference_id BIGINT PRIMARY KEY AUTO_INCREMENT,
conference_title VARCHAR(200) NOT NULL,
conference_type ENUM('مؤتمر', 'ندوة', 'ورشة عمل', 'مؤتمر عن بعد', 'معرض طبي') NOT NULL,
specialty VARCHAR(50),
description TEXT,
start_date DATE NOT NULL,
end_date DATE NOT NULL,
location VARCHAR(200),
venue VARCHAR(200),
virtual_link VARCHAR(255),
organizer_id BIGINT,
organizing_committee JSON,
speakers JSON,
agenda TEXT,
registration_fee DECIMAL(10,2),
max_participants INT,
current_registrations INT DEFAULT 0,
cme_credit_hours DECIMAL(3,1),
accreditation_body VARCHAR(100),
sponsorship_details TEXT,
status ENUM('مخطط', 'مفتوح للتسجيل', 'جاري', 'مكتمل', 'ملغي') DEFAULT 'مخطط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (organizer_id) REFERENCES staff(staff_id)
);
-- جدول تسجيلات المشاركين في المؤتمرات
CREATE TABLE conference_registrations (
registration_id BIGINT PRIMARY KEY AUTO_INCREMENT,
conference_id BIGINT NOT NULL,
staff_id BIGINT NOT NULL,
registration_date DATE NOT NULL,
registration_type ENUM('مبكر', 'عادي', 'متأخر', 'ضيف') DEFAULT 'عادي',
payment_status ENUM('معلق', 'مدفوع', 'معفى') DEFAULT 'معلق',
attendance_days JSON,
special_requirements TEXT,
certificate_issued BOOLEAN DEFAULT FALSE,
certificate_number VARCHAR(50),
attendance_hours DECIMAL(3,1),
feedback_provided BOOLEAN DEFAULT FALSE,
feedback_text TEXT,
satisfaction_rating INT CHECK (satisfaction_rating BETWEEN 1 AND 5),
status ENUM('مسجل', 'مؤكد', 'حضور', 'غياب', 'ملغي') DEFAULT 'مسجل',
notes TEXT,
FOREIGN KEY (conference_id) REFERENCES medical_conferences(conference_id),
FOREIGN KEY (staff_id) REFERENCES staff(staff_id)
);
💡 44. نظام الابتكار وريادة الأعمال الصحية
44.1 إدارة الأفكار الابتكارية
sql
-- جدول الابتكارات الصحية
CREATE TABLE health_innovations (
innovation_id BIGINT PRIMARY KEY AUTO_INCREMENT,
innovation_title VARCHAR(200) NOT NULL,
innovation_type ENUM('منتج', 'خدمة', 'عملية', 'نموذج عمل', 'تقنية') NOT NULL,
category VARCHAR(50),
description TEXT,
problem_solved TEXT,
proposed_solution TEXT,
uniqueness TEXT,
competitive_advantage TEXT,
target_market TEXT,
commercialization_potential VARCHAR(50),
patent_status ENUM('غير مقدم', 'قيد التقديم', 'ممنوح', 'مرفوض') DEFAULT 'غير مقدم',
patent_number VARCHAR(50),
prototype_developed BOOLEAN DEFAULT FALSE,
prototype_details TEXT,
testing_status ENUM('مبدئي', 'تجريبي', 'مراجعة الأقران', 'جاهز للسوق') DEFAULT 'مبدئي',
submitted_by BIGINT NOT NULL,
submission_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
reviewers JSON,
review_decision ENUM('معلق', 'موصى به', 'مرفوض', 'تحت التطوير') DEFAULT 'معلق',
feedback_comments TEXT,
status ENUM('مقترح', 'معتمد', 'قيد التطوير', 'جاهز للإطلاق', 'تم الإطلاق', 'مغلق') DEFAULT 'مقترح',
estimated_cost DECIMAL(15,2),
actual_cost DECIMAL(15,2),
expected_impact TEXT,
actual_impact TEXT,
notes TEXT,
FOREIGN KEY (submitted_by) REFERENCES staff(staff_id)
);
-- جدول الشركات الناشئة الصحية
CREATE TABLE health_startups (
startup_id BIGINT PRIMARY KEY AUTO_INCREMENT,
startup_name VARCHAR(150) NOT NULL,
legal_entity VARCHAR(100),
commercial_registration VARCHAR(50),
tax_id VARCHAR(50),
industry_type VARCHAR(50),
founders JSON,
founded_date DATE,
headquarters_location VARCHAR(200),
contact_person VARCHAR(100),
phone_number VARCHAR(15),
email VARCHAR(100),
website VARCHAR(100),
mission_statement TEXT,
products_services TEXT,
target_customers TEXT,
funding_stage ENUM('بذري', 'Series A', 'Series B', 'Series C', 'نمو', 'استحواذ') DEFAULT 'بذري',
total_funding DECIMAL(15,2),
revenue_ytd DECIMAL(15,2),
employee_count INT,
partnership_hospitals JSON,
partnership_type VARCHAR(50),
strategic_alignment TEXT,
impact_metrics TEXT,
status ENUM('ناشئ', 'نمو', 'ناضج', 'مستدام', 'منتهي') DEFAULT 'ناشئ',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
44.2 نظام حاضنات الأعمال الصحية
sql
-- جدول برامج حاضنات الأعمال الصحية
CREATE TABLE health_incubators (
incubator_id BIGINT PRIMARY KEY AUTO_INCREMENT,
incubator_name VARCHAR(150) NOT NULL,
incubator_type ENUM('أكاديمية', 'حكومية', 'خاصة', 'مشتركة') NOT NULL,
focus_area VARCHAR(50),
description TEXT,
location VARCHAR(200),
contact_person VARCHAR(100),
contact_phone VARCHAR(15),
contact_email VARCHAR(100),
program_duration_months INT,
mentorship_provided TEXT,
facilities_provided TEXT,
funding_support DECIMAL(12,2),
equity_terms TEXT,
application_process TEXT,
selection_criteria TEXT,
current_cohorts TEXT,
success_stories TEXT,
partner_organizations TEXT,
status ENUM('نشط', 'قيد التأسيس', 'معلق', 'منتهي') DEFAULT 'نشط',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- جدول المشاركين في الحاضنات
CREATE TABLE incubator_participants (
participant_id BIGINT PRIMARY KEY AUTO_INCREMENT,
incubator_id BIGINT NOT NULL,
startup_id BIGINT NOT NULL,
cohort_number INT,
start_date DATE,
end_date DATE,
milestones_achieved JSON,
mentor_assigned BIGINT,
funding_received DECIMAL(12,2),
growth_metrics JSON,
program_completion_status ENUM('قيد التنفيذ', 'مكتمل', 'منسحب') DEFAULT 'قيد التنفيذ',
exit_success BOOLEAN DEFAULT FALSE,
participant_feedback TEXT,
notes TEXT,
FOREIGN KEY (incubator_id) REFERENCES health_incubators(incubator_id),
FOREIGN KEY (startup_id) REFERENCES health_startups(startup_id),
FOREIGN KEY (mentor_assigned) REFERENCES staff(staff_id)
);
🔄 45. نظام التغذية الراجعة الشامل
45.1 نظام التقييم متعدد المصادر (360 درجة)
sql
-- جدول تقييم 360 درجة
CREATE TABLE evaluation_360 (
evaluation_id BIGINT PRIMARY KEY AUTO_INCREMENT,
staff_id BIGINT NOT NULL,
evaluator_id BIGINT NOT NULL,
evaluation_type ENUM('ذاتي', 'زملاء', 'مرؤوسين', 'مدير', 'مراجعون', 'مرضى') NOT NULL,
evaluation_date DATE NOT NULL,
period_start_date DATE,
period_end_date DATE,
competencies JSON,
overall_rating INT CHECK (overall_rating BETWEEN 1 AND 5),
strengths TEXT,
areas_for_development TEXT,
specific_examples TEXT,
recommendations TEXT,
comments TEXT,
status ENUM('معلق', 'مكتمل', 'ملغي') DEFAULT 'معلق',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (staff_id) REFERENCES staff(staff_id),
FOREIGN KEY (evaluator_id) REFERENCES staff(staff_id)
);
-- جدول التغذية الراجعة الفورية
CREATE TABLE instant_feedback (
feedback_id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id INT NOT NULL,
department_id INT,
staff_id BIGINT NOT NULL,
feedback_type ENUM('إيجابي', 'تحسيني', 'مقترح', 'شكر') NOT NULL,
feedback_text TEXT NOT NULL,
context VARCHAR(200),
patient_involved BOOLEAN DEFAULT FALSE,
patient_id BIGINT,
situation_description TEXT,
impact_description TEXT,
improvement_suggestion TEXT,
urgency_level ENUM('منخفضة', 'متوسطة', 'عالية') DEFAULT 'متوسطة',
status ENUM('مقدم', 'قيد المعالجة', 'معالج', 'مغلق') DEFAULT 'مقدم',
provider_id BIGINT,
response_text TEXT,
resolution_date DATETIME,
acknowledged BOOLEAN DEFAULT FALSE,
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (hospital_id) REFERENCES hospitals(hospital_id),
FOREIGN KEY (department_id) REFERENCES hospital_departments(department_id),
FOREIGN KEY (staff_id) REFERENCES staff(staff_id),
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (provider_id) REFERENCES staff(staff_id)
);
45.2 نظام تحليل مشاعر المرضى
sql
-- جدول تحليل مشاعر المرضى
CREATE TABLE patient_sentiment_analysis (
sentiment_id BIGINT PRIMARY KEY AUTO_INCREMENT,
patient_id BIGINT NOT NULL,
source_type ENUM('استبيان', 'تعليق', 'وسائل التواصل', 'تقييم', 'شكوى') NOT NULL,
source_text TEXT,
analysis_date DATETIME DEFAULT CURRENT_TIMESTAMP,
sentiment_score DECIMAL(5,2),
sentiment_category ENUM('إيجابي', 'محايد', 'سلبي') DEFAULT 'محايد',
emotion_tags JSON,
key_phrases JSON,
satisfaction_indicators JSON,
pain_points JSON,
positives_mentioned JSON,
improvement_areas JSON,
urgency_score INT CHECK (urgency_score BETWEEN 1 AND 10),
action_recommended TEXT,
action_taken TEXT,
resolution_status ENUM('معلق', 'قيد المعالجة', 'مكتمل') DEFAULT 'معلق',
assigned_to BIGINT,
notes TEXT,
FOREIGN KEY (patient_id) REFERENCES patients(patient_id),
FOREIGN KEY (assigned_to) REFERENCES staff(staff_id)
);
🌟 المنصة في أرقام
| المؤشر | القيمة |
|---|---|
| إجمالي الجداول | 250+ |
| إجمالي النماذج | 150+ |
| إجمالي التقارير | 200+ |
| الخدمات المصغرة | 30+ |
| نماذج الذكاء الاصطناعي | 20+ |
| نقاط API | 300+ |
| لوحات التحكم | 15+ |
| أنظمة التكامل | 40+ |
| مستويات الأمان | 12+ |
| القدرة الاستيعابية للمرضى | 10M+ |
| القدرة الاستيعابية للموظفين | 100K+ |
| القدرة الاستيعابية للمستشفيات | 5,000+ |
| حجم البيانات المتوقع سنوياً | 10+ TB |
| زمن الاستجابة المتوقع | < 200ms |
| توفر النظام | 99.99% |
🎯 الرؤية النهائية
هذه المنصة ليست مجرد نظام معلوماتي، بل هي:
- نظام بيئي صحي متكامل يربط جميع أطراف المنظومة الصحية
- منصة ذكية تستخدم أحدث تقنيات الذكاء الاصطناعي وتحليل البيانات
- مركز ابتكار يحتضن الأفكار الجديدة ويحولها إلى حلول عملية
- منصة بحثية تدعم الأبحاث الطبية والتجارب السريرية
- نظام أمان يحمي بيانات المرضى ويضمن خصوصيتهم
- أداة استراتيجية تدعم اتخاذ القرارات على المستويات كافة
- بوابة للمستقبل مستعدة لاستيعاب التقنيات الجديدة والتحديات المستقبلية
- نموذج للتميز يحتذى به في المنطقة والعالم
هذه هي الرؤية المتكاملة للمنصة الصحية الوطنية التي تحقق أهداف رؤية 2030 وتجعل المملكة العربية السعودية رائدة في التحول الرقمي الصحي على المستوى العالمي. 🇸🇦🏥🌟
هل هناك جانب محدد تريد التعمق فيه أكثر، أم تريد الانتقال إلى مرحلة التصميم التفصيلي والتنفيذ؟ 😊