Per sviluppatori

Dati sui farmaci per agenti AI: come codificare i farmaci con ATC e memorizzarli in FHIR affinché un modello possa utilizzarli

Come gli sviluppatori dovrebbero scegliere un database di farmaci per un agente AI: cosa offrono i codici ATC, cosa copre un sottoinsieme di terminologia raggruppata e cosa non copre (nessuna interazione), come sono strutturati MedicationStatement e MedicationAdministration, e come un agente legge e propone farmaci tramite la Piattaforma Anpheros.

di Pubblicato 4 min di lettura

Un agente AI che legge "Nolvadex 20 mg al mattino" deve sapere che si tratta di tamoxifene, un antiestrogeno, ATC L02BA01, e che si tratta di una dose orale giornaliera, non una tantum. Da dove provengono queste informazioni e come vengono archiviati i farmaci in modo che il sistema successivo li legga allo stesso modo, è la vera domanda dietro "quale database di farmaci dovrei usare". Questa guida risponde per la Piattaforma Anpheros ed è onesta riguardo a ciò che la piattaforma fornisce e a ciò che non fornisce.

Versione tecnica per sviluppatori: Dati sui farmaci per agenti AI · Sistemi di codici FHIR su developers.anpheros.com, con richieste, risposte e limiti. Questa pagina è la versione in linguaggio semplice.

Codici prima: ATC

La classificazione Anatomica Terapeutica Chimica dell'OMS assegna a ogni sostanza attiva un codice organizzato in base a ciò su cui agisce e a ciò che fa: C09AA02 è enalapril (C cardiovascolare, C09 renina-angiotensina, C09AA ACE inibitori). L'ATC è gratuito, internazionale e stabile, motivo per cui Anpheros codifica ogni farmaco con esso. Il nome del prodotto rimane in code.text, in modo che la persona veda ancora "Nolvadex" e l'agente veda L02BA01.

Ciò che l'ATC non fornisce: forme di dosaggio, dimensioni delle confezioni, identificatori nazionali dei prodotti, prezzi o interazioni. Questi sono specifici per paese e spesso concessi in licenza. Un agente che ne ha bisogno necessita di una seconda fonte.

Cosa fornisce la piattaforma

  • Un sottoinsieme ATC raggruppato per la ricerca, sufficiente per i farmaci che le persone in Europa assumono effettivamente, con nomi visualizzati, ricercabile su GET /v1/terminology/atc?q= e per codice su GET /v1/terminology/atc/{code}. Lo stesso sottoinsieme supporta lo strumento MCP lookup_code. Un codice al di fuori del sottoinsieme può ancora essere utilizzato su una risorsa; la ricerca semplicemente non avrà una visualizzazione per esso.
  • Un sottoinsieme LOINC raggruppato per misurazioni e risultati di laboratorio, con gli stessi endpoint sotto /v1/terminology/loinc.
  • Risorse FHIR con la forma corretta: MedicationStatement per il piano di trattamento (cosa assume la persona, da quando, con quale frequenza), MedicationAdministration per ogni dose assunta, collegata alla sua dichiarazione, Immunization con codici vaccinali ATC J07 e AllergyIntolerance con ATC per allergie ai farmaci.

Ciò che la piattaforma non fornisce: un database completo di farmaci, controllo delle interazioni, controllo del range di dosaggio o supporto decisionale clinico. Questi sono deliberatamente esterni, perché renderebbero la piattaforma un dispositivo medico. Se il tuo agente ne ha bisogno, utilizza un servizio con licenza e mantieni la piattaforma come registro.

Come un agente legge i farmaci

L'API di contesto restituisce i farmaci attivi con il loro codice ATC, testo, dosaggio e provenienza (chi l'ha inserito: il paziente, un professionista, un'importazione), entro un budget di token, in modo che il modello veda un elenco pulito anziché un mucchio di risorse. Tramite MCP lo stesso è get_patient_context, e search_fhir con MedicationStatement?patient=…&status=active fornisce le risorse grezze.

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

Come un agente scrive farmaci

Non scrive, propone. Una MedicationStatement inviata da un'applicazione registrata come agente AI, sotto il consenso della persona, viene convalidata e conservata come proposta. La persona vede "L'assistente X vuole aggiungere tamoxifene 20 mg al giorno", accetta o rifiuta, e solo una proposta accettata entra nel registro, contrassegnata come scritta dall'AI. L'agente dovrebbe inviare il codice ATC quando è sicuro, e sempre il nome del prodotto in code.text; un testo leggibile dall'uomo senza codice è comunque accettato e può essere codificato in seguito.

Prima dell'invio, validate_fhir_resource (o POST /fhir/R4/MedicationStatement/$validate) comunica all'agente se la risorsa è ben formata, in modo che alla persona non venga mai chiesto di approvare qualcosa di malformato.

Scelta di una seconda fonte, se necessaria

Se l'agente deve rispondere "questo interagisce con quello", scegli una fonte per paese (i dati sulle interazioni e gli identificatori dei prodotti differiscono) e per licenza (la maggior parte sono commerciali). Conserva il risultato come tua annotazione, non come risorsa nel registro della persona, a meno che un medico non lo confermi. Il registro dovrebbe contenere ciò che è stato assunto; il livello di consulenza è tuo.

Domande frequenti

Anpheros ha un database completo di farmaci?

No. Ha un sottoinsieme ATC raggruppato per codifica e ricerca, e memorizza i farmaci come risorse FHIR con codici ATC. Le interazioni, i controlli del dosaggio e i cataloghi nazionali dei prodotti non sono inclusi.

Perché ATC piuttosto che RxNorm o un elenco nazionale?

L'ATC è internazionale e gratuito, il che è importante per un registro che segue una persona oltre i confini. RxNorm è incentrato sugli Stati Uniti; gli elenchi nazionali si fermano al confine. Un'applicazione può aggiungere una seconda codifica (ad esempio un codice prodotto nazionale) accanto a quella ATC sulla stessa risorsa.

Un agente può aggiungere un farmaco al registro di una persona?

Solo come proposta che la persona approva. Nulla inviato da un agente AI viene applicato senza tale approvazione.

Come fa l'agente a sapere chi ha inserito un farmaco?

Ogni elemento nell'API di contesto porta author_type e una sorgente, e ogni risorsa ha una Provenance. Un farmaco inserito da un professionista e uno digitato dal paziente appaiono diversi per il modello, che è il punto.

C'è un modo gratuito per provarlo?

Sì: il sandbox è gratuito e i suoi 30 pazienti sintetici hanno farmaci realistici codificati con ATC. Vedi Server FHIR gratuito: il sandbox.

Questa guida è informativa e non sostituisce il consulto medico. Per le decisioni sulla tua salute parla con il tuo medico. In emergenza chiama il 112.
Sull'autore
Adrian Kereky

Fondatore di Anpheros. Ingegnere elettronico, ha lavorato sei anni sulla guida autonoma, in progetti automobilistici svolti in partnership con Samsung e NVIDIA, sull’architettura dei sistemi di assistenza alla guida e di IA che girano su chip NVIDIA con CUDA. Poi ha costruito Anpheros: la cartella clinica controllata dal paziente e la piattaforma HL7 FHIR R4 su cui funziona.

Di più su Anpheros e sull'autore →

Tieni la tua cartella clinica con te

Anpheros Daily conserva sintomi, analisi, farmaci e documenti in un unico posto, in formato standard, sotto il tuo controllo. Il piano Basic è gratuito.

Scarica Anpheros Daily