Για προγραμματιστές

Δεδομένα φαρμάκων για AI agents: πώς να κωδικοποιείτε φάρμακα με ATC και να τα αποθηκεύετε σε FHIR ώστε ένα μοντέλο να μπορεί να τα χρησιμοποιήσει

Πώς οι προγραμματιστές πρέπει να επιλέγουν μια βάση δεδομένων φαρμάκων για έναν AI agent: τι προσφέρουν οι κωδικοί ATC, τι καλύπτει ένα συνδυασμένο υποσύνολο ορολογίας και τι όχι (χωρίς αλληλεπιδράσεις), πώς δομούνται τα MedicationStatement και MedicationAdministration, και πώς ένας agent διαβάζει και προτείνει φάρμακα μέσω της πλατφόρμας Anpheros.

από Δημοσιεύτηκε 4 λεπτά ανάγνωσης

Ένας πράκτορας Τεχνητής Νοημοσύνης που διαβάζει "Nolvadex 20 mg το πρωί" πρέπει να γνωρίζει ότι πρόκειται για ταμοξιφαίνη, ένα αντιοιστρογόνο, ATC L02BA01, και ότι πρόκειται για ημερήσια από του στόματος δόση, όχι εφάπαξ. Από πού προέρχεται αυτή η γνώση και πώς αποθηκεύεται η φαρμακευτική αγωγή ώστε το επόμενο σύστημα να την διαβάζει με τον ίδιο τρόπο, είναι το πραγματικό ερώτημα πίσω από το "ποια βάση δεδομένων φαρμάκων να χρησιμοποιήσω". Αυτός ο οδηγός απαντά για την Πλατφόρμα Anpheros και είναι ειλικρινής σχετικά με το τι παρέχει η πλατφόρμα και τι όχι.

Τεχνική έκδοση για προγραμματιστές: Δεδομένα φαρμάκων για πράκτορες Τεχνητής Νοημοσύνης · Συστήματα κωδικοποίησης FHIR στο developers.anpheros.com, με αιτήματα, αποκρίσεις και όρια. Αυτή η σελίδα είναι η έκδοση απλής γλώσσας.

Πρώτα οι κωδικοί: ATC

Η ταξινόμηση Anatomical Therapeutic Chemical του ΠΟΥ δίνει σε κάθε δραστική ουσία έναν κωδικό οργανωμένο με βάση το τι δρα και τι κάνει: C09AA02 είναι η εναλαπρίλη (C καρδιαγγειακό, C09 ρενίνη-αγγειοτενσίνη, C09AA αναστολείς ACE). Το ATC είναι δωρεάν, διεθνές και σταθερό, γι' αυτό η Anpheros κωδικοποιεί κάθε φάρμακο με αυτό. Το όνομα του προϊόντος παραμένει στο code.text, οπότε το άτομο εξακολουθεί να βλέπει "Nolvadex" και ο πράκτορας βλέπει L02BA01.

Τι δεν σας δίνει το ATC: μορφές δοσολογίας, μεγέθη συσκευασιών, εθνικούς αναγνωριστικούς κωδικούς προϊόντων, τιμές ή αλληλεπιδράσεις. Αυτά είναι ειδικά για κάθε χώρα και συχνά αδειοδοτημένα. Ένας πράκτορας που τα χρειάζεται χρειάζεται μια δεύτερη πηγή.

Τι παρέχει η πλατφόρμα

  • Ένα συνδυασμένο υποσύνολο ATC για αναζήτηση, επαρκές για τα φάρμακα που λαμβάνουν πραγματικά οι άνθρωποι στην Ευρώπη, με ονόματα εμφάνισης, αναζητήσιμο στο GET /v1/terminology/atc?q= και κατά κωδικό στο GET /v1/terminology/atc/{code}. Το ίδιο υποσύνολο υποστηρίζει το εργαλείο MCP lookup_code. Ένας κωδικός εκτός του υποσυνόλου μπορεί ακόμα να χρησιμοποιηθεί σε έναν πόρο. η αναζήτηση απλά δεν έχει εμφάνιση για αυτόν.
  • Ένα συνδυασμένο υποσύνολο LOINC για μετρήσεις και εργαστηριακά αποτελέσματα, με τα ίδια τελικά σημεία κάτω από το /v1/terminology/loinc.
  • Πόροι FHIR με τη σωστή μορφή: MedicationStatement για το σχέδιο θεραπείας (τι παίρνει το άτομο, από πότε, πόσο συχνά), MedicationAdministration για κάθε δόση που λαμβάνεται, συνδεδεμένη με τη δήλωσή του, Immunization με κωδικούς εμβολίων ATC J07, και AllergyIntolerance με ATC για αλλεργίες σε φάρμακα.

Τι δεν παρέχει η πλατφόρμα: μια πλήρη βάση δεδομένων φαρμάκων, έλεγχο αλληλεπιδράσεων, έλεγχο εύρους δόσης ή υποστήριξη κλινικών αποφάσεων. Αυτά είναι σκόπιμα εξωτερικά, επειδή θα καθιστούσαν την πλατφόρμα ιατρική συσκευή. Εάν ο πράκτοράς σας τα χρειάζεται, χρησιμοποιήστε μια αδειοδοτημένη υπηρεσία και κρατήστε την πλατφόρμα ως αρχείο.

Πώς ένας πράκτορας διαβάζει φάρμακα

Το API περιβάλλοντος επιστρέφει ενεργά φάρμακα με τον κωδικό ATC, το κείμενο, τη δοσολογία και την προέλευση (ποιος το εισήγαγε: ο ασθενής, ένας επαγγελματίας υγείας, μια εισαγωγή), εντός ενός προϋπολογισμού διακριτικών, έτσι ώστε το μοντέλο να βλέπει μια καθαρή λίστα αντί για ένα σωρό πόρων. Μέσω του MCP, το ίδιο είναι get_patient_context, και το search_fhir με MedicationStatement?patient=…&status=active δίνει τους ακατέργαστους πόρους.

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

Πώς ένας πράκτορας γράφει φάρμακα

Δεν γράφει, προτείνει. Μια MedicationStatement που αποστέλλεται από μια εφαρμογή εγγεγραμμένη ως πράκτορας Τεχνητής Νοημοσύνης, με τη συγκατάθεση του ατόμου, επικυρώνεται και διατηρείται ως πρόταση. Το άτομο βλέπει "Ο Βοηθός X θέλει να προσθέσει ταμοξιφαίνη 20 mg ημερησίως", αποδέχεται ή απορρίπτει, και μόνο μια αποδεκτή πρόταση εισέρχεται στο αρχείο, σημειωμένη ως γραμμένη από ΤΝ. Ο πράκτορας πρέπει να στείλει τον κωδικό ATC όταν είναι βέβαιος, και το όνομα του προϊόντος στο code.text πάντα. ένα κείμενο αναγνώσιμο από άνθρωπο χωρίς κωδικό εξακολουθεί να γίνεται δεκτό και μπορεί να κωδικοποιηθεί αργότερα.

Πριν από την αποστολή, το validate_fhir_resource (ή POST /fhir/R4/MedicationStatement/$validate) ενημερώνει τον πράκτορα εάν ο πόρος είναι σωστά διαμορφωμένος, έτσι ώστε το άτομο να μην του ζητείται ποτέ να εγκρίνει κάτι εσφαλμένο.

Επιλογή δεύτερης πηγής, αν χρειάζεστε

Εάν ο πράκτορας πρέπει να απαντήσει "αλληλεπιδρά αυτό με εκείνο;", επιλέξτε μια πηγή ανά χώρα (τα δεδομένα αλληλεπιδράσεων και οι αναγνωριστικοί κωδικοί προϊόντων διαφέρουν) και ανά άδεια (οι περισσότερες είναι εμπορικές). Κρατήστε το αποτέλεσμα ως δική σας σχολιασμό, όχι ως πόρο στο αρχείο του ατόμου, εκτός αν ένας κλινικός γιατρός το επιβεβαιώσει. Το αρχείο πρέπει να φέρει αυτό που λήφθηκε. το επίπεδο συμβουλών είναι δικό σας.

Συχνές ερωτήσεις

Έχει η Anpheros μια πλήρη βάση δεδομένων φαρμάκων;

Όχι. Έχει ένα συνδυασμένο υποσύνολο ATC για κωδικοποίηση και αναζήτηση, και αποθηκεύει φάρμακα ως πόρους FHIR με κωδικούς ATC. Οι αλληλεπιδράσεις, οι έλεγχοι δόσης και οι εθνικοί κατάλογοι προϊόντων δεν περιλαμβάνονται.

Γιατί ATC αντί για RxNorm ή εθνική λίστα;

Το ATC είναι διεθνές και δωρεάν, κάτι που έχει σημασία για ένα αρχείο που ακολουθεί ένα άτομο πέρα από τα σύνορα. Το RxNorm είναι εστιασμένο στις ΗΠΑ. οι εθνικές λίστες σταματούν στα σύνορα. Μια εφαρμογή μπορεί να προσθέσει μια δεύτερη κωδικοποίηση (για παράδειγμα έναν εθνικό κωδικό προϊόντος) δίπλα στον κωδικό ATC στον ίδιο πόρο.

Μπορεί ένας πράκτορας να προσθέσει ένα φάρμακο στο αρχείο ενός ατόμου;

Μόνο ως πρόταση που το άτομο εγκρίνει. Τίποτα που στέλνει ένας πράκτορας ΤΝ δεν εφαρμόζεται χωρίς αυτήν την έγκριση.

Πώς ξέρει ο πράκτορας ποιος εισήγαγε ένα φάρμακο;

Κάθε στοιχείο στο API περιβάλλοντος φέρει author_type και μια πηγή, και κάθε πόρος έχει μια Προέλευση (Provenance). Ένα φάρμακο που εισήχθη από έναν επαγγελματία υγείας και ένα που πληκτρολογήθηκε από τον ασθενή φαίνονται διαφορετικά στο μοντέλο, που είναι και το ζητούμενο.

Υπάρχει δωρεάν τρόπος να το δοκιμάσω;

Ναι: το sandbox είναι δωρεάν και οι 30 συνθετικοί ασθενείς του έχουν ρεαλιστικά φάρμακα κωδικοποιημένα με ATC. Δείτε Δωρεάν FHIR server: το sandbox.

Αυτός ο οδηγός παρέχεται για ενημερωτικούς σκοπούς και δεν αντικαθιστά την ιατρική συμβουλή. Για αποφάσεις σχετικά με την υγεία σας, μιλήστε με τον γιατρό σας. Σε περίπτωση έκτακτης ανάγκης, καλέστε το 112.
Σχετικά με τον συγγραφέα
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.

Περισσότερα για το Anpheros και τον συγγραφέα →

Κρατήστε τον ιατρικό σας φάκελο μαζί σας

Το Anpheros Daily κρατά συμπτώματα, εργαστηριακές εξετάσεις, φάρμακα και έγγραφα σε ένα μέρος, σε τυποποιημένη μορφή, υπό τον έλεγχό σας. Το Basic πλάνο είναι δωρεάν.

Αποκτήστε το Anpheros Daily