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

Bài 8: Sinh hiệu, template hỏi bệnh & ICD-10

Cách HIS tổ chức nhập sinh hiệu, template SOAP theo chuyên khoa, gợi ý ICD-10 thông minh, snippets / phrases để bác sĩ ghi chép nhanh & chuẩn.

Sinh hiệu, template khám & ICD-10

Mục tiêu

Đo sinh hiệu, ghi chú template, gắn mã ICD-10

Đây là 3 lớp kỹ thuật cốt lõi quyết định tốc độ + chất lượng nhập liệu của BS OPD: vital signs (đầu vào tự động), template SOAP (cấu trúc văn bản), và ICD-10 (mã chuẩn). Làm tốt 3 lớp này → BS giảm 50 % thời gian gõ phím, tăng 90 % độ đầy đủ hồ sơ, giảm xuất toán BHYT.

Mục tiêu bài:

  • Thiết kế vital signs schema với validation, đơn vị UCUM, cảnh báo bất thường.
  • Thiết kế template SOAP theo chuyên khoa với biến điền nhanh.
  • Tổ chức macro / phrase cá nhân an toàn (không leak PHI).
  • Triển khai ICD-10 search-as-you-type đa trục (chính / phụ / biến chứng) + gợi ý CLS.
  • Hiểu chuẩn SNOMED-CT, LOINC, UCUM ở mức tối thiểu để liên thông.
  • Bộ rules CDS đơn giản đi kèm.

Bối cảnh

  • BS Việt Nam ngại ICD-10 vì WHO 2019 có >70.000 mã; bản BYT địa hoá khoảng 12.000 mã thường dùng.
  • Sinh hiệu lưu sai đơn vị (mmHg vs kPa) là nguyên nhân phổ biến nhất gây sai báo cáo (vd. nhập 12 thay vì 120).
  • Template miễn phí (vd. SOAP của một vendor) thường không phù hợp chuyên khoa Sản, Mắt, Răng-Hàm-Mặt → cần customizable.

1) Sinh hiệu (Vital Signs)

Schema

TrườngĐơn vị (UCUM)ValidationBắt buộc
Nhiệt độCel30–43OPD/IPD
Mạch/min30–220OPD/IPD
HA tâm thumm[Hg]50–260OPD/IPD
HA tâm trươngmm[Hg]30–160OPD/IPD
Nhịp thở/min5–60IPD/ER
SpO₂%50–100OPD nếu hô hấp
Cân nặngkg0.5–250OPD/Sản/Nhi
Chiều caocm30–230định kỳ
BMIkg/m2computedauto
Đường máu mao mạchmmol/L1.0–40nếu Đái tháo đường
Pain score (NRS)0–10intthủ thuật/IPD

Quy tắc

  • Bắt buộc nhập sinh hiệu trước khi IN_EXAM (hard-block).
  • Cảnh báo đỏ nếu ngoài ngưỡng nguy hiểm:
    • HA > 180/110 hoặc < 90/60 → triggers
    • SpO₂ < 90 % → gợi ý chuyển ER
    • Nhiệt độ > 39 °C kèm tuổi < 6 → cảnh báo nhi khoa
    • HR < 50 hoặc > 130 → cảnh báo loạn nhịp
  • Lưu kèm taken_at, taken_by, device_id (kết nối từ máy đo) — phục vụ kiểm toán.
  • Connect trực tiếp máy đo HA / SpO₂ qua HL7 v2 ORU^R01 hoặc IHE PCD-01 → giảm sai số nhập tay.

State machine vital

[ENTERED] → [VALIDATED]
        │       │
        │       ├─► [ABNORMAL] → cảnh báo CDS
        │       └─► [NORMAL]
        └─► [REJECTED] (ngoài ngưỡng vật lý) → bắt nhập lại

2) Template SOAP & nâng cao

Mô hình SOAP

  • Subjective: lý do đến khám, tiền sử (BN khai)
  • Objective: sinh hiệu, khám thực thể
  • Assessment: ICD chính + phụ + biến chứng
  • Plan: thuốc, CLS, hẹn tái khám, hướng xử trí

Template theo chuyên khoa

KhoaTrường đặc thù
Nội tổng quátĐau ngực (OPQRST), khó thở (NYHA), ho
Tim mạchNYHA, CCS, ECG findings, EF %
Da liễuVị trí, hình thái, kích thước, ảnh
SảnPARA, tuổi thai, ngày DKKK, GA tuần
NhiCân nặng/chiều cao/PT thần kinh; tiêm chủng
RHMSơ đồ răng FDI, mã thủ thuật
MắtTL, NA, đáy mắt, OCT
Tâm thầnMMSE/MOCA/PHQ-9
Ung bướuTNM, ECOG, chemo regimen

Render template

Template lưu Markdown + biến {{var}}:

## SOAP - Tim mạch

**S**: BN nam {{age}} tuổi, đau ngực {{chest_pain_duration}}, mức độ {{chest_pain_severity}}/10.
NYHA: {{nyha}}. Tiền sử: {{history}}.

**O**: HA {{sbp}}/{{dbp}} mmHg, M {{pulse}} l/p, SpO₂ {{spo2}} %.
ECG: {{ecg_findings}}.

**A**: {{icd_primary}}{{#icd_secondary}}; {{.}}{{/icd_secondary}}

**P**:
- {{plan_drugs}}
- CLS: {{plan_cls}}
- Hẹn tái khám: {{follow_up_date}}

UI render thành form thông minh, BS chỉ điền các ô.

3) Snippets / Phrases

Cho phép BS định nghĩa macro cá nhân, scope:

  • personal — chỉ BS đó (autocomplete khi gõ .)
  • department — toàn khoa (do Trưởng khoa duyệt)
  • system — toàn BV (do Y vụ duyệt)

Ví dụ:

.vmtinh   → "Họng đỏ, amydal sưng độ II, không giả mạc."
.cao_ha   → "Tăng huyết áp giai đoạn II — khuyến cáo đo HA tại nhà 2 lần/ngày."
.dttd2    → "Đái tháo đường týp 2, kiểm soát chưa tốt (HbA1c {{hba1c}} %), điều chỉnh phác đồ."

An toàn:

  • Macro không được chứa PHI (tên, số, ngày sinh) — validate khi save.
  • Audit log mỗi lần dùng macro → có thể trace lại khi BHYT giám định.
  • Macro system cần ký số bởi Y vụ.

4) ICD-10: tra cứu thông minh

Cấu trúc bộ mã

  • ICD-10 WHO (Bộ Y tế Việt Nam đã địa hoá theo QĐ 7603/QĐ-BYT 2018, cập nhật 2023).
  • ~12.000 mã active; chia 22 chương (A–Z trừ U).
  • Mã chính + phụ + biến chứng + nguyên nhân ngoại sinh (V–Y).

UI tra cứu

  1. Search-as-you-type đa nguồn:
    • Mã (J20.9)
    • Tên tiếng Việt ("viêm phế quản cấp")
    • Tên tiếng Anh ("acute bronchitis")
    • Đồng nghĩa, viết tắt (ASCVD, COPD)
  2. Chấm điểm relevance: prefix match (mã) > exact word > fuzzy. Dùng PostgreSQL pg_trgm hoặc Elasticsearch.
  3. Ưu tiên gợi ý:
    • Theo chuyên khoa BS đang làm
    • Theo ICD đã dùng cho BN trước (history)
    • Top 20 mã của chính BS đó (most recent personal)
  4. Multi-axis UI: chính / phụ / biến chứng / ngoại sinh — 4 ô riêng biệt.
  5. Cảnh báo:
    • Mã chương Z (sàng lọc) → BHYT thường không thanh toán
    • Mã chương V–Y (tai nạn) → cần ghi rõ hoàn cảnh
    • Mã unspecified (.9) → khuyến khích BS chốt mã con cụ thể nếu có
  6. Hiển thị badge "BHYT pass / không pass" theo bộ rule giám định.

Liên kết ICD ↔ Service (clinical pathway nhẹ)

Bảng ICD_TO_SUGGESTED_SERVICES:

ICDGợi ý CLSLý do
J20.*CRP, CTM, X-quang ngựcnhiễm trùng hô hấp dưới
E11.*HbA1c, glucose, lipid, microalbuminfollow-up ĐTĐ
I10ECG, lipid, creatinin, kaliTHA mới chẩn đoán
K29.*UREA H. Pylori, EGDviêm dạ dày
N39.0TPTNT, cấy nước tiểuNKTQ

Khi BS chọn ICD → modal "Bạn có muốn thêm các CLS thường dùng?" → 1 click thêm vào order. Tăng tốc 5x.

5) Chuẩn dữ liệu liên thông

ChuẩnVai tròÁp dụng VN
ICD-10 WHO (BYT địa hoá)Chẩn đoánbắt buộc theo TT 32
ICD-10-PCS / ICD-9-CM Vol 3Thủ thuậtdùng cho IPD
ICD-O-3Ung bướubài 26
SNOMED-CTKhái niệm lâm sàng tinh hơntuỳ chọn cho HSSK liên thông quốc tế
LOINCMã xét nghiệmbài 17
UCUMĐơn vị đobắt buộc cho thiết bị tự động
RxNorm / Bộ DM thuốc BYTThuốcbài 22
HL7 v2 / FHIR R4Vận chuyểnbài 17, 46

6) CDS đơn giản đi kèm

Bộ rules tối thiểu:

  • HA > 180/110 + chưa có ICD I10 → gợi ý ICD I10 + chỉ định ECG.
  • ICD I20.* + chưa kê chống ngưng tập tiểu cầu → gợi ý.
  • Phụ nữ thai kỳ + thuốc nhóm X → block.
  • Tuổi > 65 + thuốc Beers list → cảnh báo.
  • ICD nhi + thuốc người lớn → cảnh báo cân nặng.

Lưu CDS log để cải tiến rule (xem bài 23).

Edge case

  • BS gõ ICD bằng tiếng Anh sai chính tả → fuzzy match phải tha thứ Levenshtein ≤ 3.
  • Sinh hiệu nhập sai đơn vị (HA = 12 thay vì 120) → reject ngoài range.
  • Macro chứa PHI vô tình → block lúc save + xoá lịch sử backup nếu phát hiện.
  • BS muốn ICD ngoài WHO (vd. y học cổ truyền) → có namespace riêng YHCT.* không gửi BHYT XML 1.
  • Template chuyên khoa thay đổi giữa kỳ → version hoá, bệnh án cũ giữ template version cũ.

Sai lầm thường gặp

  • Cho nhập sinh hiệu bất kỳ giá trị (không validation) → báo cáo lỗi.
  • Template không có version → in lại bệnh án cũ thấy khác.
  • ICD search slow (full-text query thiếu index) → BS bỏ chọn.
  • Không gắn ICD ↔ service → BS quên CLS quan trọng.
  • Macro chứa text "BN nam Nguyễn Văn A" copy nhầm → leak PHI.
  • Không log device_id máy đo → không truy được nguồn sai số.

Output / Chứng từ

Chứng từKhi nàoLưu
Phiếu sinh hiệu (in nếu cần)EODbệnh án
Bệnh án ngoại trú (đã render template)sau DONEMRA
Báo cáo CDS logthángY vụ

Checklist UAT

  • Bắt buộc sinh hiệu trước IN_EXAM.
  • HA = 12 → bị reject; HA = 1200 → bị reject.
  • SpO₂ < 90 → cảnh báo đỏ + gợi ý ER.
  • BMI tự tính từ cân/chiều cao.
  • Template SOAP render đúng biến.
  • Macro .vmtinh autocomplete khi gõ .vmt.
  • Macro chứa "Nguyễn Văn A" → reject.
  • ICD search "vphq" → ra J20.9.
  • ICD search "asthma" → ra J45.
  • Chọn ICD E11 → modal gợi ý HbA1c + lipid.
  • ICD chương Z với BHYT → cảnh báo.
  • ICD .9 → khuyến khích chốt mã con.
  • Đa trục: chính/phụ/biến chứng/ngoại sinh độc lập.
  • Sinh hiệu từ device qua HL7 ORU → tự fill.

KPI vận hành

KPIMục tiêuCách đo
% encounter có sinh hiệu đầy đủ> 99 %DB check
% sinh hiệu nhập từ device> 60 %source flag
Avg thời gian nhập SOAP< 90 giâysession log
% template được dùng> 70 %log
ICD search latency p95< 200 msAPM
% ICD chính chuẩn (không text)> 99 %DB check
% CDS rule kích hoạt → action> 70 %CDS log

Cơ sở pháp lý áp dụng (2026)

  • Luật KCB 15/2023/QH15 — bệnh án điện tử.
  • TT 32/2023/TT-BYT — báo cáo thống kê (ICD bắt buộc).
  • TT 46/2018/TT-BYT — bệnh án điện tử.
  • QĐ 7603/QĐ-BYT 2018 — danh mục ICD-10 VN (cập nhật 2023).
  • QĐ 130/QĐ-BYT 2023 — chuẩn dữ liệu đầu ra BHYT.
  • NĐ 13/2023/NĐ-CP — PHI (chống leak qua macro).

Bài tiếp theo: Khám đa chuyên khoa, chuyển khoa & hội chẩn ngoại trú.