# Gyógyszeradatok alkalmazásokhoz és AI-ügynökökhöz

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

Source: https://developers.anpheros.com/hu/guides/medication-data-ai-agents

**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

- **MedicationStatement:** a személy szedi, szedett vagy abbahagyott egy gyógyszert (beteg által jelentett vagy klinikus által rögzített). A szokásos erőforrás PHR vagy egyeztetési listához.
- **MedicationRequest:** egy recept vagy rendelés.
- **MedicationAdministration:** egy adag beadva vagy bevéve (vagy kihagyva), hasznos a betartás szempontjából.
- **Medication:** maga a termék, ha a kódnál több részletre van szükség (összetevők, forma, tétel).

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**

- [RxNorm API](https://lhncbc.nlm.nih.gov/RxNav/APIs/RxNormAPIs.html) (NLM): normalizált nevek és azonosítók (RXCUI) klinikai gyógyszerekhez; ingyenes, és egy kivétellel nem igényel licencet.
- [openFDA drug label API](https://open.fda.gov/apis/drug/label/) (FDA): a strukturált termékcímkék — indikációk, dobozolt figyelmeztetések, ellenjavallatok, gyógyszerkölcsönhatások szekciók — RXCUI alapján kereshetők.
- DailyMed (NLM): ugyanazok a címkék emberek számára olvasható formában.

**Európai Unió**

- Az Európai Gyógyszerügynökség teszi közzé a központilag engedélyezett gyógyszerek termékinformációit, és az elektronikus termékinformációja (ePI) FHIR alapú. A nemzeti engedéllyel rendelkező termékek nemzeti nyilvántartásokban találhatók.
- Az ATC kódokat és a meghatározott napi adagokat a WHO Gyógyszerstatisztikai Módszertani Együttműködő Központja tartja karban.

**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.

```ts
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](https://developers.anpheros.com/hu/guides/ai-healthcare) tartalmazza az aktív gyógyszereket az összefoglalóban, amelyet egy modell számára készít, és az [MCP szerver](https://developers.anpheros.com/hu/guides/mcp) 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ó

- [AI ügynökök és orvosi adatok](https://developers.anpheros.com/hu/guides/ai-agents-medical-data)
- [Hogyan adjunk hozzáférést egy AI ügynöknek orvosi nyilvántartásokhoz](https://developers.anpheros.com/hu/guides/ai-agent-access-medical-records)
- [FHIR MCP szerver AI ügynökök számára](https://developers.anpheros.com/hu/guides/mcp)
- [FHIR kódrendszerek](https://developers.anpheros.com/hu/guides/fhir-code-systems)
- [FHIR R4 MedicationStatement példa](https://developers.anpheros.com/tools/fhir-examples/medication-statement)
