Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
شرح مصدر البيانات الطبية
ما يسجله المصدر عند كل كتابة إلى سجل FHIR R4 — نوع المؤلف، الشخص، المنظمة، نظام المصدر، الإصدارات — كيفية تعيينه باستخدام الرؤوس، وكيفية قراءته، وكيف يضع علامة على البيانات المقدمة لنماذج الذكاء الاصطناعي.
المصدر هو سجل من أين جاءت قطعة من البيانات الطبية: من كتبها، نيابة عن أي منظمة، من أي نظام، متى، وما الذي تغير في كل إصدار. في سجل يجمع البيانات من المرضى والأجهزة والعيادات والمختبرات والذكاء الاصطناعي، المصدر هو ما يجعل القيمة موثوقة: قراءة ضغط الدم التي تم إدخالها في المنزل وتلك التي تم قياسها في عيادة تبدو متطابقة بدونها. في Anpheros، كل عملية كتابة لسجل HL7 FHIR R4 تنتج مورد FHIR Provenance تلقائيًا. تشرح هذه الصفحة ما يحتويه، وكيفية ملئه بشكل صحيح، وكيفية قراءته.
لماذا يهم المصدر (Provenance)
- الثقة السريرية. يزن الطبيب نتيجة المختبر بشكل مختلف عن قيمة أدخلها المريض أو رقم استخرجه الذكاء الاصطناعي من صورة.
- سلامة الذكاء الاصطناعي. يجب أن يعرف النموذج الذي تم تزويده بسجل أي العناصر هي حقائق وأيها هي ملاحظات كتبها نموذج آخر. بدون تسميات، يعاملها بنفس الطريقة.
- التصحيحات والخلافات. عندما تتغير قيمة، يحتاج الجميع إلى معرفة ما كانت عليه من قبل، ومن قام بتغييرها ولماذا.
- المساءلة. بموجب اللائحة العامة لحماية البيانات (GDPR) ومساحة بيانات الصحة الأوروبية (EHDS)، يجب أن تكون المنظمة قادرة على إظهار ما فعلته ببيانات صحة الشخص.
- المشاركة. عندما يسمح المريض لعيادة ثانية بقراءة سجله، تحتاج تلك العيادة إلى معرفة البيانات التي كتبتها العيادة الأولى.
ما يسجله Anpheros عند كل عملية كتابة
| سؤال | أين يتم تسجيله | كيف تقوم بتعيينه |
|---|---|---|
| ما نوع المؤلف؟ | agent.who.identifier (نوع المؤلف) |
author_type في /v1، أو رأس X-Anpheros-Author-Type: patient، practitioner، device، import، ai |
| أي شخص؟ | agent.who.reference |
X-Anpheros-Author-Ref: Practitioner/<id>، أو X-Anpheros-Acting-As |
| لأي منظمة؟ | agent.onBehalfOf |
منظمة PractitionerRole، أو X-Anpheros-On-Behalf-Of: Organization/<id> |
| من أي نظام؟ | entity مع دور source |
X-Anpheros-Source-System: <name> |
| أي سجل في ذلك النظام؟ | معرف المصدر (origin id) | X-Anpheros-Origin-Id: <id> |
| متى، وماذا حدث؟ | recorded، activity (إنشاء CREATE، تحديث UPDATE، حذف DELETE) |
تلقائي |
| أي إصدار؟ | target يشير إلى <Resource>/<id>/_history/<version> |
تلقائي |
إذا لم تحدد من هو المؤلف، فإن المنصة تسجل import. لا تفترض أبدًا patient، لأن القيمة المنسوبة خطأً للمريض أسوأ من قيمة تم تصنيفها بصدق على أنها مستوردة.
كتابة مع سجل كامل للمنشأ
يسجل طبيب قلب في عيادة معدل ضربات القلب أثناء زيارة، من خلال برنامج العيادة:
curl -X POST https://platform.anpheros.com/fhir/R4/Observation -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/fhir+json" \
-H "X-Anpheros-Author-Type: practitioner" \
-H "X-Anpheros-Acting-As: PractitionerRole/$ROLE" \
-H "X-Anpheros-Source-System: ccn-emr" \
-d '{ "resourceType": "Observation", "status": "final", "code": {"coding": [{"system": "http://loinc.org", "code": "8867-4"}]}, … }'
سجل المنشأ الذي تكتبه المنصة:
{"resourceType": "Provenance",
"target": [{"reference": "Observation/8660eb7c-…/_history/1"}],
"recorded": "2026-10-12T20:41:47.469000Z",
"activity": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v3-DataOperation", "code": "CREATE"}]},
"agent": [{"type": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/provenance-participant-type", "code": "author"}]},
"who": {"reference": "PractitionerRole/e6d8c227-…",
"identifier": {"system": "https://anpheros.com/fhir/CodeSystem/author-type", "value": "practitioner"}},
"onBehalfOf": {"reference": "Organization/c3a56a4b-…", "display": "Clinica Cardio Nord"}}],
"entity": [{"role": "source", "what": {"identifier": {"system": "ccn-emr"}}}]}
دور الطبيب، وعيادته، ونوع المؤلف، والنظام المصدر كلها موجودة، بمعيار FHIR. يجب أن يكون PractitionerRole موجودًا في دليل مشروعك وأن يكون نشطًا. يتم رفض الطلب الذي يسمي ممارسًا لشخص آخر:
{"resourceType": "OperationOutcome", "issue": [{"severity": "error", "code": "invalid",
"diagnostics": "Unknown or inactive Practitioner in X-Anpheros-Acting-As."}]}
يتم تناول إعداد الدليل في كيفية دمج أنظمة العيادات مع الواجهة الخلفية لـ FHIR.
الإصدارات: لا شيء يُستبدل بصمت
كل تحديث ينشئ إصدارًا جديدًا للمورد وسجل Provenance جديدًا له. بعد تصحيح معدل ضربات القلب أعلاه من 92 إلى 88:
curl https://platform.anpheros.com/fhir/R4/Observation/$OBS/_history -H "Authorization: Bearer $KEY"
يعيد الإصدار 2 (88) والإصدار 1 (92). يعرض عرض REST ملخصًا لـ Provenance لكل إصدار:
curl https://platform.anpheros.com/v1/patients/$PID/provenance/Observation/$OBS -H "Authorization: Bearer $KEY"
{"data": [
{"version": 1, "activity": "CREATE", "recorded": "2026-10-12T20:41:47.469000Z", "author_type": "practitioner", "author": "PractitionerRole/e6d8c227-…", "source_system": "ccn-emr", "fhir": "Provenance/6ed91529-…"},
{"version": 2, "activity": "UPDATE", "recorded": "2026-10-12T20:41:47.500000Z", "author_type": "practitioner", "fhir": "Provenance/3fbf270f-…"}],
"total": 2}
الحذف ناعم: يختفي المورد المحذوف من عمليات البحث، لكن تاريخه و Provenance الخاص به يبقيان.
قراءة المصدر
# who wrote this resource (all versions)
GET /fhir/R4/Provenance?target=Observation/{id}
# everything a practitioner recorded
GET /fhir/R4/Provenance?agent=PractitionerRole/{id}
# the same, summarised, per resource
GET /v1/patients/{pid}/provenance/Observation/{id}
السياق في سياقات الذكاء الاصطناعي
يحمل واجهة برمجة التطبيقات السياقية السياق إلى كل عنصر تقدمه للنموذج، مثل author_type و source. في شكل نصي:
- Type 2 diabetes mellitus (E11), active, onset 2024-10-15 [import/anpheros-sandbox]
- Metformin 1000 mg 1 tablet twice daily with meals, active [patient/anpheros-sandbox]
- Glucose [Mass/volume] in Blood: 2026-09-16: 140.0 mg/dL [device/anpheros-sandbox]
القياسات المكتوبة بـ author_type: ai لا تظهر أبدًا ضمن هذه الحقائق. يتم سردها بشكل منفصل تحت ai_notes وتمييزها على أنها غير موثقة، لذلك لا يمكن للنموذج أن يخطئ في اعتبار تخمين نموذج سابق قياسًا. أخبر النموذج بما تعنيه الملصقات واطلب منه الاستشهاد بها؛ كيفية بناء تطبيق رعاية صحية بالذكاء الاصطناعي مع واجهة خلفية FHIR يوضح مطالبة تفعل ذلك.
ما يراه المريض
السجلّ (Provenance) هو أيضاً ما يراه المريض. يُظهر سجله من أضاف كل عنصر، وقائمة اتصالاته تُظهر، لكل تطبيق، من قام بالوصول إلى ماذا، بالاسم عندما كان ممارس صحي يتصرف ("الدكتورة آ나 بوبيسكو · عيادة كارديو نورد قرأت نتائج فحوصاتك المخبرية"). انظر نموذج الموافقة والوصول.
قواعد تجعل المصدر مفيدًا
- قم دائمًا بتعيين نوع المؤلف. يكلف حقلًا واحدًا وهو أهم تسمية في السجل.
- اذكر اسم الشخص عندما يكتبه شخص. استخدم
X-Anpheros-Acting-Asللموظفين السريريين. - اذكر اسم نظام المصدر، ومرر معرف المصدر الخاص به كمعرف الأصل عندما يكون موجودًا.
- صحح بالتحديث، وليس بالحذف وإعادة الإنشاء أبدًا. يحافظ التحديث على الرابط بين القيمة القديمة والجديدة.
- قم بتسمية مخرجات الذكاء الاصطناعي كـ
ai، بما في ذلك القيم التي استخرجها نموذج من مستند. يمكن للقيم المشتقة من مستند أيضًا الإشارة إليها باستخدامderived_from.
أسئلة متكررة
ما هو مصدر البيانات في الرعاية الصحية؟
الأصل الموثق وتاريخ قطعة من بيانات الصحة: من أنشأها أو غيرها، وباسم من، ومن أي نظام ومتى. في HL7 FHIR، يتم تمثيلها بواسطة المورد Provenance، والذي يشير إلى الإصدار الدقيق للمورد الذي يصفه.
هل المصدر هو نفسه سجل التدقيق؟
لا. يصف المصدر البيانات: من كتب كل إصدار. يصف سجل التدقيق الوصول: من قرأ أو كتب ماذا، ومتى، وتحت أي موافقة. تحتفظ Anpheros بكليهما؛ يرى المريض سجل الوصول لكل تطبيق متصل بسجله.
هل يمكنني كتابة موارد المصدر الخاصة بي؟
تكتب Anpheros موردًا واحدًا لكل عملية إنشاء وتحديث وحذف، لذلك لا تحتاج عادةً إلى ذلك. استخدم الرؤوس أعلاه لجعله دقيقًا. يجب أن يستهدف المصدر المقدم من العميل موارد لمريض واحد.
ذات الصلة
- نموذج الموافقة والوصول
- كيفية دمج أنظمة العيادات مع الواجهة الخلفية لـ FHIR
- كيفية تطبيع البيانات الطبية
- قابلية التشغيل البيني للبيانات الصحية
- الأمان والخصوصية ومكان إقامة البيانات
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card