# R45-P0 — Revenue Performance Baseline, Year Comparison Contract & Query Profiling

## الهدف
مرحلة تشخيص Read-only فقط لصفحة Revenue. لا تغيّر أي نتائج أو استعلامات إنتاجية أو واجهة مستخدم.

## ما تثبته المرحلة
1. قياس زمن كل واحدة من الاستدعاءات الخمسة الحالية منفصلة.
2. توثيق أن Controller الحالي ينفذ 4 استدعاءات Revenue + استدعاء Profit/Loss.
3. فحص Oracle metadata للجدول `T_INP_OUTP_REVENUE_BATCH` والفهارس الموجودة عليه.
4. فحص وجود وحالة `MV_REVENUE_MONTHLY` إن كانت متاحة.
5. تثبيت عقد المقارنة الزمنية القادم:
   - إذا كانت إحدى السنتين هي السنة الحالية: مقارنة الأشهر المكتملة فقط قبل الشهر الحالي مع نفس الأشهر في السنة الأخرى.
   - إذا كانت السنتان ماضيتين مكتملتين: مقارنة 12 شهرًا كاملة.

## التشغيل على Windows / XAMPP
```bat
C:\xampp\php\php.exe C:\xampp\htdocs\ddb-new\tools\revenue-performance-profile.php --hospital=njch --year=2026 --compare-year=2025 --iterations=3
```

## ملفات Evidence الناتجة
- `REVENUE_PERFORMANCE_BASELINE.json`
- `REVENUE_QUERY_TIMINGS.csv`
- `REVENUE_ORACLE_OBJECT_DIAGNOSTICS.json`
- `REVENUE_YEAR_COMPARISON_CONTRACT.json`
- `REVENUE_MV_READINESS.json`

## السلامة
- Oracle writes: NONE
- Database schema changes: NONE
- Revenue calculation changes: NONE
- Revenue page behavior changes: NONE
