AnpherosAnpheros PlatformDevelopers

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

حزم تطوير البرمجيات (SDKs)

عملاء Dart / Flutter (anpheros_sdk) و TypeScript (@anpheros/sdk): نفس الهيكل، عمليات إنشاء متطابقة، محاولات إعادة، تحديث الرموز المميزة، وتدفق الموافقة.

مكتبات العملاء الرسمية لواجهة برمجة تطبيقات الرعاية الصحية FHIR R4 مع بيئة اختبار FHIR مجانية: المرضى، الملاحظات، نتائج المختبر، الحالات، الأدوية، ملخص المريض الدولي، موافقة المريض، وسياق الذكاء الاصطناعي، بلغات TypeScript و Dart / Flutter.

Anpheros هي بنية تحتية للبيانات الطبية قابلة للتشغيل البيني لبناء تطبيقات الرعاية الصحية، والبرامج الطبية، وخدمات الذكاء الاصطناعي. لكل مريض سجل HL7 FHIR R4 واحد يتحكم فيه؛ تقرأ التطبيقات والعيادات والمختبرات ووكلاء الذكاء الاصطناعي وتكتب فيه عبر واجهة برمجة تطبيقات منصة Anpheros — بموافقة المريض (OAuth 2.1 / SMART on FHIR)، مع إثبات المصدر في كل عملية كتابة وسجل وصول يمكن للمريض رؤيته. يحتوي هذا المستودع على مكتبات العملاء الرسمية والأمثلة القابلة للتشغيل.

اللغة الحزمة التثبيت المصدر
Dart / Flutter anpheros_sdk dart pub add anpheros_sdk dart/anpheros_sdk
TypeScript (Node 18+, المتصفحات، Deno، Bun) @anpheros/sdk npm install @anpheros/sdk ts

البدء السريع في دقيقتين

  1. احصل على مفتاح صندوق رمل مجاني: سجّل الدخول إلى لوحة التحكم واضغط على الحصول على مفتاح صندوق رمل (sk_test_…). يحتوي صندوق الرمل الخاص بك على 30 مريضًا اصطناعيًا.
  2. تحقق من عمله:

    bash curl -H "Authorization: Bearer $ANPHEROS_KEY" "https://platform.anpheros.com/fhir/R4/Patient?_count=3"

  3. قم بتثبيت SDK واقرأ سجلًا: npm install @anpheros/sdk أو dart pub add anpheros_sdk، ثم قم بتشغيل الكود الموجود ضمن الاتصال، أو استنسخ quickstart-ts.

لمن هذا الدليل

للمطورين الذين يبنون تطبيقات صحة المرضى والعائلات، أو الواجهات الخلفية للتطبيقات الطبية، أو تكاملات العيادات والمختبرات، أو المساعدين أو الوكلاء الذين يعملون بالذكاء الاصطناعي ويحتاجون إلى سياق طبي منظم للمريض — دون الحاجة إلى تصميم قاعدة بيانات طبية، ونظام موافقة، وسجل تدقيق من الصفر.

الحصول على مفتاح بيئة الاختبار

بيئة الاختبار مجانية وتتم خدمتها ذاتيًا. قم بتسجيل الدخول باستخدام Google على لوحة التحكم واضغط على الحصول على مفتاح بيئة الاختبار: ستحصل على مشروع بيئة اختبار ومفتاح على الفور. يأتي كل مشروع بيئة اختبار مع 30 مريضًا اصطناعيًا خاصًا به - ستة أشهر من الحالات والأدوية والحساسية ونتائج المختبر والعلامات الحيوية - والتي يمكنك تغييرها بحرية وإعادة تعيينها في أي وقت. مفاتيح بيئة الاختبار (sk_test_…) لا تصل أبدًا إلى بيانات المرضى الحقيقية.

عند الانتقال إلى الإنتاج، يكون الإنتاج للمنظمات المعتمدة التي لديها اتفاقية معالجة بيانات، ويبدأ الإنتاج بسعر 49 يورو شهريًا مع الشهر الأول مجانًا (التسعير).

الاتصال

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

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });   // sk_test_… in the sandbox
const { data: patients } = await anpheros.patients.list();
const labs = await anpheros.observations.list(patients[0].id, { category: 'laboratory', limit: 10 });
const ctx = await anpheros.context.build({ patient: patients[0].id, task: 'weekly check-in', budget_tokens: 1500, format: 'text' });
import 'package:anpheros_sdk/anpheros_sdk.dart';

final anpheros = Anpheros(auth: AnpherosAuth.apiKey('sk_test_…'));
final patients = await anpheros.patients.list();
final labs = await anpheros.observations.list(patients.data.first.id, category: 'laboratory', limit: 10);

مفاتيح واجهة برمجة التطبيقات (API keys) يجب أن تكون على الخوادم. التطبيق الذي يعمل نيابة عن شخص يستخدم OAuth بدلاً من ذلك: كلا حزمتا تطوير البرامج (SDKs) تنفذان تدفق الموافقة (رمز التفويض + PKCE) وتجددان الرموز تلقائيًا.

ما تغطيه حزم تطوير البرمجيات (SDKs)

تغطي كلتا الحزمتين كامل السطح العام (/v1، /fhir/R4، /oauth/token، /oauth/revoke) بنفس الشكل: patients، observations، conditions، medications، documents، timeline، provenance، context، grants، terminology و fhir خام. يفشل الاختبار في عملية البناء عندما يكون مسار عام مفقودًا من أي من حزم تطوير البرمجيات أو عندما تستدعي حزمة تطوير برمجيات مسارًا لا يملكه الخادم.

كلتا حزم تطوير البرمجيات: Idempotency-Key تلقائي عند الإنشاء، إعادة المحاولة مع التراجع عند 429/5xx، تحديث رمز واحد عند 401، أخطاء مكتوبة مع معرف الطلب، مساعدات PKCE، وتدفق الموافقة.

البيانات الطبية و FHIR

يتكون السجل من موارد FHIR R4 قياسية — 26 نوعًا، بما في ذلك Observation و Condition و MedicationStatement و DocumentReference و Immunization و AllergyIntolerance — مرمزة باستخدام LOINC و ICD-10 و ATC و UCUM. واجهة برمجة التطبيقات REST (/v1) وواجهة برمجة التطبيقات FHIR (/fhir/R4) تقرأ وتكتب نفس الموارد بنفس المعرفات؛ fhir في كلتا مجموعتي أدوات التطوير (SDKs) توفر وصولاً خامًا إلى FHIR (بحث، معاملات، $everything، $summary، $validate).

أمثلة

مثال يوضح
quickstart-ts كتابة وقراءة سجل: قياسات، نتائج مختبر، تشخيص، دواء، جدول زمني، بحث FHIR، IPS، سياق الذكاء الاصطناعي
quickstart-dart نفس الشيء من Dart / Flutter
consent-app-ts تطبيق ويب يطلب الموافقة (OAuth 2.1 + PKCE) ويقرأ سجل الشخص
ai-context-llm سؤال حول سجل يجيب عليه نموذج من اختيارك (محلي أو مستضاف)
fhir-transaction حزمة معاملة FHIR R4 وملخص المريض الدولي الناتج

تعمل الأمثلة مقابل البيئة التجريبية المجانية، حيث يحتوي كل مشروع بيئة تجريبية على 30 مريضًا اصطناعيًا خاصًا به — انظر الحصول على مفتاح بيئة تجريبية.

المستودعات ذات الصلة

المستودع ما هو
fhir-api-openapi مواصفات OpenAPI 3.1 ومجموعة Postman لواجهة برمجة التطبيقات (API)
mcp-server خادم FHIR MCP المستضاف لوكلاء الذكاء الاصطناعي: إعدادات لـ Claude و Cursor و VS Code
agent-skills مهارة الوكيل (Agent Skill)، إضافة Claude Code، قواعد Cursor و AGENTS.md
fhir-synthetic-patients المرضى الاصطناعيون الـ 30 كحزم FHIR R4 و NDJSON
ips-examples مستندات ملخص المريض الدولي (International Patient Summary) بتنسيق FHIR R4
fhir-validate-action إجراء GitHub يتحقق من صحة FHIR R4 JSON في CI
lab-results-to-fhir واجهة سطر الأوامر (CLI): تقارير المختبر CSV / HL7 v2 → ملاحظات FHIR
healthcare-app-starters قوالب تطبيقات صحية لـ Next.js و Flutter

المطابقة

نتائج الاختبار الأولية، المنشورة لتسهيل التحقق منها (نتائج الاختبار، وليست شهادات): conformance/. في 28 سبتمبر 2026، اجتازت مجموعة "Standalone Launch" من مجموعة اختبارات Inferno SMART App Launch STU2 (الإصدار 1.0.3) 22 من أصل 22 اختبارًا مقابل المنصة. لا يتم دعم تشغيل EHR.

التوثيق

المشكلات والأمان

أبلغ عن الأخطاء في قسم المشكلات (issues) الخاص بهذا المستودع. لا تقم أبدًا بتضمين مفاتيح API أو الرموز المميزة أو بيانات المرضى في أي مشكلة. تقارير الأمان: [email protected].

الترخيص

رخصة أباتشي 2.0 — انظر الملف LICENSE لكل حزمة. حقوق النشر 2026 Anpheros.

@anpheros/sdk

عميل TypeScript لمنصة Anpheros: سجل صحي لكل مريض وفق معيار FHIR R4، عزل المشاريع، موافقة المريض (OAuth 2.1 / SMART on FHIR)، إثبات المصدر عند كل عملية كتابة، وواجهة برمجة تطبيقات سياق الذكاء الاصطناعي. يعمل في أي مكان fetch (Node 18+، المتصفحات، Deno، Bun).

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

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });
const { data: patients } = await anpheros.patients.list();
const labs = await anpheros.observations.list(patients[0].id, { category: 'laboratory', limit: 10 });
const ctx = await anpheros.context.build({ patient: patients[0].id, task: 'weekly check-in', budget_tokens: 1500, format: 'text' });

التصرف نيابة عن شخص:

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

const flow = new OAuthFlow({ baseUrl: BASE, clientId: 'client_…', redirectUri: 'https://myapp.example/callback' });
const pkce = await generatePkce();
location.href = flow.authorizeUrl({ scopes: ['patient/Observation.rs?category=laboratory', 'offline_access'], state, pkce, lang: 'ro' });
// on the callback:
const tokens = await flow.exchange(code, pkce);
const anpheros = new Anpheros({ auth: new OAuthAuth({ tokens, onRefresh: flow.refresh, onTokens: persist }) });

الأخطاء هي AnpherosError (status، type، message، field، requestId). عمليات الإنشاء ترسل Idempotency-Key؛ يتم إعادة محاولة الطلبات 429/5xx؛ يتم تحديث الرموز المنتهية مرة واحدة وإعادة محاولة الاستدعاء.

anpheros_sdk

عميل Dart / Flutter لمنصة Anpheros: واجهة خلفية لبيانات الصحة مع سجل FHIR R4 لكل مريض، وعزل للمشاريع، وموافقة المريض (OAuth 2.1 / SMART on FHIR)، وتتبع المصدر لكل عملية كتابة، وواجهة برمجة تطبيقات سياق الذكاء الاصطناعي.

import 'package:anpheros_sdk/anpheros_sdk.dart';

final anpheros = Anpheros(auth: AnpherosAuth.apiKey('sk_test_…'));      // server / sandbox

final patients = await anpheros.patients.list();
final elena = patients.data.first;
final labs = await anpheros.observations.list(elena.id, category: 'laboratory', limit: 10);
final ctx = await anpheros.context.build(ContextRequest(patient: elena.id, task: 'weekly check-in', budgetTokens: 1500));

التصرف نيابة عن شخص (تطبيقات)

final flow = OAuthFlow(baseUrl: 'https://…', clientId: 'client_…', redirectUri: 'myapp://callback');
final pkce = Pkce.generate();
final url = flow.authorizeUrl(scopes: ['patient/Observation.rs?category=laboratory', 'patient/MedicationStatement.r', 'offline_access'],
                              state: 'abc', pkce: pkce, lang: 'ro');
// open `url`; on return with ?code=…:
final tokens = await flow.exchange(code: code, pkce: pkce);
final anpheros = Anpheros(auth: AnpherosAuth.oauth(
  accessToken: tokens.accessToken, refreshToken: tokens.refreshToken, expiresAt: tokens.expiresAt,
  onRefresh: flow.refresh, onTokens: persist));
final meds = await anpheros.medications.listMedications(tokens.patient!);

كل كائن يحمل fhir (مرجع /fhir/R4 الخاص به)؛ anpheros.fhir يوفر وصولاً خامًا لـ FHIR (قراءة، بحث، إنشاء، معاملة، $everything، $summary، $validate).

يتم التعامل مع الأخطاء AnpherosException باستخدام status، type، message، field و requestId. ترسل عمليات الإنشاء Idempotency-Key تلقائيًا؛ تتم إعادة محاولة الأخطاء 429/5xx مع تراجع؛ يتم تحديث رموز OAuth منتهية الصلاحية مرة واحدة وإعادة محاولة الاستدعاء.

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