Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.5.0 - Draft for Community Review
Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam - Draft for Community Review (v0.5.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Baseline tối thiểu cho privacy, security và governance dữ liệu khi triển khai VN Core gồm 3 lớp: legal baseline, technical control baseline và vận hành theo vai trò triển khai.
Lưu ý pháp lý: Luật Bảo vệ dữ liệu cá nhân (91/2025) và Nghị định 356/2025 có hiệu lực từ 01/01/2026. VN Core cung cấp guidance kỹ thuật để hỗ trợ tuân thủ, nhưng không thay thế tư vấn pháp lý hoặc quyết định vận hành của từng đơn vị.
| FHIR element | Dữ liệu | Ghi chú |
|---|---|---|
Patient.name |
Họ và tên | |
Patient.birthDate |
Ngày sinh | |
Patient.identifier[CCCD] |
Số CCCD | Định danh cá nhân lõi |
Patient.identifier[VNEID] |
Tài khoản VNeID | Chỉ xem như tài khoản ứng dụng công dân hoặc lớp tích hợp; không phải định danh bệnh nhân lõi |
Patient.telecom |
Số điện thoại, email | |
Patient.address |
Nơi cư trú | |
Patient.identifier[Passport] |
Số hộ chiếu |
Toàn bộ dữ liệu y tế phải được xem là DLCN nhạy cảm. Các nhóm resource có rủi ro trực tiếp gồm:
| Resource | Ví dụ dữ liệu nhạy cảm | Hệ quả thiết kế |
|---|---|---|
Condition |
Chẩn đoán, bệnh sử | Cần kiểm soát truy cập và audit ở mức cao |
Observation |
Kết quả xét nghiệm, sinh hiệu | Cần bảo vệ khi truyền, khi lưu và khi chia sẻ |
AllergyIntolerance |
Tiền sử dị ứng | Không mở mặc định ngoài phạm vi đã công bố |
Procedure |
Thủ thuật, phẫu thuật | Cần provenance và kiểm soát hiển thị phù hợp |
Coverage |
Thông tin BHYT | Liên quan cả dữ liệu y tế lẫn dữ liệu payer-facing |
Encounter |
Lịch sử khám bệnh | Phải có policy truy cập và retention rõ |
NĐ 356/2025 cũng làm tăng yêu cầu với dữ liệu VNeID, hình ảnh CCCD và lịch sử giao dịch khi chúng đi kèm dữ liệu y tế.
| Quyền | Diễn giải trong ngữ cảnh VN Core |
|---|---|
| Quyền được biết | Phải công bố ai xử lý dữ liệu, mục đích và phạm vi truy cập |
| Quyền đồng ý | Cần cơ chế ghi nhận Consent hoặc cơ chế tương đương có thể truy xuất |
| Quyền truy cập | Chỉ mở đúng tập dữ liệu đã công bố và đúng actor |
| Quyền chỉnh sửa | Có quy trình sửa dữ liệu và hậu kiểm thay đổi |
| Quyền xóa / ngừng xử lý | Không diễn giải máy móc thành FHIR delete; có thể là ngừng chia sẻ, ẩn truy cập hoặc xóa theo policy áp dụng |
| Quyền hạn chế xử lý | Phải phản ánh được ở policy và khi cần thì ở Consent.provision |
| Quyền khiếu nại | Ngoài phạm vi FHIR, nhưng phải có đầu mối và quy trình vận hành |
Chi tiết legal registry xem tại Cơ sở pháp lý.
user, patient và system.system/*.* nếu chỉ cần một tập quyền hẹp hơn.VN Core ưu tiên dùng VNCoreConsent để ghi nhận đồng ý xử lý dữ liệu cá nhân y tế.
Các điểm cần giữ ổn định:
Consent.status phản ánh trạng thái còn hiệu lực, bị rút lại hoặc hết hiệu lực.Consent.category phải cho biết consent đang phục vụ điều trị, chia sẻ hồ sơ, nghiên cứu, nghĩa vụ pháp lý hay miễn trừ cấp cứu.Consent.patient là bắt buộc.Consent.provision.purpose phải đủ để giải thích mục đích xử lý dữ liệu.Nếu đơn vị chưa dùng Consent như resource trao đổi, vẫn phải có cơ chế tương đương để chứng minh trạng thái đồng ý và phạm vi cho phép xử lý.
TLS 1.2+ hoặc tốt hơn.AES-256.VN Core coi VNCoreAuditEvent là baseline đối với truy cập, chỉnh sửa và chia sẻ dữ liệu nhạy cảm.
Tối thiểu phải giữ:
typerecordedagentsourceentitypurposeOfEventMục tiêu không chỉ là log kỹ thuật, mà là chứng minh được ai truy cập gì, khi nào, từ đâu và vì mục đích nào.
VN Core ưu tiên dùng VNCoreProvenance để ghi nhận:
target)agent)reason)signature) khi tài liệu đã được xác nhậnProvenance là baseline cho truy vết; signature được thêm khi quy trình pháp lý hoặc quy trình nghiệp vụ yêu cầu khả năng không thể chối bỏ.
VN Core công bố các CapabilityStatement mức cơ sở theo vai trò:
VNCoreEMRServerVNBHYTGatewayClientVNBHYTGatewayServerVNCitizenAppClient| Vai trò | Kiểu token | Scope tối thiểu |
|---|---|---|
| EMR/HIS nội bộ | user |
openid, profile, fhirUser, launch, user/Patient.read, user/Encounter.*, user/Condition.*, user/Observation.*, user/DocumentReference.*, user/Composition.*, user/Consent.* |
| Ứng dụng người dân / VNeID connector | patient |
openid, profile, launch/patient, patient/Patient.read, patient/RelatedPerson.read, patient/Coverage.read, patient/DocumentReference.read, patient/Consent.*, patient/AuditEvent.read |
| Gateway BHYT máy chủ - máy chủ | system |
system/Bundle.create, system/Bundle.read, system/Claim.create, system/Claim.read, system/Patient.read, system/Coverage.read, system/Organization.read |
Break-glass cho phép truy cập vượt ngoài phân quyền thông thường trong bối cảnh cấp cứu hoặc an toàn người bệnh. Tối thiểu hệ thống phải:
AuditEvent cho mọi truy cập break-glass.Khuyến nghị: nếu có cơ chế phê duyệt sau truy cập, hãy gắn mã ticket/case vào AuditEvent.agent.policy hoặc cơ chế tương đương.
VN Core không áp đặt cứng thời hạn lưu trữ cho mọi loại tài nguyên, nhưng ở mức cơ sở hệ thống nên giữ tối thiểu:
| Resource | Trường tối thiểu cần giữ |
|---|---|
AuditEvent |
type, subtype, action, recorded, outcome, purposeOfEvent, agent.who, agent.requestor, source.observer, entity.what |
Consent |
status, category, patient, dateTime, performer, organization, policy.uri, provision.type, provision.period, provision.purpose |
Provenance |
target, recorded, reason, agent.who, agent.onBehalfOf, signature.when, signature.who, signature.sigFormat |
Nếu policy nội bộ yêu cầu xóa hoặc ẩn dữ liệu lâm sàng theo quyền của chủ thể dữ liệu, metadata kiểm toán vẫn nên được giữ theo cách còn đáp ứng nghĩa vụ chứng minh truy cập và trách nhiệm giải trình.
Provenance và khi nào cần thêm signature| Tình huống | Provenance | Signature |
|---|---|---|
| Bệnh án điện tử đã xác nhận | BẮT BUỘC | BẮT BUỘC nếu đơn vị ký số tài liệu/hồ sơ theo quy định áp dụng |
| Tóm tắt ra viện / tài liệu pháp lý giao cho bệnh nhân | BẮT BUỘC | BẮT BUỘC khi là bản phát hành chính thức |
| Kết quả cận lâm sàng final | NÊN có | NÊN có nếu quy trình ký số kết quả đã áp dụng |
| Liên thông hồ sơ BHYT / bằng chứng gửi - thu hồi | NÊN có | NÊN có nếu cần khả năng không thể chối bỏ ở gateway layer |
| Consent điện tử / consent qua cha mẹ-người giám hộ | NÊN có | NÊN có khi consent được ký số hoặc cần chứng cứ pháp lý mạnh |
Nếu dữ liệu VN Core được dùng cho hệ thống AI y tế hoặc phân tích thứ cấp:
Trang này không tạo profile AI riêng, nhưng coi AI/secondary use là lý do để siết governance dữ liệu từ đầu thay vì bổ sung muộn.
| Nếu cần | Nên đọc tiếp |
|---|---|
| Legal registry chi tiết | Cơ sở pháp lý |
| Nghĩa vụ theo actor | Tuân thủ theo vai trò triển khai |
| Validation và test scripts | Hướng dẫn kiểm tra hợp lệ |
| Vòng đời và mức ổn định release | Ổn định và tuân thủ |
This page defines the minimum privacy and security baseline for VN Core implementations. It separates the legal baseline, the technical control baseline, and the operating baseline by implementation actor. The page treats Consent, AuditEvent, Provenance, token scope, break-glass, storage assessment, and audit metadata retention as part of core conformance rather than optional add-ons.