# تعيين HL7 v2 إلى FHIR

> تعيين المقطع إلى المورد وتعيين حقل OBX حقلًا بحقل من HL7 v2 ORU^R01 إلى FHIR R4، والفخاخ التي تكسر عمليات التكامل، ومحول يمكنك استدعاؤه عبر HTTPS.

Source: https://developers.anpheros.com/ar/guides/hl7-v2-to-fhir-mapping

**يعني تعيين HL7 v2 إلى FHIR تحويل كل مقطع من رسالة v2 مفصولة بأنابيب إلى موارد FHIR R4: PID إلى Patient، و OBR إلى DiagnosticReport (أو ServiceRequest)، وكل OBX إلى Observation، مع نقل الرموز والوحدات والنطاقات والأوقات حقلًا بحقل.** تنشر HL7 [دليل تنفيذ V2 إلى FHIR](https://hl7.org/fhir/uv/v2mappings/) الرسمي مع خرائط المفاهيم للمقاطع الشائعة. تقدم هذه الصفحة التعيين العملي لنتائج المختبر (ORU^R01)، والفخاخ التي تكسر عمليات التكامل الحقيقية، ومحول يمكنك استدعاؤه عبر HTTPS: موصل مختبر Anpheros.

<!-- visual:v2map-flow -->

## تحويل المقطع إلى مورد

| مقطع HL7 v2 | ما يحمله | مورد FHIR R4 | في موصل Anpheros للمختبر |
|---|---|---|---|
| MSH | الفواصل، النظام المرسل، نوع الرسالة، معرف الرسالة | `MessageHeader` (أو provenance) | تُقرأ الفواصل من MSH؛ يتم التحقق من النوع لـ ORU^R01؛ يتم الاحتفاظ بمعرف الرسالة للتتبع |
| PID | معرفات المريض، الاسم، تاريخ الميلاد، الجنس | `Patient` | غير مستخدم: المريض هو المريض الموجود في عنوان URL للطلب، لذلك لا يمكن للرسالة الكتابة في سجل خاطئ |
| PV1 | الزيارة | `Encounter` | غير مستخدم |
| ORC / OBR | الطلب والتقرير: معرف الملء/المكان، التاريخ | `ServiceRequest`، `DiagnosticReport` | OBR-3 (أو OBR-2) هو معرف التقرير، OBR-7 هو التاريخ الافتراضي |
| OBX | نتيجة واحدة | `Observation` | ملاحظة مختبر واحدة لكل OBX |
| NTE | ملاحظة نصية حرة | `Observation.note` | غير مستخدم |

## حقل OBX حقلاً بحقل

| حقل OBX | عنصر FHIR Observation | ملاحظات |
|---|---|---|
| نوع قيمة حقل OBX-2 (NM, SN, ST, CWE) | اختيار من `value[x]` | NM و SN تصبح `valueQuantity`؛ النص يبقى نصًا |
| معرف حقل OBX-3 `code^text^system` | `code.coding` | `LN` في OBX-3.3 تعني LOINC؛ الأنظمة الأخرى هي الرمز المحلي للمختبر |
| قيمة حقل OBX-5، وحدة حقل OBX-6 | `valueQuantity.value`، `.unit` / `.code` (UCUM) | يجب تحليل `<5` و `6,4` بعناية |
| النطاق المرجعي لحقل OBX-7 | `referenceRange.low` / `.high` | `3.5-5.1`، `<200`، `>40` |
| علامة الشذوذ لحقل OBX-8 | `interpretation` | H, L, HH, LL, A, N |
| حالة الملاحظة لحقل OBX-11 | `status` | F → نهائي، C → معدل، P → مبدئي، I → مسجل |
| وقت الملاحظة لحقل OBX-14 | `effectiveDateTime` | غالبًا ما تفتقر أوقات v2 إلى المنطقة الزمنية؛ يتطلب FHIR واحدة |

## تحويل رسالة بطلب واحد

```bash
curl -X POST "https://platform.anpheros.com/v1/patients/$PID/labs/import" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: x-application/hl7-v2+er7" \
  -H "Idempotency-Key: $(uuidgen)" \
  --data-binary @oru_r01.hl7
```

تسرد الإجابة عدد الملاحظات (Observations) التي تم إنشاؤها، وعددها التي تم تخطيها لكونها مستوردة بالفعل، والعلامات (markers) التي لم يكن من الممكن تعيينها، والملاحظات الجديدة مع رموزها. تحصل كل منها على معرف ثابت مشتق من التقرير، والاختبار، والوقت، والقيمة، بحيث لا يؤدي مختبر يعيد إرسال نفس الرسالة إلى إنشاء نسخ مكررة.

## فخاخ تعيق التكاملات الحقيقية

1.  **المناطق الزمنية.** لا يحتوي `20261002074500` على إزاحة؛ حدد المنطقة الزمنية للمرسل بوضوح.
2.  **الرموز المحلية.** احتفظ بالرمز الخاص بالمختبر عندما لا يوجد LOINC؛ لا تتجاهله أبدًا.
3.  **إعادة الإرسال.** بدون معرف ثابت لكل نتيجة، تصبح إعادة المحاولة مكررة.
4.  **التصحيحات.** OBX-11 `C` هو تصحيح؛ قرر ما إذا كان سيحل محل النتيجة القديمة أو يضيف إليها، وقم بتمييز النتيجة القديمة.
5.  **القيم غير الرقمية.** تتطلب `positive`، `<5`، `6,4` قواعد صريحة، وليس تخمينًا.

## ما لا يقوم به الموصل

يقبل نتائج المختبر من نوع ORU^R01 عبر HTTPS. لا يستقبل رسائل ADT أو رسائل الطلبات، ولا يتحدث MLLP عبر TCP (يمكن لمحرك واجهة أمامي إعادة التوجيه)، ولا ينشئ DiagnosticReport، ولا يطابق المرضى من PID.

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

### كيف يتم تعيين HL7 v2 إلى FHIR؟
قطعة بقطعة: PID إلى Patient، PV1 إلى Encounter، ORC/OBR إلى ServiceRequest و DiagnosticReport، OBX إلى Observation، NTE إلى notes. دليل تنفيذ HL7 V2 إلى FHIR يحدد خرائط المفاهيم على مستوى الحقول.

### هل يوجد محول HL7 v2 إلى FHIR؟
نعم. تقوم محركات الواجهة والمكتبات مفتوحة المصدر بتحويل الرسائل؛ بالنسبة لنتائج المختبر، يقوم موصل مختبر Anpheros بتحويل رسالة ORU^R01 إلى FHIR R4 Observations في طلب HTTPS واحد ويخزنها في سجل المريض.

### ما هي أنواع رسائل HL7 v2 التي يقبلها Anpheros؟
ORU^R01 لنتائج المختبر. تحصل الرسالة من نوع آخر على تحذير، ويتم قراءة مقاطع OBX الخاصة بها فقط؛ ADT، والطلبات، والرسائل الأخرى غير مدعومة.

### كيف يتم تمثيل علامات HL7 v2 غير الطبيعية في FHIR؟
يصبح OBX-8 `Observation.interpretation` باستخدام رموز HL7 ObservationInterpretation (H, L, HH, LL, A, N).

<!-- visual:cta-v2map -->

## مواضيع ذات صلة

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