pubmed-database
PubMedへの直接RESTアクセスを提供し、Boolean/MeSHクエリやE-utilities API、バッチ処理、引用管理に対応します。PythonワークフローではBio.Entrez(biopython)の使用が推奨されますが、このスキルはHTTP/RESTの直接操作やカスタムAPI実装が必要な場合に活用してください。
description の原文を見る
Direct REST API access to PubMed. Advanced Boolean/MeSH queries, E-utilities API, batch processing, citation management. For Python workflows, prefer biopython (Bio.Entrez). Use this for direct HTTP/REST work or custom API implementations.
SKILL.md 本文
PubMed データベース
概要
PubMed は米国国立医学図書館が提供する総合的なデータベースで、MEDLINE および生命科学文献への無料アクセスを提供します。ブール演算子、MeSH 用語、フィールドタグを使用して高度なクエリを構築し、E-utilities API 経由でプログラム的にデータにアクセスして、システマティックレビューや文献分析を実施できます。
このスキルを使用する場合
このスキルは以下の場合に使用してください:
- 生物医学または生命科学研究論文の検索
- ブール演算子、フィールドタグ、MeSH 用語を使用した複雑な検索クエリの構築
- システマティックレビューまたはメタアナリシスの実施
- E-utilities API 経由での PubMed データへのプログラム的アクセス
- 著者、ジャーナル、発行日、記事タイプなどの特定の条件に基づく記事検索
- 引用情報、アブストラクト、またはフルテキスト記事の取得
- PMID (PubMed ID) または DOI の処理
- 文献モニタリングやデータ抽出の自動化ワークフローの作成
主な機能
1. 高度な検索クエリの構築
ブール演算子、フィールドタグ、および専門的な構文を使用して、洗練された PubMed クエリを構築します。
基本的な検索戦略:
- ブール演算子 (AND、OR、NOT) で概念を組み合わせる
- フィールドタグを使用して検索をレコードの特定部分に制限する
- ダブルクォートでの完全一致フレーズ検索
- 用語のバリエーションにはワイルドカードを適用
- 指定距離内の用語では近接検索を使用
クエリの例:
# 糖尿病治療に関する最近のシステマティックレビュー
diabetes mellitus[mh] AND treatment[tiab] AND systematic review[pt] AND 2023:2024[dp]
# 2 つの薬物を比較する臨床試験
(metformin[nm] OR insulin[nm]) AND diabetes mellitus, type 2[mh] AND randomized controlled trial[pt]
# 著者固有の研究
smith ja[au] AND cancer[tiab] AND 2023[dp] AND english[la]
search_syntax.md を参照する場合:
- 利用可能なフィールドタグの包括的なリストが必要
- 検索演算子の詳細説明が必要
- 複雑な近接検索を構築している
- 自動用語マッピング動作を理解する
- 日付範囲、ワイルドカード、または特殊文字の特定の構文が必要
フィールドタグのグレップパターン:\[au\]|\[ti\]|\[ab\]|\[mh\]|\[pt\]|\[dp\]
2. MeSH 用語と統制語彙
Medical Subject Headings (MeSH) を使用して、生物医学文献全体での正確で一貫した検索を実行します。
MeSH 検索:
- [mh] タグは MeSH 用語を検索し、より狭い用語を自動的に含める
- [majr] タグは、トピックがメインの焦点である記事に制限
- MeSH 用語を下位見出しと組み合わせて特定性を高める (例: diabetes mellitus/therapy[mh])
一般的な MeSH 下位見出し:
- /diagnosis - 診断方法
- /drug therapy - 薬物治療
- /epidemiology - 疾患パターンと有病率
- /etiology - 疾患の原因
- /prevention & control - 予防措置
- /therapy - 治療方法
例:
# 特定の焦点を持つ糖尿病療法
diabetes mellitus, type 2[mh]/drug therapy AND cardiovascular diseases[mh]/prevention & control
3. 記事タイプおよび出版物フィルタリング
出版タイプ、日付、テキスト可用性、およびその他の属性で結果をフィルタリングします。
出版タイプ ([pt] フィールドタグを使用):
- Clinical Trial
- Meta-Analysis
- Randomized Controlled Trial
- Review
- Systematic Review
- Case Reports
- Guideline
日付フィルタリング:
- 単一年:
2024[dp] - 日付範囲:
2020:2024[dp] - 特定の日付:
2024/03/15[dp]
テキスト可用性:
- フルテキスト無料:クエリに
AND free full text[sb]を追加 - アブストラクト有:クエリに
AND hasabstract[text]を追加
例:
# 高血圧に関する最近の無料フルテキスト RCT
hypertension[mh] AND randomized controlled trial[pt] AND 2023:2024[dp] AND free full text[sb]
4. E-utilities API 経由のプログラム的アクセス
NCBI E-utilities REST API を使用して PubMed データにプログラム的にアクセスし、自動化とバルク操作を実行します。
コア API エンドポイント:
- ESearch - データベース検索と PMID 取得
- EFetch - さまざまな形式でフルレコードをダウンロード
- ESummary - ドキュメント概要を取得
- EPost - バッチ処理用に UID をアップロード
- ELink - 関連記事とリンクされたデータを検索
基本的なワークフロー:
import requests
# ステップ 1: 記事を検索
base_url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/"
search_url = f"{base_url}esearch.fcgi"
params = {
"db": "pubmed",
"term": "diabetes[tiab] AND 2024[dp]",
"retmax": 100,
"retmode": "json",
"api_key": "YOUR_API_KEY" # オプションだが推奨
}
response = requests.get(search_url, params=params)
pmids = response.json()["esearchresult"]["idlist"]
# ステップ 2: 記事の詳細を取得
fetch_url = f"{base_url}efetch.fcgi"
params = {
"db": "pubmed",
"id": ",".join(pmids),
"rettype": "abstract",
"retmode": "text",
"api_key": "YOUR_API_KEY"
}
response = requests.get(fetch_url, params=params)
abstracts = response.text
レート制限:
- API キーなし:3 リクエスト/秒
- API キーあり:10 リクエスト/秒
- 常に User-Agent ヘッダーを含める
ベストプラクティス:
- 大規模な結果セットでは履歴サーバーを使用 (usehistory=y)
- 複数の UID では EPost 経由でバッチ操作を実装
- 冗長な呼び出しを最小化するため、結果をローカルキャッシュ
- サービス中断を回避するため、レート制限を尊重
api_reference.md を参照する場合:
- 詳細なエンドポイントドキュメントが必要
- 各 E-utility のパラメータ仕様が必要
- バッチ操作または履歴サーバーワークフローを構築している
- レスポンス形式 (XML、JSON、テキスト) を理解する
- API エラーまたはレート制限の問題をトラブルシューティング
API エンドポイントのグレップパターン:esearch|efetch|esummary|epost|elink|einfo
5. 引用マッチングと記事取得
部分的な引用情報または特定の識別子を使用して記事を検索します。
識別子による検索:
# PMID で
12345678[pmid]
# DOI で
10.1056/NEJMoa123456[doi]
# PMC ID で
PMC123456[pmc]
引用マッチング (ECitMatch API 経由): ジャーナル名、年、巻、ページ、著者を使用して PMID を検索:
形式:journal|year|volume|page|author|key|
例:Science|2008|320|5880|1185|key1|
著者およびメタデータによる検索:
# 第一著者、年、トピック
smith ja[1au] AND 2023[dp] AND cancer[tiab]
# ジャーナル、巻、ページ
nature[ta] AND 2024[dp] AND 456[vi] AND 123-130[pg]
6. システマティック文献レビュー
システマティックレビューおよびメタアナリシス用の包括的な文献検索を実施します。
PICO フレームワーク (対象者、介入、比較、アウトカム): 臨床研究の質問を体系的に構造化:
# 例:糖尿病治療の有効性
# P: diabetes mellitus, type 2[mh]
# I: metformin[nm]
# C: lifestyle modification[tiab]
# O: glycemic control[tiab]
diabetes mellitus, type 2[mh] AND
(metformin[nm] OR lifestyle modification[tiab]) AND
glycemic control[tiab] AND
randomized controlled trial[pt]
包括的な検索戦略:
# 複数の同義語と MeSH 用語を含める
(disease name[tiab] OR disease name[mh] OR synonym[tiab]) AND
(treatment[tiab] OR therapy[tiab] OR intervention[tiab]) AND
(systematic review[pt] OR meta-analysis[pt] OR randomized controlled trial[pt]) AND
2020:2024[dp] AND
english[la]
検索の精緻化:
- 広く開始して結果を確認
- フィールドタグで特定性を追加
- 日付と出版タイプのフィルターを適用
- Advanced Search を使用してクエリ翻訳を表示
- 複雑なクエリのために検索履歴を結合
common_queries.md を参照する場合:
- 特定の疾患タイプまたは研究分野のクエリの例が必要
- さまざまな研究デザイン用のテンプレートが必要
- 人口固有のクエリパターン (小児科、老年医学など) を探している
- 方法論固有の検索を構築している
- 品質フィルターまたはベストプラクティスパターンが必要
クエリの例のグレップパターン:diabetes|cancer|cardiovascular|clinical trial|systematic review
7. 検索履歴と保存済み検索
PubMed の検索履歴と My NCBI 機能を使用して、効率的な研究ワークフローを実現します。
検索履歴 (Advanced Search 経由):
- 最大 100 個の検索を維持
- 非アクティブが 8 時間経過すると失効
-
参照を使用して前の検索を結合
- 実行前に結果数をプレビュー
例:
#1: diabetes mellitus[mh]
#2: cardiovascular diseases[mh]
#3: #1 AND #2 AND risk factors[tiab]
My NCBI 機能:
- 検索を無期限に保存
- 新しい一致記事のメールアラートを設定
- 保存された記事のコレクションを作成
- プロジェクトまたはトピック別に研究を整理
RSS フィード: 任意の検索用に RSS フィードを作成して、関心分野の新しい出版物をモニタリングします。
8. 関連記事と引用発見
関連研究を検索して引用ネットワークを探索します。
類似記事機能: すべての PubMed 記事には事前に計算された関連記事が含まれます:
- タイトルとアブストラクト類似性
- MeSH 用語の重複
- 加重アルゴリズムマッチング
関連データ用の ELink:
# 関連記事をプログラム的に検索
elink.fcgi?dbfrom=pubmed&db=pubmed&id=PMID&cmd=neighbor
引用リンク:
- 出版社からのフルテキストへのリンク
- PubMed Central の無料記事へのリンク
- 関連 NCBI データベース (GenBank、ClinicalTrials.gov など) への接続
9. エクスポートと引用管理
検索結果をさまざまな形式でエクスポートして、引用管理およびさらなる分析に使用します。
エクスポート形式:
- 参考文献管理ソフト (Zotero、Mendeley、EndNote) 用の .nbib ファイル
- AMA、MLA、APA、NLM 引用スタイル
- データ分析用 CSV
- プログラム処理用 XML
クリップボードとコレクション:
- クリップボード:最大 500 項目の一時ストレージ (8 時間の失効)
- コレクション:My NCBI アカウント経由の永続ストレージ
API 経由のバッチエクスポート:
# MEDLINE 形式での引用エクスポート
efetch.fcgi?db=pubmed&id=PMID1,PMID2&rettype=medline&retmode=text
参考ファイルの操作
このスキルには references/ ディレクトリに 3 つの包括的な参考ファイルが含まれています:
references/api_reference.md
すべての 9 つのエンドポイント、パラメーター、レスポンス形式、およびベストプラクティスを含む完全な E-utilities API ドキュメント。以下の場合に参照:
- プログラム的な PubMed アクセスを実装している
- API リクエストを構築している
- レート制限と認証を理解している
- 履歴サーバー経由で大規模なデータセットを操作している
- API エラーをトラブルシューティングしている
references/search_syntax.md
フィールドタグ、ブール演算子、ワイルドカード、特殊文字を含む PubMed 検索構文の詳細ガイド。以下の場合に参照:
- 複雑な検索クエリを構築している
- 自動用語マッピングを理解している
- 高度な検索機能 (近接、ワイルドカード) を使用している
- フィルターと制限を適用している
- 予期しない検索結果をトラブルシューティングしている
references/common_queries.md
さまざまな研究シナリオ、疾患タイプ、および方法論のクエリの例を豊富に集めたもの。以下の場合に参照:
- 新しい文献検索を開始している
- 特定の研究分野用のテンプレートが必要
- ベストプラクティスのクエリパターンを探している
- システマティックレビューを実施している
- 特定の研究デザインまたは対象者を検索している
参考ファイル読み込み戦略: 特定のタスクに基づいて必要に応じて、コンテキストに参考ファイルを読み込みます。簡潔なクエリまたは基本的な検索の場合、この SKILL.md の情報で十分かもしれません。複雑な操作では、適切な参考ファイルを参照してください。
一般的なワークフロー
ワークフロー 1:基本的な文献検索
- 主要な概念と同義語を特定
- ブール演算子とフィールドタグでクエリを構築
- 初期結果を確認して クエリを精緻化
- フィルター (日付、記事タイプ、言語) を適用
- 分析用に結果をエクスポート
ワークフロー 2:システマティックレビュー検索
- PICO フレームワークを使用して研究質問を定義
- すべての関連 MeSH 用語と同義語を特定
- 包括的な検索戦略を構築
- 複数のデータベースを検索 (PubMed を含める)
- 検索戦略と日付を記録
- スクリーニングと確認のため結果をエクスポート
ワークフロー 3:プログラムによるデータ抽出
- 検索クエリを設計して Web インターフェースでテスト
- ESearch API を使用して検索を実装
- 大規模な結果セットでは履歴サーバーを使用
- EFetch で詳細なレコードを取得
- XML/JSON レスポンスを解析
- キャッシング付きでデータをローカルに保存
- レート制限とエラーハンドリングを実装
ワークフロー 4:引用発見
- 既知の関連記事から開始
- 類似記事を使用して関連作品を検索
- 引用記事を確認 (利用可能な場合)
- 関連記事から MeSH 用語を探索
- 発見に基づいて新しい検索を構築
- ELink を使用して関連データベース項目を検索
ワークフロー 5:継続的な文献モニタリング
- 包括的な検索クエリを構築
- 精度のためクエリをテストして精緻化
- My NCBI アカウントに検索を保存
- 新しい一致のメールアラートを設定
- フィードリーダーモニタリング用の RSS フィード を作成
- 新しい記事を定期的に確認
ヒントおよびベストプラクティス
検索戦略
- 広く開始して、フィールドタグとフィルターで狭める
- 包括的なカバレッジのために同義語と MeSH 用語を含める
- 完全一致フレーズにはクォーテーションマークを使用
- Advanced Search の検索詳細でクエリ翻訳を確認
- 検索履歴を使用して複数の検索を結合
API 使用法
- より高いレート制限 (3 リクエスト/秒 vs 10 リクエスト/秒) のために API キーを取得
- 結果セット > 500 記事では履歴サーバーを使用
- レート制限処理に指数バックオフを実装
- 冗長なリクエストを最小化するため結果をローカルキャッシュ
- 常に説明的な User-Agent ヘッダーを含める
品質フィルタリング
- 統合された証拠にはシステマティックレビューとメタアナリシスを優先
- 特定の研究デザインを見つけるために出版タイプフィルターを使用
- 最新の研究については日付でフィルター
- 必要に応じて言語フィルターを適用
- 即座なアクセスのため無料フルテキストフィルターを使用
引用管理
- 検索結果を失わないよう早期かつ頻繁にエクスポート
- ほとんどの参考文献管理ソフトとの互換性のため .nbib 形式を使用
- 永続的なコレクション用に My NCBI アカウントを作成
- 再現性のため検索戦略を文書化
- プロジェクト別に研究を整理するコレクションを使用
制限事項および考慮事項
データベースカバレッジ
- 主に生物医学および生命科学文献
- 1975 年以前の記事はしばしばアブストラクトを欠く
- 完全著者名は 2002 年以降から利用可能
- 非英語アブストラクトは利用可能だがデフォルトで英語表示
検索の制限
- 表示は最大 10,000 件の結果に制限
- 検索履歴は 8 時間の非アクティブ後に失効
- クリップボード最大 500 項目で 8 時間の失効
- 自動用語マッピングは予期しない結果を生じる可能性
API の考慮事項
- レート制限適用 (3~10 リクエスト/秒)
- 大規模なクエリはタイムアウトする可能性 (履歴サーバーを使用)
- 詳細なデータ抽出に XML 解析が必要
- 本番環境での使用には API キーを推奨
アクセスの制限
- PubMed は引用とアブストラクト (常にフルテキストではない) を提供
- フルテキストアクセスは出版社、機関アクセス、またはオープンアクセスステータスに依存
- LinkOut の利用可能性はジャーナルと機関によって異なる
- 一部のコンテンツはサブスクリプションまたは支払いが必要
サポートリソース
- PubMed ヘルプ: https://pubmed.ncbi.nlm.nih.gov/help/
- E-utilities ドキュメント: https://www.ncbi.nlm.nih.gov/books/NBK25501/
- NLM ヘルプデスク: 1-888-FIND-NLM (1-888-346-3656)
- 技術サポート: vog.hin.mln.ibcn@seitilitue
- メーリングリスト: utilities-announce@ncbi.nlm.nih.gov
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。