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

Bài 1: OHDSI là gì? — Tổng quan hệ sinh thái và tầm nhìn

Giới thiệu OHDSI (Observational Health Data Sciences and Informatics), mục tiêu và tầm nhìn, kiến trúc tổng thể hệ sinh thái công cụ (Atlas, WebAPI, Athena, Usagi, ACHILLES, HADES), và vai trò của OMOP CDM trong chuẩn hóa dữ liệu y tế toàn cầu.

🏗️ Kiến trúc — Bài 1 Bài 1: OHDSI là gì? — Tổng quan hệ sinh thái và tầm nhìn

OHDSI & OMOP CDM — Phân tích Dữ liệu Y tế Toàn diện

Phần 1: Tổng quan OHDSI & OMOP CDM

xdev.asia

Bài 1: OHDSI — Tổng quan hệ sinh thái

Giới thiệu

Dữ liệu y tế toàn cầu là một kho báu khổng lồ — hàng tỷ bản ghi từ bệnh viện, phòng khám, bảo hiểm y tế. Nhưng mỗi hệ thống lưu trữ dưới dạng riêng biệt: HIS (Hospital Information System) của bệnh viện A khác hoàn toàn bệnh viện B, mã bệnh ICD-10 không đồng nhất với SNOMED CT, đơn thuốc lưu theo tên thương mại thay vì hoạt chất quốc tế.

OHDSI (Observational Health Data Sciences and Informatics — phát âm "Odyssey") ra đời để giải quyết vấn đề này.


1. OHDSI là gì?

1.1 Định nghĩa

OHDSI là một chương trình nghiên cứu quốc tế, mã nguồn mở (open-source), nhằm:

  • Chuẩn hóa dữ liệu y tế quan sát (observational health data) vào một mô hình dữ liệu chung
  • Phát triển các phương pháp phân tích đáng tin cậy, có thể tái lập
  • Cho phép nghiên cứu đa trung tâm mà KHÔNG cần chia sẻ dữ liệu bệnh nhân

1.2 Lịch sử

2008: OMOP (Observational Medical Outcomes Partnership)
      → Dự án FDA nghiên cứu tác dụng phụ thuốc trên dữ liệu thực tế
      → Phát triển Common Data Model (CDM)

2013: OMOP kết thúc → OHDSI ra đời
      → Kế thừa OMOP CDM, mở rộng thành cộng đồng mã nguồn mở
      → Mục tiêu: evidence-based medicine trên quy mô toàn cầu

2024: 800+ tổ chức, 100+ quốc gia
      → 1+ tỷ bản ghi bệnh nhân được chuẩn hóa
      → Hàng nghìn nghiên cứu được publish

2026: OHDSI tiếp tục mở rộng
      → OMOP CDM v5.4, v6.0 đang phát triển
      → Tích hợp AI/ML, genomics, wearable data

1.3 Ba trụ cột của OHDSI

┌─────────────────────────────────────────────────────────┐
│                    OHDSI Mission                        │
│                                                         │
│  ┌─────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│  │  Open       │ │  Open        │ │  Open            │ │
│  │  Science    │ │  Source      │ │  Community       │ │
│  │             │ │              │ │                  │ │
│  │ Transparent │ │ Free tools   │ │ Collaborative    │ │
│  │ Reproducible│ │ Peer-reviewed│ │ 800+ orgs        │ │
│  │ Published   │ │ GitHub       │ │ Global network   │ │
│  └─────────────┘ └──────────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────────┘

2. Vấn đề OHDSI giải quyết

2.1 Fragmentation — Dữ liệu phân mảnh

Bệnh viện A (HIS: eHospital)     Bệnh viện B (HIS: Telehealth)
┌─────────────────────────┐       ┌─────────────────────────┐
│ Patient: MA_BN_001      │       │ Patient: BN-2024-00123  │
│ Diagnosis: I10 (ICD-10) │       │ Diagnosis: 401.1 (ICD-9)│
│ Drug: Amlor 5mg         │       │ Drug: Amlodipine 5mg    │
│ Lab: Glucose: 126 mg/dL │       │ Lab: Đường huyết: 7.0   │
│ Date: 01/03/2024        │       │ Date: 2024-03-01        │
└─────────────────────────┘       └─────────────────────────┘

→ Cùng 1 bệnh nhân, cùng 1 bệnh (tăng huyết áp), cùng 1 thuốc
→ Nhưng KHÔNG THỂ truy vấn chung vì format khác nhau hoàn toàn

2.2 Giải pháp: OMOP CDM

                    ETL (Extract - Transform - Load)
Bệnh viện A ─────┐                    ┌──────────────────────┐
                  ├─── Transform ───→  │   OMOP CDM Database  │
Bệnh viện B ─────┘                    │                      │
                                       │ person_id: 12345     │
                                       │ condition: 320128    │
                                       │   (Essential HTN)    │
                                       │ drug: 1332419        │
                                       │   (Amlodipine 5mg)   │
                                       │ measurement: 3004410 │
                                       │   (Glucose 126 mg/dL)│
                                       └──────────────────────┘

→ Cùng concept IDs cho cùng ý nghĩa y khoa
→ Cùng cấu trúc bảng → cùng SQL query
→ Có thể phân tích đa trung tâm

3. Kiến trúc Hệ sinh thái OHDSI

┌─────────────────────────────────────────────────────────────────┐
│                     OHDSI Ecosystem                             │
│                                                                 │
│  ┌──── Data Standardization ─────────────────────────────────┐ │
│  │                                                           │ │
│  │  [Athena]          → Standardized Vocabularies            │ │
│  │  [WhiteRabbit]     → Scan source data                     │ │
│  │  [Rabbit-in-a-Hat] → Design ETL mapping                   │ │
│  │  [Usagi]           → Map source codes → standard concepts │ │
│  │                                                           │ │
│  └───────────────────────────────────────────────────────────┘ │
│                           │ ETL                                │
│                           ▼                                    │
│  ┌──── OMOP CDM Database ────────────────────────────────────┐ │
│  │  PostgreSQL / SQL Server / Oracle / Spark                 │ │
│  └───────────────────────────────────────────────────────────┘ │
│                           │                                    │
│                           ▼                                    │
│  ┌──── Data Quality ────────────────────────────────────────┐  │
│  │  [ACHILLES]              → Data characterization          │  │
│  │  [Data Quality Dashboard]→ 1,500+ quality checks          │  │
│  └───────────────────────────────────────────────────────────┘ │
│                           │                                    │
│                           ▼                                    │
│  ┌──── Analytics Platform ──────────────────────────────────┐  │
│  │  [WebAPI]  → REST API backend (Spring Boot / Java)        │  │
│  │  [ATLAS]   → Web UI (JavaScript) cho phân tích            │  │
│  │  [HADES]   → R packages cho advanced analytics            │  │
│  └───────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘

3.1 Các công cụ chính

Công cụMục đíchNgôn ngữ
AthenaTra cứu & tải Standardized VocabulariesWeb app
WhiteRabbitScan dữ liệu nguồn, tạo profile reportJava
Rabbit-in-a-HatThiết kế ETL mapping (GUI)Java
UsagiMap source codes → OMOP conceptsJava
WebAPIBackend REST API cho ATLASJava/Spring Boot
ATLASWeb-based analytics platformJavaScript
ACHILLESData characterization & profilingR
DQDData Quality Dashboard — 1,500+ checksR
HADESR packages cho observational researchR

4. Workflow OHDSI End-to-End

Step 1: Vocabulary Preparation
  Athena → Download vocabularies (ICD-10, SNOMED, RxNorm, LOINC...)
                    │
Step 2: Source Data Profiling
  WhiteRabbit → Scan source database → Generate scan report
                    │
Step 3: ETL Design
  Rabbit-in-a-Hat → Design table & field mappings
  Usagi → Map source codes → Standard Concepts
                    │
Step 4: ETL Execution
  Custom ETL scripts (Python/SQL) → Load data into OMOP CDM
                    │
Step 5: Data Quality
  ACHILLES → Characterize CDM data
  DQD → Run 1,500+ quality checks
                    │
Step 6: Analytics
  WebAPI + ATLAS → Cohort Definitions, Characterization,
                   Incidence Rates, Estimation, Prediction
  HADES → Advanced R-based analytics
                    │
Step 7: Network Study
  Package study → Distribute to sites → Collect aggregate results

5. OHDSI Network — Distributed Research

Điểm đặc biệt của OHDSI: dữ liệu bệnh nhân KHÔNG BAO GIỜ rời khỏi site.

┌──────────────┐    ┌──────────────┐    ┌──────────────┐
│   Site A     │    │   Site B     │    │   Site C     │
│ (500K pts)   │    │ (1M pts)     │    │ (200K pts)   │
│              │    │              │    │              │
│ OMOP CDM     │    │ OMOP CDM     │    │ OMOP CDM     │
│ WebAPI+ATLAS │    │ WebAPI+ATLAS │    │ WebAPI+ATLAS │
│              │    │              │    │              │
│ Run Study    │    │ Run Study    │    │ Run Study    │
│ Package ───┐ │    │ Package ───┐ │    │ Package ───┐ │
└────────────│─┘    └────────────│─┘    └────────────│─┘
             │                   │                    │
             └───── Aggregate ───┴──── Results ───────┘
                        │
                        ▼
              ┌─────────────────┐
              │ Central Analysis│
              │ (chỉ aggregate  │
              │  không có PII)  │
              └─────────────────┘

Tại sao quan trọng?

  • Tuân thủ privacy regulations (HIPAA, GDPR, Luật ATTT Việt Nam)
  • Mỗi site giữ toàn quyền kiểm soát dữ liệu
  • Vẫn có thể nghiên cứu trên hàng triệu bệnh nhân đa quốc gia

6. Ứng dụng thực tế

6.1 COVID-19 (OHDSI COVID-19 Study-a-thon)

Timeline:
- Tháng 3/2020: Đại dịch bùng phát
- Tháng 3/2020: OHDSI tổ chức Study-a-thon online
- 96 giờ: 300+ nhà nghiên cứu từ 30+ quốc gia
- Kết quả: Phân tích đặc điểm bệnh nhân COVID-19
  trên 5+ triệu bệnh nhân từ nhiều quốc gia
  → Published trong PNAS (top-tier journal)

6.2 Drug Safety Surveillance

  • Phát hiện tác dụng phụ thuốc trên dữ liệu thực tế (RWD)
  • So sánh nhóm dùng thuốc vs nhóm control
  • Ví dụ: Phân tích risk of myocarditis sau vaccination

6.3 Ứng dụng tại Việt Nam

  • Chuẩn hóa dữ liệu HIS bệnh viện vào OMOP CDM
  • Mapping ICD-10 Việt Nam → SNOMED CT
  • Nghiên cứu dịch tễ học trên dữ liệu BHXH
  • Đánh giá hiệu quả phác đồ điều trị đa trung tâm

Tóm tắt

Khái niệmGiải thích
OHDSICộng đồng nghiên cứu y tế mã nguồn mở toàn cầu
OMOP CDMMô hình dữ liệu chung cho dữ liệu y tế quan sát
Standardized VocabulariesBộ từ vựng chuẩn (SNOMED, RxNorm, LOINC...)
Distributed ResearchPhân tích đa trung tâm mà dữ liệu không rời site
ETLQuy trình chuyển đổi dữ liệu nguồn → OMOP CDM

Bài tiếp theo: OMOP Common Data Model — Cấu trúc, nguyên lý & Domain