AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

وكلاء الذكاء الاصطناعي والبيانات الطبية

الوصول المتحكم فيه لوكلاء الذكاء الاصطناعي إلى سجلات المرضى: نطاقات OAuth، الأدوات التي يحتاجها الوكيل، التدقيق وأصل ما يقرأه ويكتبه، والوكلاء المستندون إلى الأحداث.

وكيل الذكاء الاصطناعي هو برنامج يقرر فيه نموذج اللغة، خطوة بخطوة، الإجراءات التي يجب اتخاذها — البيانات التي يجب قراءتها، الأداة التي يجب استدعاؤها، ما يجب كتابته — لإكمال مهمة. عندما تتضمن المهمة السجل الطبي للمريض، يحتاج الوكيل إلى وصول مُتحكم فيه: يجب أن يصل فقط إلى السجلات المسموح له بها، فقط الأجزاء التي يحتاجها منها، ويترك أثرًا لما قرأه ويضع علامة على ما كتبه على أنه تم إنشاؤه بواسطة الذكاء الاصطناعي. يوفر Anpheros هذا الوصول المُتحكم فيه من خلال واجهة برمجة التطبيقات (API) الخاصة به؛ إطار عمل الوكيل والنموذج ملك لك.

لا يمتلك Anpheros وقت تشغيل وكيل مدمج، ولا خادم بروتوكول سياق النموذج (MCP)، ولا تكامل رسمي مع أي إطار عمل وكيل أو مزود نموذج. تستخدمه الوكلاء بالطريقة التي تستخدمها بها أي تطبيق: من خلال واجهة برمجة التطبيقات (API) REST و FHIR أو حزم تطوير البرامج (SDKs).

البنية

Patient ── grants access (OAuth scopes, duration) ────────────────┐
                                                                  ▼
Agent runtime (your code, any framework) ── tools ──► Anpheros API ──► the patient's FHIR record
      │   ▲                                   │
      │   └── context, search results ◄───────┘      every call: scope checks + access log
      ▼
The model you choose (hosted or local) ── plans the next step

يقترح النموذج إجراءات؛ يقوم وقت التشغيل الخاص بك بتنفيذها باستخدام بيانات الاعتماد التي يمتلكها. لا يمتلك النموذج نفسه مفتاح Anpheros أو رمزًا مميزًا أبدًا.

الوصول المتحكم فيه

الأدوات التي يحتاجها الوكيل عادةً

الأداة استدعاء Anpheros ملاحظات
الحصول على سياق لمهمة POST /v1/context الاستدعاء الأول لمعظم المهام؛ مُدرج في الميزانية ومُصنّف المصدر (تطبيقات LLM وبيانات الرعاية الصحية)
سرد النتائج الأخيرة GET /v1/patients/{id}/observations?category=laboratory&from=… عوامل التصفية: category، code، from، to
الأدوية النشطة GET /v1/patients/{id}/medications?status=active
ما حدث ومتى GET /v1/patients/{id}/timeline?from=… قائمة زمنية واحدة عبر الأنواع
تفاصيل FHIR الكاملة GET /fhir/R4/{type}?patient=… عندما لا يكون الملخص كافياً
ملخص قياسي GET /fhir/R4/Patient/{id}/$summary حزمة ملخص المريض الدولي
البحث عن رمز GET /v1/terminology/loinc?q=… مجموعة فرعية مجمعة من LOINC؛ الأدوية عبر GET /v1/search
تسجيل ملاحظة POST /v1/patients/{id}/observations مع author_type: "ai" فقط مع نطاق كتابة

يصف مواصفات OpenAPI (https://developers.anpheros.com/openapi.json) كل نقطة نهاية ويمكن تحويلها إلى تعريفات أدوات؛ يمكن تغليف حزم تطوير البرامج TypeScript و Dart كأدوات مباشرة.

مثال: وكيل تحضير زيارة بموافقة المريض

يطلب مريض لديه سجل بالفعل في Anpheros من مساعد طرف ثالث إعداد أسئلة لزيارة أمراض القلب. يحتاج الوكيل إلى الوصول للقراءة إلى السجل لفترة محدودة - لا شيء أكثر.

1. الموافقة (OAuth 2.1 + PKCE، نطاقات SMART v2). يرسل المساعد الشخص إلى صفحة الموافقة بأضيق النطاقات التي لا تزال تسمح بالسياق (الملاحظات، الحالات، الأدوية والحساسية):

import { Anpheros, OAuthAuth, OAuthFlow, generatePkce } from '@anpheros/sdk';

const flow = new OAuthFlow({ baseUrl: 'https://platform.anpheros.com', clientId: CLIENT_ID, redirectUri: REDIRECT_URI });
const pkce = await generatePkce();
const url = flow.authorizeUrl({
  scopes: ['patient/Observation.rs', 'patient/Condition.rs', 'patient/MedicationStatement.rs',
           'patient/AllergyIntolerance.rs', 'offline_access'],
  state, pkce, purpose: 'treatment',
});
// … the person chooses the record and the duration (30–365 days) and allows; on the callback:
const tokens = await flow.exchange(code, pkce);
const anpheros = new Anpheros({ auth: new OAuthAuth({ tokens, onRefresh: flow.refresh }) });
const patient = tokens.patient!;   // this application's own (pairwise) id for the person

2. الأدوات. يكشف وقت تشغيل الوكيل عن عدد قليل من الوظائف للنموذج؛ كل منها عبارة عن استدعاء API حقيقي يتم إجراؤه باستخدام رمز الوصول:

const tools = {
  // POST /v1/context — relevant sections, within a budget, labelled with author type and source
  get_context: (a: { question: string }) =>
    anpheros.context.build({ patient, task: 'prepare a cardiology visit', question: a.question, budget_tokens: 2000, format: 'text' }),
  // GET /v1/patients/{id}/observations?category=laboratory&code=…&from=…
  list_lab_results: (a: { code?: string; from?: string }) =>
    anpheros.observations.list(patient, { category: 'laboratory', code: a.code, from: a.from, limit: 20 }),
  // GET /v1/patients/{id}/timeline?from=…
  get_timeline: (a: { from: string }) => anpheros.timeline.list(patient, { from: a.from, limit: 50 }),
};

صفها للنموذج بالتنسيق الذي يستخدمه API الخاص بنموذجك لأدوات أو استدعاءات الوظائف؛ يقترح النموذج استدعاءً، ويقوم وقت التشغيل الخاص بك بتشغيله ويعيد JSON. لا يرى النموذج الرمز أبدًا.

3. ما يفرضه النظام الأساسي. يصل الرمز إلى سجل هذا الشخص فقط والنطاقات المحددة فقط؛ أي شيء آخر يجيب بـ 403 (نوع خارج النطاقات) أو 404 (مريض آخر). كل استدعاء - بما في ذلك كل طلب سياق، مع manifest_id الخاص به - يظهر في سجل وصول الشخص لهذا التطبيق. إذا ألغى الشخص الوصول، فإن الاستدعاء التالي يجيب بـ 401 ويجب على الوكيل التوقف؛ لا يمكن لرمز التحديث إعادته.

4. المخرجات. يعيد الوكيل أسئلة للطبيب مع المصادر التي استخدمها. لا يكتب شيئًا مرة أخرى، لأنه لم يتم منحه نطاق كتابة.

التدقيق والمصدر

بدء الوكلاء من الأحداث

تسمح خطافات الويب (Webhooks) بتشغيل وكيل عند حدوث تغيير — نتيجة مختبر جديدة (resource.created)، موافقة جديدة (consent.granted) — بدلاً من الاستقصاء. تحمل الأحداث المعرفات فقط؛ ثم يقرأ الوكيل ما تسمح به نطاقاته. خطافات الويب

قواعد تصميم جديرة بالاحتفاظ بها

  1. امنح الوكيل أضيق النطاقات التي تكمل المهمة.
  2. ابدأ من سياق، وليس من قراءات مجمعة خام؛ احترم omitted و warnings.
  3. اعرض مصادر بيانات المريض في إجابة الوكيل.
  4. لا تسمح للوكيل أبدًا بتقديم تشخيص أو تغيير علاج من تلقاء نفسه؛ قم بتوجيه هذه المخرجات إلى طبيب.
  5. سجل manifest_id لكل سياق بجوار إجابة الوكيل، حتى يتمكن الشخص لاحقًا من رؤية ما استندت إليه الإجابة.

ذات الصلة

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy