# واجهة برمجة تطبيقات بيانات الأعراض: المفاهيم، مصطلحات FHIR، والأعراض التي يبلغ عنها المريض

> معرفات الأعراض المستقرة المعينة لـ ICD-10، مقدمة كـ REST وكـ FHIR CodeSystem، ValueSet، و ConceptMap؛ كيف يبدو عرض العرض الذي يبلغ عنه المريض وكيفية التحقق من صحته.

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

**يقدم Anpheros لكل عرض معرفًا مستقرًا (`SYM-0047` هو الصداع)، ويربطه بـ ICD-10، ويقدم القائمة عبر نقطة نهاية REST وكـ FHIR R4 terminology (`CodeSystem`، `ValueSet`، `ConceptMap`، `$lookup`). الأعراض التي يبلغ عنها المرضى تُخزن كـ FHIR `Observation`s تحمل كلا الرمزين، وكلمات الشخص الخاصة، وشدة العرض، وعند معرفتها، متى بدأ العرض وانتهى.** تعرض هذه الصفحة كيفية العثور على مفهوم، وكيف يبدو عرض العرض الذي يبلغ عنه المريض، وكيفية التحقق من عرض كتبته بنفسك، وما لا تحتويه البيانات عمدًا.

## ما يحتويه الإصدار

| | |
|---|---|
| الإصدار | `2026.10.4` (كل استجابة تقول أي إصدار) |
| المفاهيم | 274: 197 عرضًا (ICD-10 R00–R69 والفئات الفرعية غير المتبقية مثل R06.0 ضيق التنفس أو R43.0 فقدان الشم، بالإضافة إلى رمز منظمة الصحة العالمية حيث تصنف منظمة الصحة العالمية العرض في مكان آخر: G47، H53.2، H53.8، H93.1، K59.0، L29.9، M25.5، M54) و 77 نتيجة (R65، R70–R94) |
| نظام المعرفات | `https://anpheros.com/fhir/CodeSystem/symptom` |
| الرموز | تم التحقق منها مقابل منظمة الصحة العالمية ICD-10 الإصدار 2019 (15 أكتوبر 2026)، مع ملاحظات الإدراج والاستبعاد الخاصة بها؛ لا يتم تقديم عناوين منظمة الصحة العالمية ICD-10 حتى تؤكد منظمة الصحة العالمية الترخيص (`icd10.display: null`)، العنوان الرسمي باللغة الإنجليزية هو عنوان ICD-11 |
| ICD-11 | كل مفهوم يتوافق مع رمز ICD-11 MMS 2025-01 (رمز العرض في الفصل 21) ومع نظام جسم |
| التسميات المقدمة | عنوان منظمة الصحة العالمية ICD-11 باللغة الإنجليزية (`source`)، والتسميات الرومانية والمصطلحات المطابقة التي تستخدمها Anpheros Daily (`in_use`)، والتسميات العامة بـ 19 لغة إضافية (`ai_reviewed`: ترجمات آلية تمت مراجعتها بمساعدة الذكاء الاصطناعي، وليس بواسطة مترجم طبي محترف)؛ بالنسبة للمفاهيم الـ 188 التي تمت إضافتها في 2026.10.3، فإن الاسم الروماني هو أيضًا ترجمة آلية |
| المراجعة السريرية | `clinical_review: false` — لم يراجع أي طبيب سريري الإصدار؛ لا توجد أسباب أو ارتباطات للحالات |
| علامات التحذير | 32، لـ 14 مفهومًا، مقتبسة حرفيًا من صفحات CDC و NIDDK (`review: source_quoted`) |

لا يتم إعادة استخدام المعرفات أبدًا. يبقى المفهوم الذي تم سحبه في القائمة مع `status: deprecated`.

## البحث عن مفهوم (REST)

```bash
export API=https://platform.anpheros.com/v1
export KEY=sk_test_…

curl "$API/terminology/symptoms?q=headache" -H "Authorization: Bearer $KEY"
```

`q` يطابق معرف المفهوم، ورموز ICD-10 و ICD-11، والتسميات، ومصطلحات المطابقة. معلمات أخرى: `icd10=R51` (المفهوم لرمز واحد)، `icd11=MB4D`، `body_system=nervous`، `kind=symptom|finding|all`، `lang=de` (لغة `display`: التسمية المفضلة، وإلا التسمية العادية، وإلا الإنجليزية)، `limit` و `offset`.

```json
{
  "data": [{
    "concept_id": "SYM-0047",
    "system": "https://anpheros.com/fhir/CodeSystem/symptom",
    "kind": "symptom",
    "status": "active",
    "display": "Headache, not elsewhere classified",
    "display_lang": "en",
    "icd10": {"system": "http://hl7.org/fhir/sid/icd-10", "code": "R51", "display": null, "equivalence": "equivalent"},
    "icd11": {"system": "http://id.who.int/icd/release/11/mms", "code": "MB4D", "display": "Headache, not elsewhere classified", "equivalence": "equivalent"},
    "body_system": {"code": "nervous", "display": "Symptoms, signs or clinical findings of the nervous system", "icd11_block": "BlockL1-MB4"},
    "labels": [
      {"lang": "ro", "use": "preferred", "text": "Durere de cap (cefalee)", "review": "in_use"},
      {"lang": "de", "use": "lay", "text": "Kopfschmerzen", "review": "ai_reviewed"}
    ],
    "match_terms": [{"lang": "ro", "text": "durere de cap"}, {"lang": "ro", "text": "cefalee"}],
    "clinical_review": false,
    "release": "2026.10.2"
  }],
  "total": 1,
  "release": "2026.10.2"
}
```

`labels` يسرد كل تسمية مقدمة (20 لغة؛ تم اختصارها هنا). مفهوم واحد: `GET $API/terminology/symptoms/SYM-0047`.

## نفس القائمة كمصطلحات FHIR

```bash
export BASE=https://platform.anpheros.com/fhir/R4

curl "$BASE/CodeSystem/anpheros-symptom" -H "Authorization: Bearer $KEY"
curl "$BASE/CodeSystem/\$lookup?system=https://anpheros.com/fhir/CodeSystem/symptom&code=SYM-0047&displayLanguage=ro" -H "Authorization: Bearer $KEY"
curl "$BASE/ValueSet/\$expand?url=https://anpheros.com/fhir/ValueSet/anpheros-symptoms&filter=cough" -H "Authorization: Bearer $KEY"
curl "$BASE/ConceptMap/anpheros-symptom-to-icd10" -H "Authorization: Bearer $KEY"
curl "$BASE/ConceptMap/anpheros-symptom-to-icd11" -H "Authorization: Bearer $KEY"
```

- `CodeSystem/anpheros-symptom` — `content: complete`، `status: draft` (لم تتم مراجعة الإصدار من قبل طبيب)؛ خصائص `kind`، `status`، `icd10`؛ تسميات رومانية، مطابقة المصطلحات والتسميات العامة كـ `designation`.
- `ValueSet/anpheros-symptoms` — الأعراض النشطة (النتائج مستبعدة)؛ `$expand` يأخذ `filter`، `displayLanguage`، `count` و `offset`.
- `ConceptMap/anpheros-symptom-to-icd10` — `equivalent`، أو `wider` عندما يغطي رمز ICD-10 أكثر من المفهوم (H53.8 "اضطرابات بصرية أخرى" أوسع من الرؤية الضبابية).
- كلها للقراءة فقط ومدرجة في `CapabilityStatement` الخاص بالخادم (`GET $BASE/metadata`).

## عرض أعراض أبلغ عنها المريض

هذه هي الطريقة التي يكتب بها Anpheros Daily عرضًا أبلغ عنه شخص ما على أنه موجود، عن نفسه:

```json
{
  "resourceType": "Observation",
  "status": "final",
  "meta": {"profile": ["https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation"]},
  "category": [{"coding": [{"system": "urn:anpheros:observation-category", "code": "symptom"}]}],
  "code": {
    "text": "Mă doare capul de 3 zile",
    "coding": [
      {"system": "http://hl7.org/fhir/sid/icd-10", "code": "R51"},
      {"system": "https://anpheros.com/fhir/CodeSystem/symptom", "code": "SYM-0047", "display": "Headache"}
    ]
  },
  "subject": {"reference": "Patient/…"},
  "effectivePeriod": {"start": "2026-10-11T08:00:00+03:00", "end": "2026-10-14T18:00:00+03:00"},
  "valueQuantity": {"value": 6, "unit": "1-10", "system": "http://unitsofmeasure.org", "code": "{score}"}
}
```

- `code.text` هي دائمًا كلمات الشخص نفسه، بلغته (`Observation.language`)؛ الرموز تأتي بجانبها.
- `effectivePeriod` تُستخدم عندما يذكر الشخص متى بدأ أو انتهى؛ بخلاف ذلك، `effectiveDateTime` هي اللحظة التي سجل فيها ذلك. تحتفظ الأوقات بإزاحة الهاتف الذي سجلها.
- `valueQuantity` هي الشدة على مقياس من 1 إلى 10؛ بدونها لا توجد قيمة.
- عندما يقوم الشخص بتحرير عرض، تحصل نفس المورد على إصدار جديد - اقرأ الإصدارات السابقة باستخدام `GET $BASE/Observation/{id}/_history`.
- قم بالتصفية حسب الفئة باستخدام `?category=symptom`؛ نطاقات الموافقة مثل `patient/Observation.rs?category=symptom` تعمل بنفس الطريقة.

### ما لا يتم نشره أبدًا كعرض

فقط الأعراض **الموجودة** و **المتعلقة بالمريض** تصبح ملاحظات (Observations)، وفقط بعد تطبيع النص الحر. "لم يعد رأسي يؤلمني"، "ربما حمى غدًا"، "والدتي لديها سعال" أو نص لم يتمكن المُطبع من قراءته لا يصبح عرضًا للمريض؛ إذا تم تصحيح عرض منشور لاحقًا إلى أحد هذه، فسيتم سحب ملاحظته (حذف ناعم - يبقى السجل). شكاوى الأقارب لا تتحول إلى تاريخ عائلي تلقائيًا.

## التحقق من عرض تكتبه

```bash
curl -X POST "$BASE/Observation/\$validate?profile=anpheros-symptom" -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/fhir+json" -d @symptom.json
```

يُبلغ ملف `anpheros-symptom` (المرجعي `https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation`)، كـ `OperationOutcome`:

| القاعدة | الخطورة |
|---|---|
| الفئة `urn:anpheros:observation-category\|symptom` (نظام HL7 `observation-category` لا يحتوي على رمز `symptom`) | خطأ |
| `code.text` موجود | خطأ |
| مفهوم Anpheros موجود ويتطابق مع رمز ICD-10 | خطأ |
| `subject` هو مريض؛ `status` نهائي، مُعدل، مُصحح أو تم إدخاله عن طريق الخطأ؛ `effective[x]` موجود؛ `effectivePeriod.end` ليس قبل `start` | خطأ |
| الشدة كـ UCUM `{score}` بين 0 و 10 | خطأ |
| نص حر فقط، لا رموز | معلومات (لا يزال صالحًا) |

مثل الملفات الأخرى، فإنه يُبلغ ولا يرفض عمليات الكتابة. يتم الاحتفاظ بـ `meta.profile` ترسله على المورد المخزن.

## الحدود

- لم تتم مراجعة الإصدار من قبل طبيب؛ استخدمه للترميز والبحث، وليس للقرارات الطبية.
- تم اقتباس علامات التحذير حرفياً من صفحات المجال العام الفيدرالية الأمريكية (CDC: علامات السكتة الدماغية والنوبات القلبية؛ NIDDK: الإسهال والإمساك) وتم التحقق منها مقابل تلك الصفحات في 15 أكتوبر 2026. يحمل كل عنصر عنوان المصدر الخاص به (`context`)، ونصيحته (`quote`)، والمجموعة التي ينطبق عليها (`applies_to`)، والمصدر مع الترخيص والإسناد، `review: source_verified` والملاحظة بأنه ليس تشخيصًا ولم تتم مراجعته من قبل طبيب. المصادر أمريكية: حيث تذكر اقتباس 9-1-1، تضيف الملاحظة أن رقم الطوارئ في أوروبا هو 112.
- لا يتم تقديم أي أسباب أو ارتباطات للحالات: يظل `associations` فارغًا حتى يقوم طبيب بمراجعة عنصر ما. الارتباط دائمًا هو "قد يرتبط بـ".
- تُكتب رموز SNOMED CT فقط حيث يسمح الترخيص بذلك (انظر [أنظمة رموز FHIR](https://developers.anpheros.com/ar/guides/fhir-code-systems)).
- تتلقى ملاحظات الأعراض السابقة ترميز مفهوم Anpheros في المرة التالية التي يتم فيها تحديثها.

## ذات الصلة

- [محرك أعراض Anpheros: المنهجية](https://developers.anpheros.com/ar/guides/symptom-engine): كيفية تعيين المفاهيم والتحقق منها وتقييمها
- [بحث Anpheros](https://developers.anpheros.com/ar/guides/anpheros-search): بحث واحد عن الأعراض والحالات والعلاجات، مع المصادر
- [أنظمة رموز FHIR](https://developers.anpheros.com/ar/guides/fhir-code-systems): كل نظام رموز لكل نوع مورد
- [واجهة برمجة تطبيقات بيانات المرضى الطولية](https://developers.anpheros.com/ar/guides/longitudinal-patient-data-api)
- [كيفية تخزين السجلات الطبية باستخدام FHIR R4](https://developers.anpheros.com/ar/guides/store-medical-records-fhir)
- [منصة FHIR](https://developers.anpheros.com/ar/guides/fhir)
