AnpherosAnpheros PlatformDevelopers

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

Gyógyszeradatok alkalmazásoknak és AI ügynököknek

Beteg gyógyszerlisták vs. gyógyszerismeret: FHIR erőforrások, RxNorm, ATC, openFDA és EMA források, valamint egy FHIR rekord és RxNorm és FDA címkék tesztelt összekapcsolása.

Az egészségügyi szoftvereknek kétféle gyógyszeradatra van szükségük: a beteg gyógyszerlistájára – mit szed ez a személy, mióta, milyen dózisban, ki rögzítette – és a gyógyszerismeretre – mit tartalmaz egy termék, annak hivatalos címkéje, figyelmeztetések és kölcsönhatások. Az előbbi a beteg rekordjába tartozik; az utóbbi hiteles gyógyszeradatbázisokból származik. Ezek összekeverése az oka annak, hogy az AI-ügynökök a modell memóriájából származó gyógyszerinformációkat közölnek. Ez az oldal mindkettőt elmagyarázza, az érintett FHIR R4 erőforrásokat és kódrendszereket, az USA-ban és az EU-ban létező nyilvános forrásokat, valamint egy működő példát, amely egy FHIR rekordból származó beteglistát összekapcsol az RxNormmal és az FDA címkével.

Kétféle gyógyszeradat

Beteg gyógyszerlistája Gyógyszerismeret
Válaszok Mit szed Ana, mióta, milyen gyakran? Mi a metformin 500 mg, mire figyelmeztet a címkéje?
Változások Amikor a beteg vagy egy orvos frissíti Amikor egy szabályozó vagy kiadó frissíti
Hol található A beteg rekordjában (EHR, PHR, FHIR szerver) Gyógyszeradatbázisok és terminológiák
FHIR MedicationStatement, MedicationRequest, MedicationAdministration, Medication Többnyire a rekordon kívül; a termékinformáció maga is lehet FHIR
Ki olvashatja Csak a beteg beleegyezésével Nyilvános vagy licencelt

Egy olyan alkalmazás vagy ügynök, amely arra válaszol, hogy "szedhetek-e ibuprofent a vérnyomáscsökkentő tablettám mellé?", mindkettőre szüksége van: a beteg listájára, hogy tudja, melyik tablettáról van szó, és egy gyógyszerismereti forrásra, hogy tudja, mi ismert a kombinációról – plusz egy orvosra vagy gyógyszerészre a válaszhoz.

FHIR erőforrások a gyógyszerlistához

A gyógyszer kódolva van: az USA-ban RxNorm (a National Library of Medicine-től) és NDC termékkódokkal; nemzetközileg a WHO ATC osztályozásával; Európában nemzeti termékkódokkal és egyre inkább az EMA FHIR-alapú elektronikus termékinformációival. Egy állítás több kódolást is tartalmazhat ugyanarra a gyógyszerre.

Gyógyszerismereti források

Amerikai Egyesült Államok

Európai Unió

Kölcsönhatások a legnehezebb rész. Az NLM 2024 januárja körül nyugdíjazta gyógyszer-gyógyszer kölcsönhatási API-ját, és a kimerítő kölcsönhatás-ellenőrzés ma már licencelt klinikai tudásbázisokra támaszkodik. Egy címke kölcsönhatások szekciója orvosoknak írt szöveg, nem pedig egy ellenőrző.

Rekordok összekapcsolása gyógyszertudással

A példa a beteg aktív gyógyszereit olvassa be az Anpherosból, minden nevet RxNorm koncepcióra old fel, és lekéri az FDA címkét. A platform helyi példányán, valamint az élő RxNorm és openFDA API-kon futott.

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

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });

// 1. What the person takes: from their record (ATC codes, names as they were entered)
const { data: meds } = await anpheros.medications.list(patientId, { status: 'active' });

// 2. What each medicine is: RxNorm (US National Library of Medicine), free, no key
async function rxcui(name: string): Promise<string | null> {
  const r = await fetch(`https://rxnav.nlm.nih.gov/REST/approximateTerm.json?term=${encodeURIComponent(name)}&maxEntries=1`);
  const j: any = await r.json();
  const id = j.approximateGroup?.candidate?.[0]?.rxcui;
  if (!id) return null;
  // An approximate match can be an outdated concept: keep it only if RxNorm still describes it as a drug
  const props: any = await (await fetch(`https://rxnav.nlm.nih.gov/REST/rxcui/${id}/properties.json`)).json();
  return ['SCD', 'SBD', 'GPCK', 'BPCK'].includes(props.properties?.tty) ? id : null;
}

// 3. What the official label says: openFDA drug label API (US FDA), free
async function label(id: string) {
  const r = await fetch(`https://api.fda.gov/drug/label.json?search=openfda.rxcui:%22${id}%22&limit=1`);
  if (!r.ok) return null;
  const doc: any = (await r.json()).results?.[0];
  return doc && { set_id: doc.set_id, boxed_warning: doc.boxed_warning?.[0]?.slice(0, 120), has_interactions_section: !!doc.drug_interactions };
}

for (const m of meds) {
  const id = await rxcui(m.display);
  console.log(JSON.stringify({ record: { display: m.display, atc: m.code, dosage: m.dosage }, rxnorm: id, fda_label: id ? await label(id) : null }));
}

Kimenet egy olyan beteg esetében, aki metformint és enalaprilt jelentett:

{"record":{"display":"Metformin 500 mg tablet","atc":"A10BA02","dosage":"500 mg twice a day"},"rxnorm":"861007",
 "fda_label":{"set_id":"011de1a5-…","boxed_warning":"BOXED WARNING WARNING: LACTIC ACIDOSIS …","has_interactions_section":true}}
{"record":{"display":"Enalapril maleate 10 mg oral tablet","atc":"C09AA02","dosage":"10 mg once a day"},"rxnorm":"858817",
 "fda_label":{"set_id":"074fe718-…","boxed_warning":"WARNING: FETAL TOXICITY …","has_interactions_section":true}}

Amit futtatás közben tanultunk. Az "Enalapril 10 mg tablet" néven az RxNorm közelítő találata az RXCUI 328290-et adta vissza, egy olyan koncepciót, amelyet az RxNorm már nem ír le, és nincs hozzá címke. A teljes klinikai névvel, az "enalapril maleate 10 mg oral tablet" néven, a 858817-et adta vissza, egy jelenlegi klinikai gyógyszert címkével. Az emberek által beírt nevek közelítőek; ellenőrizze, mire oldódik fel egy találat, tárolja a kódot, amint megerősítést nyert, és mutassa meg a személynek, mi lett párosítva.

Szabályok AI ügynökök számára

  1. Soha ne engedje meg a modellnek, hogy gyógyszerinformációkat memóriából adjon meg. Adja meg a beteg listáját a rekordból és a releváns szöveget egy hiteles forrásból, és kérje meg, hogy hivatkozzon rájuk.
  2. Tartsa láthatóan a két forrást. A „Szed metformint (a rekordod, amit március 3-án adtál meg)” és „az FDA címke figyelmeztet a tejsavas acidózisra (címke beállítva 011de1a5…)” eltérő állítások, eltérő tulajdonosokkal.
  3. Szűkítse a hatóköröket. Egy olyan ügynök, akinek csak a gyógyszerlistára van szüksége, olvasási hozzáférést kapjon a MedicationStatement-hez, nem a teljes rekordhoz. Az Anpheros esetében ez egy hozzájárulási hatókör vagy az MCP szerver csak olvasható eszközei.
  4. Ne válaszoljon olyan kérdésekre, amelyekhez orvosra van szükség. Interakciók, dózismódosítások és gyógyszer abbahagyása gyógyszerészhez vagy orvoshoz tartozik; az ügynök előkészítheti a kérdést.

Hol helyezkedik el az Anpheros

Az Anpheros tárolja a gyógyszerlistát: MedicationStatement és MedicationAdministration ATC vagy más kódokkal, ki rögzítette az egyes tételeket, a történetet és a hozzájárulást más alkalmazások számára; a kontext API tartalmazza az aktív gyógyszereket az összefoglalóban, amelyet egy modell számára készít, és az MCP szerver csak olvasható módon teszi elérhetővé azokat az ügynökök számára. Tartalmaz egy kis ATC alhalmazt (körülbelül 50 gyakori gyógyszert) a kódok automatikus elnevezéséhez; minden más kód elfogadásra kerül, automatikus név nélkül.

Nem gyógyszeradatbázis: nem ad meg címkéket, interakciókat, adagolást vagy ellenjavallatokat, és jelenleg nem támogatja a MedicationRequest vagy Medication erőforrásokat.

Gyakran ismételt kérdések

Melyik FHIR erőforrást kell használni a gyógyszerlistához?

A MedicationStatement erőforrást arra használjuk, amit egy személy szed vagy szedett, beleértve a beteg által jelentett gyógyszereket is. A vények MedicationRequest erőforrásba tartoznak; az egyes dózisok pedig MedicationAdministration erőforrásba.

Van ingyenes gyógyszeradatbázis API?

Az USA-ban az RxNorm (NLM) a gyógyszerazonosítókhoz és nevekhez, az openFDA pedig a hivatalos termékcímkékhez ingyenes. Európában az EMA és a nemzeti ügynökségek teszik közzé a termékinformációkat. Az átfogó interakcióellenőrzés általában licencelt tudásbázist igényel.

Hogyan szerezzen gyógyszerinformációt egy AI ügynök?

Két eszközből: egy, amely a beteg beleegyezésével elolvassa a beteg gyógyszerlistáját a rekordjából, és egy, amely egy hiteles gyógyszerforrást keres fel. Az ügynöknek mindkettőt meg kell említenie, és a klinikai döntéseket szakemberre kell bíznia.

Az Anpheros ellenőrzi a gyógyszerinterakciókat?

Nem. Tárolja, hogy mit szed egy személy, származási adatokkal és beleegyezéssel. Az interakcióellenőrzés egy gyógyszertudásforráshoz és egy klinikushoz tartozik.

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