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 v2Hệ sinh thái sẵn, real-time, ít overhead
Bệnh viện ⇄ ứng dụng bệnh nhân (mobile/web)FHIRREST/JSON, OAuth/SMART on FHIR, mobile-friendly
Bệnh viện ⇄ AI service / data fabricFHIRREST + 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 CompositionDocument có chữ ký số, IHE XDS hỗ trợ cả hai
Bệnh viện ⇄ BHYTXML 4210/QĐ 3176 hôm nay; FHIR như mapping layer cho tương laiQĐ 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-BYTFHIR (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 legacyHL7 v3Chỉ 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
1Năm phát hành đầu tiênv2.0: 1988-09; v2.1: 1990-03; v2.3: 1997-032005R2: 2005DSTU1: 2014-09; R4: 2019
2Format wirePipe-delimited (ER7)XML (RIM-based)XML (RIM-based)JSON / XML / Turtle
3ParadigmMessageMessageDocumentResource (REST + message + document)
4TransportMLLP / TCPSOAP / HTTPFile / HTTP / IHE XDSHTTPS REST
5Bảo mật mặc địnhMạng nội bộ, không có auth tích hợpWS-SecurityXML Signature, không có auth tích hợpOAuth 2.0 / SMART on FHIR
6Schema strictnessLỏng, mỗi vendor diễn giải khácRất chặtChặt (template-driven)Vừa, mở rộng qua Profile/Extension
7Mobile-friendlyKhôngKhôngKhôngCó (REST + JSON)
8Trạng thái normativev2.9.1 (2024)Normative Edition 2005+R2 normativeR4 (4.0.1) — Mixed Normative + STU; chỉ một số artifact nền tảng đạt Normative
9Adoption thực tế~95% tổ chức y tế Mỹ; 35+ quốc gia (HL7/NLM)UK NHS, Đức, Hàn Quốc, Úc legacyUS (C-CDA), Đức, Hàn Quốc, IHE XDS50+ quốc gia có National IG
10ToolingMature (Mirth, Iguana, Rhapsody)Hạn chếMature (Trifolia, MDHT)Xuất sắc (HAPI, Firely, Bonfhir, Medplum)
11Đường cong họcTrung bìnhCao (RIM, vocabulary phức tạp)Trung bình–caoThấp với DEV web
12Phù hợp greenfield 2026Có, cho integration nội bộKhôngChỉ cho document exchangeCó, 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. AuditLiệt kê mọi v2 message đang dùng, vendor, version, message type2 tuần
2. Stand up FHIR layerTriển khai FHIR server (HAPI hoặc thương mại), config Profile theo VN Core IG1 tháng
3. Outbound firstExpose FHIR ra mobile, AI, BHXH cổng, đối tác3 tháng
4. Inbound mappingCài v2 → FHIR converter cho luồng legacy đang chạy6 tháng
5. Net new = FHIR-firstMọi tích hợp mới (vendor mới, module mới) đều FHIR-firstLiên tục
6. Sunset v2 (chọn lọc)Khi LIS/RIS vendor đã hỗ trợ FHIR native, retire v2 channel tương ứng3-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?Tuỳ infrav2
Cần expose API ra ngoài bệnh viện?Không an toànFHIR
Liên thông VNeID / Sổ sức khoẻ điện tử?KhôngCó (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ếpKhông trực tiếp; FHIR cho mapping layerXML 4210 cho submission, FHIR cho data fabric nội bộ
Đáp ứng EMR theo Thông tư 13/2025?Một phầnCó (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ó scaleCó (Bulk Data Access)FHIR
App bệnh nhân trên mobile?KhôngCó (SMART on FHIR)FHIR
Vendor HIS hiện tại đã hỗ trợ FHIR?Có v2Cần hỏi vendorTuỳ vendor — đưa vào tiêu chí chấm thầu
Có team DEV web/mobile nội bộ?Khó tuyển skill v2Dù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