AnpherosAnpheros PlatformDevelopers

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

Údaje o liekoch pre aplikácie a AI agentov

Zoznamy liekov pacienta verzus znalosti o liekoch: FHIR zdroje, RxNorm, ATC, zdroje openFDA a EMA, a otestované spojenie FHIR záznamu s RxNorm a FDA štítkami.

Zdravotnícky softvér potrebuje dva rôzne druhy liekových dát: zoznam liekov pacienta — čo táto osoba užíva, od kedy, v akej dávke, kto to zaznamenal — a znalosti o liekoch — čo produkt obsahuje, jeho oficiálny štítok, varovania a interakcie. Prvé patrí do záznamu pacienta; druhé pochádza z autoritatívnych databáz liekov. Ich zmiešanie je dôvodom, prečo AI agenti uvádzajú fakty o liekoch z pamäte modelu. Táto stránka vysvetľuje obe, zúčastnené FHIR R4 zdroje a kódové systémy, ktoré verejné zdroje existujú v USA a EÚ, a funkčný príklad, ktorý spája zoznam pacienta z FHIR záznamu s RxNorm a FDA štítkom.

Dva druhy údajov o liekoch

Zoznam liekov pacienta Informácie o lieku
Odpovede Čo Ana užíva, odkedy, ako často? Čo je metformín 500 mg, na čo upozorňuje jeho príbalový leták?
Zmeny Keď ho aktualizuje pacient alebo lekár Keď ho aktualizuje regulátor alebo vydavateľ
Nachádza sa v Zázname pacienta (EHR, PHR, FHIR server) Databázy liekov a terminológie
FHIR MedicationStatement, MedicationRequest, MedicationAdministration, Medication Väčšinou mimo záznamu; informácie o produkte môžu byť samy osebe FHIR
Kto si to môže prečítať Len s pacientovým súhlasom Verejne alebo na základe licencie

Aplikácia alebo agent, ktorý odpovedá na otázku „Môžem užívať ibuprofén s mojimi liekmi na krvný tlak?“, potrebuje oboje: zoznam pacienta, aby vedel, o aký liek ide, a zdroj informácií o lieku, aby vedel, čo je o kombinácii známe – plus lekára alebo lekárnika pre samotnú odpoveď.

FHIR zdroje pre zoznam liekov

Lieky sú kódované: v USA pomocou RxNorm (z National Library of Medicine) a NDC produktových kódov; medzinárodne pomocou klasifikácie WHO ATC; v Európe tiež pomocou národných produktových kódov a čoraz častejšie elektronických informácií o produktoch EMA založených na FHIR. Vyhlásenie môže niesť niekoľko kódovaní pre ten istý liek.

Zdroje liekových poznatkov

Spojené štáty americké

Európska únia

Interakcie sú najťažšou časťou. NLM ukončil podporu svojho API pre liekové interakcie okolo januára 2024 a komplexná kontrola interakcií sa dnes spolieha na licencované klinické znalostné bázy. Sekcia interakcií v štítku je text napísaný pre klinických lekárov, nie kontrolný nástroj.

Spojenie záznamu s liekovými znalosťami

Príklad číta aktívne lieky pacienta z Anpheros, rozlíši každý názov na RxNorm koncept a získa FDA štítok. Bol spustený proti lokálnej inštancii platformy a živým RxNorm a openFDA API.

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

Výstup pre pacienta, ktorý hlásil metformín a enalapril:

{"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}}

Čo sme sa naučili pri jeho spustení. Pri názve napísanom ako "Enalapril 10 mg tablet", RxNorm aproximatívne zhodnotenie vrátilo RXCUI 328290, koncept, ktorý RxNorm už nepopisuje, bez štítku. S plným klinickým názvom "enalapril maleate 10 mg oral tablet" vrátil 858817, aktuálny klinický liek so štítkom. Názvy zadané ľuďmi sú aproximatívne; skontrolujte, na čo sa zhodnotenie rozlíši, uložte kód po jeho potvrdení a ukážte osobe, čo bolo zhodnotené.

Pravidlá pre AI agentov

  1. Nikdy nedovoľte modelu poskytovať informácie o liekoch z pamäte. Poskytnite mu zoznam pacienta zo záznamu a relevantný text z autoritatívneho zdroja a požiadajte ho, aby ich citoval.
  2. Udržujte oba zdroje viditeľné. "Užívate metformín (váš záznam, zadaný vami 3. marca)" a "štítok FDA varuje pred laktátovou acidózou (štítok nastavený na 011de1a5…)" sú odlišné tvrdenia s odlišnými vlastníkmi.
  3. Zúžte rozsahy. Agent, ktorý potrebuje iba zoznam liekov, by mal mať prístup na čítanie k MedicationStatement, nie k celému záznamu. S Anpherosom je to rozsah súhlasu alebo nástroje na čítanie iba v rámci MCP servera.
  4. Neodpovedajte na to, čo vyžaduje lekár. Interakcie, zmeny dávkovania a ukončenie užívania lieku patria lekárnikovi alebo lekárovi; agent môže pripraviť otázku.

Kam Anpheros zapadá

Anpheros ukladá zoznam liekov: MedicationStatement a MedicationAdministration s ATC alebo inými kódmi, kto zaznamenal každú položku, históriu a súhlas pre iné aplikácie; API kontextu zahŕňa aktívne lieky v súhrne, ktorý pripravuje pre model, a MCP server ich sprístupňuje agentom iba na čítanie. Obsahuje malú podmnožinu ATC (asi 50 bežných liekov) na automatické pomenovanie kódov; akýkoľvek iný kód je akceptovaný bez automatického názvu.

Nie je to databáza liekov: neposkytuje príbalové letáky, interakcie, dávkovanie ani kontraindikácie a dnes nepodporuje zdroje MedicationRequest ani Medication.

Často kladené otázky

Ktorý FHIR zdroj by mal byť použitý pre zoznam liekov?

MedicationStatement pre to, čo osoba užíva alebo užívala, vrátane liekov nahlásených pacientom. Predpisy sú MedicationRequest; jednotlivé dávky sú MedicationAdministration.

Existuje bezplatné API pre databázu liekov?

V USA sú RxNorm (NLM) pre identifikátory a názvy liekov a openFDA pre oficiálne produktové štítky bezplatné. V Európe EMA a národné agentúry zverejňujú informácie o produktoch. Komplexná kontrola interakcií vo všeobecnosti vyžaduje licencovanú znalostnú bázu.

Ako by mal AI agent získať informácie o liekoch?

Z dvoch nástrojov: jeden, ktorý si prečíta zoznam liekov pacienta z jeho záznamu so súhlasom, a jeden, ktorý vyhľadá autoritatívny zdroj liekov. Agent by mal citovať oba a klinické rozhodnutia nechať na profesionála.

Kontroluje Anpheros interakcie liekov?

Nie. Ukladá, čo osoba užíva, s uvedením pôvodu a súhlasu. Kontrola interakcií patrí k zdroju znalostí o liekoch a ku klinickému lekárovi.

Súvisiace

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