Ba bảng lâm sàng bổ sung: DEVICE_EXPOSURE cho thiết bị y tế (stent, pacemaker), SPECIMEN cho mẫu bệnh phẩm (máu, mô), NOTE và NOTE_NLP cho ghi chú lâm sàng và xử lý NLP.
Giới thiệu
Bài này giới thiệu ba bảng lâm sàng bổ sung: DEVICE_EXPOSURE (thiết bị y tế cấy/gắn trên bệnh nhân), SPECIMEN (mẫu bệnh phẩm dùng cho xét nghiệm), và NOTE / NOTE_NLP (ghi chú lâm sàng dạng văn bản tự do). Dù ít phổ biến hơn Condition/Drug/Procedure, chúng ngày càng quan trọng trong nghiên cứu.
Mới trong 5.4: production_id tách biệt với unique_device_id, dùng cho production identifier (serial number, lot number).
2. SPECIMEN — Mẫu bệnh phẩm
2.1. Cấu trúc bảng
Cột
Kiểu
Bắt buộc
Mô tả
specimen_id
INTEGER
✅ PK
ID duy nhất
person_id
INTEGER
✅ FK
Bệnh nhân
specimen_concept_id
INTEGER
✅
Loại mẫu (SNOMED)
specimen_type_concept_id
INTEGER
✅
Nguồn dữ liệu
specimen_date
DATE
✅
Ngày lấy mẫu
specimen_datetime
DATETIME
quantity
FLOAT
Lượng mẫu
unit_concept_id
INTEGER
Đơn vị (mL, g...)
anatomic_site_concept_id
INTEGER
Vị trí lấy mẫu
disease_status_concept_id
INTEGER
Tình trạng bệnh lý
specimen_source_id
VARCHAR(50)
Mã barcode gốc
specimen_source_value
VARCHAR(50)
Loại mẫu gốc
unit_source_value
VARCHAR(50)
Đơn vị gốc
anatomic_site_source_value
VARCHAR(50)
Vị trí gốc
disease_status_source_value
VARCHAR(50)
Trạng thái gốc
2.2. Loại mẫu phổ biến
specimen_concept_id
Loại mẫu
Tiếng Việt
4045667
Blood specimen
Mẫu máu
4048506
Urine specimen
Nước tiểu
4002890
Serum specimen
Huyết thanh
4219166
Tissue specimen
Mẫu mô
4045666
Sputum specimen
Đàm
4260640
Cerebrospinal fluid
Dịch não tủy
4000626
Bone marrow
Tủy xương
2.3. Liên kết Specimen → Measurement
-- Mẫu máu lấy ngày 15/6
INSERT INTO specimen VALUES (
150001, 100001, 4045667, -- Blood specimen
32817, '2024-06-15', NULL,
5, 8587, -- 5 mL
4236402, -- Antecubital vein
NULL, 'BARCODE_123456',
'MAU_MAU', 'mL', 'tinh_mach_khuu_tay', NULL
);
-- Xét nghiệm Glucose từ mẫu máu này
-- (liên kết qua person_id + measurement_date + logic ETL)
Lưu ý: SPECIMEN không có FK trực tiếp đến MEASUREMENT trong CDM 5.4. Liên kết thường qua person_id + date hoặc thông qua FACT_RELATIONSHIP.
3. NOTE — Ghi chú lâm sàng
3.1. Cấu trúc bảng NOTE
Cột
Kiểu
Bắt buộc
Mô tả
note_id
INTEGER
✅ PK
ID duy nhất
person_id
INTEGER
✅ FK
Bệnh nhân
note_date
DATE
✅
Ngày ghi chú
note_datetime
DATETIME
note_type_concept_id
INTEGER
✅
Loại ghi chú
note_class_concept_id
INTEGER
✅
Phân loại
note_title
VARCHAR(250)
Tiêu đề
note_text
CLOB
✅
Nội dung
encoding_concept_id
INTEGER
✅
Encoding (UTF-8)
language_concept_id
INTEGER
✅
Ngôn ngữ
provider_id
INTEGER
FK
Bác sĩ viết
visit_occurrence_id
INTEGER
FK
Visit
visit_detail_id
INTEGER
FK
note_source_value
VARCHAR(50)
note_event_id
BIGINT
⭐ CDM 5.4
note_event_field_concept_id
INTEGER
⭐ CDM 5.4
3.2. note_class_concept_id phổ biến
Concept ID
Note Class
Tiếng Việt
44814637
Discharge summary
Tóm tắt xuất viện
44814638
Emergency department note
Ghi chú cấp cứu
44814639
Inpatient note
Ghi chú nội trú
44814640
Outpatient note
Ghi chú ngoại trú
44814641
Pathology report
Kết quả giải phẫu bệnh
44814642
Radiology report
Kết quả X-quang/CT
44814643
Surgical note
Biên bản phẫu thuật
3.3. Ví dụ
-- Tóm tắt xuất viện
INSERT INTO note (
note_id, person_id, note_date,
note_type_concept_id, note_class_concept_id,
note_title, note_text,
encoding_concept_id, language_concept_id,
provider_id, visit_occurrence_id
) VALUES (
160001, 100001, '2024-06-20',
32817, -- EHR
44814637, -- Discharge summary
'TÓM TẮT XUẤT VIỆN',
'Bệnh nhân nam, 55 tuổi, nhập viện vì đau ngực. '
|| 'Chẩn đoán: Nhồi máu cơ tim cấp. '
|| 'Đã can thiệp mạch vành, đặt 2 stent. '
|| 'Xuất viện ngày 20/06/2024 với đơn thuốc: '
|| 'Aspirin 81mg, Clopidogrel 75mg, Atorvastatin 40mg. '
|| 'Tái khám sau 1 tháng.',
32678, -- UTF-8
4181730, -- Vietnamese
5001, 50001
);
4. NOTE_NLP — Kết quả xử lý NLP
Cột
Kiểu
Bắt buộc
Mô tả
note_nlp_id
BIGINT
✅ PK
ID
note_id
INTEGER
✅ FK
Note gốc
section_concept_id
INTEGER
Section (HPI, Assessment...)
snippet
VARCHAR(250)
Đoạn text trích
offset
VARCHAR(50)
Vị trí trong note
lexical_variant
VARCHAR(250)
✅
Từ/cụm từ gốc
note_nlp_concept_id
INTEGER
✅
Concept phát hiện
note_nlp_source_concept_id
INTEGER
nlp_system
VARCHAR(250)
Tên NLP tool
nlp_date
DATE
✅
Ngày chạy NLP
nlp_datetime
DATETIME
term_exists
VARCHAR(1)
Y/N — khẳng định hay phủ định
term_temporal
VARCHAR(50)
Past/Present/Future
term_modifiers
VARCHAR(2000)
Modifier (negation, family...)
-- NLP phát hiện "Nhồi máu cơ tim" từ tóm tắt xuất viện
INSERT INTO note_nlp (
note_nlp_id, note_id,
snippet, offset, lexical_variant,
note_nlp_concept_id,
nlp_system, nlp_date,
term_exists, term_temporal
) VALUES (
170001, 160001,
'Chẩn đoán: Nhồi máu cơ tim cấp',
'120-153',
'nhồi máu cơ tim cấp',
4329847, -- SNOMED: AMI
'cTAKES-VN', '2024-07-01',
'Y', -- Có (không phải negation)
'Present' -- Hiện tại
);
5. Khi nào dùng bảng nào?
Dữ liệu gốc
│
├── Thiết bị gắn/cấy trên BN ──→ DEVICE_EXPOSURE
│ (stent, pacemaker, kính)
│
├── Mẫu bệnh phẩm ──────────→ SPECIMEN
│ (máu, nước tiểu, mô)
│
├── Văn bản tự do ───────────→ NOTE
│ (tóm tắt xuất viện,
│ biên bản phẫu thuật)
│
└── Kết quả NLP từ NOTE ─────→ NOTE_NLP
(concepts phát hiện tự động)
Tổng kết
DEVICE_EXPOSURE: thiết bị y tế cấy/gắn, dùng UDI để truy vết
SPECIMEN: mẫu bệnh phẩm, liên kết gián tiếp với MEASUREMENT
NOTE: ghi chú lâm sàng dạng văn bản tự do, hỗ trợ tiếng Việt
NOTE_NLP: kết quả phân tích NLP, phát hiện concept tự động