AnpherosAnpheros PlatformDevelopers

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

AI एजेंट और मेडिकल डेटा

पेशेंट रिकॉर्ड तक AI एजेंटों के लिए नियंत्रित एक्सेस: OAuth स्कोप, एजेंट को आवश्यक टूल्स, ऑडिट और उसके द्वारा पढ़े और लिखे जाने वाले का प्रोवेनेंस, और इवेंट-संचालित एजेंट।

एक AI एजेंट एक प्रोग्राम होता है जिसमें एक भाषा मॉडल, किसी कार्य को पूरा करने के लिए, कदम दर कदम यह तय करता है कि कौन सी क्रियाएं करनी हैं - कौन सा डेटा पढ़ना है, कौन सा टूल कॉल करना है, क्या लिखना है। जब कार्य में रोगी का मेडिकल रिकॉर्ड शामिल होता है, तो एजेंट को नियंत्रित पहुँच की आवश्यकता होती है: उसे केवल उन्हीं रिकॉर्ड्स तक पहुँचना चाहिए जिनकी उसे अनुमति है, केवल उनके उन हिस्सों तक जिनकी उसे आवश्यकता है, उसने जो पढ़ा है उसका एक निशान छोड़ना चाहिए और उसने जो लिखा है उसे AI-जनित के रूप में चिह्नित करना चाहिए। Anpheros अपने API के माध्यम से वह नियंत्रित पहुँच प्रदान करता है; एजेंट फ्रेमवर्क और मॉडल आपके हैं।

Anpheros में कोई अंतर्निहित एजेंट रनटाइम नहीं है, कोई मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) सर्वर नहीं है और किसी भी एजेंट फ्रेमवर्क या मॉडल प्रदाता के साथ कोई आधिकारिक एकीकरण नहीं है। एजेंट्स इसका उपयोग उसी तरह करते हैं जैसे कोई भी एप्लिकेशन करता है: REST और FHIR API या 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 SDK को सीधे टूल के रूप में लपेटा जा सकता है।

उदाहरण: रोगी की सहमति से एक विज़िट-तैयारी एजेंट

एक रोगी जो पहले से ही 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. आउटपुट। एजेंट उन स्रोतों के साथ डॉक्टर के लिए प्रश्न लौटाता है जिनका उसने उपयोग किया था। यह कुछ भी वापस नहीं लिखता है, क्योंकि इसे राइट स्कोप नहीं दिया गया था।

ऑडिट और प्रोवेनेंस

इवेंट्स से एजेंट शुरू करना

वेबहूक्स एजेंट को कुछ बदलने पर (जैसे नया लैब रिजल्ट (resource.created), नई सहमति (consent.granted)) चलाने की अनुमति देते हैं, बजाय पोलिंग के। इवेंट्स में केवल आईडी होती हैं; एजेंट तब पढ़ता है जो उसके स्कोप्स की अनुमति देते हैं। वेबहूक्स

ध्यान रखने योग्य डिज़ाइन नियम

  1. एजेंट को वह सबसे संकीर्ण स्कोप दें जो कार्य को पूरा करते हों।
  2. रॉ बल्क रीड्स से शुरू करने के बजाय, एक संदर्भ (context) से शुरू करें; 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