@xdev-asia/xdev-knowledge-mcp 1.0.56 → 1.0.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/content/blog/ai/minimax-danh-gia-chi-tiet-nen-tang-ai-full-stack-trung-quoc.md +450 -0
  2. package/content/metadata/authors/duy-tran.md +2 -0
  3. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/01-phan-1-tong-quan-nen-tang/lessons/bai-1-omop-cdm-la-gi-tai-sao-can-chuan-hoa-du-lieu-y-te.md +339 -0
  4. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/01-phan-1-tong-quan-nen-tang/lessons/bai-2-kien-truc-tong-the-omop-cdm-5-4-nhom-bang-nguyen-ly-thiet-ke.md +440 -0
  5. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/01-phan-1-tong-quan-nen-tang/lessons/bai-3-hieu-concept-trai-tim-cua-omop-cdm.md +441 -0
  6. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/02-phan-2-person-visit-nen-tang/lessons/bai-4-bang-person-quan-ly-danh-tinh-benh-nhan.md +323 -0
  7. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/02-phan-2-person-visit-nen-tang/lessons/bai-5-observation-period-khoang-thoi-gian-theo-doi-benh-nhan.md +308 -0
  8. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/02-phan-2-person-visit-nen-tang/lessons/bai-6-visit-occurrence-visit-detail-luot-kham-chi-tiet.md +353 -0
  9. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/03-phan-3-su-kien-lam-sang-chinh/lessons/bai-10-measurement-xet-nghiem-do-luong.md +409 -0
  10. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/03-phan-3-su-kien-lam-sang-chinh/lessons/bai-7-condition-occurrence-chan-doan-benh-ly.md +285 -0
  11. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/03-phan-3-su-kien-lam-sang-chinh/lessons/bai-8-drug-exposure-thuoc-dieu-tri.md +354 -0
  12. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/03-phan-3-su-kien-lam-sang-chinh/lessons/bai-9-procedure-occurrence-thu-thuat-phau-thuat.md +291 -0
  13. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/04-phan-4-bang-lam-sang-mo-rong/lessons/bai-11-observation-su-kien-lam-sang-tong-hop.md +289 -0
  14. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/04-phan-4-bang-lam-sang-mo-rong/lessons/bai-12-device-exposure-specimen-note.md +313 -0
  15. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/04-phan-4-bang-lam-sang-mo-rong/lessons/bai-13-death-episode-episode-event.md +346 -0
  16. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/05-phan-5-standardized-vocabularies/lessons/bai-14-concept-vocabulary-nen-tang-tu-dien-chuan.md +298 -0
  17. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/05-phan-5-standardized-vocabularies/lessons/bai-15-concept-relationship-concept-ancestor.md +336 -0
  18. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/05-phan-5-standardized-vocabularies/lessons/bai-16-drug-strength-cac-bang-vocabulary-con-lai.md +295 -0
  19. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/06-phan-6-health-system-economics-derived/lessons/bai-17-location-care-site-provider.md +334 -0
  20. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/06-phan-6-health-system-economics-derived/lessons/bai-18-payer-plan-period-cost.md +343 -0
  21. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/06-phan-6-health-system-economics-derived/lessons/bai-19-condition-era-drug-era-dose-era.md +418 -0
  22. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/chapters/07-phan-7-metadata-cohort-tong-ket/lessons/bai-20-cdm-source-metadata-cohort-tong-ket.md +517 -0
  23. package/content/series/architecture/omop-cdm-5-4-cho-nguoi-moi-bat-dau/index.md +385 -0
  24. package/package.json +1 -1
@@ -0,0 +1,440 @@
1
+ ---
2
+ id: 019f1a00-a102-7b01-e001-omopcdm54002
3
+ title: "Bài 2: Kiến trúc tổng thể OMOP CDM 5.4 — Nhóm bảng & Nguyên lý thiết kế"
4
+ slug: bai-2-kien-truc-tong-the-omop-cdm-5-4-nhom-bang-nguyen-ly-thiet-ke
5
+ description: >-
6
+ Tổng quan 37 bảng trong OMOP CDM 5.4, 6 nhóm bảng chính
7
+ (Clinical Data, Health System, Health Economics, Standardized
8
+ Vocabularies, Derived Elements, Metadata), mô hình Person-centric
9
+ và các nguyên lý thiết kế cốt lõi.
10
+ duration_minutes: 60
11
+ is_free: true
12
+ video_url: null
13
+ sort_order: 2
14
+ section_title: "Phần 1: Tổng quan & Nền tảng"
15
+ course:
16
+ id: 019f1a00-a100-7b01-e001-omopcdm54001
17
+ title: "OMOP CDM 5.4 cho Người mới — Hiểu từ A đến Z"
18
+ slug: omop-cdm-5-4-cho-nguoi-moi-bat-dau
19
+ ---
20
+
21
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 340" style="max-width: 100%; height: auto; border-radius: 12px; margin-bottom: 1.5rem;">
22
+ <defs>
23
+ <linearGradient id="bg-omop02" x1="0%" y1="0%" x2="100%" y2="100%">
24
+ <stop offset="0%" style="stop-color:#0c1222"/>
25
+ <stop offset="100%" style="stop-color:#1e293b"/>
26
+ </linearGradient>
27
+ </defs>
28
+ <rect width="1200" height="340" rx="12" fill="url(#bg-omop02)"/>
29
+ <g>
30
+ <circle cx="659" cy="87" r="22" fill="#818cf8" opacity="0.12"/>
31
+ <circle cx="718" cy="106" r="29" fill="#818cf8" opacity="0.09"/>
32
+ <circle cx="777" cy="125" r="36" fill="#818cf8" opacity="0.06"/>
33
+ <circle cx="836" cy="144" r="13" fill="#818cf8" opacity="0.13"/>
34
+ <circle cx="895" cy="163" r="20" fill="#818cf8" opacity="0.1"/>
35
+ <line x1="600" y1="157" x2="1100" y2="237" stroke="#818cf8" stroke-width="0.5" opacity="0.1"/>
36
+ <line x1="650" y1="187" x2="1050" y2="257" stroke="#818cf8" stroke-width="0.5" opacity="0.08"/>
37
+ </g>
38
+ <rect x="60" y="50" width="4" height="60" rx="2" fill="#818cf8"/>
39
+ <rect x="80" y="50" width="121" height="28" rx="14" fill="#818cf8" opacity="0.15"/>
40
+ <text x="92" y="69" font-family="system-ui,-apple-system,sans-serif" font-size="13" font-weight="600" fill="#818cf8">🏗️ Kiến trúc — Bài 2</text>
41
+ <text x="60" y="140" font-family="system-ui,-apple-system,sans-serif" font-size="34" font-weight="700" fill="#f1f5f9">
42
+ <tspan x="60" dy="0">Kiến trúc tổng thể OMOP CDM 5.4</tspan>
43
+ <tspan x="60" dy="42">Nhóm bảng &amp; Nguyên lý thiết kế</tspan>
44
+ </text>
45
+ <text x="60" y="244" font-family="system-ui,-apple-system,sans-serif" font-size="15" fill="#94a3b8" opacity="0.8">OMOP CDM 5.4 cho Người mới — Hiểu từ A đến Z</text>
46
+ <text x="60" y="268" font-family="system-ui,-apple-system,sans-serif" font-size="13" fill="#64748b" opacity="0.6">Phần 1: Tổng quan &amp; Nền tảng</text>
47
+ <text x="1140" y="320" font-family="system-ui,-apple-system,sans-serif" font-size="12" fill="#475569" text-anchor="end" opacity="0.4">xdev.asia</text>
48
+ </svg>
49
+
50
+ ![Kiến trúc 6 nhóm bảng OMOP CDM 5.4 xoay quanh PERSON](/storage/uploads/2026/04/omop-cdm-bai2-architecture-6-groups.png)
51
+
52
+ ## Giới thiệu
53
+
54
+ Ở bài trước, bạn đã hiểu **tại sao** cần OMOP CDM. Bài này sẽ trả lời câu hỏi: **CDM 5.4 trông như thế nào?** — 37 bảng được tổ chức ra sao, thuộc nhóm nào, và theo nguyên lý thiết kế gì.
55
+
56
+ Bạn sẽ có cái nhìn "bird's-eye view" toàn bộ CDM trước khi đi sâu vào từng bảng ở các bài tiếp theo.
57
+
58
+ ---
59
+
60
+ ## 1. Tổng quan 6 nhóm bảng
61
+
62
+ OMOP CDM 5.4 gồm **37 bảng** được chia thành **6 nhóm** (groups):
63
+
64
+ ```
65
+ ┌─────────────────────────────────────────────────────────────────────────┐
66
+ │ OMOP CDM 5.4 — 37 Tables │
67
+ │ │
68
+ │ ┌─────────────────────────────────────────────────────────────────┐ │
69
+ │ │ 1. CLINICAL DATA (16 bảng) │ │
70
+ │ │ person, observation_period, visit_occurrence, visit_detail, │ │
71
+ │ │ condition_occurrence, drug_exposure, procedure_occurrence, │ │
72
+ │ │ device_exposure, measurement, observation, death, note, │ │
73
+ │ │ note_nlp, specimen, fact_relationship, episode, episode_event │ │
74
+ │ └─────────────────────────────────────────────────────────────────┘ │
75
+ │ │
76
+ │ ┌──────────────────────────┐ ┌──────────────────────────────────┐ │
77
+ │ │ 2. HEALTH SYSTEM (3) │ │ 3. HEALTH ECONOMICS (2) │ │
78
+ │ │ location, care_site, │ │ payer_plan_period, cost │ │
79
+ │ │ provider │ │ │ │
80
+ │ └──────────────────────────┘ └──────────────────────────────────┘ │
81
+ │ │
82
+ │ ┌──────────────────────────────────────────────────────────────────┐ │
83
+ │ │ 4. STANDARDIZED VOCABULARIES (12 bảng) │ │
84
+ │ │ concept, vocabulary, domain, concept_class, concept_relationship,│ │
85
+ │ │ relationship, concept_synonym, concept_ancestor, │ │
86
+ │ │ source_to_concept_map, drug_strength, cohort, cohort_definition │ │
87
+ │ └──────────────────────────────────────────────────────────────────┘ │
88
+ │ │
89
+ │ ┌─────────────────────────┐ ┌───────────────────────────────────┐ │
90
+ │ │ 5. DERIVED ELEMENTS (3) │ │ 6. METADATA (2) │ │
91
+ │ │ drug_era, dose_era, │ │ cdm_source, metadata │ │
92
+ │ │ condition_era │ │ │ │
93
+ │ └─────────────────────────┘ └───────────────────────────────────┘ │
94
+ └─────────────────────────────────────────────────────────────────────────┘
95
+ ```
96
+
97
+ ### 1.1. Clinical Data Tables (16 bảng)
98
+
99
+ Đây là nhóm **lớn nhất và quan trọng nhất** — chứa toàn bộ dữ liệu lâm sàng.
100
+
101
+ | Bảng | Mô tả ngắn | Bài học |
102
+ |------|-------------|---------|
103
+ | `person` | Thông tin nhân khẩu bệnh nhân | Bài 4 |
104
+ | `observation_period` | Khoảng thời gian theo dõi | Bài 5 |
105
+ | `visit_occurrence` | Lượt khám/nhập viện | Bài 6 |
106
+ | `visit_detail` | Chi tiết trong một visit | Bài 6 |
107
+ | `condition_occurrence` | Chẩn đoán, bệnh lý | Bài 7 |
108
+ | `drug_exposure` | Thuốc, kê đơn, vaccine | Bài 8 |
109
+ | `procedure_occurrence` | Thủ thuật, phẫu thuật | Bài 9 |
110
+ | `measurement` | Xét nghiệm, sinh hiệu | Bài 10 |
111
+ | `observation` | Quan sát lâm sàng, tiền sử | Bài 11 |
112
+ | `device_exposure` | Thiết bị y tế | Bài 12 |
113
+ | `specimen` | Mẫu bệnh phẩm | Bài 12 |
114
+ | `note` | Ghi chú văn bản | Bài 12 |
115
+ | `note_nlp` | Kết quả NLP từ note | Bài 12 |
116
+ | `death` | Thông tin tử vong | Bài 13 |
117
+ | `episode` | Giai đoạn bệnh (mới CDM 5.4) | Bài 13 |
118
+ | `episode_event` | Liên kết events-episodes (mới CDM 5.4) | Bài 13 |
119
+
120
+ ### 1.2. Health System Data Tables (3 bảng)
121
+
122
+ | Bảng | Mô tả |
123
+ |------|-------|
124
+ | `location` | Địa điểm (địa chỉ, tọa độ) |
125
+ | `care_site` | Tổ chức y tế (bệnh viện, phòng khám) |
126
+ | `provider` | Nhân viên y tế (bác sĩ, y tá) |
127
+
128
+ ### 1.3. Health Economics Data Tables (2 bảng)
129
+
130
+ | Bảng | Mô tả |
131
+ |------|-------|
132
+ | `payer_plan_period` | Thông tin bảo hiểm y tế theo thời gian |
133
+ | `cost` | Chi phí gắn với mọi sự kiện lâm sàng |
134
+
135
+ ### 1.4. Standardized Vocabularies (12 bảng)
136
+
137
+ | Bảng | Mô tả |
138
+ |------|-------|
139
+ | `concept` | Bảng trung tâm — chứa >10 triệu concepts |
140
+ | `vocabulary` | Danh sách vocabulary sources (SNOMED, ICD-10...) |
141
+ | `domain` | Các domain (Condition, Drug, Procedure...) |
142
+ | `concept_class` | Phân loại concept (Clinical Finding, Ingredient...) |
143
+ | `concept_relationship` | Mối quan hệ giữa concepts |
144
+ | `relationship` | Định nghĩa các loại relationship |
145
+ | `concept_synonym` | Tên gọi khác của concept |
146
+ | `concept_ancestor` | Phả hệ hierarchical của concept |
147
+ | `source_to_concept_map` | Mapping mã nguồn → concept chuẩn |
148
+ | `drug_strength` | Hàm lượng, nồng độ thuốc |
149
+ | `cohort` | Danh sách bệnh nhân theo tiêu chí |
150
+ | `cohort_definition` | Định nghĩa tiêu chí cohort |
151
+
152
+ ### 1.5. Derived Elements (3 bảng)
153
+
154
+ | Bảng | Mô tả |
155
+ |------|-------|
156
+ | `drug_era` | Gộp drug exposures liên tục theo ingredient |
157
+ | `dose_era` | Giai đoạn dùng thuốc ở liều ổn định |
158
+ | `condition_era` | Gộp conditions liên tục thành era |
159
+
160
+ ### 1.6. Metadata (2 bảng)
161
+
162
+ | Bảng | Mô tả |
163
+ |------|-------|
164
+ | `cdm_source` | Thông tin nguồn dữ liệu, phiên bản CDM |
165
+ | `metadata` | Metadata bổ sung tùy ý |
166
+
167
+ ---
168
+
169
+ ## 2. Nguyên lý thiết kế cốt lõi
170
+
171
+ ### 2.1. Person-Centric (Lấy bệnh nhân làm trung tâm)
172
+
173
+ Mọi bảng clinical đều **liên kết ngược về PERSON** qua khóa `person_id`:
174
+
175
+ ```
176
+ ┌─────────────────────┐
177
+ │ PERSON │
178
+ │ person_id (PK) │
179
+ │ gender_concept_id │
180
+ │ year_of_birth │
181
+ └──────────┬──────────┘
182
+
183
+ ┌───────────────────────┼───────────────────────┐
184
+ │ │ │
185
+ ┌──────────┴──────────┐ ┌────────┴────────┐ ┌──────────┴──────────┐
186
+ │ OBSERVATION_PERIOD │ │ VISIT_OCCURRENCE │ │ CONDITION_OCCURRENCE│
187
+ │ person_id (FK) │ │ person_id (FK) │ │ person_id (FK) │
188
+ └─────────────────────┘ └──────┬──────────┘ └────────────────────┘
189
+
190
+ ┌────────────────────┼────────────────────┐
191
+ │ │ │
192
+ ┌──────────┴──────┐ ┌────────┴────────┐ ┌────────┴────────┐
193
+ │ DRUG_EXPOSURE │ │ PROCEDURE_OCC. │ │ MEASUREMENT │
194
+ │ person_id (FK) │ │ person_id (FK) │ │ person_id (FK) │
195
+ │ visit_occ_id(FK) │ │ visit_occ_id(FK)│ │ visit_occ_id(FK)│
196
+ └─────────────────┘ └────────────────┘ └────────────────┘
197
+ ```
198
+
199
+ **Quy tắc:** Nếu một dòng dữ liệu không gắn được với `person_id`, nó **không nằm trong các bảng clinical**.
200
+
201
+ ### 2.2. Event-Based (Dựa trên sự kiện)
202
+
203
+ Mỗi sự kiện y tế tạo **một bản ghi riêng** trong bảng tương ứng:
204
+
205
+ ```
206
+ Ngày 10/06: Khám ngoại trú → 1 record trong VISIT_OCCURRENCE
207
+ ├── Chẩn đoán tiểu đường → 1 record trong CONDITION_OCCURRENCE
208
+ ├── Chẩn đoán tăng HA → 1 record trong CONDITION_OCCURRENCE
209
+ ├── Kê Metformin 500mg → 1 record trong DRUG_EXPOSURE
210
+ ├── Kê Amlodipine 5mg → 1 record trong DRUG_EXPOSURE
211
+ ├── XN HbA1c = 7.8% → 1 record trong MEASUREMENT
212
+ └── XN Creatinine = 1.1 → 1 record trong MEASUREMENT
213
+ ```
214
+
215
+ ### 2.3. Concept-Driven (Dựa trên khái niệm chuẩn)
216
+
217
+ Mỗi giá trị lâm sàng được **mã hóa bằng concept_id** từ Standardized Vocabularies:
218
+
219
+ ```
220
+ Cột trong bảng CDM Concept Vocabulary
221
+ ─────────────────────────────────────────────────────────────────────
222
+ gender_concept_id = 8532 → "Female" [Gender]
223
+ condition_concept_id = 201826 → "Type 2 diabetes mellitus" [SNOMED CT]
224
+ drug_concept_id = 1503297 → "Metformin 500 MG Oral Tab" [RxNorm]
225
+ measurement_concept_id = 3004410 → "Hemoglobin A1c" [LOINC]
226
+ unit_concept_id = 8554 → "percent (%)" [UCUM]
227
+ ```
228
+
229
+ ### 2.4. Source Value Preservation (Bảo toàn giá trị gốc)
230
+
231
+ OMOP CDM **luôn giữ lại giá trị gốc** bên cạnh concept chuẩn:
232
+
233
+ ```sql
234
+ -- Ví dụ: Bảng CONDITION_OCCURRENCE
235
+ condition_concept_id = 201826 -- Standard Concept (SNOMED)
236
+ condition_source_value = 'E11' -- Mã gốc ICD-10 từ HIS
237
+ condition_source_concept_id = 443238 -- Concept ID của ICD-10 'E11'
238
+ ```
239
+
240
+ Mô hình 3 cột cho mỗi trường concept:
241
+
242
+ | Cột | Mô tả | Bắt buộc |
243
+ |-----|-------|----------|
244
+ | `*_concept_id` | Standard Concept ID (SNOMED, RxNorm...) | ✅ |
245
+ | `*_source_value` | Giá trị gốc dạng text | Không |
246
+ | `*_source_concept_id` | Concept ID gốc (nếu có trong vocabulary) | Không |
247
+
248
+ ### 2.5. Domain-Based Routing (Định tuyến theo miền)
249
+
250
+ Mỗi concept thuộc một **Domain** — và Domain quyết định bản ghi nằm ở **bảng nào**:
251
+
252
+ ```
253
+ Concept "Type 2 diabetes"
254
+ → Domain = "Condition"
255
+ → Lưu vào CONDITION_OCCURRENCE
256
+
257
+ Concept "Metformin 500mg"
258
+ → Domain = "Drug"
259
+ → Lưu vào DRUG_EXPOSURE
260
+
261
+ Concept "Hemoglobin A1c"
262
+ → Domain = "Measurement"
263
+ → Lưu vào MEASUREMENT
264
+
265
+ Concept "Smoking status"
266
+ → Domain = "Observation"
267
+ → Lưu vào OBSERVATION
268
+ ```
269
+
270
+ > **Lưu ý quan trọng:** Đôi khi mã nguồn ở domain này nhưng Standard Concept ở domain khác. Ví dụ: ICD-10 mã `Z87.891` (History of nicotine dependence) thuộc Condition nhưng Standard Concept map sang Observation domain → lưu vào bảng `OBSERVATION`, không phải `CONDITION_OCCURRENCE`.
271
+
272
+ ---
273
+
274
+ ## 3. Entity-Relationship Diagram tổng quát
275
+
276
+ ```
277
+ ┌──────────────────────────────────────────────────────────────────────────┐
278
+ │ HEALTH SYSTEM │
279
+ │ │
280
+ │ ┌──────────┐ ┌──────────────┐ ┌──────────────┐ │
281
+ │ │ LOCATION │←───│ CARE_SITE │───→│ PROVIDER │ │
282
+ │ │ │ │ │ │ │ │
283
+ │ └────┬─────┘ └──────────────┘ └──────┬───────┘ │
284
+ │ │ │ │
285
+ └───────┼──────────────────────────────────────┼──────────────────────────┘
286
+ │ │
287
+ ↓ ↓
288
+ ┌─────────────────────────────────────────────────────────────────────────┐
289
+ │ CLINICAL DATA │
290
+ │ │
291
+ │ ┌───────────┐ ┌───────────────────┐ │
292
+ │ │ PERSON │←──────│ OBSERVATION_PERIOD│ │
293
+ │ │ │ └───────────────────┘ │
294
+ │ └─────┬─────┘ │
295
+ │ │ │
296
+ │ ├──→ VISIT_OCCURRENCE ──→ VISIT_DETAIL │
297
+ │ │ │ │
298
+ │ │ ├──→ CONDITION_OCCURRENCE │
299
+ │ │ ├──→ DRUG_EXPOSURE │
300
+ │ │ ├──→ PROCEDURE_OCCURRENCE │
301
+ │ │ ├──→ MEASUREMENT │
302
+ │ │ ├──→ OBSERVATION │
303
+ │ │ ├──→ DEVICE_EXPOSURE │
304
+ │ │ ├──→ NOTE ──→ NOTE_NLP │
305
+ │ │ └──→ SPECIMEN │
306
+ │ │ │
307
+ │ ├──→ DEATH │
308
+ │ ├──→ EPISODE ──→ EPISODE_EVENT │
309
+ │ └──→ FACT_RELATIONSHIP │
310
+ │ │
311
+ └─────────────────────────────────────────────────────────────────────────┘
312
+
313
+
314
+ ┌─────────────────────────────────────────────────────────────────────────┐
315
+ │ HEALTH ECONOMICS │
316
+ │ PAYER_PLAN_PERIOD ←── PERSON │
317
+ │ COST ←── (bất kỳ clinical event nào) │
318
+ └─────────────────────────────────────────────────────────────────────────┘
319
+
320
+ ┌─────────────────────────────────────────────────────────────────────────┐
321
+ │ DERIVED ELEMENTS │
322
+ │ DRUG_ERA, DOSE_ERA, CONDITION_ERA ←── tính toán từ clinical data │
323
+ └─────────────────────────────────────────────────────────────────────────┘
324
+
325
+ ┌─────────────────────────────────────────────────────────────────────────┐
326
+ │ STANDARDIZED VOCABULARIES │
327
+ │ CONCEPT ←→ CONCEPT_RELATIONSHIP ←→ CONCEPT_ANCESTOR │
328
+ │ VOCABULARY, DOMAIN, CONCEPT_CLASS, RELATIONSHIP │
329
+ │ SOURCE_TO_CONCEPT_MAP, DRUG_STRENGTH, CONCEPT_SYNONYM │
330
+ │ COHORT, COHORT_DEFINITION │
331
+ └─────────────────────────────────────────────────────────────────────────┘
332
+
333
+ ┌─────────────────────────────────────────────────────────────────────────┐
334
+ │ METADATA: CDM_SOURCE, METADATA │
335
+ └─────────────────────────────────────────────────────────────────────────┘
336
+ ```
337
+
338
+ ---
339
+
340
+ ## 4. Conventions quan trọng trong CDM 5.4
341
+
342
+ ### 4.1. Các trường chung (Common Fields)
343
+
344
+ Hầu hết bảng clinical đều có các trường sau:
345
+
346
+ | Trường | Kiểu | Mô tả |
347
+ |--------|------|-------|
348
+ | `*_id` (PK) | INTEGER | Khóa chính, unique |
349
+ | `person_id` (FK) | INTEGER | Liên kết đến PERSON |
350
+ | `*_concept_id` | INTEGER | Standard Concept ID |
351
+ | `*_date` | DATE | Ngày sự kiện |
352
+ | `*_datetime` | DATETIME | Ngày giờ sự kiện (nếu có) |
353
+ | `*_type_concept_id` | INTEGER | Nguồn gốc dữ liệu (EHR, claim, self-reported...) |
354
+ | `*_source_value` | VARCHAR(50) | Giá trị gốc từ hệ thống nguồn |
355
+ | `*_source_concept_id` | INTEGER | Concept ID gốc |
356
+ | `visit_occurrence_id` (FK) | INTEGER | Liên kết đến VISIT_OCCURRENCE |
357
+ | `provider_id` (FK) | INTEGER | Bác sĩ/nhân viên |
358
+
359
+ ### 4.2. Quy ước về Concept ID
360
+
361
+ | Giá trị | Ý nghĩa |
362
+ |---------|---------|
363
+ | `0` | Không map được (No matching concept) |
364
+ | `> 0` | Concept hợp lệ trong bảng CONCEPT |
365
+ | `NULL` | Không áp dụng hoặc không có thông tin |
366
+
367
+ ### 4.3. Quy ước về Date/Datetime
368
+
369
+ - `*_date` (DATE): **Bắt buộc** — ngày xảy ra sự kiện
370
+ - `*_datetime` (DATETIME): **Tùy chọn** — nếu không có giờ, đặt `*_datetime = *_date + 00:00:00`
371
+ - Ngày kết thúc: nếu sự kiện 1 ngày, `end_date = start_date`
372
+
373
+ ### 4.4. Quy ước về Type Concept
374
+
375
+ `*_type_concept_id` cho biết **nguồn gốc** của bản ghi:
376
+
377
+ | type_concept_id | Ý nghĩa |
378
+ |-----------------|---------|
379
+ | 32817 | EHR (Electronic Health Record) |
380
+ | 32810 | Claim (Bảo hiểm) |
381
+ | 32856 | Lab test (Xét nghiệm) |
382
+ | 32883 | Survey (Khảo sát) |
383
+ | 32865 | Patient self-report |
384
+
385
+ ---
386
+
387
+ ## 5. CDM 5.4 — Điểm mới so với 5.3
388
+
389
+ | Thay đổi | Chi tiết |
390
+ |----------|----------|
391
+ | **Bảng EPISODE** | Ghi nhận disease episodes (VD: cancer treatment line 1, 2, 3) |
392
+ | **Bảng EPISODE_EVENT** | Liên kết clinical events với episodes |
393
+ | **measurement_event_id** | Cho phép Measurement liên kết đến event gốc (VD: Measurement từ Specimen nào) |
394
+ | **observation_event_id** | Tương tự cho Observation |
395
+ | **production_id** (DEVICE_EXPOSURE) | Unique Device Identifier (UDI) |
396
+ | **quantity** (DEVICE_EXPOSURE) | Số lượng thiết bị |
397
+
398
+ ---
399
+
400
+ ## 6. Bắt đầu từ đâu?
401
+
402
+ Lộ trình đọc series này:
403
+
404
+ ```
405
+ Bài 1-3: Nền tảng (bạn đang ở đây)
406
+
407
+ Bài 4-6: PERSON → OBSERVATION_PERIOD → VISIT
408
+ ↓ (xây nền móng)
409
+ Bài 7-10: CONDITION → DRUG → PROCEDURE → MEASUREMENT
410
+ ↓ (sự kiện lâm sàng chính)
411
+ Bài 11-13: OBSERVATION → DEVICE/NOTE/SPECIMEN → DEATH/EPISODE
412
+ ↓ (bảng mở rộng)
413
+ Bài 14-16: Vocabulary system
414
+ ↓ (hiểu concept sâu hơn)
415
+ Bài 17-19: Health System, Economics, Era tables
416
+ ↓ (hạ tầng & tổng hợp)
417
+ Bài 20: Tổng kết & bước tiếp theo
418
+ ```
419
+
420
+ ---
421
+
422
+ ## Tổng kết
423
+
424
+ Trong bài này, bạn đã nắm được:
425
+
426
+ 1. **37 bảng** trong OMOP CDM 5.4, chia thành **6 nhóm**
427
+ 2. **5 nguyên lý thiết kế**: Person-centric, Event-based, Concept-driven, Source preservation, Domain routing
428
+ 3. **ER Diagram tổng quát** — cách các bảng liên kết với nhau
429
+ 4. **Conventions chung** — common fields, concept ID rules, date/datetime, type concepts
430
+ 5. **Điểm mới CDM 5.4** — EPISODE, event linkage, device tracking
431
+
432
+ **Bài tiếp theo:** Chúng ta sẽ đi sâu vào **Concept** — trái tim của OMOP CDM — hiểu Standard vs Source Concept, Domain, Vocabulary, và cách tra cứu trên Athena.
433
+
434
+ ---
435
+
436
+ ## Tài liệu tham khảo
437
+
438
+ - [OMOP CDM 5.4 Specification](https://ohdsi.github.io/CommonDataModel/cdm54.html)
439
+ - [CDM 5.4 Changes](https://ohdsi.github.io/CommonDataModel/cdm54Changes.html)
440
+ - [The Book of OHDSI — Chapter 4: The Common Data Model](https://ohdsi.github.io/TheBookOfOhdsi/CommonDataModel.html)