# HL7 v2 و FHIR للوحات المعلومات السريرية

> من رسالة HL7 v2 ORU^R01 معملية إلى بلاطة في لوحة المعلومات: ملاحظات FHIR مع نطاقات وعلامات، وخطافات ويب موقعة، وعدم وجود تكرارات — ولماذا لا يعد هذا مراقبة بجانب السرير.

Source: https://developers.anpheros.com/ar/guides/clinical-dashboard-hl7-fhir

**تحتاج لوحة المعلومات السريرية إلى النتائج كبيانات منظمة ومشفرة في اللحظة التي يتم الإبلاغ عنها فيها — الاختبار، القيمة، الوحدة، النطاق المرجعي، والعلامة — وليس ملفات PDF التي يجب قراءتها.** لا تزال المختبرات ترسل معظم النتائج كرسائل HL7 v2 ORU^R01، بينما يسهل بناء لوحات المعلومات على ملاحظات FHIR R4. Anpheros يجلس بين الاثنين: يقوم نظام المختبر بنشر رسالة HL7 v2 (أو تقرير CSV أو JSON) عبر HTTPS، وتصبح كل نتيجة ملاحظة FHIR مع رمزها (LOINC عندما يرسلها المختبر)، وقيمتها، ونطاقها المرجعي، ويخبر خطاف الويب الموقع لوحة المعلومات الخاصة بك بوصول نتائج جديدة.

<!-- visual:dashboard-pipeline -->

## ما يستقبله لوحة التحكم

يصبح كل مقطع OBX في الرسالة ملاحظة مخبرية واحدة:

| حقل HL7 v2 OBX | FHIR R4 Observation | على لوحة التحكم |
|---|---|---|
| OBX-3 test code | `code` (LOINC عندما يرسلها المختبر؛ يتم الاحتفاظ بالرمز المحلي كرمز المختبر) | اسم الاختبار؛ LOINC يجعله قابلاً للمقارنة عبر المختبرات |
| OBX-5 value, OBX-6 unit | `valueQuantity` (وحدة UCUM) | الرقم ووحدته |
| OBX-7 reference range | `referenceRange` | النطاق الطبيعي |
| OBX-8 abnormal flag | `interpretation` (H, L, …) | العلامة الحمراء أو الزرقاء |
| OBX-14 time | `effectiveDateTime` | وقت أخذ العينة |

<!-- visual:dashboard-mock -->

## استيراد رسالة والتفاعل معها

أرسل الرسالة لمريض قمت بإنشائه (أو مريض لديك صلاحية له):

```ts
import { readFile } from 'node:fs/promises';
import { Anpheros, apiKey } from '@anpheros/sdk';

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });   // a sandbox key, sk_test_…
const message = await readFile('oru_r01.hl7', 'utf8');
const result = await anpheros.labs.importHl7(patientId, message, { sourceSystem: 'lab-lis' });
console.log(result);   // created, skipped and unmapped counts
```

بعد ذلك، اسمح للمنصة باستدعاء الواجهة الخلفية للوحة التحكم الخاصة بك بدلاً من استطلاعها:

```ts
await anpheros.webhooks.create('https://dashboard.example.org/anpheros/hook', { events: ['resource.created'] });
```

يتم توقيع كل تسليم (تحقق منه باستخدام `verifyWebhookSignature` من SDK) ويتم إعادة محاولة إرساله إذا لم يستجب الخادم الخاص بك. يحمل الحدث نوع المورد ومعرفه والمريض؛ اقرأ الملاحظات الجديدة وقم بتحديث المربع. يتم تخطي التقارير المعاد إرسالها، لذلك فإن المختبر الذي يعيد الإرسال عند انتهاء المهلة لا ينشئ صفوفًا مكررة على الشاشة.

## اختيار HL7 v2 أو FHIR لكل رابط

| الرابط | الاستخدام | السبب |
|---|---|---|
| المختبر ← طبقة البيانات | HL7 v2 ORU^R01 (أو CSV/JSON) | ما تصدره أنظمة المختبرات بالفعل؛ لا تغيير من جانبها |
| طبقة البيانات ← لوحة المعلومات | FHIR R4 Observation + webhooks | JSON مرمّز ومُدار بالإصدارات يمكن لواجهة المستخدم الأمامية قراءته مباشرة |
| لوحة المعلومات ← تطبيقات أخرى | FHIR R4، بموافقة المريض | معيار واحد لكل مستهلك |

## ما ليس هذا

- **ليس تغذية مراقبة بجانب السرير.** تقبل Anpheros تقارير المختبر عبر HTTPS. لا تتلقى موجات مستمرة أو تدفقات أجهزة من أجهزة المراقبة في العناية المركزة، وهي ليست نظام إنذار: التنبيهات التي تؤثر على الرعاية تحتاج إلى نظام سريري معتمد.
- **ليس محرك واجهة MLLP.** تصل الرسائل عبر HTTPS؛ إذا كان مختبرك يتحدث MLLP فقط عبر TCP، فإن محرك واجهة أمامي يقوم بإعادة توجيهها.
- **نوع رسالة HL7 v2 واحد.** يتم قبول نتائج المختبر ORU^R01؛ لا يتم قبول الطلبات (ORM/OML) ورسائل ADT.

## أسئلة متكررة

### هل يمكن للوحة المعلومات قراءة نتائج مختبر HL7 v2 مباشرة؟
يمكن ذلك، ولكن كل لوحة معلومات تحتاج بعد ذلك إلى محلل HL7 v2 الخاص بها، وربط الأكواد، وإزالة التكرار. التحويل مرة واحدة إلى FHIR R4 Observations مع أكواد LOINC يمنح كل شاشة نفس البيانات النظيفة.

### ما مدى سرعة وصول النتائج المستوردة إلى لوحة المعلومات؟
يعود طلب الاستيراد عند تخزين Observations، ويتم وضع `resource.created` webhook في قائمة الانتظار لكل منها في نفس الوقت. تتم إعادة محاولة التسليم إذا كان نقطة النهاية الخاصة بك غير متاحة.

### كيف يتم تمييز النتائج غير الطبيعية؟
يصبح OBX-8 هو `interpretation` الخاص بـ Observation (على سبيل المثال H أو L) و OBX-7 هو `referenceRange` الخاص به، بحيث يمكن للوحة المعلومات عرض كل من العلامة والنطاق الطبيعي.

### هل يدعم Anpheros مراقبة العناية المركزة (ICU)؟
لا. يقوم بتخزين نتائج المختبر والنتائج السريرية ويخطر أنظمتك بالبيانات الجديدة؛ تظل المراقبة المستمرة بجانب السرير والإنذارات السريرية مع الأجهزة الطبية المعتمدة.

<!-- visual:cta-dashboard -->

## ذات الصلة

- [واجهة برمجة تطبيقات نتائج المختبر: HL7 v2، FHIR و LOINC](https://developers.anpheros.com/ar/guides/lab-results-api)
- [كيفية استيراد نتائج المختبر إلى سجل FHIR](https://developers.anpheros.com/ar/guides/import-lab-results-fhir)
- [موصل المختبر](https://developers.anpheros.com/guides/lab-connector): مرجع نقطة النهاية
- [FHIR مقابل HL7 v2: اختلافات عملية](https://developers.anpheros.com/ar/guides/fhir-vs-hl7-v2)
- [المراقبة عن بعد للمرضى باستخدام FHIR](https://developers.anpheros.com/ar/guides/remote-patient-monitoring-fhir)
- [خطافات الويب](https://developers.anpheros.com/ar/guides/webhooks)
