Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
نموذج الموافقة والوصول
من يرى ماذا: عزل المشروع، معرفات مزدوجة، منح، ملكية الكتابة، الأصل، وما يراه المريض حول كل تطبيق لديه وصول.
القاعدة: بموافقة المريض، ترى المؤسسة السجل بأكمله — بما في ذلك ما كتبته العيادات الأخرى — ولكن يمكنها تغيير أو حذف ما كتبته هي فقط. يسجل كل إصدار من كل مورد المشروع الذي كتبه والمؤسسة التي كتبت باسمها.
من يرى ماذا
- مشروع (مفتاح API) يرى المرضى الذين أنشأهم. ضمن منحة (رمز OAuth)، ترى التطبيقات مريضًا واحدًا بالضبط، عبر جميع الكتاب، ومقتصرة على النطاقات الممنوحة وفلاتر الفئات. كل شيء آخر يُرجع 404، وليس 403 أبدًا، لذلك لا يمكن استجواب المعرفات.
- معرفات مزدوجة: يتلقى كل مشروع معرفه الخاص لنفس الشخص؛ المعرفات الداخلية لا تغادر المنصة أبدًا. تتم إخفاء المراجع للمرضى خارج نطاقك برمز مميز غير شفاف، لكل مشروع.
- الدليل (المنظمة، الممارس، دور الممارس): قابل للقراءة حسب المعرف عبر المستوى بحيث يتم حل المراجع؛ قابل للبحث فقط ضمن مشروعك؛ قابل للاستخدام كـ
X-Anpheros-Acting-As/X-Anpheros-On-Behalf-Ofفقط عندما يكون خاصًا بك. - بيئة الاختبار والإنتاج هي قواعد بيانات مختلفة. مفتاح بيئة الاختبار لا يمكنه فعليًا الوصول إلى المرضى الحقيقيين.
الكتابة والملكية
project_idعلى كل إصدار مورد = الكاتب. التحديث/الحذف بواسطة مشروع آخر → 403 مع شرح؛ اكتب موردك الخاص بدلاً من ذلك.Provenance.agent.onBehalfOf= العيادة/المؤسسة وقت الكتابة:X-Anpheros-On-Behalf-Of، وإلا مؤسسة PractitionerRole النشط، وإلا مؤسسة المشروع.- كل عملية كتابة تنتج مورد Provenance وصفًا لسجل تدقيق (من، ماذا، متى، تحت أي منحة، أي تطبيق، من بصمة المصدر).
ما يراه المريض
/me/patients/{id}/grants يسرد كل تطبيق لديه صلاحية وصول، ونطاقاته (scopes) وتاريخ انتهاء صلاحيته؛ …/access-log يسرد ما قرأه أو كتبه كل تطبيق — تحت الموافقة و بمفتاح المشروع الخاص. يبدأ سحب الصلاحية في سريان المفعول عند الطلب التالي؛ لا يمكن للتطبيق التحديث والعودة.
مع format=fhir، يعود سجل الوصول كحزمة (Bundle) من موارد FHIR R4 AuditEvent، مصممة بعد أنماط سجل التدقيق الأساسي لـ IHE (النوع rest، التفاعل كنوع فرعي، التطبيق والشخص الذي يعمل من خلاله كوكلاء (agents)، المريض والمورد ككيانات (entities)، لا توجد بيانات سريرية)، بحيث يمكن لنظام آخر دمجه في رؤية الشخص لمن وصل إلى سجله.
ما يسجله كل مورد Provenance وكيفية إعداده: شرح مصدر البيانات الطبية (Medical data provenance explained).
روابط SMART الصحية (المشاركة عبر QR أو رابط)
يمكن للشخص مشاركة سجله دون الحاجة لتطبيق وسيط: POST /me/patients/{id}/shl ينشئ
رابط SMART الصحي لمجموعة الطوارئ الفرعية (الحساسية،
الأدوية، المشاكل، التطعيمات — لا توجد نتائج أو تاريخ) أو ملخص المريض الدولي الكامل، مع
رمز مرور اختياري وتاريخ انتهاء صلاحية. يحمل الرد عنوان URI shlink:/… (لرمز QR) وعنوان عارض على /shl/view، والذي يفتحه في أي متصفح. أي شخص يقوم بمسحه يرسل طلبًا إلى عنوان URL للبيان ويتلقى الملخص بتنسيق JWE (dir + A256GCM) مشفرًا بالمفتاح الموجود داخل الرابط؛ أي قارئ لرابط SMART الصحي سيعمل.
- يتم إنشاء المحتوى عند كل فتح (العلامة
L، الحالةcan-change)، لذلك تظل البطاقة المحفوظة في الهاتف محدثة. - يتم التحقق من رمز المرور (العلامة
P) على الخادم؛ بعد 10 محاولات خاطئة، يتوقف الرابط عن العمل. GET /me/patients/{id}/shlيسرد الروابط مع عدد مرات فتح كل رابط ومتى تم فتحه؛…/shl/{link}/revokeيقوم بإيقاف رابط واحد دفعة واحدة. كل فتح يتم تسجيله في سجل الوصول.- المعرف الداخلي للشخص لا يغادر المنصة أبدًا: الوثيقة تسميه باسم مستعار للرابط.
الوكلاء الذكاء الاصطناعي يقترحون، والشخص يقرر
بموافقة الشخص، لا يتم تطبيق الكتابة بواسطة وكيل ذكاء اصطناعي (تطبيق مسجل كوكيل، على سبيل المثال مساعد متصل عبر MCP) أو أي كتابة باستخدام author_type ai على الفور. تقوم المنصة بالتحقق منها وترد بـ 202 Accepted بمعرف الاقتراح (الرأس Anpheros-Proposal)؛ لا يتغير شيء في السجل. يرى الشخص ذلك في GET /me/patients/{id}/proposals — ما هو، والتطبيق الذي أرسله — ويقبل أو يرفض (…/proposals/{proposal}/accept أو …/reject). يتم كتابة الاقتراح المقبول تمامًا كما تم إرساله، مع وضع علامة "مكتوب بواسطة الذكاء الاصطناعي" (شفافية الذكاء الاصطناعي HL7). المشاريع التي يمكنها رؤية السجل تحصل على خطاف proposal.created رفيع. الكتابات التي تتم باستخدام مفتاح المشروع الخاص، على السجلات التي أنشأها المشروع، لا يتم تعليقها.
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card