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

第 8 課:DRUG_EXPOSURE — 藥物、處方與疫苗

記錄用藥史:處方、配藥、給藥。了解 RxNorm 詞彙、數量/天數供應/補充量、route_concept_id、sig、DRUG_STRENGTH 關聯。

🏗️ 建築 — 第 8 課 藥物暴露 藥物、處方和疫苗 初學者的 OMOP CDM 5.4 — 從頭到尾了解 第 3 部分:關鍵臨床事件 亞洲開發網

藥品層級:成分→臨床藥品→品牌藥

簡介

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整數供應天數
sigCLOB原版使用手冊
route_concept_id整數給藥途徑(口服、注射...)
lot_numberVARCHAR(50)批號(對疫苗很重要)
provider_id整數氟克醫生開藥
visit_occurrence_id整數氟克相關訪問
visit_detail_id整數氟克瀏覽詳情
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 級別

水平何時使用範例
成分只知道有效成分“二甲雙胍”
臨床藥物了解有效成分+劑量+劑型“二甲雙胍 500 毫克片劑”
品牌藥知道商品名“格華止 500 毫克片劑”
臨床藥物成分活性成分+劑量(組合)“二甲雙胍 500 毫克”

建議: 如果有足夠的信息,則在 臨床藥物 或 品牌藥物 級別進行映射。如果來源資料只有活性成分名稱,請使用成分。


3. drug_type_concept_id — 資料來源

概念 ID名稱使用案例
32838電子病歷處方HIS 的處方
3283932839電子病歷配藥配藥藥房
32818電子病歷管理護理師記錄注射/輸液
3286932869 病人自我報告病人自我申報正在服用的藥物
32810索賠社保資料

4. 計算 days_supply 和 drug_exposure_end_date

4.1。清潔發展機制規則

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路線越南語
41321614132161口服喝
41710474171047靜脈注射靜脈注射
43026124302612肌肉注肌肉注射
41420484142048皮下注射皮下注射
4186838專題局部應用
42907594290759吸入吸入/氣霧劑
41637684163768直腸直腸
41867474186747眼科眼藥水

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
越南藥名Usagi 繪圖工具
組合藥物(二甲雙胍 + 格列吡嗪)關於 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(成分→臨床藥物→品牌藥物)
  2. days_supply + 數量 + 補充品 建立完整圖片
  3. route_concept_id 表示給藥途徑,lot_number 表示疫苗
  4. drug_type_concept_id 區分處方、配藥和給藥
  5. ETL VN:透過 SOURCE_TO_CONCEPT_MAP 或 Usagi 映射

下一篇文章: PROCEDURE_OCCURRENCE — 手術、手術和介入。


參考文獻