Pro vývojáře

Data o lécích pro AI agenty: jak kódovat léky pomocí ATC a ukládat je ve FHIR, aby je model mohl použít

Jak by si vývojáři měli vybrat databázi léků pro AI agenta: co vám dávají ATC kódy, co pokrývá a co nepokrývá balíček terminologie (žádné interakce), jak jsou strukturovány MedicationStatement a MedicationAdministration a jak agent čte a navrhuje léky prostřednictvím platformy Anpheros.

od Publikováno Přečteno za 4 min

AI agent, který přečte "Nolvadex 20 mg ráno", musí vědět, že se jedná o tamoxifen, antiestrogen, ATC L02BA01, a že se jedná o denní perorální dávku, nikoli jednorázovou. Odkud tato znalost pochází a jak jsou léky uloženy, aby je další systém četl stejně, je skutečná otázka za "kterou databázi léků bych měl použít". Tento průvodce na ni odpovídá pro platformu Anpheros a je upřímný ohledně toho, co platforma poskytuje a co ne.

Technická verze pro vývojáře: Data o lécích pro AI agenty · Kódové systémy FHIR na developers.anpheros.com, s požadavky, odpověďmi a limity. Tato stránka je verze v běžném jazyce.

Nejprve kódy: ATC

Anatomicko-terapeuticko-chemická klasifikace WHO přiřazuje každé účinné látce kód organizovaný podle toho, na co působí a co dělá: C09AA02 je enalapril (C kardiovaskulární, C09 renin-angiotensin, C09AA ACE inhibitory). ATC je zdarma, mezinárodní a stabilní, proto Anpheros každý lék kóduje pomocí něj. Název produktu zůstává v code.text, takže osoba stále vidí "Nolvadex" a agent vidí L02BA01.

Co ATC neposkytuje: lékové formy, velikosti balení, národní identifikační čísla produktů, ceny ani interakce. Ty jsou specifické pro danou zemi a často licencované. Agent, který je potřebuje, potřebuje druhý zdroj.

Co platforma poskytuje

  • Seskupený podsoubor ATC pro vyhledávání, dostatečný pro léky, které lidé v Evropě skutečně užívají, s zobrazovanými názvy, vyhledávatelný na GET /v1/terminology/atc?q= a podle kódu na GET /v1/terminology/atc/{code}. Stejný podsoubor podporuje nástroj MCP lookup_code. Kód mimo podsoubor může být stále použit na zdroji; vyhledávání pro něj jednoduše nemá zobrazení.
  • Seskupený podsoubor LOINC pro měření a laboratorní výsledky, se stejnými koncovými body pod /v1/terminology/loinc.
  • Zdroje FHIR se správným tvarem: MedicationStatement pro léčebný plán (co osoba užívá, od kdy, jak často), MedicationAdministration pro každou podanou dávku, propojenou s jejím prohlášením, Immunization s kódy vakcín ATC J07 a AllergyIntolerance s ATC pro alergie na léky.

Co platforma neposkytuje: kompletní databázi léků, kontrolu interakcí, kontrolu rozmezí dávek ani podporu klinického rozhodování. Ty jsou záměrně mimo, protože by z platformy udělaly zdravotnický prostředek. Pokud je váš agent potřebuje, použijte licencovanou službu a platformu ponechte jako záznam.

Jak agent čte léky

Kontextové API vrací aktivní léky s jejich kódem ATC, textem, dávkováním a původem (kdo je zadal: pacient, lékař, import), v rámci rozpočtu tokenů, takže model vidí čistý seznam namísto hromady zdrojů. Přes MCP je to stejné jako get_patient_context a search_fhir s MedicationStatement?patient=…&status=active vrací surové zdroje.

curl "$BASE/v1/patients/$PID/medications?status=active" -H "Authorization: Bearer $TOKEN"

Jak agent píše léky

Nepíše; navrhuje. MedicationStatement odeslaná aplikací registrovanou jako AI agent, se souhlasem osoby, je ověřena a držena jako návrh. Osoba vidí "Asistent X chce přidat tamoxifen 20 mg denně", přijme nebo odmítne a teprve schválený návrh vstoupí do záznamu, označený jako napsaný AI. Agent by měl poslat kód ATC, pokud si je jistý, a vždy název produktu v code.text; text čitelný pro člověka bez kódu je stále přijatelný a může být kódován později.

Před odesláním validate_fhir_resource (nebo POST /fhir/R4/MedicationStatement/$validate) sdělí agentovi, zda je zdroj dobře formovaný, takže osoba není nikdy požádána o schválení něčeho špatně formovaného.

Výběr druhého zdroje, pokud jej potřebujete

Pokud musí agent odpovědět "interaguje toto s tím", vyberte zdroj podle země (údaje o interakcích a identifikační čísla produktů se liší) a podle licence (většina je komerčních). Výsledek si ponechte jako vlastní anotaci, nikoli jako zdroj v záznamu osoby, pokud jej nepotvrdí lékař. Záznam by měl obsahovat to, co bylo užito; vrstva poradenství je vaše.

Časté otázky

Má Anpheros plnou databázi léků?

Ne. Má seskupený podsoubor ATC pro kódování a vyhledávání a ukládá léky jako zdroje FHIR s kódy ATC. Interakce, kontroly dávek a národní katalogy produktů nejsou zahrnuty.

Proč ATC spíše než RxNorm nebo národní seznam?

ATC je mezinárodní a zdarma, což je důležité pro záznam, který sleduje osobu přes hranice. RxNorm je zaměřen na USA; národní seznamy končí na hranici. Aplikace může přidat druhé kódování (například národní kód produktu) vedle kódu ATC na stejném zdroji.

Může agent přidat lék do záznamu osoby?

Pouze jako návrh, který osoba schválí. Nic, co AI agent odešle, není aplikováno bez tohoto schválení.

Jak agent ví, kdo zadal lék?

Každá položka v kontextovém API nese author_type a zdroj, a každý zdroj má Provenance. Lék zadaný lékařem a lék zadaný pacientem vypadají pro model odlišně, což je účel.

Existuje bezplatný způsob, jak to vyzkoušet?

Ano: sandbox je zdarma a jeho 30 syntetických pacientů má realistické léky s kódy ATC. Viz Bezplatný FHIR server: sandbox.

Tento návod slouží pouze pro informační účely a nenahrazuje lékařskou radu. Ohledně rozhodnutí o svém zdraví se poraďte se svým lékařem. V případě nouze volejte 112.
O autorovi
Adrian Kereky

Founder of Anpheros. An electronics engineer, he spent six years in autonomous driving, on automotive projects run in partnership with Samsung and NVIDIA, designing the architecture of driver-assistance and AI systems that run on NVIDIA chips with CUDA. He then built Anpheros: the patient-controlled medical record and the HL7 FHIR R4 platform it runs on.

Více o Anpheros a autorovi →

Mějte svůj zdravotní záznam stále u sebe

Anpheros Daily uchovává příznaky, výsledky testů, léky a dokumenty na jednom místě, ve standardním formátu, pod vaší kontrolou. Základní plán je zdarma.

Získat Anpheros Daily