رقم تحقق NPI
الأساس 123456789 يكون رقم تحققه 3، فيصبح رقم NPI الكامل 1234567893. أدخل تسعة أرقام لتكمل معرّف مقدم الرعاية الصحية الأمريكي، أو عشرة لتتأكد من رقمه الأخير قبل مطالبة أو إدراج في دليل. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- العدد
- 123456789
- وضع الحساب
- Compute
- المُدخَل
- 123456789
- البادئة
- 80840
- مع بادئة
- 80840123456789
معرّف مقدّم الخدمة الوطني في الولايات المتحدة رقم مكوّن من عشرة أرقام يميّز الأطباء الأفراد والمؤسسات في المطالبات والتسجيل والدلائل بموجب HIPAA. الأرقام التسعة الأولى هي المعرّف الأساسي الصادر عبر NPPES؛ والعاشر رقم تحقق يُنتج بخوارزمية Luhn بعد تطبيق البادئة الثابتة 80840 على الأساس. تجعل هذه القاعدة الـ NPI يتصرّف كمعرّف بأسلوب ISO لأغراض المجموع الاختباري دون الادّعاء بأنه بطاقة دفع. تنفّذ هذه القدرة قاعدة CMS تلك فقط: يقبل وضع compute تسعة أرقام أساسية بالضبط ويعيد رقم التحقق مع NPI كامل من عشرة أرقام؛ ويقبل وضع validate NPI كاملًا من عشرة أرقام ويُبلغ ما إذا كان الرقم الأخير يطابق القيمة المتوقعة المعاد حسابها.
كيف يُحسب رقم تحقق NPI مع البادئة 80840
وفق مواصفات Centers for Medicare & Medicaid Services، يكون NPI دائمًا عشرة أرقام عشرية. تشكّل المواضع من واحد إلى تسعة المعرّف الأساسي (يبدأ الأفراد عادة بواحد والمؤسسات باثنين، رغم أن هذه الأداة لا تفرض نوع المُصدر). الموضع العاشر هو رقم التحقق.
طبّق خوارزمية Luhn الكلاسيكية double-add-double من يمين تلك السلسلة: ضاعف كل رقم ثانٍ بدءًا من رقم الأساس الأيمن، لأن ذلك الرقم يشغل الموضع الثاني من اليمين في التسلسل الكامل ذي الخمسة عشر رقمًا بأسلوب ISO بعد إلحاق رقم التحقق. عندما يكون ضعف رقم أكبر من تسعة، اطرح تسعة (أو اجمع عشرات وآحاد الناتج). اجمع كل قيمة مرجّحة؛ ورقم التحقق هو عشرة ناقص تلك المجموع modulo عشرة، ثم modulo عشرة مرة أخرى، بحيث يكون مجموع Luhn للتسلسل الكامل بما فيه رقم التحقق قابلًا للقسمة على عشرة.
تعيد عملية التحقق حساب الرقم المتوقع من الأحرف التسعة الأولى بعد البادئة نفسها 80840 وتقارنه بالرقم العاشر من الـ NPI المُرسل. الخوارزمية حتمية ومحلية: بلا استدعاء لسجل NPPES، بلا ساعة، وبلا عشوائية. مثال معروف هو الأساس 123456789 الذي يعطي رقم تحقق 3 وNPI كامل 1234567893.
لا تحلّ هذه الأداة أرقام NPI إلى أسماء، ولا تثبت التصنيف أو حالة التسجيل، ولا تتصل بـ CMS؛ بل تثبت فقط أن سلسلة الأرقام مكتملة الشكل وفق قاعدة Luhn الرسمية مع 80840. بالمقارنة مع أدوات Luhn العامة للبطاقات أو IMEI، نية البحث هنا ضيّقة: من يحتاج حاسبة رقم تحقق NPI لأساسات من تسعة أرقام أو فاحص National Provider Identifier من عشرة، لا أداة دفع أو جهاز.
أين تندرج أرقام تحقق NPI في سير عمل الرعاية الصحية الفعلية
تتلقّى أنظمة إدارة العيادات وEHR أساسات داخلية من تسعة أرقام في بيئات onboarding التجريبية ويجب إلحاق رقم تحقق Luhn الرسمي قبل ظهور NPI على المطالبات أو الفواتير أو دلائل المقدّمين. تتحقق المقاصّ والجهات الدافعة من أرقام NPI ذات العشرة أرقام عند قبول المطالبات حتى لا تُنشئ عملية تبديل واحدة مقدّمًا وهميًا ومعاملة 837 مرفوضة. تمرّ وظائف ETL التي تحمّل ملفات أساتذة المقدّمين على كل عمود NPI في CSV أو تغذية HL7، وتستدعي وضع validate وتعزل الصفوف حيث valid يساوي false — فتلتقط تعديلات بشرية وأخطاء مولّدات.
لا تعامل نجاح فحص NPI كدليل على أن المقدّم نشط في NPPES أو مرخّص في ولاية أو مسجّل لدى جهة دافعة؛ فهو يثبت فقط أن رقم Luhn متسق مع الأساس وفق أوزان CMS 80840 المستخدمة لمعرّفات مقدّمي الخدمة الوطنية.
حالات الاستخدام
تدقيق أعمدة NPI في بيانات أساتذة المقدّمين
تحقق دفعةً من كل NPI ذي عشرة أرقام في CSV لنظام EHR أو اعتماد أو مقاصّة، واعزل الصفوف التي لم يعد رقم تحققها يطابق القيمة المتوقعة المعاد حسابها.
الأسئلة الشائعة
ما رقم تحقق NPI؟
هو الرقم العاشر من National Provider Identifier الأمريكي، يُحسب بخوارزمية Luhn بعد بادئة الثابت 80840 للأرقام التسعة الأولى، فغالبًا ما تُلتقط أخطاء الكتابة والمسح قبل تخزين الرقم أو فوترته.
كيف يُحسب رقم تحقق NPI؟
توضع 80840 أمام الأساس المكوّن من تسعة أرقام، ثم تُطبَّق طريقة Luhn على الأرقام الأربعة عشر: يُضاعف رقم من كل رقمين بدءًا من اليمين، ويُطرح تسعة مما يتجاوز تسعة، ثم يُجمع الكل. ورقم التحقق هو ما يجعل المجموع من مضاعفات العشرة.
لماذا تُوضع 80840 أمام الأساس؟
هي البادئة الثابتة في قاعدة CMS، ليحصل رقم NPI على رقم التحقق نفسه الذي يعطيه فحص Luhn لرقم بطاقة. وتُستخدم في الحساب فقط، أما الرقم المطبوع فيبقى عشرة أرقام مثل 1234567893.
هل يعني رقم NPI صحيح أن مقدم الرعاية نشط؟
لا. النتيجة الصحيحة تعني فقط أن الرقم الأخير يطابق الحساب. لا تستعلم الأداة في سجل NPPES، ولا تذكر هل مقدم الرعاية نشط أو مسجّل أو مرخّص.
ماذا يعني الرقم الأول في NPI؟
يبدأ رقم الممارس الفرد عادة بالرقم 1، ويبدأ رقم المؤسسة بالرقم 2. ولا تتحقق الأداة من ذلك، فهي تقبل أي أساس من تسعة أرقام وتحسب رقم التحقق فقط.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/npi \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"123456789"}'const res = await fetch("https://api.kit.forhosting.com/enc/npi", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "123456789"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/npi",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "123456789"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/npi", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"123456789"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"123456789"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/npi", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"number": "123456789"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.npi",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تفشل المدخلات غير الرقمية والأطوال الخاطئة بـ invalid_input بدل التنظيف الصامت، فلا تُحفظ أبدًا معرّفًا نصف منظّف. تعمل الحسابات النقية نفسها مجانًا في المتصفح وبسعر الـ API المنشور، دون استعلام شبكي لسجلات NPPES ودون الادّعاء بأن مجموعًا اختباريًا صالحًا يعني أن المقدّم نشط أو مسجّل أو مرخّص.
كيف يُحسب رقم تحقق NPI مع البادئة 80840
لحسابه، أَلحق الثابت الخماسي 80840 أمام الأساس ذي التسعة أرقام، فتنتج سلسلة من أربعة عشر رقمًا تحاكي حمولة حساب Luhn بأسلوب رقم البطاقة.
عقد الإدخال والأوضاع وسلوك الأخطاء
أرسل حقل number يحتوي فقط على الأحرف من صفر إلى تسعة. الطول الخاطئ خطأ صريح يسمّي الوضع والطول المُرسل — تسعة لـ compute وعشرة لـ validate — حتى تعرض نماذج العميل «يلزم تسعة أرقام» دون تخمين. تفشل السلاسل الفارغة وغياب number وقيم mode غير الصالحة قبل أي مجموع Luhn ولا تُفوتر. مهام التحقق التي ترفض الشكل السيئ لا تُحسب؛ وسلسلة من عشرة أرقام مكتملة الشكل ذات رقم تحقق خاطئ فقط تعيد valid false دون رمي استثناء. تُرفض المسافات والشرطات والحروف والنقاط العشرية كمدخل غير رقمي بـ invalid_input حتى لا يصل قيمة مُقتطعة بصمت إلى التخزين. وضع compute هو الافتراضي: يطلب المحرك تسعة أرقام بالضبط، ويعيد check_digit كسلسلة من حرف واحد، ويعيد with_check كـ NPI من عشرة أرقام يمكن طباعته أو حفظه، ويعيد أيضًا prefix (دائمًا 80840) وprefixed (80840 مع الأساس ذي التسعة) لمسارات التدقيق وتشخيص قاعدة CMS. يطلب وضع validate عشرة أرقام بالضبط؛ وتُبلغ الاستجابة valid true عندما يطابق الرقم الأخير expected_check_digit المعاد حسابه، وتشمل دائمًا payload (الأرقام التسعة الأولى) وcheck_digit وexpected_check_digit وprefix وprefixed وlength عشرة. تُقبل الأسماء المستعارة digits وnpi وcode لنفس حقل الحمولة حتى لا تحتاج التكاملات التي تتحدث بالفعل عن «npi» إلى إعادة تسمية. ولأن المسار parse خالص بلا ساعة أو مصدر عشوائي أو شبكة، ينتج جسم JSON نفسه دائمًا نتيجة JSON نفسها على أداة المتصفح المجانية وعلى الـ API بسعر $0.002 لكل طلب ناجح.
أين تندرج أرقام تحقق NPI في سير عمل الرعاية الصحية الفعلية
تعيد فرق الاعتماد والقوائم حساب expected_check_digit عندما تقرأ عيادة رقمًا عبر الهاتف أو تلصقه من PDF، فتصطاد أخطاء الكتابة قبل إرسال عقد أو ملف تسجيل.
حالات التكامل
إكمال أساس NPI من 9 أرقام لـ fixtures المطالبات
استدعِ وضع compute مع الأساس ذي التسعة أرقام، واحفظ with_check، واستخدم NPI ذا العشرة في مطالبات اختبار أو فواتير أو سجلات sandbox للمقدّمين.
التحقق من أرقام NPI المدخلة أو المستوردة عند الإدخال
عندما يرسل نموذج أو ملف قائمة أو تغذية شريك عشرة أرقام، استدعِ وضع validate وامنع التسجيل إذا كان valid يساوي false، مع إظهار expected_check_digit لتصحيح خطأ رقم واحد.
أسئلة تقنية
كيف أحسب رقم تحقق NPI بهذه الـ API؟
أرسل POST مع number مضبوطًا على تسعة أرقام بالضبط وmode compute (أو احذف mode). تشمل الاستجابة check_digit وwith_check (NPI الكامل من عشرة) وprefix 80840 لتدقيق قاعدة CMS.
كيف أتحقق من NPI كامل من عشرة أرقام؟
أرسل POST مع السلسلة ذات العشرة أرقام وmode validate. تشمل الاستجابة valid وcheck_digit وexpected_check_digit وpayload (الأرقام دون الأخير).
ماذا يحدث مع طول خاطئ أو حروف أو شرطات؟
تُرفض المدخلات غير الرقمية والأطوال غير التسعة (compute) أو العشرة (validate) بـ invalid_input. مهام التحقق الفاشلة لا تُفوتر.
هل أداة رقم تحقق NPI مجانية؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم استدعاءات الـ API رصيد KIT مسبق الدفع بالسعر الأساسي المنشور $0.002؛ والمدخل غير الصالح لا يُحسب أبدًا.