الـ4 NPHIES Transactions الأساسية
1. Eligibility Check
تحقق إن المريض مغطى قبل تقديم الخدمة.
POST /CoverageEligibilityRequest
{
"resourceType": "CoverageEligibilityRequest",
"patient": "Patient/12345",
"insurer": "Organization/BUPA",
"servicedDate": "2026-05-14",
...
}
2. Pre-Authorization
للإجراءات الكبيرة قبل تنفيذها.
POST /Claim?use=preauthorization
{
"resourceType": "Claim",
"use": "preauthorization",
...
}
3. Claim Submission
بعد الخدمة، إرسال المطالبة.
POST /Claim
{
"resourceType": "Claim",
"patient": "Patient/12345",
"diagnosis": [{...ICD-10 code...}],
"item": [{...CPT codes + drugs...}],
...
}
4. Payment Reconciliation
استقبال الـremittance من الـpayer.
GET /PaymentReconciliation?_id=PR-12345
الـSetup خطوة بخطوة
- تسجيل المستشفى/العيادة في CCHI portal
- الحصول على Provider ID من NPHIES
- توليد X.509 certificate للـdigital signature
- تسجيل الـcertificate في NPHIES portal
- اختبار في NPHIES Sandbox environment
- إعداد ICD-10 mapping table (لو شغّال على ICD-9)
- إعداد SFDA drug codes database (40K+ drugs)
- setup HL7 → FHIR converter (لو فيه LIS/RIS)
- اختبار end-to-end (eligibility → claim → payment)
- Go-live
Mapping Tables الأساسية
ICD-9 → ICD-10
| ICD-9 | ICD-10 | Description |
|---|---|---|
| 250.00 | E11.9 | Type 2 diabetes without complications |
| 401.9 | I10 | Essential hypertension |
| 786.50 | R07.9 | Chest pain unspecified |
| ... | ... | 14,000+ codes |
الـfull mapping table متاحة من ZATCA + WHO. Softloomer NPHIES module بتيجي بـ14K+ mappings preloaded.
SFDA Drug Codes
| SFDA ID | Drug | Strength |
|---|---|---|
| 10001 | Panadol | 500mg |
| ... | ... | 40K+ drugs |
الـCommon Errors والحلول
Error 401: Authentication Failed
السبب: Certificate expired أو wrong client_id. الحل: renew certificate + verify NPHIES portal registration.
Error 422: Validation Failed
السبب: الـFHIR resource format غلط. الحل: validate ضد NPHIES FHIR Implementation Guide.
Error 429: Rate Limit Exceeded
السبب: أكتر من 100 requests/minute. الحل: implement queue + exponential backoff.
Claim Rejected: Missing ICD-10
السبب: الـdiagnosis مش بـICD-10 format. الحل: mapping table conversion قبل الـsubmission.
Performance Tips
- Cache eligibility results لـ24 ساعة — مش هتتغير
- Batch claim submission — submit في chunks of 100 بدلاً من واحد واحد
- Async processing — pre-authorization بتاخد 1-3 أيام، اعمل polling بدلاً من sync waiting
- Webhook integration — NPHIES بيدعم webhooks للـpayment events
- Monitoring — track الـsubmission success rate، rejection reasons، processing time