AnpherosAnpheros PlatformDevelopers

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

AI ügynökök és orvosi adatok

Ellenőrzött hozzáférés AI ügynökök számára betegrekordokhoz: OAuth hatókörök, az ügynöknek szükséges eszközök, audit és a leolvasott és írt adatok eredete, valamint eseményvezérelt ügynökök.

Az AI-ügynök egy olyan program, amelyben egy nyelvi modell lépésről lépésre eldönti, hogy milyen műveleteket végezzen – milyen adatokat olvasson el, melyik eszközt hívja meg, mit írjon –, hogy teljesítsen egy feladatot. Amikor a feladat egy páciens orvosi rekordját érinti, az ügynöknek ellenőrzött hozzáférésre van szüksége: csak azokra a rekordokra terjedhet ki, amelyekhez engedéllyel rendelkezik, csak azoknak a részeire, amelyekre szüksége van, nyomot kell hagynia arról, amit elolvasott, és AI-generáltként kell megjelölnie, amit írt. Az Anpheros ezt az ellenőrzött hozzáférést biztosítja az API-ján keresztül; az ügynökkeretrendszer és a modell az Öné.

Az Anpheros nem rendelkezik beépített ügynök futtatókörnyezettel, Model Context Protocol (MCP) szerverrel, és nincs hivatalos integrációja semmilyen ügynökkeretrendszerrel vagy modell szolgáltatóval. Az ügynökök ugyanúgy használják, mint bármely más alkalmazás: a REST és FHIR API-n vagy az SDK-kon keresztül.

Az architektúra

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

A modell akciókat javasol; a futtatókörnyezeted hajtja végre azokat a hitelesítő adatokkal, amelyekkel rendelkezik. Maga a modell soha nem tart Anpheros kulcsot vagy tokent.

Vezérelt hozzáférés

Az ügynöknek tipikusan szüksége van eszközökre

Eszköz Anpheros hívás Megjegyzések
Kontextus lekérése egy feladathoz POST /v1/context a legtöbb feladat első hívása; költségvetéshez és forrás-címkézéshez (LLM alkalmazások és egészségügyi adatok)
Legutóbbi eredmények listázása GET /v1/patients/{id}/observations?category=laboratory&from=… szűrők: category, code, from, to
Aktív gyógyszerek GET /v1/patients/{id}/medications?status=active
Mi történt mikor GET /v1/patients/{id}/timeline?from=… egy kronologikus lista típusok szerint
Teljes FHIR részlet GET /fhir/R4/{type}?patient=… ha az összefoglaló nem elegendő
Szabványos összefoglaló GET /fhir/R4/Patient/{id}/$summary International Patient Summary csomag
Kód keresése GET /v1/terminology/loinc?q=… csomagolt LOINC részhalmaz; gyógyszerek a GET /v1/search-en keresztül
Jegyzet rögzítése POST /v1/patients/{id}/observations author_type: "ai"-el csak írási hatókörrel

Az OpenAPI specifikáció (https://developers.anpheros.com/openapi.json) minden végpontot leír, és átalakítható eszközdefiníciókká; a TypeScript és Dart SDK-k közvetlenül eszközként becsomagolhatók.

Példa: Látogatás-előkészítő ügynök a beteg beleegyezésével

Egy beteg, aki már vezet nyilvántartást az Anpheros rendszerben, megkéri egy harmadik féltől származó asszisztenst, hogy készítsen kérdéseket egy kardiológiai látogatáshoz. Az ügynöknek korlátozott ideig olvasási hozzáférésre van szüksége a nyilvántartáshoz – semmi másra.

1. Beleegyezés (OAuth 2.1 + PKCE, SMART v2 hatókörök). Az asszisztens a személyt a beleegyezési oldalra irányítja a legszűkebb hatókörökkel, amelyek még lehetővé teszik a kontextust (megfigyelések, állapotok, gyógyszerek és allergiák):

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. Eszközök. Az ügynök futtatókörnyezete néhány funkciót tesz elérhetővé a modell számára; mindegyik egy valódi API-hívás, amelyet a hozzáférési tokennel hajtanak végre:

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 }),
};

Írja le ezeket a modellnek az Ön által használt bármilyen eszköz- vagy funkcióhívási formátumban; a modell javasol egy hívást, a futtatókörnyezete végrehajtja, és visszaadja a JSON-t. A modell soha nem látja a tokent.

3. Amit a platform érvényesít. A token csak az adott személy nyilvántartásához és csak a hatókörbe tartozó típusokhoz fér hozzá; minden más 403 (a hatókörön kívüli típus) vagy 404 (másik beteg) hibával válaszol. Minden hívás – beleértve minden kontextus kérést, a manifest_id-mal együtt – megjelenik a személy hozzáférési naplójában ehhez az alkalmazáshoz. Ha a személy visszavonja a hozzáférést, a következő hívás 401 hibával válaszol, és az ügynöknek le kell állnia; az újratöltési token nem tudja visszaállítani.

4. Kimenet. Az ügynök a felhasznált forrásokkal együtt kérdéseket ad vissza az orvosnak. Nem ír vissza semmit, mert nem kapott írási hatókört.

Audit és származás

Ügynökök indítása események alapján

A webhookok lehetővé teszik, hogy egy ügynök valami változásakor fusson le – például egy új laboreredmény (resource.created) vagy egy új hozzájárulás (consent.granted) esetén – ahelyett, hogy folyamatosan lekérdezné az állapotot. Az események csak az azonosítókat tartalmazzák; az ügynök ezután elolvassa azokat az adatokat, amelyekhez a hatókörei hozzáférést biztosítanak. Webhookok

Megfontolandó tervezési szabályok

  1. Adja meg az ügynöknek a feladat elvégzéséhez szükséges legszűkebb hatóköröket.
  2. Kontextusból induljon ki, ne nyers, tömeges olvasásokból; tartsa be a omitted és warnings szabályokat.
  3. Mutassa be a beteg adatait a forrásokkal együtt az ügynök válaszában.
  4. Soha ne engedje, hogy az ügynök önállóan diagnózist állítson fel vagy kezelést változtasson; ilyen kimeneteket irányítson orvoshoz.
  5. Naplózza minden kontextus manifest_id-ét az ügynök válasza mellé, hogy egy személy később láthassa, mire alapult a válasz.

Kapcsolódó

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