
أي نموذج وضعية سيسجّل 15 قرفصاء جيدة على ركبة تنهار. بنيت الذكاء الاصطناعي الذي يلتقط التكرار 9.
بنيت النسخة الأولى من هذا العرض التوضيحي لأثبت أن نموذج وضعية يستطيع عدّ تمارين القرفصاء، وفي غضون يوم واحد أثبتّ الشيء الخطأ. غذّيته بمريضة اصطناعية بعد جراحة الرباط الصليبي الأمامي سمّيتها ماريا، في الثانية والستين من عمرها، بعد ثمانية أسابيع من إعادة بناء الركبة، وخمسة عشر قرفصاء بوزن الجسم موصوفة. فعلت مكتبة الوضعية المجانية بالضبط ما تفعله مكتبات الوضعية المجانية. سجّلت خمسة عشر تكراراً، وعدّتها كلها، ومضت. خمسة عشر من أصل خمسة عشر. جلسة نظيفة.
كانت المشكلة في التكرار 9. في التكرار 9 تنهار ركبة ماريا إلى الداخل وتبطئ لتعويض ذلك، وهي الحركة نفسها التي يراقبها المعالج الطبيعي بعد إعادة بناء الرباط الصليبي الأمامي لأنها الطريقة التي يمزّق بها الناس الطُعم من جديد. رأى نموذج الوضعية قرفصاء. ولم يرَ خطر إصابة متجددة، لأن رؤية ذلك ليست ما صُنع من أجله نموذج الوضعية. التكرار الذي كان ينبغي أن يؤشّر عليه هو التكرار الذي عدّه.
تلك كانت اللحظة التي اتضح لي فيها المنتَج الفعلي. كنت أعامل تقدير الوضعية على أنه الجزء الصعب. لم يعد هو الجزء الصعب. إنه مجاني.
تقدير الوضعية مجاني، لذلك توقفت عن محاولة منافسته
أمضيت الأسبوع الأول أحاول بناء متتبّع نقاط مفتاحية أفضل، وكان أكثر أسابيع المشروع هدراً. BlazePose وMoveNet يعملان أصلاً على الهاتف، بمعدل 30 إطاراً في الثانية، ويمنحانك هيكلاً عظمياً من 33 نقطة مفتاحية بلا مقابل. كل منصة علاج طبيعي وتطبيق عافية شركات يملك هذا أصلاً أو يستطيع إدراجه غداً. المنافسة هناك منافسة على منح شيء يُمنح أصلاً مجاناً.
ما لا يمنحك إياه أحد هو الطبقة بعد النقاط المفتاحية. أخذ تيار وضعية خام وتحويله إلى شيء يستطيع الطبيب السريري التصرف بناءً عليه ويعوّضه الدافع. تلك هي الطبقة التي قررت أن تبنيها Kinetiq من البداية إلى النهاية، والأطروحة التي ظللت أعود إليها هي هذه.
تقدير الوضعية مجاني. القيمة في العقل فوقه، وفي الدليل القابل للفوترة.
فألقيت المتتبّع جانباً وبنيت محرك التفسير بدلاً منه. يأخذ تيار النقاط المفتاحية (اصطناعي لثلاثة من مرضى اختباري، ولرابع مستخرج دون اتصال من مقطع قرفصاء حقيقي مُلتقط لأثبت أن خط الأنابيب يعمل على لقطات حقيقية)، وينعّمه بمرشح 1-Euro، ويُبوّبه حسب الثقة، ويقسّم التكرارات بالتشابه الذاتي الزمني، ويحسب السمات التي يستدل بها الطبيب السريري فعلاً: زاوية المفصل ونطاق الحركة، ومؤشر تقوّس الركبة إلى الداخل، ونسبة إيقاع الهبوط إلى الصعود، ونعومة الحركة كـ Log Dimensionless Jerk، ومؤشر التماثل يسار-يمين. NumPy عادي مُختبر بالوحدات. لا نموذج في مسار التقييم. يمكنك بناء الأمر كله على veriprajna.com/ar/demos/ai-biomechanics-exercise-verification ومشاهدة تقييمه لجلسة.
عندما أعدتُ ماريا عبر هذا المحرك، عاد التكرار 9 كما كان ينبغي أن يعود في المرة الأولى.

المحرك لا يقول فقط "تكرار سيئ". بل يكتب البند الذي فحصه: تقوّس 0.054 عند 0.03 أو فوقها، إيقاع 1.4 فوق 1.25. يستطيع الطبيب السريري استجواب ذلك. لا تستطيع استجواب صندوق أسود، وبعد جراحة الرباط الصليبي الأمامي تريد ذلك جداً.
التكرار الذي أغرتني بتزييفه
أتذكر بالضبط أين طمعت، وكان التكرار 12. في التكرار 12 من جلسة ماريا تهبط النقطة المفتاحية للورك تحت بوابة الرؤية. ثقة المتتبّع على ذلك المفصل تهبط إلى مستوى لا يمكن الوثوق به. لبضعة إطارات لا يعرف المحرك ببساطة أين وركها.
الحركة المغرية، تلك التي تجعل معيارك يبدو أفضل، هي الاستيفاء. تخمين موضع الورك من الإطارات المحيطة، وحساب زاوية على أي حال، وتقييم التكرار، والإبقاء على الرقم نظيفاً. كتبت ذلك الاستيفاء. عمل. ثم قرأت أدبيات دقة الكاميرا الواحدة وحذفتها.
خطأ زاوية الركبة بكاميرا واحدة يبلغ متوسط خطأ مطلق بين 9.3 و21.9 درجة (Nature Scientific Reports، 2025). ذلك هو السقف الصادق لهذا النوع من القياس. إذا كنت أختلق موضع ورك على إطار منخفض الثقة ثم أبلّغ عن زاوية مفصل مبنية عليه، فأنا لا أقيس ركبة، بل أولّد رقماً يبدو مقنعاً وأسمّيه سريرياً. لشركة اسمها Veriprajna، أي الحكمة الحقيقية، لم يكن ذلك قراراً صعباً.

لذا يمتنع المحرك. يقول على الشاشة: "التكرار غير مُقيَّم، الورك غير مرئي". يبهت الهيكل العظمي. ولا يتظاهر.
لا نخمن أبداً زوايا المفاصل من نقاط مفتاحية منخفضة الثقة.
وضعت تلك الجملة على الشاشة لأنني أردت أن يكون الانضباط مرئياً، لا مدفوناً في ملف إعدادات. عبر التكرارات المحجوبة في مجموعتي الموسومة، امتنعت ثلاثة من ثلاثة ولم تُختلق أي زاوية، وهذا ليس ادعاءً أؤكده، بل ثابت مُختبر بالوحدات. أي تكرار محجوب قُيِّم على أي حال سيكون، بالتعريف، زاوية مختلقة. والاختبار كان سيكتشفه. رفض الإجابة ميزة اضطررت لمحاربة غرائزي الخاصة كي أبقيها.
لماذا يمرّ القرفصاء نفسه لمريض ويفشل للذي يليه؟
كدت أُطلق عتبة عالمية واحدة، ومعالجة طبيعية عرضت عليها بناءً مبكراً أقنعتني بالعدول في نحو ثلاثين ثانية. كانت نقطتها بسيطة. قرفصاء بزاوية 80 درجة من امرأة بعد ثمانية أسابيع من جراحة الرباط الصليبي الأمامي تقدّم جيد. القرفصاء نفسها بزاوية 80 درجة من عميلة عافية سليمة في الثلاثين تكرار كسول. إذا قيّمها محركك بالطريقة نفسها، فهو لا يفهم إعادة التأهيل، بل يفهم الهندسة.
فصار محرك القواعد متكيّفاً مع الفئة السكانية. العتبات مربوطة بملف المريض: فئة العمر، والحالة، وأسبوع التعافي. ماريا، بعد الرباط الصليبي الأمامي في الأسبوع 8، تحصل على هدف ثني قدره 75 درجة. جوردان، رياضي عافية شركات في الثلاثين بركب سليمة، يحصل على 95. بنيت عنصر تحكم في العرض التوضيحي لجعل النقطة غير قابلة للإنكار: اقلِب قائمة الملف المنسدلة، وأبقِ الحركة نفسها تماماً، وشاهد الحُكم يتغيّر.

في المرة الأولى التي قلبت فيها تلك القائمة المنسدلة أمام أحد ورأيت عمود الأحكام كله يتغيّر تحت حركة لم تتغيّر، شاهدتهم يفهمون. الحركة نفسها تنال حُكماً مختلفاً بحسب الملف، وذلك حُكم سريري، لا خلل. وهذا أيضاً الجزء من الأطروحة الذي لا يشيخ. عندما يصبح تقدير الوضعية مثالياً، وسيصبح كذلك، لن يستطيع المستشعر أن يخبرك بأن 80 درجة تعني شيئاً لركبة تتعافى وشيئاً آخر لركبة سليمة. ذلك الفهم يعيش في الطبقة فوقه.
الوكلاء ينصحون، والشيفرة تقرّر
سمحت لوكيل ذكاء اصطناعي أن يُحرجني مرة واحدة، وهو سبب الشكل الذي تبدو عليه المعمارية. الجميع ممن قدّمت لهم العرض أرادوا القدرة الرائجة: وكيلاً يقرأ الجلسة ويكتب الملاحظة السريرية، وكيلاً يراقب الاتجاه ويُصعّد. حسناً. ربطت كاتباً سريرياً Clinical Scribe ومراقباً طولياً Longitudinal Monitor فوق مريضة أخرى، إليانور، 70 عاماً، بعد استبدال ركبة، يتراجع نطاق حركتها بهدوء عبر تاريخ جلساتها.
كانت المسودة الأولى التي كتبها الكاتب سلسة وواثقة واحتوت على رقم لنطاق الحركة لم يكن في الأدلة. كان قد قرّب، أو نعّم، أو اختلق ببساطة رقماً يقرأ جيداً. لو وثقت به، لأصدرت ملاحظة سريرية بقياس مختلق فيها. ذلك هو نمط الفشل كله لوضع نموذج لغوي في حلقة طبية، وكنت قد شاهدته للتو يحدث على شاشتي.
كان الإصلاح أن أجعل الوكلاء عاجزين بنيوياً عن ذلك. كل رقم يُدخله وكيل يُفحص مقابل الأدلة الحتمية. أي رقم ليس في مخرجات المحرك يُرفض، ويُعرض القالب الحتمي بدلاً منه. يمتنع الوكيلان تماماً عند غياب مفتاح API. يفسّران ويتواصلان. ولا يقرّران.

الوكلاء ينصحون، والشيفرة تقرّر.
تلك الجملة هي قرار التصميم الحامل للحمل في العرض التوضيحي كله. نواة الثقة، كل حُكم لكل تكرار وتحديد الفوترة، شيفرة عادية مُختبرة بالوحدات بلا نموذج لغوي في أي مكان قريب منها. الوكلاء يجلسون فوقها، محدودين وخاضعين لمراجعة التأريض، يؤدون الشيء الوحيد الذي يجيدونه حقاً، وهو تحويل الأرقام المُتحقَّق منها إلى نثر جاهز للطبيب السريري. في اللحظة التي ينال فيها وكيل صوتاً في الحُكم، تكون قد فقدت قابلية التدقيق التي كانت النقطة كلها.
ما يعوّضه الدافع فعلياً هو إيصال، لا عدّ تكرارات
السبب التجاري الذي بنيت من أجله أيّاً من هذا شيء تعلّمته بقراءة قواعد فوترة CMS، وهذا ليس كيف توقعت قضاء شهر. يستطيع الأطباء السريريون فوترة المراقبة العلاجية عن بُعد تحت CPT 98975-98981، بالإضافة إلى رمزي 2026 وهما 98979 و98985، وانخفضت عتبة الأهلية لعام 2026 إلى يومين و10 دقائق من البيانات فحسب (بحث Veriprajna WP29، 2026). لكن CMS لا تعوّض الإحداثيات الخام. تتطلب بيانات جمعتها أجهزة مربوطة بقرار علاجي. كومة من النقاط المفتاحية ليست قابلة للفوترة. تحديد موثَّق قابل للتدقيق هو كذلك.
تلك الفجوة ليست صغيرة، لأن المشكلة الأساسية ليست صغيرة. التزام مرضى العلاج الطبيعي بتمارين المنزل يقف حول 35 في المئة، و65 في المئة من المرضى يتخلون عن برنامجهم خلال الشهر الأول (بحث Veriprajna WP29، 2026). التقرير الذاتي يبالغ في الامتثال، لذا غالباً ما يفوتر الطبيب السريري ويعالج بناءً على بيانات لا يستطيع الوثوق بها. على جانب صاحب العمل، تكلّف حالات الجهاز العضلي الهيكلي نحو 3,591 دولاراً لكل موظف سنوياً، ويُقدَّر أن 36 في المئة من جراحات MSK تُعتبر غير ضرورية (90 مليار دولار)، وأكثر من نصف الموظفين يقاومون مشاركة البيانات الصحية بسبب الخصوصية (بحث Veriprajna WP29، 2026). بيانات التمارين المُتحقَّق منها والآمنة للخصوصية والقابلة للفوترة هي ما يفتقده الجميع في تلك السلسلة.
لذا فإن آخر ما يفعله المحرك لكل جلسة هو أن يقرّر: قابلة للفوترة، تحتاج مراجعة طبيب سريري، أو بيانات جهاز غير كافية، ويصدّر تقريراً للجلسة بشكل FHIR. ملاحظات لكل تكرار، وبند العتبة المفحوص لكل منها، وملخّص الجلسة، وتحديد RTM، وحقول التوثيق التي تطلبها CMS. أقول بشكل FHIR، لا مُتحقَّقاً وفق FHIR، لأنه JSON منظَّم يحاكي أشكال حقول Observation وDocumentReference، لا حمولة مُرسلة إلى سجل صحي إلكتروني حي. أُصدره. ولا أتظاهر بأنني أرسله بـ POST.
جلسة ماريا، مع علم التقوّس في التكرار 9، لا تُفوتر تلقائياً. تُوجَّه أولاً إلى طبيب سريري، لأن إشارة إصابة متجددة ينبغي أن يراها إنسان قبل أن تصبح رسماً. ذلك هو الفارق الدقيق الصادق الذي أصريت عليه: قابل للفوترة لا يعني أن كل شيء على ما يرام، بل يعني موثَّقاً بما يكفي ليقف المرء خلفه.

الأرقام على تلك اللوحة هي التي أهتم بها، وأريد أن أكون دقيقاً بشأن نطاقها. الحقيقة المرجعية هنا هي الحُكم الذي تستلزمه المعاملات الفيزيائية المزروعة مقابل عتبات الملف، محسوبة باستقلال عن المحرك، ثم تُعرض التكرارات كنقاط مفتاحية مع إضافة ضوضاء قياس بعد تثبيت التسميات، لذا على المحرك استعادة الحُكم عبر الضوضاء. على تلك المجموعة الاتفاق 100 في المئة على 25 حالة واضحة و100 في المئة على 10 حالات حدّية تقع ضمن نحو انحراف معياري واحد من عتبة. ذلك نتيجة تمييز على مجموعة اصطناعية موسومة، لا ضماناً في العالم المفتوح، والحالات الحدّية هي تلك التي كانت ستنقلب تحت عتبة ساذجة، ولهذا بالضبط أبلّغ عنها منفصلة. هذه مقاييس دائمة: دقة المهمة، وإنتاجية الأتمتة، والأمانة. لا تشيخ عندما يتحسّن نموذج الوضعية، لأن أياً منها ليس معدل خطأ لنموذج وضعية.
السؤال الذي بقيت معه
دخلت هذا ظاناً أنني أبني منتَج رؤية حاسوبية، وأُنهيه مقتنعاً أنني بنيت منتَج مساءلة يحدث أن يبدأ بكاميرا. العمل المثير لم يكن يوماً الحصول على النقاط المفتاحية. كان البتّ في ما يُسمح للنظام بادعائه، ومتى يجب أن يمتنع، ولمن تنطبق العتبات، وماذا يستطيع الطبيب السريري أن يضع رخصته خلفه. إن أردت أن ترى المحرك يقيّم ركبة تنهار، ويرفض تكراراً محجوباً، ويصدّر الإيصال، فهو يعمل بلا مفتاح على veriprajna.com/ar/demos/ai-biomechanics-exercise-verification.
وإن كنت تفضّل مشاهدته على قراءة وصفي له، فإليك الأمر كله يعمل من البداية إلى النهاية.
السؤال الذي ما زلت أقلّبه، والذي أودّ حقاً أن يجادلني فيه بنّاؤون آخرون، هو هذا. مع اقتراب المستشعرات من الكمال، سيكون الإغراء أن ندع النموذج يقرّر أكثر، لأنه نادراً ما سيكون مخطئاً. لكن نادراً-ما-يخطئ هو بالضبط الشرط الذي يُلحق فيه رقم مختلق أكبر ضرر، لأنك توقفت عن التحقق. فأين، في أنظمتك أنت، الخط الذي ترفض أن تدع النموذج يتجاوزه، وهل تستطيع أن تشير إلى الشيفرة التي تفرضه؟


