Chuyển đến nội dung chính

レッスン 8: DRUG_EXPOSURE — 医薬品、処方箋、ワクチン

薬歴を記録します:処方、調剤、投与。 RxNorm の語彙、数量/日数_供給/補充、ルートコンセプト ID、シグ、DRUG_STRENGTH の関連付けを理解します。

🏗️ アーキテクチャ — レッスン 8 DRUG_EXPOSURE 薬、処方箋、ワクチン 初心者向け OMOP CDM 5.4 — A to Z を理解する パート 3: 主要な臨床事象 xdev.asia

医薬品の階層: 成分 → 臨床医薬品 → ブランド医薬品

はじめに

DRUG_EXPOSURE は、医師の処方時から薬局での調剤、看護師による点滴の投与まで、あらゆる薬物関連イベントを記録するテーブルです。これは、外来処方箋、入院患者の投薬、ワクチン、輸液などのさまざまなデータ ソースを処理する必要があるため、臨床データ グループの中で最も複雑なテーブルです。


1. テーブル構造

コラムタイプ必須説明
drug_exposure_id整数✅PK固有の ID
person_id整数✅FK患者
drug_concept_id整数✅スタンダードコンセプト(RxNorm)
drug_exposure_start_date日付✅開始日
drug_exposure_start_datetime日時開始日時
drug_exposure_end_date日付✅終了日
drug_exposure_end_datetime日時終了日時
verbatim_end_date日付元の終了日 (推論前)
drug_type_concept_id整数✅データソース
stop_reasonVARCHAR(20)薬を中止する理由
refills整数リフィルの数
quantityフロート割り当てられた数量
days_supply整数供給日数
sigクロブオリジナルのユーザーマニュアル
route_concept_id整数投与経路(経口、注射など)
lot_numberVARCHAR(50)ロット番号 (ワクチンにとって重要)
provider_id整数FK医師が処方する
visit_occurrence_id整数FK関連する訪問
visit_detail_id整数FK訪問詳細
drug_source_valueVARCHAR(50)ジェネリック医薬品コード
drug_source_concept_id整数オリジナルコンセプト
route_source_valueVARCHAR(50)本来の投与経路
dose_unit_source_valueVARCHAR(50)元の用量単位

2. RxNorm — 医学の語彙標準

###2.1. RxNorm 階層

  ┌──────────────────────────────────────────┐
  │            Ingredient (IN)                │
  │        VD: Metformin (concept 1503297)    │
  │                                           │
  │   ┌── Clinical Drug Form (CDF) ──┐       │
  │   │  Metformin Oral Tablet        │       │
  │   │                               │       │
  │   │  ┌── Clinical Drug (CD) ──┐   │       │
  │   │  │ Metformin 500mg Tab    │   │       │
  │   │  │ (concept 1503328)      │   │       │
  │   │  └────────────────────────┘   │       │
  │   └───────────────────────────────┘       │
  │                                           │
  │   ┌── Branded Drug (BD) ────────┐         │
  │   │  Glucophage 500mg Tab       │         │
  │   └─────────────────────────────┘         │
  └───────────────────────────────────────────┘

###2.2.正しい RxNorm レベルを選択してください

レベルいつ使用するか例
成分有効成分だけを知る「メトホルミン」
臨床薬有効成分+用量+剤形を知る「メトホルミン錠500mg」|
ブランド医薬品商号を知る「グルコファージ 500mg 錠」
臨床医薬品成分有効成分 + 投与量 (組み合わせ)「メトホルミン 500mg」

推奨: 十分な情報がある場合は、臨床薬 または ブランド薬 レベルでマップします。ソース データに有効成分名のみがある場合は、成分 を使用します。


3. Drug_type_concept_id — データ ソース

コンセプトID名前使用例
32838EHR処方HIS からの処方箋
32839EHR 調剤調剤薬局
32818EHR管理看護師は注射/点滴を記録します
32869患者の自己申告患者は服用している薬を自己申告する
32810クレーム社会保険データ

4. days_supply と Drug_exposure_end_date を計算します。

###4.1. CDM ルール

drug_exposure_end_date =
    drug_exposure_start_date + days_supply - 1

###4.2.計算例

-- Kê đơn: Metformin 500mg x 2 viên/ngày x 30 ngày
INSERT INTO drug_exposure (
    drug_exposure_id, person_id, drug_concept_id,
    drug_exposure_start_date, drug_exposure_end_date,
    drug_type_concept_id,
    quantity, days_supply, refills,
    sig, route_concept_id,
    drug_source_value
) VALUES (
    80001, 100001, 1503328,         -- RxNorm: Metformin 500mg Tab
    '2024-06-01', '2024-06-30',     -- 30 days
    32838,                            -- EHR prescription
    60, 30, 2,                        -- 60 viên, 30 ngày, 2 refills
    'Uống 2 viên/ngày, sáng chiều sau ăn',
    4132161,                          -- Oral
    'METFORMIN500'
);

###4.3.輸液・注射

-- Truyền NaCl 0.9% 500ml trong 2 giờ
INSERT INTO drug_exposure (
    drug_exposure_id, person_id, drug_concept_id,
    drug_exposure_start_date, drug_exposure_start_datetime,
    drug_exposure_end_date, drug_exposure_end_datetime,
    drug_type_concept_id,
    quantity, days_supply,
    route_concept_id,
    drug_source_value
) VALUES (
    80002, 100001, 19049105,         -- RxNorm: NaCl 0.9% Injectable
    '2024-06-10', '2024-06-10 08:00:00',
    '2024-06-10', '2024-06-10 10:00:00',
    32818,                            -- EHR administration
    500, 1,                           -- 500ml, 1 ngày
    4171047,                          -- Intravenous
    'NACL09_500'
);

5.route_concept_id — 管理ルート

コンセプトIDルートベトナム語
4132161経口ドリンク
4171047静脈内静脈注射
4302612筋肉内筋肉注射
4142048皮下皮下注射
4186838トピック局所応用
4290759吸入吸入/エアロゾル
4163768直腸直腸
4186747眼科点眼薬

6. DRUG_EXPOSURE のワクチン

ワクチンは DRUG_EXPOSURE にも保管されますが、これには独自のテーブルがありません。

-- Tiêm vaccine COVID-19 (Pfizer) — liều 1
INSERT INTO drug_exposure (
    drug_exposure_id, person_id, drug_concept_id,
    drug_exposure_start_date, drug_exposure_end_date,
    drug_type_concept_id,
    quantity, days_supply,
    route_concept_id, lot_number,
    drug_source_value
) VALUES (
    80003, 100001, 37003436,         -- CVX: COVID-19 vaccine Pfizer
    '2024-03-15', '2024-03-15',      -- Tiêm 1 lần
    32818,                            -- Administration
    1, 1,
    4302612,                          -- Intramuscular
    'FK1234',                         -- Số lô vaccine
    'COVID19_PFIZER_DOSE1'
);

ロット番号に注意してください: ワクチンにとって特に重要です。有害事象が発生した場合にロットを追跡するために使用されます。


7.ETLベトナム医学

###7.1.よくある問題

問題ソリューション
HIS は独自のコードを使用します。 SOURCE_TO_CONCEPT_MAP 経由で地図を作成
ベトナムの薬物名うさぎマッピングツール
併用薬 (メトホルミン + グリピジド)RxNorm コンボ コンセプトに関するマップ
投与量/処方は不明成分レベルのマップ
東洋医学・伝統医学Concept_id = 0、source_value

###7.2. ETLの例

SELECT
    ROW_NUMBER() OVER() AS drug_exposure_id,
    pm.person_id,
    COALESCE(cr.concept_id_2, 0) AS drug_concept_id,
    dt.ngay_ke AS drug_exposure_start_date,
    dt.ngay_ke + dt.so_ngay - 1 AS drug_exposure_end_date,
    32838 AS drug_type_concept_id,
    dt.so_luong AS quantity,
    dt.so_ngay AS days_supply,
    dt.so_lan_tai_ke AS refills,
    dt.huong_dan_su_dung AS sig,
    COALESCE(r.concept_id, 0) AS route_concept_id,
    dt.ma_thuoc AS drug_source_value,
    COALESCE(c_source.concept_id, 0) AS drug_source_concept_id,
    dt.duong_dung_goc AS route_source_value,
    dt.don_vi_lieu AS dose_unit_source_value
FROM donthuoc_his dt
JOIN person_mapping pm ON dt.ma_bn = pm.source_id
LEFT JOIN source_to_concept_map stcm
    ON dt.ma_thuoc = stcm.source_code
    AND stcm.source_vocabulary_id = 'VN_DRUG'
LEFT JOIN concept c_std
    ON stcm.target_concept_id = c_std.concept_id
    AND c_std.standard_concept = 'S'
LEFT JOIN concept c_source
    ON dt.ma_thuoc = c_source.concept_code
LEFT JOIN concept_relationship cr
    ON c_source.concept_id = cr.concept_id_1
    AND cr.relationship_id = 'Maps to'
LEFT JOIN concept r
    ON dt.duong_dung_goc = r.concept_name
    AND r.domain_id = 'Route';

8. DRUG_STRENGTH にバインドする

表 DRUG_STRENGTH (語彙内) には、詳細な投与量情報が含まれています。

-- Tra liều Metformin 500mg Tablet
SELECT
    ds.drug_concept_id,
    c_drug.concept_name AS drug_name,
    ds.ingredient_concept_id,
    c_ing.concept_name AS ingredient_name,
    ds.amount_value,
    c_unit.concept_name AS amount_unit
FROM drug_strength ds
JOIN concept c_drug ON ds.drug_concept_id = c_drug.concept_id
JOIN concept c_ing ON ds.ingredient_concept_id = c_ing.concept_id
LEFT JOIN concept c_unit ON ds.amount_unit_concept_id = c_unit.concept_id
WHERE ds.drug_concept_id = 1503328;
-- Kết quả: Metformin 500 mg

9. SQL 分析

-- Top 10 thuốc được kê nhiều nhất
SELECT
    c.concept_name AS drug_name,
    COUNT(DISTINCT de.person_id) AS patient_count,
    COUNT(*) AS prescription_count
FROM drug_exposure de
JOIN concept c ON de.drug_concept_id = c.concept_id
WHERE de.drug_concept_id != 0
GROUP BY c.concept_name
ORDER BY patient_count DESC
LIMIT 10;

-- Polypharmacy: BN dùng >= 5 thuốc cùng lúc
SELECT
    de.person_id,
    COUNT(DISTINCT de.drug_concept_id) AS concurrent_drugs
FROM drug_exposure de
WHERE de.drug_exposure_start_date <= '2024-06-01'
  AND de.drug_exposure_end_date >= '2024-06-01'
GROUP BY de.person_id
HAVING COUNT(DISTINCT de.drug_concept_id) >= 5
ORDER BY concurrent_drugs DESC;

概要

  1. DRUG_EXPOSURE = 処方箋 + 調剤 + 点滴 + ワクチン
  2. drug_concept_id は RxNorm を使用します (成分 → 臨床医薬品 → ブランド医薬品)
  3. 供給日数 + 数量 + 補充により全体像が作成されます
  4. route_concept_id (投与経路)、lot_number (ワクチン)
  5. drug_type_concept_id は、処方箋、調剤、投与を区別します。
  6. ETL VN: SOURCE_TO_CONCEPT_MAP または Usagi を介したマッピング

次の記事: PROCEDURE_OCCURRENCE — 処置、手術、介入。


参考文献