Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide
0.9.0 - Draft for Community Review
Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide - Local Development build (v0.9.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Trang này mô tả nghĩa vụ của bên vận hành khi rút trích dữ liệu FHIR theo lô bằng phép toán $export của HL7 Bulk Data Access, trong bối cảnh pháp luật Việt Nam.
$export vào hợp đồng máy chủ lõiVNCoreServer và VNCoreEMRServer không khai báo $export. Đây là quyết định có chủ ý, không phải thiếu sót:
Hệ quả thực tế: hệ thống nào chọn công bố $export thì tự chịu trách nhiệm khai trong CapabilityStatement của mình, trỏ tới OperationDefinition chuẩn của HL7 (http://hl7.org/fhir/uv/bulkdata/OperationDefinition/export và các biến thể theo cấp hệ thống, Patient, Group), và đáp ứng các nghĩa vụ dưới đây. VN Core không định nghĩa lại phép toán này dưới canonical Việt Nam — làm vậy sẽ tạo một biến thể không tương thích với công cụ quốc tế mà chẳng thêm ngữ nghĩa gì.
| Nghĩa vụ | Căn cứ | Hệ quả kỹ thuật |
|---|---|---|
| Dữ liệu sức khỏe là dữ liệu cá nhân nhạy cảm | Luật 91/2025/QH15; NĐ 356/2025/NĐ-CP Điều 4 | Mỗi lần rút trích phải có căn cứ xử lý xác định trước, ghi lại được — không rút trích "để sẵn đó" |
| Xử lý đúng mục đích đã thông báo | Luật 91/2025/QH15 Điều 9, Điều 19 | Phạm vi rút trích phải khớp mục đích: dùng _type và _since để giới hạn, không lấy trọn kho rồi lọc sau |
| Quyền được biết của chủ thể dữ liệu | Luật 91/2025/QH15 Chương II | Rút trích theo lô vẫn là truy cập dữ liệu của từng người bệnh; phải ghi AuditEvent truy vết được tới yêu cầu rút trích |
| Khử nhận dạng khi mục đích không cần định danh | Luật 91/2025/QH15 Điều 2 khoản 1, Điều 14 | Nếu mục đích là thống kê hoặc nghiên cứu, xử lý theo Khử định danh và dữ liệu dùng cho AI — dữ liệu đã khử nhận dạng không còn là dữ liệu cá nhân |
| Quản lý dữ liệu y tế số | NĐ 102/2025/NĐ-CP | Rút trích phục vụ cơ sở dữ liệu quốc gia về y tế đi theo quy định chuyên ngành, không phải quyết định riêng của từng cơ sở |
| Chia sẻ dữ liệu giữa cơ quan nhà nước | NĐ 278/2025/NĐ-CP Điều 5 | Việc chia sẻ không được xâm phạm quyền về đời sống riêng tư, bí mật cá nhân, bí mật gia đình trừ khi luật có quy định khác; cơ quan quản lý cơ sở dữ liệu phải công bố phạm vi dữ liệu và điều kiện tiếp cận |
| Lưu trữ dữ liệu trong nước | Luật 116/2025/QH15 và pháp luật chuyên ngành | Tệp kết quả $export là bản sao đầy đủ của dữ liệu gốc: nơi lưu tệp và nơi lưu kho dữ liệu chịu cùng ràng buộc |
$exportHệ thống công bố khả năng này phải thỏa cả sáu; thiếu bất kỳ điểm nào thì không nên công bố.
client_credentials với scope system/; không thực hiện rút trích lô bằng token của một người hành nghề đang đăng nhập._type và khoảng thời gian; từ chối yêu cầu không giới hạn loại tài nguyên đối với dữ liệu lâm sàng.Group/[id]/$export với Group được lập theo tiêu chí đã phê duyệt, thay vì $export cấp hệ thống lấy toàn bộ dân số.AuditEvent cho quyết định cho phép rút trích (kèm căn cứ xử lý), và bản ghi cho từng tệp kết quả được tải về — ai tải, khi nào, tệp nào.ndjson nằm lại trên vùng lưu trữ tạm là rủi ro lớn nhất của cả quy trình.meta.security trong tệp kết quả để bên nhận biết mức mật và mức xử lý; nếu đã khử nhận dạng thì gắn nhãn đúng mức, không tuyên bố quá.| Cần | VN Core có sẵn |
|---|---|
| Định nghĩa nhóm đối tượng rút trích | VNCoreGroup — mô tả cohort theo tiêu chí, dùng làm đích cho Group/[id]/$export |
| Ghi nhận quyết định cho phép và căn cứ xử lý | VNCoreAuditEventLegalBasisDecision, VNProcessingLegalBasisCS |
| Ghi nhận từng lần truy cập, tải về | VNCoreAuditEvent |
| Nhãn mức mật và mức xử lý | Hướng dẫn tại Khử định danh và dữ liệu dùng cho AI |
| Phạm vi truy cập cấp hệ thống | Ma trận scope tại SMART on FHIR |
Bản 1.0.0 dự kiến bổ sung phần triển khai có kiểm thử: bộ ca kiểm thử cho luồng kick-off, poll trạng thái và manifest kết quả. Việc đó cần một máy chủ thí điểm thật; cho đến khi có, IG chỉ mô tả nghĩa vụ chứ không mô tả năng lực.
| Nếu cần | Nên đọc tiếp |
|---|---|
| Phạm vi truy cập và nghĩa vụ của actor | SMART on FHIR — nghĩa vụ và scope |
| Mức xử lý dữ liệu và nhãn phân loại | Khử định danh và dữ liệu dùng cho AI |
| Căn cứ xử lý, consent, kiểm toán truy cập | Bảo mật và quyền riêng tư |
| Nghĩa vụ theo vai trò triển khai | Tuân thủ theo vai trò triển khai |
VN Core deliberately keeps $export out of VNCoreServer and VNCoreEMRServer: this IG runs no server, and bulk extraction carries a different risk profile from record-level access — one call can reach a facility's whole population. Systems that choose to offer it declare it themselves against HL7's standard Bulk Data OperationDefinitions; VN Core does not redefine the operation under a Vietnamese canonical. The page states the legal duties that attach (Law 91/2025/QH15, Decree 356/2025, Decree 102/2025, Decree 278/2025, Law 116/2025) and six minimum constraints: system-level authorization, declared scope, defined cohort via VNCoreGroup, two-level auditing, bounded result-file lifetime, and accurate meta.security labelling. Tested conformance is a 1.0.0 criterion, pending a pilot server.