# منصة FHIR: FHIR R4 مُدارة بموافقة المريض

> منصة FHIR R4 مُدارة: 26 نوعًا من الموارد، بحث، سجل، معاملات، $everything، IPS، تشغيل SMART مُختبر بواسطة Inferno، موافقة وإثبات، بالإضافة إلى واجهة برمجة تطبيقات REST بسيطة. بيئة اختبار مجانية.

Source: https://developers.anpheros.com/ar/guides/fhir

**Anpheros هي منصة FHIR — قاعدة بيانات FHIR مُدارة (مخزن بيانات) تستخدمها التطبيقات كواجهة خلفية لـ FHIR الخاصة بها: فهي تخزن كل سجل للمريض بشكل أصلي كموارد HL7 FHIR R4 (4.0.1) وتعرضها عند `https://platform.anpheros.com/fhir/R4`،** مع إضافة الموافقة والإثبات والتدقيق فوق المعيار. يمكن للتطبيقات التي تتحدث FHIR بالفعل استخدامها مباشرة؛ يمكن للتطبيقات التي لا تفعل ذلك استخدام واجهة برمجة تطبيقات REST الأبسط (`/v1`)، والتي تقرأ وتكتب نفس الموارد بنفس المعرفات.

بالنسبة لتطبيقات الذكاء الاصطناعي، هذا يجعل Anpheros الواجهة الخلفية لـ FHIR التي يأتي منها سياق النموذج: انظر [تطبيقات LLM وبيانات الرعاية الصحية](https://developers.anpheros.com/ar/guides/llm-healthcare-data).

<!-- visual:fhir-hero -->

## ما هو HL7 FHIR؟

FHIR (Fast Healthcare Interoperability Resources) هو معيار HL7 لتبادل البيانات الصحية عبر الويب. يُعرّف:

- **الموارد (resources)** — مستندات JSON (أو XML) صغيرة ومُصنفة لكل مفهوم سريري: مثل `Patient`، أو `Observation`، أو `Condition`، أو `MedicationStatement`؛
- **الإشارات (references)** بينها (`"subject": {"reference": "Patient/123"}`)، بحيث يكون السجل عبارة عن رسم بياني للموارد حول مريض؛
- **واجهة برمجة تطبيقات REST (REST API)** لقراءة الموارد والبحث عنها وإنشائها وتحديثها وحذفها، مع معلمات بحث قياسية؛
- **الحزم (bundles)** لإرسال عدة موارد دفعة واحدة (معاملات) أو كمستند (مثل ملخص المريض)؛
- **ربط المصطلحات (terminology bindings)**، بحيث تحمل القيم رموزًا من أنظمة مثل LOINC أو ICD-10؛
- **الملفات الشخصية (profiles)** — قيود لحالة استخدام أو بلد معين، مثل ملخص المريض الدولي (International Patient Summary).

R4 (الإصدار 4.0.1) هو الإصدار الأكثر تطبيقًا على نطاق واسع اليوم. استخدام FHIR كنموذج تخزين — وليس فقط كصيغة تصدير — يعني عدم وجود طبقة ترجمة بين ما تكتبه التطبيقات وما تقرأه أنظمة FHIR الأخرى.

```json
{
  "resourceType": "Observation",
  "status": "final",
  "category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "laboratory"}]}],
  "code": {"coding": [{"system": "http://loinc.org", "code": "4548-4", "display": "Hemoglobin A1c"}]},
  "subject": {"reference": "Patient/…"},
  "effectiveDateTime": "2026-09-01T08:00:00Z",
  "valueQuantity": {"value": 6.4, "unit": "%", "system": "http://unitsofmeasure.org", "code": "%"}
}
```

## بيان القدرات

`GET /fhir/R4/metadata` يُرجع بيان القدرات (CapabilityStatement): أنواع الموارد المدعومة، ومعاملات البحث الخاصة بها، والعمليات. إنه عام وهو القائمة الموثوقة؛ الجدول أدناه يعكسه في 28 سبتمبر 2026.

## أنواع الموارد الـ 26

<!-- visual:fhir-map:replace -->

| المجال | أنواع الموارد |
|---|---|
| المرضى والأشخاص | `Patient`، `RelatedPerson` |
| القياسات والنتائج | `Observation` (العلامات الحيوية، المختبر، الأعراض، الرفاهية، النشاط اليومي والنوم)، `DiagnosticReport` |
| المشاكل والرعاية | `Condition`، `EpisodeOfCare`، `Procedure`، `CarePlan`، `Goal`، `ServiceRequest`، `CareTeam`، `FamilyMemberHistory` |
| الأدوية والوقاية | `MedicationStatement`، `MedicationAdministration`، `Immunization`، `AllergyIntolerance` |
| المستندات والاستبيانات | `DocumentReference`، `QuestionnaireResponse` |
| الزيارات | `Encounter`، `Appointment` |
| الدليل | `Organization`، `Practitioner`، `PractitionerRole` |
| الحوكمة | `Consent`، `Provenance` |
| نقطة التوسع | `Basic` |

كل نوع نطاق المريض ينتمي إلى قسم المريض، لذا تنطبق `Patient/{id}/$everything` ونطاقات OAuth على مستوى المريض وفلاتر الموافقة على جميعها. موارد الدليل (`Organization`، `Practitioner`، `PractitionerRole`) ليس لها مريض؛ يمكن قراءتها عبر المشاريع في نفس البيئة وتغييرها فقط بواسطة المشروع الذي أنشأها.

## التفاعلات والعمليات

<!-- visual:fhir-ops -->

- **القراءة، البحث، الإنشاء، التحديث، الحذف** على كل نوع مدعوم؛ يتم سرد معلمات البحث لكل نوع في بيان القدرات (CapabilityStatement). يتم رفض معلمات البحث غير المعروفة بالرمز `400` بدلاً من تجاهلها بصمت.
- **السجل**: `GET /fhir/R4/{type}/{id}/_history` تُرجع كل إصدار؛ يمكن إجراء التحديثات بشكل مشروط باستخدام `If-Match` (عدم تطابق الإصدار يُجيب بالرمز `412`).
- **المعاملات والدُفعات**: `POST /fhir/R4` مع `Bundle` من النوع `transaction` أو `batch`.
- **`Patient/{id}/$everything`**: الحجرة الكاملة لمريض واحد.
- **`Patient/{id}/$summary`**: مستند ملخص المريض الدولي (IPS) `Bundle`، باللغة الإنجليزية أو الرومانية (`?lang=`).
- **`Observation/$validate?profile=eu-lab`**: يُبلغ عن كيفية قياس نتيجة المختبر وفقًا لقواعد تقارير المختبر الخاصة بـ HL7 Europe.
- **الترقيم**: `_count` حتى 200؛ `_revinclude` تُرجع 1000 مورد كحد أقصى.
- **التطابق الذاتي (Idempotency)**: طلبات `POST` تقبل `Idempotency-Key`؛ تكرار طلب بنفس المفتاح يُرجع نفس الإجابة ولا يُنشئ شيئًا.

```bash
# latest HbA1c results of one patient, strict FHIR
curl "https://platform.anpheros.com/fhir/R4/Observation?patient=$PID&code=http://loinc.org|4548-4&_sort=-date" \
     -H "Authorization: Bearer $KEY"

# the patient's International Patient Summary
curl "https://platform.anpheros.com/fhir/R4/Patient/$PID/\$summary?lang=en" -H "Authorization: Bearer $KEY"
```

## FHIR وواجهة برمجة التطبيقات REST الأبسط

`/v1` موجود للمطورين الذين لا يرغبون في التعامل مع موارد FHIR مباشرة. ويشمل المرضى، والملاحظات، والحالات، والأدوية، والمستندات، وجدولًا زمنيًا كرونولوجيًا، وبيانات المصدر، بالإضافة إلى ميزات المنصة (السياق، استيراد المختبر، خطافات الويب، المصطلحات). كل كائن `/v1` يحمل مرجع `fhir` الخاص به، لذلك يمكن للتطبيق البدء بـ `/v1` والتبديل إلى FHIR للأجزاء التي يحتاج فيها إلى النموذج الكامل.

## المعايير المحيطة بـ FHIR

ينتج `$summary` ملخصًا دوليًا للمرضى تم التحقق منه بواسطة مدقق HL7 الرسمي (0 أخطاء)؛ يتم فحص نتائج المختبر مقابل قواعد مختبر HL7 Europe (استشارية اليوم)؛ تتصل التطبيقات الخارجية عبر تشغيل SMART on FHIR مستقل؛ يتم قبول رسائل المختبر HL7 v2 `ORU^R01` كمدخلات. يتم وصف التنسيقات والمستويات وأنماط التبادل في [قابلية التشغيل البيني لبيانات الرعاية الصحية](https://developers.anpheros.com/ar/guides/interoperability)؛ أنظمة الترميز لكل نوع مورد في [أنظمة ترميز FHIR](https://developers.anpheros.com/ar/guides/fhir-code-systems).

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

### ما هي منصة FHIR؟
خدمة تخزن بيانات الصحة كموارد HL7 FHIR وتعرضها عبر واجهة برمجة تطبيقات REST القياسية لـ FHIR، مع إضافة ما تحتاجه التطبيقات حول المعيار: التفويض، والموافقة، والتدقيق، والسجل، وعمليات مثل `$everything` و `$summary`. Anpheros هي منصة FHIR R4 مُدارة: أنت تتصل بها بدلاً من تشغيل خادم FHIR.

### ما الفرق بين خادم FHIR ومنصة FHIR؟
ينفذ خادم FHIR واجهة برمجة تطبيقات FHIR فوق قاعدة بيانات. تقوم منصة FHIR بتشغيلها لك وتضيف الطبقة المحيطة بها — موافقة المريض، والمصدر، وسجلات الوصول، وحزم تطوير البرامج (SDKs)، وخطافات الويب (webhooks)، واستيراد المختبر، وبيئة اختبار (sandbox) — لذلك لا تضطر التطبيقات إلى بناء هذه الأجزاء.

### ما إصدار FHIR الذي تدعمه Anpheros؟
FHIR R4 (4.0.1)، مع 26 نوع مورد مدرج في بيان القدرة (CapabilityStatement) العام على `/fhir/R4/metadata`.

### هل تم اختبار منصة Anpheros FHIR بشكل مستقل؟
تنجح مجموعة "Standalone Launch" من SMART App Launch STU2 في مجموعة أدوات اختبار Inferno مفتوحة المصدر في 22 من أصل 22 اختبارًا (تشغيل بتاريخ 28 سبتمبر 2026)، وتتحقق ملخصات المرضى الدولية (International Patient Summary) بدون أخطاء في مدقق HL7 الرسمي. لم يتم دعم تشغيل أنظمة السجلات الصحية الإلكترونية (EHR launch) وتصدير البيانات المجمعة (Bulk Data export) بعد.

### هل يمكنني استخدام منصة FHIR مجانًا؟
نعم. بيئة الاختبار (sandbox) مجانية وتتضمن 30 مريضًا اصطناعيًا لكل مشروع؛ يبدأ الإنتاج من 49 يورو شهريًا مع الشهر الأول مجانًا.

### هل يجب علي استخدام FHIR لاستخدام Anpheros؟
لا. واجهة برمجة تطبيقات REST أبسط (`/v1`) تقرأ وتكتب نفس الموارد بنفس المعرفات، لذلك يمكن للتطبيق البدء بملفات JSON مسطحة والتبديل إلى FHIR حيث يحتاج إلى النموذج الكامل.

<!-- visual:cta-fhir -->

## ذات الصلة

- [بيئة اختبار FHIR](https://developers.anpheros.com/ar/guides/fhir-sandbox): خادم اختبار FHIR R4 خاص ومجاني
- [الملخص الدولي للمرضى (IPS) في FHIR](https://developers.anpheros.com/ar/guides/international-patient-summary-fhir)
- [شرح مصدر البيانات الطبية](https://developers.anpheros.com/ar/guides/medical-data-provenance): من كتب ماذا، وكيفية تسجيله
- [كيفية تخزين السجلات الطبية باستخدام FHIR R4](https://developers.anpheros.com/ar/guides/store-medical-records-fhir): دليل خطوة بخطوة باستخدام curl
- [FHIR مقابل قاعدة بيانات طبية مخصصة](https://developers.anpheros.com/ar/guides/fhir-vs-custom-database): متى تصمم جداولك الخاصة ومتى تستخدم FHIR
- [قاعدة بيانات FHIR وبيئة اختبار مجانية](https://developers.anpheros.com/ar/guides/free-fhir-database)
- [مقارنة Anpheros بخوادم FHIR الأخرى](https://developers.anpheros.com/ar/guides/fhir-server-comparison)
- [قابلية التشغيل البيني للبيانات الصحية](https://developers.anpheros.com/ar/guides/interoperability)
- [أنظمة أكواد FHIR](https://developers.anpheros.com/ar/guides/fhir-code-systems)
- [واجهة برمجة تطبيقات البيانات الطبية (API)](https://developers.anpheros.com/ar/guides/medical-data-api)
- [بناء تطبيق رعاية صحية](https://developers.anpheros.com/ar/guides/build-a-healthcare-app)
- [مرجع واجهة برمجة التطبيقات (API) (OpenAPI)](https://developers.anpheros.com/docs)
- [DICOM مقابل FHIR](https://developers.anpheros.com/ar/guides/dicom-vs-fhir): أين يتوقف FHIR وأين تبدأ الصور الطبية
