# H11.0-P11.1-R42 — Executive Dashboard Legacy KPI Parity & Live Reconciliation Closure

## الهدف
إغلاق فجوة التطابق بين الصفحة الرئيسية القديمة والجديدة للمؤشرات اليومية الأساسية، مع الحفاظ على أداء Summary Layer وعدم تحويل بقية المؤشرات التشغيلية من نافذة 07:00→07:00 دون داعٍ.

## مرجع الحقيقة القديم
الملف القديم:

`ddb/files/home_main_conent.php`

والمؤشرات الثمانية الإلزامية هي:

1. Outpatient Visits
2. Emergency Visits
3. Number Of Follow Up
4. New Patient First Visits
5. Admission Cases
6. Discharge Cases
7. Scheduled Operations
8. Performed Operations

## ما تغير في R42
- استعادة شروط SQL القديمة للمؤشرات الثمانية داخل `ExecutiveSummaryRepository`.
- إزالة استخدام `operationalRangeSql()` من هذه المؤشرات الثمانية فقط.
- إبقاء اليوم التشغيلي 07:00→07:00 للمؤشرات التشغيلية الأخرى، ومنها Expected Discharges.
- إعادة `Follow-up visits` و`First visits` إلى Hospital Pulse.
- رفع Hospital Pulse إلى 8 بطاقات، 4 أعمدة على الشاشات الكبيرة مع استجابة 2/1 عمود للشاشات الأصغر.
- إضافة أداة قراءة فقط:

`tools/executive-kpi-reconcile.php`

## بوابة القبول الحقيقية
لا تعتبر R42 مغلقة Live إلا عند تحقق:

`8/8 exact numeric parity`

لكل فرع يتم اعتماده، بين:
- Legacy SQL live values.
- القيم الحالية في `DASH_EXEC_SUMMARY_KPI` التي يعرضها الموقع الجديد.

## مثال تشغيل

```bat
php tools\executive-kpi-reconcile.php --hospital=njch
```

أو:

```bat
php tools\executive-kpi-reconcile.php --hospitals=njch,mnh
```

## الحدود الصادقة
- Oracle Writes: NONE بواسطة R42 وأداة reconciliation.
- Database schema changes: NONE.
- تغيّرت قواعد حساب مؤشرات الصفحة التنفيذية لتعود إلى Legacy contract، لذلك `calculation_rules_changed = true` لهذه المرحلة.
- لم يتم ادعاء Live Oracle PASS داخل بيئة البناء المحلية.
- Static PASS ليس Live Acceptance.
- Missing Evidence is not PASS.
