whereBetween('started_at', [$dateRange->startSql(), $dateRange->endSql()]) ->whereHas('patient', function ($query) use ($department) { $query->where('rf_department_id', $department->department_id) ->whereIn('source_type', ['manual', 'special']); }); $emergencyCount = (clone $baseQuery) ->where(function ($query) { $query->where('urgency', 'emergency') ->orWhere(function ($fallback) { $fallback->whereNull('urgency') ->whereHas('patient', fn ($patientQuery) => $patientQuery->where('patient_kind', 'emergency')); }); }) ->count(); $planCount = (clone $baseQuery) ->where(function ($query) { $query->where('urgency', 'plan') ->orWhere(function ($fallback) { $fallback->whereNull('urgency') ->whereHas('patient', fn ($patientQuery) => $patientQuery->where('patient_kind', 'plan')); }); }) ->count(); return [$emergencyCount, $planCount]; } }