mcpField
T
tooluniverse-drug-regulatory

tooluniverse-drug-regulatory

github.com/mims-harvardその他1.8k255 回インストール3 日前に更新
リポジトリ

tooluniverse-drug-regulatory について

医薬品規制調査向けの ToolUniverse スキルで、薬剤の識別、分類、承認、特許、ラベル、臨床試験を調べられます。FDA リソースなどの検索手順を整理し、市場ごとの最新状況を確認する指針も示します。

主な機能

  1. 01FDA 物質の識別
  2. 02薬剤分類と ATC の検索
  3. 03承認・ジェネリック状況の確認
  4. 04特許と独占期間の照会
  5. 05医薬品ラベルの構造化検索
  6. 06臨床試験の検索

活用シーン

  1. 01薬剤の規制情報プロファイルの作成
  2. 02ジェネリックの入手可能性と独占期間の確認
  3. 03用法や副作用ラベルの確認
  4. 04薬剤やバイオシミラーの試験検索

MCP 対応

FDA、DailyMed、RxClass、臨床試験データを照会する ToolUniverse ツールを挙げていますが、特定の MCP サーバーの接続や管理方法は記載していません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-drug-regulatory

インストール後、Claude Code で/tooluniverse-drug-regulatoryを入力して読み込まれたか確認します。

詳細

医薬品の規制情報調査

規制上のステータスは管轄地域によって異なります。 FDA の承認は EMA の承認と同じではありません。ユーザーが尋ねている市場を確認してください。ジェネリック医薬品が入手可能かどうかは、特許の有効期間満了と規制当局の承認の両方に依存します。特許が満了していても、ANDA がまだ申請または承認されていない場合があります。独占期間コード(NCE、ODE、PED)により、特許満了後もジェネリック医薬品の参入が阻止されることがあります。ジェネリック医薬品が参入できると判断する前に、必ず FDA_OrangeBook_get_exclusivity を確認してください。505(b)(2) NDA はジェネリック医薬品ではありません。独自の臨床データが必要で、独自の独占期間が適用されます。

推測せずに検索してください:NDA 番号、独占期間の日付、ATC コードを決して推測しないでください。必ず FDAGSRS、Orange Book、RxClass のツールを呼び出して最新データを取得してください。規制上のステータスは、新たな承認や有効期間の満了に伴って変わります。

医薬品の規制情報を調査します。FDA の物質を特定し、治療カテゴリーで医薬品を分類し、承認状況やジェネリック医薬品の状況を確認し、添付文書のセクションを取得し、臨床試験を検索します。

使用する場面

  • 「セマグルチドの FDA 規制上のステータスは?」
  • 「ヒュミラのジェネリック医薬品はありますか?」
  • 「メトホルミンはどの ATC 分類に属しますか?」
  • 「イブプロフェンの添付文書から副作用を取得して」
  • 「エリキュースの特許はいつ満了しますか?」
  • 「ACE 阻害薬クラスの医薬品をすべて列挙して」
  • 「アダリムマブのバイオシミラーに関する臨床試験を探して」

対象外(代わりに以下のスキルを使用)

  • 医薬品間相互作用 → tooluniverse-drug-drug-interaction を使用
  • 薬理ゲノミクス/遺伝子型に基づく投与量 → tooluniverse-pharmacogenomics を使用
  • 医薬品の作用機序/標的結合 → tooluniverse-drug-mechanism-research を使用
  • 医薬品の転用/新たな適応症 → tooluniverse-drug-repurposing を使用

ワークフローの概要

Input (drug name / brand name / UNII)
  |
  v
Phase 1: Substance Identification  -- FDAGSRS_search_substances, FDAGSRS_get_substance
  |
  v
Phase 2: Drug Classification       -- RxClass_get_drug_classes, RxClass_find_classes
  |
  v
Phase 3: Approval & Generic Status -- FDA_OrangeBook_search_drug, FDA_OrangeBook_check_generic_availability
  |
  v
Phase 4: Patent & Exclusivity      -- FDA_OrangeBook_get_patent_info, FDA_OrangeBook_get_exclusivity
  |
  v
Phase 5: Label Parsing             -- DailyMed_parse_adverse_reactions, DailyMed_parse_dosing, etc.
  |
  v
Phase 6: Clinical Trials           -- search_clinical_trials
  |
  v
Phase 7: Pharmacovigilance         -- FAERS_count_reactions_by_drug_event (param: medicinalproduct)
  |
  v
Phase 8: Literature & Approval     -- PubMed_search_articles, OpenFDA_get_approval_history, RxNorm_get_drug_names

補助ツール(主要フェーズには含まれませんが、役立つツールです):

  • OpenFDA_get_approval_history — FDA への申請/承認履歴全体(operation パラメーターが必要)
  • FAERS_count_reactions_by_drug_event — 報告件数が多い有害事象(パラメーター:medicinalproduct、すべて大文字)
  • RxNorm_get_drug_names — 医薬品を RXCUI およびブランド名に対応付け
  • drugbank_vocab_search — DrugBank ID、CAS、UNII の検索
  • PubMed_search_articles — 規制および臨床に関する文献

フェーズ 1:物質の特定(FDAGSRS)

FDAGSRS_search_substances:query(文字列、必須 -- 医薬品名、UNII、InChIKey、または化学式)、substance_class(文字列、任意:"chemical"/"protein"/"nucleic acid"/"polymer"/"mixture")、limit(整数、1~50、デフォルト 10)。 {status, data: [{uuid, unii, name, substanceClass, status, formula, smiles, synonyms, xrefs}], metadata: {query, total, returned, substance_class_filter}} を返します(data はリストです)。

  • xrefs(辞書型)には、物質の相互参照情報(DrugBank ID、ATC コード、CAS 番号など)が含まれます。
  • FDAGSRS_get_substance を呼び出す前に、公式の UNII 識別子を取得するために使用します。

FDAGSRS_get_substance:unii(文字列、必須、10 文字の FDA UNII コード)。 すべての同義語、名称、構造、相互参照情報を含む、物質の完全な記録を返します。

  • 登録済みの名称(INN、USAN、ブランド名、化学名)をすべて網羅した確定リストを提供します。

FDAGSRS_get_structure:unii(文字列、必須)。 {status, data: {smiles, formula, inchikey, molfile, molecular_weight, stereochemistry, optical_activity}} を返します。

  • 化学物質にのみ使用できます。生物製剤、混合物、ポリマーではエラーが返されます。
# Full substance lookup workflow
search = tu.tools.FDAGSRS_search_substances(query="semaglutide")
unii = search["data"][0]["unii"]
full = tu.tools.FDAGSRS_get_substance(unii=unii)

フェーズ 2:医薬品分類(RxClass)

RxClass_get_drug_classes:drug_name(文字列、医薬品名)、rxcui(文字列、RxNorm RXCUI — drug_nameの代替)、rela_source(文字列、任意:「ATC」/「FDASPL」/「MESH」/「VA」)、limit(整数、デフォルト 20)。 {status, data: [{classId, className, classType, rxcui, drugName, tty, rela, relaSource}], metadata}を返します(dataはリストです)。

  • rela_sourceで絞り込まない限り、すべての分類体系を返します。
  • class_typeの値:「ATC1-4」、「EPC」(FDAのEstablished Pharmacologic Class)、「MoA」、「VA」、「MESH」。
  • 医薬品のATCコード、薬理学的クラス、作用機序のラベルを調べるときに使用します。

RxClass_find_classes:query(文字列、必須。例:「beta blocker」)、class_type(文字列、任意:「ATC1-4」/「EPC」/「MoA」)、limit(整数、デフォルト 20)。 {status, data: [{classId, className, classType}]}を返します(リストです。classTypeには体系が表示されます:ATC1-4、EPC、MOA、DISPOS …)。

  • RxClass_get_class_membersを呼び出す前にクラスIDを調べる必要がある場合に使用します。

RxClass_get_class_members:class_id(文字列、必須。例:「M01AE」)、rela_source(文字列、任意:「ATC」/「FDASPL」)、ttys(文字列、任意。成分の場合は「IN」)、limit(整数、デフォルト 50)。 {status, data: [{rxcui, name, tty}]}を返します。

  • rela_sourceはクラスの体系と一致している必要があります。デフォルトのATCでは、ATCコード(例:A02BC)のメンバーのみが一覧表示されます。N0000175525などのEPC/MoAクラスIDの場合は、rela_source="DAILYMED"(または"FDASPL")を指定してください。デフォルトでは空のリストが返されます。
  • ttys="IN"を指定すると、有効成分レベルのエントリーに限定できます(推奨)。
# Find all proton pump inhibitors
classes = tu.tools.RxClass_find_classes(query="proton pump inhibitor", class_type="EPC")
class_id = classes["data"][0]["classId"]  # N0000175525 (EPC class)
members = tu.tools.RxClass_get_class_members(class_id=class_id, rela_source="DAILYMED", ttys="IN")

フェーズ 3:承認とジェネリック医薬品の状況(FDA Orange Book/Purple Book)

Orange Bookの対象は低分子医薬品です。生物製剤およびバイオシミラー(例:「アダリムマブのバイオシミラーはありますか」)は、FDAの別のリストに掲載されています。その場合はOrange Bookではなく、FDAPurpleBook_search_productsを使用してください。Orange Bookには掲載されていません。

FDA_OrangeBook_search_drug:brand_name(文字列)、generic_name(文字列)、application_number(文字列)、limit(整数、デフォルト 10)。 {status, data: {products: [{brand_name, generic_name, dosage_form, strength, te_code, application_number, approval_date}]}}を返します。

  • NDA/ANDA番号と承認情報を調べるには、ブランド名(大文字)または一般名を使用します。
  • te_code:治療学的同等性コード(例:「AB」=治療学的に同等)。

FDA_OrangeBook_check_generic_availability:brand_name(文字列)、generic_name(文字列)。 {status, data: {reference_listed_drug, generics_available: bool, generics_count, generic_products: [...]}}を返します。

  • 「ジェネリック医薬品はありますか」という質問に使用する主要なツールです。

FDA_OrangeBook_get_te_code:brand_name/application_number以外に特別なパラメーターはありません。 代替可能性の評価に使用する治療学的同等性コードを返します。

FDA_OrangeBook_get_approval_history:application_number(文字列。例:「NDA020402」)。 追加承認や添付文書の変更を含む、時系列の承認履歴を返します。

# Check generic availability
result = tu.tools.FDA_OrangeBook_check_generic_availability(brand_name="LIPITOR")
# result["data"]["generics_available"] -> True
# result["data"]["generics_count"] -> N

フェーズ 4:特許と独占権

FDA_OrangeBook_get_patent_info:application_number(文字列)、brand_name(文字列)。 特許情報を返します。注:特許番号の全桁と有効期限の確認には、Orange Bookのデータファイルが必要です。

FDA_OrangeBook_get_exclusivity:application_number(文字列)、brand_name(文字列)。 {status, data: {exclusivities: [{exclusivity_code, exclusivity_date, description}]}}を返します。

  • exclusivity_codeの値:「NCE」(新規化学物質、5年間)、「ODE」(希少疾病用医薬品、7年間)、「PED」(小児用医薬品、6か月)、「NP」(新製品)、「M」(新剤形)。

フェーズ 5:ラベル解析(DailyMed)

DailyMed のすべての解析ツールは、setid(SPL Set ID UUID)または drug_name(自動検索)のいずれかを受け付けます。 setid が不明な場合は、drug_name の使用をおすすめします。

DailyMed_parse_adverse_reactions:setid または drug_name。発現頻度と重症度を含む、副作用の構造化テーブルを返します。

DailyMed_parse_dosing:setid または drug_name。用法・用量のセクション(用量、スケジュール、腎機能・肝機能に応じた調整)を返します。

DailyMed_parse_contraindications:setid または drug_name。禁忌のセクションを返します。

DailyMed_parse_drug_interactions:setid または drug_name。臨床管理の指針を含む薬物相互作用のセクションを返します。

DailyMed_parse_clinical_pharmacology:setid または drug_name。PK/PD データ(Cmax、AUC、半減期、タンパク結合、代謝経路)を返します。

DailyMed_search_spls:drug_name(文字列)。その薬剤の SPL Set ID を返します。必要に応じて setid を検索するために使用します。

# Parse adverse reactions for apixaban
ae = tu.tools.DailyMed_parse_adverse_reactions(drug_name="apixaban")

フェーズ 6:臨床試験

search_clinical_trials:condition(文字列)、intervention(文字列)、query_term(文字列)、pageSize(整数、別名:max_results/limit)、overall_status(配列、別名:status)。 {status, data: {studies: [{NCT ID, brief_title, brief_summary, overall_status, phase}], total_count}} を返します。

  • 薬剤名には intervention、疾患には condition を使用します。
  • 登録中の試験に絞り込むには、overall_status=["RECRUITING"] を指定します。
  • 結果が存在する場合でも、total_count が None のことがあります。len(studies) > 0 を確認してください。
# Find recruiting trials for a biosimilar
trials = tu.tools.search_clinical_trials(
    intervention="adalimumab biosimilar",
    overall_status=["RECRUITING"],
    pageSize=10
)

ワークフローの例

ワークフロー 1:薬剤の規制情報を網羅したプロファイル
1. FDAGSRS_search_substances(query="apixaban")
   -> UNII, substance class, ATC/DrugBank cross-refs

2. RxClass_get_drug_classes(drug_name="apixaban", rela_source="ATC")
   -> ATC code B01AF02 (direct factor Xa inhibitor)

3. FDA_OrangeBook_search_drug(brand_name="ELIQUIS")
   -> NDA206518, approval date, TE code

4. FDA_OrangeBook_check_generic_availability(brand_name="ELIQUIS")
   -> Generic availability status

5. FDA_OrangeBook_get_exclusivity(brand_name="ELIQUIS")
   -> Exclusivity codes and expiration dates

6. DailyMed_parse_adverse_reactions(drug_name="apixaban")
   -> Bleeding rates and other AEs from label
ワークフロー 2:治療クラスに属するすべての薬剤の一覧
1. RxClass_find_classes(query="ACE inhibitor", class_type="EPC")
   -> class_id for "Angiotensin-Converting Enzyme Inhibitor"

2. RxClass_get_class_members(class_id=<id>, ttys="IN")
   -> All ACE inhibitors (enalapril, lisinopril, ramipril, etc.)

3. For each drug: RxClass_get_drug_classes(drug_name=drug)
   -> Confirm ATC code and additional classifications
ワークフロー 3:薬剤ラベルの確認
1. DailyMed_parse_adverse_reactions(drug_name="metformin")
   -> AE frequencies (GI: lactic acidosis, nausea, diarrhea)

2. DailyMed_parse_contraindications(drug_name="metformin")
   -> eGFR thresholds, renal impairment contraindications

3. DailyMed_parse_drug_interactions(drug_name="metformin")
   -> Iodinated contrast, carbonic anhydrase inhibitor interactions

4. DailyMed_parse_clinical_pharmacology(drug_name="metformin")
   -> Half-life, renal clearance, bioavailability

よくある間違い

  • Orange Book の brand_name は大文字で指定する必要があります(例:"LIPITOR")。
  • FDAGSRS_get_substance に必要なのは薬剤名ではなく UNII です。まず FDAGSRS_search_substances を呼び出してください。
  • FDAGSRS_get_structure は化学物質にのみ使用でき、生物製剤には使用できません。
  • RxClass_get_class_members:有効成分に限定するには ttys="IN" を渡します。
  • search_clinical_trials の overall_status は配列で指定する必要があります:["RECRUITING"]

推論フレームワーク

解釈の指針

承認経路:505(b)(1) NDA は、申請者が提出する完全な安全性・有効性データを伴う新薬申請です。505(b)(2) NDA は、すでに承認された薬剤に関する公表文献や FDA の知見に一部依拠します(剤形変更や新たな投与経路などでよく使用されます)。ANDA(簡略新薬申請)はジェネリック医薬品の申請経路であり、基準となる収載医薬品との生物学的同等性のみが求められます。

Orange Book の特許と独占権:NCE(新規化学物質)独占権により、5 年間のデータ保護が付与されます。ODE(希少疾病用医薬品独占権)により、7 年間の独占権が付与されます。PED(小児用医薬品)は、既存の特許・独占権に 6 か月を追加します。TE コードが「AB」の場合、ジェネリック医薬品は治療学的に同等であり、代替可能であることを示します。TE コードがない場合、または「BX」の場合は、代替可能性が確立されていません。

DailyMed のラベルセクション:「Adverse Reactions(副作用)」セクションでは、臨床試験での発現率(管理された条件下)と市販後報告(管理されておらず、シグナルのみ)を区別します。「Contraindications(禁忌)」は絶対的なものです。「Warnings and Precautions(警告および使用上の注意)」は、条件付きのリスクを示します。「Clinical Pharmacology(臨床薬理学)」には、薬物相互作用や用量評価に欠かせない PK パラメーター(Cmax、AUC、半減期)が記載されています。

統合に関する質問

薬剤の規制情報を網羅したレポートでは、次の点に答える必要があります。

  1. 現在の FDA 承認状況と承認経路(NDA、ANDA、505(b)(2) のいずれか)は何ですか?
  2. ジェネリック医薬品は入手可能ですか? また、その治療学的同等性の評価はどうなっていますか?
  3. 主要な特許と独占権はいつ失効しますか(または、すでに失効していますか)?
  4. どの薬剤クラス(ATC、EPC、MoA)に属し、同じクラスにどのような類似薬がありますか?
  5. ラベルに記載された、臨床上特に重要な副作用と禁忌は何ですか?

コメント