So sánh HL7 v2, v3, CDA, FHIR — chọn phiên bản nào?
Trong bốn dòng tiêu chuẩn HL7, không dòng nào "thay thế hoàn toàn" dòng kia. HL7 v2 vẫn là xương sống tích hợp nội bộ bệnh viện, FHIR là API mở cho mobile và AI, CDA giữ vai trò tài liệu có chữ ký, còn HL7 v3 chỉ còn ngữ cảnh hẹp ở vài hệ thống quốc gia.
Trang này dành cho CIO bệnh viện và lập trình viên đang chuẩn bị RFP hoặc chọn chuẩn cho dự án mới. Sau khi đọc, bạn quyết định được "viết HL7 nào trong RFP" cho từng use case Việt Nam: BHYT, EMR theo Thông tư 13/2025/TT-BYT, ứng dụng cho bệnh nhân và liên thông VNeID.
Tóm tắt nhanh
- HL7 v2 — tích hợp HIS-LIS-RIS-PACS nội bộ bệnh viện, real-time, chi phí thấp; HL7/NLM ghi nhận khoảng 95% tổ chức y tế Mỹ và triển khai tại 35+ quốc gia.
- FHIR R4 — API mở cho mobile, AI, liên thông VNeID/BHXH; lựa chọn mặc định cho dự án greenfield 2026+.
- CDA R2 — trao đổi tài liệu (xuất viện, chuyển tuyến, bệnh án) cần chữ ký số; có thể chuyển dần sang FHIR Composition.
- HL7 v3 — không khuyến nghị cho dự án mới; chỉ dùng nếu phải tích hợp với hệ thống v3 hoặc CDA/SPL legacy đã đầu tư.
- Combo phổ biến nhất: v2 nội bộ + FHIR cho mọi giao tiếp ra ngoài bệnh viện.
1. Quyết định nhanh: bốn use case, bốn chuẩn
Câu hỏi sai phổ biến trong RFP là "chọn HL7 nào". Câu hỏi đúng là "tích hợp gì với gì". Mỗi use case có một chuẩn phù hợp nhất, và một bệnh viện vận hành tốt thường dùng từ hai đến ba chuẩn cùng lúc.
| Use case | Khuyến nghị | Lý do |
|---|---|---|
| HIS ⇄ LIS / RIS / PACS nội bộ | HL7 v2 | Hệ sinh thái sẵn, real-time, ít overhead |
| Bệnh viện ⇄ ứng dụng bệnh nhân (mobile/web) | FHIR | REST/JSON, OAuth/SMART on FHIR, mobile-friendly |
| Bệnh viện ⇄ AI service / data fabric | FHIR | REST + Bulk Data Access, dễ tiêu thụ trong pipeline ML |
| Bệnh viện ⇄ bệnh viện (chuyển tuyến, xuất viện) | CDA hoặc FHIR Composition | Document có chữ ký số, IHE XDS hỗ trợ cả hai |
| Bệnh viện ⇄ BHYT | XML 4210/QĐ 3176 hôm nay; FHIR như mapping layer cho tương lai | QĐ 3176/QĐ-BYT vẫn là cơ sở pháp lý hiện hành; chưa có văn bản chính thức thay XML 4210 bằng FHIR |
| EMR theo Thông tư 13/2025/TT-BYT | FHIR (kiến trúc khuyến nghị) | Thông tư yêu cầu kết nối số định danh và VNeID, không bắt buộc FHIR; FHIR là lựa chọn kỹ thuật phù hợp |
| Tích hợp hệ thống v3 / CDA / SPL legacy | HL7 v3 | Chỉ khi đối tác đã đầu tư v3, không khuyến nghị greenfield |
Lưu ý pháp lý. Thông tư 13/2025/TT-BYT yêu cầu bệnh án điện tử kết nối với số định danh cá nhân hoặc tài khoản VNeID, nhưng không quy định cụ thể chuẩn dữ liệu phải là FHIR. FHIR được khuyến nghị như giải pháp kiến trúc phù hợp, không phải nghĩa vụ pháp lý.
2. Bảng so sánh 12 trục
Bảng dưới đây giúp đánh giá nhanh trước khi đi sâu. Một số trục như "schema strictness" và "learning curve" mang tính tương đối, dựa trên phản hồi từ vendor và đội tích hợp Việt Nam.
| # | Trục | HL7 v2 | HL7 v3 | CDA | FHIR R4 |
|---|---|---|---|---|---|
| 1 | Năm phát hành đầu tiên | v2.0: 1988-09; v2.1: 1990-03; v2.3: 1997-03 | 2005 | R2: 2005 | DSTU1: 2014-09; R4: 2019 |
| 2 | Format wire | Pipe-delimited (ER7) | XML (RIM-based) | XML (RIM-based) | JSON / XML / Turtle |
| 3 | Paradigm | Message | Message | Document | Resource (REST + message + document) |
| 4 | Transport | MLLP / TCP | SOAP / HTTP | File / HTTP / IHE XDS | HTTPS REST |
| 5 | Bảo mật mặc định | Mạng nội bộ, không có auth tích hợp | WS-Security | XML Signature, không có auth tích hợp | OAuth 2.0 / SMART on FHIR |
| 6 | Schema strictness | Lỏng, mỗi vendor diễn giải khác | Rất chặt | Chặt (template-driven) | Vừa, mở rộng qua Profile/Extension |
| 7 | Mobile-friendly | Không | Không | Không | Có (REST + JSON) |
| 8 | Trạng thái normative | v2.9.1 (2024) | Normative Edition 2005+ | R2 normative | R4 (4.0.1) — Mixed Normative + STU; chỉ một số artifact nền tảng đạt Normative |
| 9 | Adoption thực tế | ~95% tổ chức y tế Mỹ; 35+ quốc gia (HL7/NLM) | UK NHS, Đức, Hàn Quốc, Úc legacy | US (C-CDA), Đức, Hàn Quốc, IHE XDS | 50+ quốc gia có National IG |
| 10 | Tooling | Mature (Mirth, Iguana, Rhapsody) | Hạn chế | Mature (Trifolia, MDHT) | Xuất sắc (HAPI, Firely, Bonfhir, Medplum) |
| 11 | Đường cong học | Trung bình | Cao (RIM, vocabulary phức tạp) | Trung bình–cao | Thấp với DEV web |
| 12 | Phù hợp greenfield 2026 | Có, cho integration nội bộ | Không | Chỉ cho document exchange | Có, mặc định |
3. Sâu hơn từng dòng
HL7 v2
HL7 v2 ra đời năm 1988 và liên tục tiến hoá: v2.1 (3/1990), v2.3 (3/1997), tới v2.9.1 (2024). Định dạng pipe-delimited dễ parse bằng bất kỳ ngôn ngữ nào, tốc độ truyền MLLP gần như tức thời, và mỗi message chỉ vài kilobyte. Đây là lý do v2 vẫn thống trị giao tiếp HIS-LIS-RIS-PACS sau ba thập kỷ.
Dùng v2 khi tích hợp nội bộ bệnh viện cần độ trễ thấp, các hệ thống đối tác (Cerner, Epic, Meditech, Mirth, FPT.eHospital, Viettel ITN, OmiHIS) đã hỗ trợ sẵn, hoặc luồng ADT/ORM/ORU/MDM truyền thống. Tránh v2 khi cần expose API ra public internet, cần auth zero-trust, hoặc đối tác không đồng ý mở port MLLP qua firewall.
Điểm yếu lớn nhất của v2 là schema lỏng. Cùng segment OBX có thể được hai vendor encode khác nhau, và cộng đồng không có cơ chế Profile chính thức như FHIR. Đây là chi phí ẩn của mọi dự án integration v2 — phần lớn effort là negotiate field-by-field giữa hai bên.
HL7 v3
v3 dựa trên RIM (Reference Information Model), schema chặt và rất chuẩn, nhưng đường cong học cực dốc. Adoption hẹp: NHS Anh, một số hệ thống ở Đức, Hàn Quốc, Úc dùng v3 cho registries quốc gia. Greenfield 2026 nên tránh v3, chọn FHIR thay thế. Chỉ cân nhắc v3 khi đối tác đã đầu tư v3/CDA/SPL legacy nhiều năm và chưa có lộ trình migration.
CDA R2
CDA là document XML có chữ ký, giải quyết bài toán "tài liệu y khoa có cấu trúc". Tại Mỹ, C-CDA là chuẩn de-facto cho Continuity of Care Document. Tại Việt Nam, CDA phù hợp với giấy chuyển tuyến, tóm tắt xuất viện, bệnh án có chữ ký số theo Nghị định 137/2024/NĐ-CP.
FHIR có cơ chế tương đương qua Composition + Bundle kiểu document. Nếu hệ thống đã chọn FHIR, không cần thêm CDA. Nếu đã dùng IHE XDS với CDA, cứ giữ và bổ sung FHIR cho các kênh mới.
FHIR R4
FHIR R4 (4.0.1) public năm 2019. Quan trọng: R4 không phải hoàn toàn normative — HL7 đặt label "Mixed Normative + STU", trong đó các artifact nền tảng (XML/JSON/RDF format, RESTful API, terminology services, một số resource như Patient và Observation) đạt Normative; phần lớn resource lâm sàng vẫn ở STU (Standard for Trial Use). R4 vẫn là phiên bản được khuyến nghị cho production hiện nay; R5 đã ra đời nhưng adoption còn hạn chế.
FHIR mạnh ở chỗ giảm rào cản DEV web: REST + JSON + OAuth là kỹ năng phổ thông. Hệ tooling (HAPI Java, Firely .NET, Bonfhir TypeScript, Medplum, Aidbox) đã trưởng thành. Mặt yếu là FHIR cho phép Profile/Extension rất tự do — nếu không có IG quốc gia (như VN Core, đang phát triển tại fhir.hl7.org.vn/core), mỗi vendor lại tự định nghĩa, lặp lại bài học của v2.
4. Code sample song song: ADT^A01 nhập viện
Cùng một sự kiện — bệnh nhân Nguyễn Thị Lan (MRN0001) nhập viện vào khoa ICU phòng 301 lúc 14:30 ngày 30/4/2026 — được biểu diễn bằng ba chuẩn để bạn cảm nhận khác biệt.
HL7 v2.5 (pipe-delimited)
MSH|^~\&|HIS|HOSP|ADT|HOSP|202604301430||ADT^A01|MSG001|P|2.5
EVN|A01|202604301430
PID|1||MRN0001||NGUYEN^THI LAN||19850315|F|||123 LE LOI^^HCMC^^70000^VN
PV1|1|I|ICU^301^1|||||||||||||||V001 Bốn dòng, dưới 300 byte, parser viết được trong 50 dòng Python. Đây là lý do v2 sống dai: chi phí integration thấp, throughput cao.
CDA R2 (XML, rút gọn)
<ClinicalDocument xmlns="urn:hl7-org:v3">
<typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040"/>
<templateId root="2.16.840.1.113883.10.20.22.1.1"/>
<id root="2.16.840.1.113883.19.5.99999.1" extension="DOC0001"/>
<code code="34133-9" codeSystem="2.16.840.1.113883.6.1"
displayName="Summarization of Episode Note"/>
<effectiveTime value="202604301430"/>
<recordTarget>
<patientRole>
<id extension="MRN0001" root="2.16.840.1.113883.19.5"/>
<patient>
<name>
<family>Nguyễn</family>
<given>Thị Lan</given>
</name>
<administrativeGenderCode code="F"
codeSystem="2.16.840.1.113883.5.1"/>
<birthTime value="19850315"/>
</patient>
</patientRole>
</recordTarget>
</ClinicalDocument> CDA verbose hơn nhiều, nhưng có chữ ký số và cấu trúc document chuẩn. Phù hợp khi cần lưu trữ pháp lý hoặc trao đổi giữa hai bệnh viện qua IHE XDS.
FHIR R4 (Bundle transaction)
{
"resourceType": "Bundle",
"type": "transaction",
"entry": [
{
"fullUrl": "urn:uuid:9b1e5a2c-3f8d-4a1c-8e7b-1c2d3e4f5a6b",
"resource": {
"resourceType": "Patient",
"identifier": [{
"system": "http://fhir.hl7.org.vn/core/sid/mrn",
"value": "MRN0001"
}],
"name": [{
"family": "Nguyễn",
"given": ["Thị", "Lan"]
}],
"gender": "female",
"birthDate": "1985-03-15"
},
"request": { "method": "POST", "url": "Patient" }
},
{
"fullUrl": "urn:uuid:7c2f6b3d-4e9a-5b2d-9f8c-2d3e4f5a6b7c",
"resource": {
"resourceType": "Encounter",
"status": "in-progress",
"class": {
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code": "IMP",
"display": "inpatient encounter"
},
"subject": {
"reference": "urn:uuid:9b1e5a2c-3f8d-4a1c-8e7b-1c2d3e4f5a6b"
},
"period": { "start": "2026-04-30T14:30:00+07:00" },
"location": [{
"location": { "display": "ICU - Phòng 301" }
}]
},
"request": { "method": "POST", "url": "Encounter" }
}
]
}
FHIR Bundle dài hơn v2 nhưng tự mô tả: mỗi field có URI, code có terminology system, reference dùng urn:uuid để link nội bộ trong transaction. Một REST client bất kỳ tiêu thụ được, không cần thư viện chuyên biệt như HAPI.
5. Kiến trúc kết hợp v2 + FHIR
Tại các bệnh viện hiện đại trên thế giới và một số bệnh viện đầu ngành Việt Nam (Bạch Mai, Chợ Rẫy, Vinmec, FV), kiến trúc phổ biến là giữ v2 cho integration nội bộ và đẩy FHIR ra mọi giao tiếp ra ngoài.
[Lab analyzer] --HL7 v2 ORU---> [HIS / EMR core]
[Pharmacy] --HL7 v2 RDE---> [HIS / EMR core]
[RIS / PACS] --HL7 v2 ORM---> [HIS / EMR core]
|
v
[FHIR Facade / API Gateway]
|
+---------+----------+---------+----------+----------+
v v v v v v
[Mobile app] [AI/ML] [VNeID] [BHXH cổng] [Telehealth] [Đối tác] Lý do kiến trúc này thắng: nội bộ đã đầu tư v2 nhiều năm, không lý do gì rip-and-replace. Bên ngoài cần OAuth, mobile, JSON — đó chính xác là vùng FHIR mạnh. Bridge giữa hai thế giới có sẵn:
- HAPI FHIR (Java) — server FHIR open source mature nhất, có HL7 v2 to FHIR converter built-in.
- Mirth Connect / NextGen Connect — engine ETL chuyển v2 ⇄ FHIR ⇄ CDA, miễn phí cho bản open source.
- Microsoft FHIR Converter — open source, template-based, hỗ trợ HL7 v2, C-CDA, JSON sang FHIR.
- Smile CDR, Firely Server, Aidbox — bản thương mại tích hợp sẵn adapter v2 và OAuth/SMART.
6. Lộ trình migration v2 sang FHIR
Một bệnh viện đang dùng v2 thuần không cần migrate "ngay và luôn". Lộ trình sáu giai đoạn dưới đây dựa trên kinh nghiệm của các BV Singapore, Úc và một số dự án đầu ngành Việt Nam:
| Giai đoạn | Phạm vi | Effort tham khảo |
|---|---|---|
| 1. Audit | Liệt kê mọi v2 message đang dùng, vendor, version, message type | 2 tuần |
| 2. Stand up FHIR layer | Triển khai FHIR server (HAPI hoặc thương mại), config Profile theo VN Core IG | 1 tháng |
| 3. Outbound first | Expose FHIR ra mobile, AI, BHXH cổng, đối tác | 3 tháng |
| 4. Inbound mapping | Cài v2 → FHIR converter cho luồng legacy đang chạy | 6 tháng |
| 5. Net new = FHIR-first | Mọi tích hợp mới (vendor mới, module mới) đều FHIR-first | Liên tục |
| 6. Sunset v2 (chọn lọc) | Khi LIS/RIS vendor đã hỗ trợ FHIR native, retire v2 channel tương ứng | 3-5 năm |
Lưu ý: giai đoạn 6 chưa nên đặt KPI cho 2026-2027. Hệ sinh thái LIS/RIS Việt Nam vẫn dựa nặng v2; ép retire sớm sẽ tạo rủi ro vận hành lớn hơn lợi ích.
7. Decision matrix theo use case Việt Nam
Bảng này gom các câu hỏi CIO thực sự đối diện trong RFP. Cột "Kết luận" trả lời cho ngữ cảnh Việt Nam 2026.
| Câu hỏi | v2 đáp ứng? | FHIR đáp ứng? | Kết luận |
|---|---|---|---|
| Cần real-time dưới 1 giây giữa HIS-LIS? | Có | Tuỳ infra | v2 |
| Cần expose API ra ngoài bệnh viện? | Không an toàn | Có | FHIR |
| Liên thông VNeID / Sổ sức khoẻ điện tử? | Không | Có (mô hình tham chiếu — chờ spec API VNeID y tế chính thức) | FHIR |
| Nộp BHYT theo XML 4210/QĐ 3176? | Không trực tiếp | Không trực tiếp; FHIR cho mapping layer | XML 4210 cho submission, FHIR cho data fabric nội bộ |
| Đáp ứng EMR theo Thông tư 13/2025? | Một phần | Có (kiến trúc khuyến nghị) | FHIR (không phải bắt buộc pháp lý, nhưng tối ưu cho yêu cầu liên thông) |
| Cấp dữ liệu cho AI / data lake? | Khó scale | Có (Bulk Data Access) | FHIR |
| App bệnh nhân trên mobile? | Không | Có (SMART on FHIR) | FHIR |
| Vendor HIS hiện tại đã hỗ trợ FHIR? | Có v2 | Cần hỏi vendor | Tuỳ vendor — đưa vào tiêu chí chấm thầu |
| Có team DEV web/mobile nội bộ? | Khó tuyển skill v2 | Dùng skill REST/JSON sẵn có | FHIR |
Verdict cho bệnh viện hiện đại Việt Nam: combo "v2 + FHIR". v2 cho mọi luồng thiết bị-HIS nội bộ đã có. FHIR cho mọi kênh ra ngoài (mobile, AI, VNeID, BHXH future-state, đối tác). Đây là kiến trúc rủi ro thấp nhất, ROI cao nhất trong khung 2026-2030.
8. Câu hỏi thường gặp
Có thể bỏ HL7 v2 hoàn toàn không?
Trong 5-10 năm tới: không. v2 vẫn rẻ và nhanh cho integration nội bộ; LIS/RIS/PACS vendor toàn cầu đều mặc định v2. Hợp lý hơn là mở rộng FHIR cho mọi kênh mới và để v2 tự rút lui dần khi vendor sunset.
FHIR có thay thế hoàn toàn CDA không?
Về kỹ thuật, FHIR Composition + Bundle document tương đương CDA. Về pháp lý, các hệ thống đã chứng nhận C-CDA (Mỹ) hoặc IHE XDS với CDA (châu Âu, Hàn Quốc) sẽ chuyển dần. Việt Nam chưa khoá CDA bằng văn bản, nên có thể chọn FHIR Composition cho dự án mới.
Bệnh viện nhỏ chỉ đủ ngân sách cho một chuẩn — chọn cái nào?
FHIR. Lý do: roadmap dài hơn, skill DEV web phổ thông, hỗ trợ mobile và VNeID sẵn có. Nếu thiết bị LIS/RIS chỉ nói v2, dùng converter (Mirth, HAPI, Microsoft FHIR Converter) để chuyển sang FHIR ở cửa ngõ.
Việt Nam đã có Implementation Guide quốc gia chưa?
Có draft VN Core IG dựa trên FHIR R4, đang được phát triển bởi cộng đồng (canonical http://fhir.hl7.org.vn/core/) song song với bản của Cục CNTT Bộ Y tế (http://fhir.ehealth.gov.vn/core/). Chưa có văn bản pháp lý bắt buộc IG cụ thể nào.
FHIR R5 đã ổn định chưa, có nên nhảy thẳng R5?
R5 đã release nhưng adoption còn hạn chế, và phần lớn IG quốc gia (US Core, AU Core, JP Core, KR Core, VN Core) vẫn ở R4. Greenfield 2026 nên dùng R4, theo dõi R5 cho 2-3 năm tới.
9. Tham chiếu
- HL7 International — HL7 v2 Product Brief (timeline v2.0/v2.1/v2.3 và v2.9.1 hiện hành).
- HL7 / U.S. National Library of Medicine — Health Data Standards: HL7 v2 adoption (~95% tổ chức y tế Mỹ, 35+ quốc gia).
- HL7 FHIR R4 spec — hl7.org/fhir/R4/ (label "Mixed Normative + STU").
- HL7 FHIR R4 Bundle — hl7.org/fhir/R4/bundle.html (transaction với fullUrl/urn:uuid).
- HL7 v3 Product Suite — Australian Digital Health Agency tổng quan v3.
- HL7 CDA R2 — Clinical Document Architecture Product Brief.
- HAPI FHIR — hapifhir.io (FHIR server Java open source).
- Microsoft FHIR Converter — github.com/microsoft/FHIR-Converter.
- Thông tư 13/2025/TT-BYT về bệnh án điện tử — Thư viện Pháp luật.
- Quyết định 3176/QĐ-BYT về chuẩn dữ liệu KCB BHYT — Thư viện Pháp luật.
- VN Core FHIR IG (community, đang phát triển) — fhir.hl7.org.vn/core.