AnpherosAnpheros PlatformDevelopers

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

ऐप्स और AI एजेंट के लिए दवा डेटा

पेशेंट की दवा सूची बनाम दवा ज्ञान: FHIR संसाधन, RxNorm, ATC, openFDA और EMA स्रोत, और FHIR रिकॉर्ड का RxNorm और FDA लेबल के साथ एक टेस्टेड जॉइन।

स्वास्थ्य सेवा सॉफ्टवेयर को दो अलग-अलग प्रकार के दवा डेटा की आवश्यकता होती है: रोगी की दवा सूची - यह व्यक्ति क्या लेता है, कब से, किस खुराक पर, किसने इसे दर्ज किया - और दवा ज्ञान - उत्पाद में क्या शामिल है, उसका आधिकारिक लेबल, चेतावनियाँ और इंटरैक्शन। पहला रोगी के रिकॉर्ड में आता है; दूसरा आधिकारिक दवा डेटाबेस से आता है। उन्हें मिलाने से AI एजेंट मॉडल मेमोरी से दवा तथ्यों को बताते हैं। यह पृष्ठ दोनों की व्याख्या करता है, शामिल FHIR R4 संसाधन और कोड सिस्टम, अमेरिका और यूरोपीय संघ में कौन से सार्वजनिक स्रोत मौजूद हैं, और एक कार्यशील उदाहरण जो FHIR रिकॉर्ड से रोगी की सूची को RxNorm और FDA लेबल के साथ जोड़ता है।

दो तरह का दवा डेटा

मरीज़ की दवा सूची दवा ज्ञान
उत्तर एना क्या लेती है, कब से, कितनी बार? मेटफॉर्मिन 500 मिलीग्राम क्या है, इसके लेबल पर क्या चेतावनी दी गई है?
परिवर्तन जब मरीज़ या कोई चिकित्सक इसे अपडेट करता है जब कोई नियामक या प्रकाशक इसे अपडेट करता है
कहाँ रहता है मरीज़ का रिकॉर्ड (EHR, PHR, FHIR सर्वर) दवा डेटाबेस और शब्दावली
FHIR MedicationStatement, MedicationRequest, MedicationAdministration, Medication ज़्यादातर रिकॉर्ड के बाहर; उत्पाद की जानकारी स्वयं FHIR हो सकती है
कौन पढ़ सकता है केवल मरीज़ की सहमति से सार्वजनिक या लाइसेंस प्राप्त

एक ऐप या एजेंट जो "क्या मैं इबुप्रोफेन को अपनी ब्लड प्रेशर की दवा के साथ ले सकता हूँ?" का जवाब देता है, उसे दोनों की आवश्यकता होती है: मरीज़ की सूची यह जानने के लिए कि कौन सी दवा लेनी है, और दवा ज्ञान का स्रोत यह जानने के लिए कि संयोजन के बारे में क्या ज्ञात है — साथ ही जवाब के लिए एक चिकित्सक या फार्मासिस्ट।

दवा सूची के लिए FHIR संसाधन

दवा को कोडित किया गया है: अमेरिका में RxNorm (नेशनल लाइब्रेरी ऑफ मेडिसिन से) और NDC उत्पाद कोड के साथ; अंतरराष्ट्रीय स्तर पर WHO ATC वर्गीकरण के साथ; यूरोप में राष्ट्रीय उत्पाद कोड और, तेजी से, EMA की FHIR-आधारित इलेक्ट्रॉनिक उत्पाद जानकारी के साथ भी। एक स्टेटमेंट एक ही दवा के लिए कई कोडिंग ले जा सकता है।

दवा ज्ञान स्रोत

संयुक्त राज्य अमेरिका

यूरोपीय संघ

इंटरैक्शन सबसे कठिन हिस्सा हैं। NLM ने जनवरी 2024 के आसपास अपने दवा-दवा इंटरैक्शन API को सेवानिवृत्त कर दिया, और आज व्यापक इंटरैक्शन चेकिंग लाइसेंस प्राप्त नैदानिक ज्ञान आधारों पर निर्भर करती है। एक लेबल का इंटरैक्शन अनुभाग चिकित्सकों के लिए लिखा गया पाठ है, न कि एक चेकर।

दवा ज्ञान के साथ रिकॉर्ड को जोड़ना

यह उदाहरण Anpheros से रोगी की सक्रिय दवाओं को पढ़ता है, प्रत्येक नाम को RxNorm अवधारणा में हल करता है और FDA लेबल प्राप्त करता है। इसे प्लेटफ़ॉर्म के स्थानीय इंस्टेंस और लाइव RxNorm और 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 }));
}

उन रोगियों के लिए आउटपुट जिन्होंने मेटफॉर्मिन और एनालाप्रिल की सूचना दी:

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

इसे चलाते समय हमने क्या सीखा। जब नाम "Enalapril 10 mg tablet" के रूप में लिखा गया था, तो RxNorm के अनुमानित मिलान ने RXCUI 328290 लौटाया, एक ऐसी अवधारणा जिसे RxNorm अब वर्णित नहीं करता है, जिसके पीछे कोई लेबल नहीं था। पूर्ण नैदानिक नाम, "enalapril maleate 10 mg oral tablet" के साथ, इसने 858817 लौटाया, जो एक वर्तमान नैदानिक दवा है जिसके साथ एक लेबल है। लोगों द्वारा टाइप किए गए नाम अनुमानित होते हैं; जांचें कि मिलान किस पर हल होता है, एक बार कोड की पुष्टि हो जाने पर उसे स्टोर करें, और व्यक्ति को दिखाएं कि क्या मिलान किया गया था।

AI एजेंटों के लिए नियम

  1. मॉडल को कभी भी अपनी याददाश्त से दवा की जानकारी न देने दें। इसे रिकॉर्ड से रोगी की सूची और एक आधिकारिक स्रोत से प्रासंगिक पाठ दें, और इसे उद्धृत करने के लिए कहें।
  2. दोनों स्रोतों को दृश्यमान रखें। "आप मेटफॉर्मिन लेते हैं (आपका रिकॉर्ड, आपके द्वारा 3 मार्च को दर्ज किया गया)" और "FDA लेबल लैक्टिक एसिडोसिस के बारे में चेतावनी देता है (लेबल सेट 011de1a5…)" अलग-अलग दावे हैं जिनके अलग-अलग मालिक हैं।
  3. दायरे को सीमित करें। एक एजेंट जिसे केवल दवा सूची की आवश्यकता है, उसे पूरे रिकॉर्ड के बजाय MedicationStatement तक पढ़ने की पहुँच मिलनी चाहिए। Anpheros के साथ यह एक सहमति दायरा है या MCP सर्वर के केवल-पढ़ने वाले उपकरण हैं।
  4. उन सवालों का जवाब न दें जिनके लिए एक चिकित्सक की आवश्यकता होती है। इंटरैक्शन, खुराक परिवर्तन और दवा बंद करना एक फार्मासिस्ट या डॉक्टर को जाता है; एजेंट प्रश्न तैयार कर सकता है।

Anpheros कहाँ फिट बैठता है

Anpheros दवा सूची को संग्रहीत करता है: MedicationStatement और MedicationAdministration ATC या अन्य कोड के साथ, किसने प्रत्येक आइटम रिकॉर्ड किया, इतिहास, और अन्य ऐप्स के लिए सहमति; संदर्भ API मॉडल के लिए तैयार सारांश में सक्रिय दवाओं को शामिल करता है, और MCP सर्वर उन्हें एजेंटों को केवल-पढ़ने के लिए उजागर करता है। यह स्वचालित रूप से कोड का नामकरण करने के लिए एक छोटा ATC सबसेट (लगभग 50 सामान्य दवाएं) बंडल करता है; कोई अन्य कोड स्वीकार किया जाता है, बिना स्वचालित नाम के।

यह दवा डेटाबेस नहीं है: यह लेबल, इंटरैक्शन, खुराक या मतभेद प्रदान नहीं करता है, और यह आज MedicationRequest या Medication संसाधनों का समर्थन नहीं करता है।

अक्सर पूछे जाने वाले प्रश्न

दवा सूची के लिए कौन सा FHIR संसाधन इस्तेमाल किया जाना चाहिए?

MedicationStatement किसी व्यक्ति द्वारा ली जाने वाली या ली गई दवाओं के लिए, जिसमें रोगी द्वारा बताई गई दवाएं भी शामिल हैं। प्रिस्क्रिप्शन MedicationRequest हैं; व्यक्तिगत खुराकें MedicationAdministration हैं।

क्या कोई मुफ्त दवा डेटाबेस API उपलब्ध है?

अमेरिका में, दवा पहचानकर्ताओं और नामों के लिए RxNorm (NLM), और आधिकारिक उत्पाद लेबल के लिए openFDA, मुफ्त हैं। यूरोप में, EMA और राष्ट्रीय एजेंसियां उत्पाद जानकारी प्रकाशित करती हैं। व्यापक इंटरैक्शन जाँच के लिए आम तौर पर एक लाइसेंस प्राप्त ज्ञान आधार की आवश्यकता होती है।

AI एजेंट को दवा की जानकारी कैसे मिलनी चाहिए?

दो टूल से: एक जो सहमति से रोगी के रिकॉर्ड से रोगी की दवा सूची पढ़ता है, और एक जो एक आधिकारिक दवा स्रोत की जाँच करता है। एजेंट को दोनों का हवाला देना चाहिए और नैदानिक निर्णय एक पेशेवर पर छोड़ देना चाहिए।

क्या Anpheros दवा इंटरैक्शन की जाँच करता है?

नहीं। यह संग्रहीत करता है कि कोई व्यक्ति क्या लेता है, उत्पत्ति और सहमति के साथ। इंटरैक्शन जाँच एक दवा ज्ञान स्रोत और एक चिकित्सक से संबंधित है।

संबंधित

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