---
title: "القياس المنهجي وطلاقة القراءة"
url: https://docs.growamal.com/ar/guides/cbm-orf-fluency/
language: ar
---

# القياس المنهجي وطلاقة القراءة

تقيس وحدة CBM (WP-CBM-BE) **طلاقة القراءة ودقتها** بمرور الوقت. تتألف من نصفين:
**المسبار** (قراءة شفهية مدتها 60 ثانية يُصحّحها المعلم) و**الاتجاه** (مسابير متكررة ذات صعوبة
متساوية مُرسَمة مقابل خط هدف، حتى يستطيع المعلم رؤية مبكراً إن كان الدعم ينتج نمواً).

> **تنبيه:** نطاق CBM مقيَّد بمقاييس الطلاقة والدقة **فحسب**. مراقبة الفهم والمفردات والصرف والنحو تنتمي إلى
> [مراقبة التقدم](https://docs.growamal.com/ar/guides/progress-monitoring/)، وليس CBM. إرسال مقياس غير طلاقة إلى نقاط نهاية
> CBM يُعيد 400 `cbm_scope_restricted_v2_3`.

## لا تعرف تلقائي على الكلام

لا تستخدم المنصة **التعرف التلقائي على الكلام** (ASR) في المرحلة الأولى أو الثانية (V-5, Q16).
يستمع المعلم إلى الطالب يقرأ ويضغط على الأخطاء في شبكة تصحيح. يستقبل الخادم عدد الأخطاء
والتوقيت وإجمالي الكلمات، ويحسب WCPM + الدقة. التسجيل الصوتي أثناء الجلسة للأرشفة فحسب،
لا تعالجه أي ذكاء اصطناعي أو نظام كلام.

## المقاييس المدعومة في CBM

| `cbmType` | الوصف |
|---|---|
| `ORF_WCPM` | طلاقة القراءة الشفهية: الكلمات الصحيحة في الدقيقة (WCPM) من توقيت المعلم لـ 60 ثانية |
| `ORF_ACCURACY` | دقة القراءة الشفهية: النسبة المئوية للكلمات المقروءة بشكل صحيح |
| `WORD_LIST_ACCURACY` | الدقة على قائمة كلمات معزولة |
| `SENT_TEXT_ACCURACY` | الدقة في قراءة جملة أو مقطع |

أي قيمة أخرى لـ `cbmType` تُرفض بـ 400.

> **تنبيه:** **نطاق المرحلة الحالية في R12 (2026-06-22):** لا يزال تعداد التخزين الرباعي القيم أعلاه موجوداً، لكن
> المقياس الوحيد **المؤهَّل لـ CBM** في المرحلة الحالية هو **القراءة الشفهية للنص المترابط**
> (`ORF_TEXT_READING_ONLY`). بحسب تحديث تصنيف المهارات الـ 80، لم يعد `DWR-A03`/`DWR-A05` مؤهَّلاً
> (`cbm_eligible`). عامِل القراءة الشفهية للنص المترابط كمقياس CBM النشط للمرحلة الحالية؛ أما صفّا دقة
> قائمة الكلمات المعزولة ودقة الجملة/النص فيبقيان في التعداد لكنهما ليسا ضمن نطاق CBM للمرحلة الحالية.

## تدفق مسبار القراءة الشفهية

1. `POST /api/orf/assessments/start`: يفتح جلسة تقييم لطالب + مقطع.
2. `GET /api/orf/passages/:id/words`: (اختياري) يحمّل قائمة الكلمات لوضع علامات الأخطاء بالضغط.
3. `POST /api/orf/assessments/:id/mark`: يسجّل ضغطة خطأ في الوقت الفعلي.
4. `POST /api/orf/assessments/:id/stop`: يغلق نافذة 60 ثانية ويُشغّل حساب درجة CBM + إعادة حساب الاتجاه.

إعادة الحساب مقفولة باستشارة لكل `(org, student, subSkillId)` حتى لا تتسبب الطلبات المتزامنة
من جلسة المعلم ذاتها في إتلاف السلسلة الزمنية.

## خط الهدف والخط الأساسي

يُفعَّل خط الهدف فقط بعد تسجيل **3 مسابير**. الخط الأساسي هو **الوسيط للمسابير الثلاثة الأولى**.
هذا يحمي من تشويه نقطة المرجع بجلسة غير نمطية واحدة (GSR-05: لا قرار من نقطة واحدة).

بمجرد تفعيله، يُعرَّف خط الهدف بـ:

- `baseline`: وسيط مسابير الخط الأساسي الثلاثة
- `goalScore`: درجة الطلاقة المستهدفة
- `goalSlope`: `(goalScore − baseline) / weeksToTarget`

## قاعدة النقاط الثلاث وإشارة CbmTrendSignal

بعد وجود **3 مسابير أو أكثر قابلة للمقارنة**، يُقيّم المحرك الاتجاه باستخدام قاعدة النقاط الثلاث
القابلة للمقارنة. الحد الأدنى **قابل للتهيئة** (الافتراضي 3، يُقرأ مُثبَّت الإصدار من
`growth_trend_rule.minimumComparablePointsForStrongTrend`؛ V-6). خفّض R12 (2026-06-22، تجاوز محمد)
حدّ الاتجاه إلى 3 نقاط قابلة للمقارنة، **متجاوزاً قفل النقاط الأربع في v5** — فالاتجاه الموثوق يحتاج
الآن 3 نقاط قابلة للمقارنة لا 4. النتيجة إحدى أربع إشارات:

| الإشارة | المعنى |
|---|---|
| `trend_above_goal` | مسار الطالب فوق خط الهدف |
| `trend_below_goal` | مسار الطالب تحت خط الهدف |
| `trend_mixed` | المسابير تتناوب فوق وتحت؛ غير حاسمة |
| `insufficient_points` | أقل من 3 مسابير قابلة للمقارنة (دون الحد الأدنى القابل للتهيئة)؛ لا يمكن تطبيق القاعدة بعد (≡ `do_not_decide_yet`) |

تُعاد `null` بينما لا يزال الخط الأساسي يُجمَع (`baselineState: collecting_baseline`).

## الحماية الاحتياطية لنورم الصف

عندما لا يوجد نورم مرجعي لصف الطالب (مثلاً الصف الأول أو الرابع حيث نورمات الشريك معلّقة)،
يُسجَّل المسبار وتُحسب الدرجة ويُحسب الاتجاه على أساس WCPM الخام. تحمل الاستجابة:

- `riskLevel: null` (تظهر كـ `Not_Assessed`، لا كـ `Below` أبداً)
- `benchmarkMissingFlag: true`

النورم الغائب لا يُعامَل كصفر أو كمؤشر خطر. لا تُستخدم أبداً درجة مرجعية مُخترَعة.

## المسابير القابلة للمقارنة والمستبعَدة

ليس كل مسبار قابلاً للمقارنة. يُعلَّم المسبار بـ `comparableFlag: false` عندما يختلف عن الأغلبية
في شرط رئيسي، على سبيل المثال مسبار غير مُكيَّف في جلسة يتلقى فيها الطالب عادةً مادة مُكيَّفة.
تظهر المسابير المستبعدة في قائمة `window.excludedProbeIds` في استجابة الاتجاه لكنها تُحتفظ بها
في السلسلة الزمنية للتدقيق الكامل.

## تصميم الإصدار فحسب

تُصدر وحدة CBM `cbm_alert` خاماً يحمل `trendSignal` و`alertSeverity` و`benchmarkVersionUsed` المُثبَّت.
**لا** تقوم بـ:

- تطبيق بوابة الإخلاص (مملوكة لوحدة RTI)
- كتابة رسالة موجَّهة للمعلم
- تغيير `bundle_assignment.status`

تقرأ وحدة RTI `readOpenAlerts()` من هذه الوحدة وتطبّق البوابة + الرسالة. الانتكاس الحاد
(`alertSeverity: acute_regression`) يُصدَر كإشارة و**لا يُفشل الخطة تلقائياً** أبداً.

يقرأ قارئ مدخلات RTI أيضاً أحدث `cbm_alert.trendSignal` لكل طالب (مُحدَّد بالمؤسسة) ويُحوّل
`CbmTrendSignal` رباعي القيم إلى خط أنابيب تنبيهاته:

| `CbmTrendSignal` | أثر RTI |
|---|---|
| `trend_below_goal` | إشارة "لا تقدّم مقابل خط الهدف"؛ تُغذّي بوابة الدعم المستهدف في الطبقة B، فيمكن أن ترفع `Student_Alert` |
| `insufficient_points` | مساهم في المُوقِف (`cbm_insufficient_points`)؛ حارس إيقاف، لا تنبيه أبداً |
| `trend_above_goal` | لا أثر (يتقدّم) |
| `trend_mixed` | لا أثر؛ `trend_mixed` هو الحكم المحافظ "غير الحاسم" ولا يُحوَّل أبداً إلى الإشارة المتوقّفة، تجنّباً للإفراط في التنبيه |

انظر [قرارات الاستجابة للتدخل والمستويات](https://docs.growamal.com/ar/guides/rti-decisions/) لكيفية انتقال تلك الإشارة عبر
تدفق التنبيه ومراجعة المستوى.

## رفض تنبيه CBM

يستلزم `POST /api/cbm/alerts/:id/dismiss` كوداً `dismissalReasonCode` من كتالوج 9 رموز التجاوز.
يمكن تضمين `contextFlagId` اختيارياً من القاموس المغلق. لا يُقبل نص سبب حر أبداً.

## علامات CAMELS

يُعلَّم كل مقطع ORF بعلامات السمات العربية CAMELS (`tagCode`, `arabicLabel`). تتتبع هذه العلامات
أنماط الأخطاء حسب الفئة اللغوية العربية. يُظهر `CamelsCardDTO` في استجابة الاتجاه أعداد الظهور
ومعدلات الأخطاء لكل علامة. الكتالوج الكامل مدين به الشريك؛ `PHON_HAMZA` غير نشط في المرحلة الأولى
(الهمزة خارج المرحلة الحالية بتأكيد الشريك 2026-06-19).

## نقاط نهاية واجهة برمجة التطبيقات (11)

**القراءة الشفهية:**

| الأسلوب | المسار | الغرض |
|---|---|---|
| `GET` | `/api/orf/passages` | سرد مقاطع القراءة المتاحة (قابلة للتصفية حسب الصف والمهارة الفرعية) |
| `POST` | `/api/orf/assessments/start` | فتح جلسة ORF جديدة |
| `GET` | `/api/orf/passages/:id/words` | تحميل قائمة الكلمات لوضع علامات الأخطاء بالضغط |
| `POST` | `/api/orf/assessments/:id/mark` | تسجيل ضغطة خطأ في الوقت الفعلي |
| `POST` | `/api/orf/assessments/:id/stop` | إغلاق نافذة 60 ثانية + حساب الدرجة |

**القياس المنهجي:**

| الأسلوب | المسار | الغرض |
|---|---|---|
| `POST` | `/api/cbm/probes` | إرسال مسبار دقة قائمة كلمات أو جملة/نص محدود الدرجة |
| `GET` | `/api/cbm/trend/:studentId/:subSkillId` | استجابة الاتجاه الكاملة (السلسلة + خط الهدف + الإشارة) |
| `GET` | `/api/cbm/alerts` | سرد تنبيهات CBM (قابلة للتصفية حسب الحالة) |
| `POST` | `/api/cbm/alerts/:id/dismiss` | رفض تنبيه برمز سبب |
| `POST` | `/api/cbm/aim-lines` | ضبط خط الهدف أو تعديله (baseline + goalScore + weeksToTarget)؛ يُعاد خط الهدف الحالي مضمَّناً في استجابة الاتجاه تحت مفتاح `aimLine` |
| `POST` | `/api/cbm/modifications` | تسجيل علامة تعديل (علامة سياق + سبب) |

جميع المسارات تُصحَّح من المعلم (تتطلب `VIEW_OWN_CLASSES` / ClassTeacher)، ذات نطاق مستأجر،
وليس لها سطح موجَّه للطالب.

للاطلاع على أشكال الطلب والاستجابة الكاملة، راجع [مرجع واجهة برمجة التطبيقات](https://docs.growamal.com/ar/api-reference/).

## أدلة ذات صلة

- [مراقبة التقدم](https://docs.growamal.com/ar/guides/progress-monitoring/): تسجيل أدلة غير الطلاقة
- [قرارات الاستجابة للتدخل والمستويات](https://docs.growamal.com/ar/guides/rti-decisions/): وحدة RTI التي تطبّق بوابة الإخلاص على إشارات CBM
- [قواعد السلامة](https://docs.growamal.com/ar/how-it-works/safety/): قواعد GSR التي تحكم كلاً من CBM ومراقبة التقدم
