# واجهة برمجة تطبيقات بيانات المريض الطولية

> تاريخ مريض واحد بمرور الوقت من العيادات والمختبرات والتطبيقات والأجهزة: ما يحتاجه السجل الطولي، وأربع طرق لقراءته — الخط الزمني، $everything، IPS والسياق الذكاء الاصطناعي.

Source: https://developers.anpheros.com/ar/guides/longitudinal-patient-data-api

**تعيد واجهة برمجة تطبيقات بيانات المريض الطولية التاريخ الصحي لشخص واحد بمرور الوقت — التشخيصات والأدوية ونتائج المختبر والعلامات الحيوية والتطعيمات والزيارات من كل مصدر — كسجل واحد مرتب بدلاً من مستندات منفصلة لكل مزود.** تحتفظ Anpheros بهذا التاريخ كسجل HL7 FHIR R4 واحد لكل مريض، مكتوب بواسطة العيادات والمختبرات والتطبيقات والأجهزة، مع الاحتفاظ بكل إصدار وكل مؤلف. يقرأ المطورون هذا السجل بأربع طرق: خط زمني مرتب زمنيًا، سجل FHIR الكامل مع `Patient/$everything`، ملخص المريض الدولي (IPS)، أو سياق مضغوط لنماذج الذكاء الاصطناعي.

<!-- visual:longitudinal-sources -->

## ما يتطلبه "السجل الطولي"

قائمة النتائج ليست سجلاً طوليًا بعد. لكي تثق التطبيقات في سجل يمتد لسنوات ومقدمي خدمات متعددين، يجب أن يحمل كل إدخال:

| المتطلب | لماذا هو مهم | كيف يخزن Anpheros ذلك |
|---|---|---|
| معنى مُرمز | يجب أن تكون القيم من مختبرات مختلفة قابلة للمقارنة | LOINC للنتائج، ICD-10 للحالات، ATC للأدوية |
| تاريخ سريري | الترتيب حسب وقت حدوثه، وليس وقت تحميله | تواريخ `effective`، `onset`، `occurrence` على كل مورد |
| المؤلف | تشخيص الطبيب وملاحظة المريض ليسا متساويين | Provenance عند كل كتابة: نوع المؤلف، الشخص، المنظمة، نظام المصدر |
| كل إصدار | يجب ألا تمحو التصحيحات ما كان معروفًا من قبل | سجل الإصدارات على كل مورد (`_history`) |
| الموافقة | ترى التطبيقات الأخرى السجل فقط إذا وافق الشخص | منح OAuth مع نطاقات (scopes)، وانتهاء الصلاحية، وسجل وصول |

## سجل واحد، عدة كتاب

<!-- visual:longitudinal-timeline -->

## أربع طرق لقراءة السجل التاريخي

| الحاجة | نقطة النهاية (Endpoint) | ما تحصل عليه |
|---|---|---|
| موجز زمني للشاشة | `GET /v1/patients/{id}/timeline` | عناصر من ثمانية أنواع (observation, condition, medication, document, encounter, appointment, immunization, episode) مع التاريخ، العنوان، الملخص، ومرجع FHIR؛ قم بالفلترة باستخدام `from`، `to`، `types` |
| السجل الكامل بصيغة FHIR | `GET /fhir/R4/Patient/{id}/$everything` | حزمة بحث (searchset Bundle)؛ يتم دعم `_since`، `_type`، `_count` و `_offset` |
| ملخص سريري قابل للمشاركة | `GET /fhir/R4/Patient/{id}/$summary` | مستند الملخص الدولي للمريض (International Patient Summary - IPS) |
| مدخلات لنموذج ذكاء اصطناعي | `POST /v1/context` | أقسام ضمن ميزانية رمز (token budget)، كل حقيقة مُصنفة بمصدرها |

الخط الزمني باستخدام TypeScript SDK:

```ts
import { Anpheros, apiKey } from '@anpheros/sdk';

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });   // a sandbox key, sk_test_…
const { data: patients } = await anpheros.patients.list();
const page = await anpheros.timeline.list(patients[0].id, {
  from: '2025-01-01',
  types: 'condition,medication,observation',
  limit: 50,
});
for (const item of page.data) console.log(item.date, item.type, item.title);
```

ونفس السجل بصيغة FHIR، محدود بما تغير منذ تاريخ معين:

```bash
curl -H "Authorization: Bearer $ANPHEROS_KEY" \
  "https://platform.anpheros.com/fhir/R4/Patient/$PATIENT/\$everything?_since=2026-01-01&_type=Observation,Condition"
```

## الحفاظ على مزامنة نسختك

إذا كان تطبيقك يحتفظ بمنظوره الخاص للسجل التاريخي، فاشترك في خطافات الويب `resource.created` و `resource.updated` و `resource.deleted`. يتم تشغيلها أيضًا عندما يكتب مشروع آخر في سجل لديك حق الوصول إليه، مع `data.external: true` والكاتب في `data.source`، بحيث تصل البيانات من العيادات الأخرى إليك دون الحاجة إلى الاستقصاء.

## حدود جديرة بالمعرفة

- السجل يحتفظ بما تم كتابته فيه. Anpheros لا تجلب السجل من المستشفيات أو الشبكات الوطنية بنفسها؛ العيادات والمختبرات والتطبيقات والشخص نفسه هم من يكتبون.
- يتم تخزين 26 نوعًا من موارد FHIR R4. موارد الفوترة مثل Claim و ExplanationOfBenefit لا يتم تخزينها.
- التطبيقات الأخرى تقرأ سجل الشخص فقط بموافقة ذلك الشخص؛ مفتاح المشروع الخاص يرى المرضى الذين أنشأهم.

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

### ما هي بيانات المريض الطولية؟
معلومات صحة الشخص التي تم جمعها بمرور الوقت وعبر أماكن الرعاية - التشخيصات، الأدوية، النتائج، العلامات الحيوية، التطعيمات والزيارات - يتم الاحتفاظ بها بحيث يمكن قراءتها كسجل مستمر واحد.

### أي واجهة برمجة تطبيقات (API) توفر عرضًا زمنيًا لسجل المريض؟
في Anpheros، `GET /v1/patients/{id}/timeline` تُرجع إدخالات من ثمانية أنواع موارد بترتيب التاريخ، مع التصفح والترشيح حسب التاريخ والنوع. للحصول على بيانات FHIR الكاملة، استخدم `Patient/$everything`.

### هل يتم تخزين السجل بتنسيق قياسي؟
نعم. كل إدخال هو مورد HL7 FHIR R4 برموز قياسية (LOINC, ICD-10, ATC, CVX, UCUM)، والملخص هو ملخص المريض الدولي (International Patient Summary).

### كيف أعرف من كتب كل إدخال؟
كل عملية كتابة تنشئ مورد Provenance مع نوع المؤلف (مريض، ممارس، جهاز، استيراد أو ذكاء اصطناعي)، الشخص، المنظمة، ونظام المصدر.

### هل يمكنني الاختبار ببيانات طولية واقعية؟
نعم. تبدأ كل مشروع Sandbox بـ 30 مريضًا اصطناعيًا لديهم حوالي ستة أشهر من الحالات، والأدوية، ونتائج المختبر، والعلامات الحيوية.

<!-- visual:cta-longitudinal -->

## ذات صلة

- [تطبيق سجل الصحة الشخصي (PHR) باستخدام FHIR](https://developers.anpheros.com/ar/guides/personal-health-record-app): جدول زمني في تطبيق حقيقي
- [شرح مصدر البيانات الطبية](https://developers.anpheros.com/ar/guides/medical-data-provenance)
- [منصة موافقة المريض لتطبيقات الصحة](https://developers.anpheros.com/ar/guides/patient-consent-platform)
- [كيفية تخزين السجلات الطبية باستخدام FHIR R4](https://developers.anpheros.com/ar/guides/store-medical-records-fhir)
- [وكلاء الذكاء الاصطناعي والبيانات الطبية](https://developers.anpheros.com/ar/guides/ai-agents-medical-data): نقطة نهاية السياق
- [خطافات الويب (Webhooks)](https://developers.anpheros.com/ar/guides/webhooks)
