HL7 PDDI-CDS IG 技術ノート

HL7 Potential Drug-Drug Interaction Clinical Decision Support (PDDI-CDS) Implementation Guide は、薬物相互作用の臨床決定支援を標準化するための実装ガイドです。


概要

PDDI-CDS IG は以下を定義します:

  • データモデル: DDI 情報の構造化
  • CDS Hooks: 処方時のアラート
  • FHIR リソース: DDI 情報の表現

CDS Hooks フック

order-select

処方入力時にトリガーされます。

{
  "hook": "order-select",
  "hookInstance": "123",
  "context": {
    "userId": "Practitioner/123",
    "patientId": "Patient/456",
    "selections": ["MedicationRequest/789"],
    "draftOrders": {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "MedicationRequest",
            "medicationCodeableConcept": {
              "coding": [{
                "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
                "code": "855332",
                "display": "Warfarin"
              }]
            }
          }
        }
      ]
    }
  }
}

order-sign

処方確定時にトリガーされます。


レスポンス形式

警告カード

{
  "cards": [
    {
      "uuid": "card-001",
      "summary": "Warfarin + Aspirin: 出血リスク増加",
      "indicator": "warning",
      "detail": "Warfarin と Aspirin の併用は出血リスクを増加させます。",
      "source": {
        "label": "DDInter 2.0",
        "url": "https://ddinter2.scbdd.com/"
      },
      "suggestions": [
        {
          "label": "代替薬を検討",
          "actions": []
        }
      ]
    }
  ]
}

重大度インジケータ

インジケータ 意味 表示色
critical 重大な相互作用
warning 注意が必要
info 参考情報

JpTxGNN での活用

ドラッグリポジショニング × DDI

ドラッグリポジショニング候補を検討する際、既存薬との相互作用も考慮が必要です。

{
  "cards": [
    {
      "summary": "Famotidine: 新適応症候補あり",
      "indicator": "info",
      "detail": "TxGNN により esophagitis への効果が予測されています(スコア: 99%)",
      "source": {
        "label": "JpTxGNN",
        "url": "https://jptxgnn.yao.care/drugs/famotidine/"
      }
    },
    {
      "summary": "Famotidine + Ketoconazole: 吸収低下",
      "indicator": "warning",
      "detail": "Famotidine は胃酸を抑制し、Ketoconazole の吸収を低下させる可能性があります。"
    }
  ]
}

実装パターン

1. プリフェッチ

事前に必要なデータを取得します。

{
  "prefetch": {
    "patient": "Patient/",
    "medications": "MedicationRequest?patient=&status=active"
  }
}

2. DDI ルックアップ

def check_ddi(drug1: str, drug2: str) -> dict | None:
    """DDI データベースを検索"""
    # DDInter API やローカルデータベースを検索
    pass

3. カード生成

def generate_ddi_card(ddi: dict) -> dict:
    """CDS Hooks カードを生成"""
    return {
        "summary": f"{ddi['drug1']} + {ddi['drug2']}: {ddi['effect']}",
        "indicator": map_severity(ddi['severity']),
        "detail": ddi['description'],
        "source": {
            "label": ddi['source'],
            "url": ddi['url']
        }
    }

関連リンク


トップへ戻る

Copyright © 2026 Yao.Care. 本報告は研究参考のみを目的としており、医療アドバイスを構成するものではありません。

This site uses Just the Docs, a documentation theme for Jekyll.