Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.3.0 - STU1 Draft
Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Trang này mô tả chiến lược ổn định hóa VN Core, mô hình mức độ trưởng thành cho tài nguyên, ranh giới giữa VN Core Base, lớp liên thông hồ sơ thanh toán BHYT (BHYT Submission) và các gói thuật ngữ, cùng các yêu cầu tuân thủ mức cơ sở theo từng vai trò triển khai.
Repo hiện tại đặt mục tiêu trưởng thành rõ rệt ở lớp conformance:
CapabilityStatement, ví dụ và bộ kiểm thử;Từ phiên bản
0.3.0, dự án ưu tiên ổn định lõi trước khi mở rộng phạm vi. Điều này giúp giảm thay đổi phá vỡ tương thích, thuận lợi hơn cho giai đoạn thí điểm của HIS/EMR, và giữ được nhịp cập nhật pháp lý nhanh của lớp BHYT mà không làm rung toàn bộ lõi.Sau khi định hướng lại theo hướng
lấy dữ liệu làm trung tâm, nhánh ổn định tiếp theo không chỉ là “ổn định kỹ thuật”, mà còn là gia cố theo trụcquản trị dữ liệu,VNeID,EMR/HSSK,LGSP/API facadevàưu tiên bảo mật.
VN Core Base, lớp BHYT Submission và các gói thuật ngữ phải được tách logic rõ ràng.| Lớp | Mục tiêu | Tài nguyên tiêu biểu | Nhịp thay đổi |
|---|---|---|---|
VN Core Base |
Liên thông nội bộ FHIR-native cho EMR, HIE, hồ sơ công dân | Patient, RelatedPerson, Encounter, Coverage, DocumentReference, Consent, AuditEvent, Provenance, thuật ngữ nền tảng |
Chậm hơn, ưu tiên ổn định |
BHYT Submission |
Lớp liên thông hồ sơ thanh toán BHYT ở tầng ánh xạ/cổng | VNCoreBHYTSubmissionBundle, logical models Check-in + Bảng 1-12, $validate-bhyt-claim, $submit-bhyt-claim, MA_LK |
Nhanh hơn, theo quy định BHXH/BYT |
Terminology Clinical |
Quản trị thuật ngữ lâm sàng quy mô lớn | ICD-10 VN, ICD-9-CM, tập con SNOMED CT VN, CLS, LOINC, ConceptMap | Theo từng đợt cập nhật thuật ngữ |
Terminology Traditional Medicine |
Quản trị thuật ngữ Y học cổ truyền | 10 CodeSystem + 10 ValueSet Y học cổ truyền | Theo từng đợt cập nhật chuyên môn |
Hệ quả thiết kế:
Patient, Coverage, Claim vẫn là tài nguyên FHIR-native.SO_CCCD, MA_LK, yyyyMMddHHmm được gia cố ở lớp liên thông hồ sơ thanh toán BHYT và các script kiểm tra tuân thủ.BHYT Submission trước; chỉ đổi Base nếu thực sự ảnh hưởng semantic cốt lõi.LGSP/API facade, data reuse và ma trận vai trò/bộ dữ liệu nằm ở narrative/conformance layer, không đẩy thẳng vào cardinality của tài nguyên lõi nếu chưa có căn cứ ngữ nghĩa đủ mạnh.Từ 0.3.0, repo vẫn được biên soạn bằng một dự án SUSHI dạng monorepo, nhưng pipeline phát hành đã có thể sinh 4 gói mô-đun và 1 gói tổng hợp:
| Package | Mục đích | Script |
|---|---|---|
hl7.fhir.vn.core |
Gói tổng hợp cho kiểm tra cục bộ và cài đặt trọn bộ | python3 scripts/build-split-packages.py |
hl7.fhir.vn.core.base |
Gói ổn định cho interoperability FHIR-native | python3 scripts/build-split-packages.py |
hl7.fhir.vn.bhyt.submission |
Gói bundle/logical model/operation cho liên thông hồ sơ BHYT, phụ thuộc hl7.fhir.vn.core.base |
python3 scripts/build-split-packages.py |
hl7.fhir.vn.terminology.clinical |
Gói thuật ngữ lâm sàng quy mô lớn | python3 scripts/build-split-packages.py |
hl7.fhir.vn.terminology.traditional-medicine |
Gói thuật ngữ Y học cổ truyền | python3 scripts/build-split-packages.py |
Điểm này cho phép tách nhịp phát hành ở mức gói tiêu thụ mà không phải nhân đôi nguồn biên soạn. Ở trạng thái hiện tại, cả 5 gói đã được công bố công khai trên website và canonical của VN Core; hồ sơ đăng ký cho packages.fhir.org đã được chuẩn bị nhưng vẫn phụ thuộc bước tiếp nhận ngoài repo. Trước khi kênh mirror đó hoàn tất, kiểm tra cục bộ vẫn nên ưu tiên hl7.fhir.vn.core hoặc truyền đồng thời nhiều -ig.
| Mức | Tiêu chí | Tài nguyên hiện tại |
|---|---|---|
| Ứng viên ổn định | Có profile rõ, ví dụ tốt, tìm kiếm/định danh phù hợp, kiểm tra validation/Tier 2 đã có | VNCorePatient, VNCoreRelatedPerson, VNCoreAddress, VNCoreOrganization, VNCoreEncounter, VNCoreCoverage, VNCoreClaim, VNCoreConsent, VNCoreAuditEvent, VNCoreProvenance |
| Thử nghiệm áp dụng | Đã dùng được nhưng còn phụ thuộc phản hồi và thí điểm | VNCoreComposition, VNCoreDocumentReference, VNCoreClaimResponse, VNCoreExplanationOfBenefit, VNCoreDeviceUseStatement, các logical model BHYT |
| Thực nghiệm | Chưa nên coi là mức cơ sở quốc gia, còn chờ ca sử dụng rộng hơn | luồng ePrescription, Bulk Data, nhắn tin nâng cao, ánh xạ trao đổi dữ liệu xuyên biên giới |
scripts/validate.sh hoặc scripts/validate-tier2.shChi tiết quản trị công bố công khai, phân loại thay đổi và ngưỡng phát hành tối thiểu đã được tách sang trang Phát hành và quản trị. Phần dưới đây giữ vai trò tóm tắt ở mức tuân thủ.
| Loại thay đổi | Cách versioning | Ví dụ |
|---|---|---|
| Breaking | Minor/major release có ghi chú chuyển đổi bắt buộc | Đổi URL tài nguyên, đổi cardinality bắt buộc, đổi binding làm dữ liệu cũ không còn hợp lệ |
| Additive | Minor release | Thêm profile, search parameter, ví dụ, operation, mã mới đang hiệu lực |
| Patch/Stabilization | Patch release | Sửa ví dụ, script validation, tài liệu, CapabilityStatement theo từng vai trò triển khai |
deprecated trước.Ma trận đọc theo vai trò triển khai, gói tiêu thụ, checklist sẵn sàng thí điểm và tiêu chí tối thiểu cho từng vai trò đã được tách sang Tuân thủ theo vai trò triển khai. Phần dưới đây chỉ giữ vai trò tóm tắt các CapabilityStatement đang được công bố.
VN Core hiện công bố 5 CapabilityStatement:
| CapabilityStatement | Vai trò | Dùng khi nào |
|---|---|---|
VNCoreServer |
Mức cơ sở chung | Tổng quan tối thiểu cho một máy chủ FHIR tuân thủ VN Core |
VNCoreEMRServer |
EMR/EHR nội bộ | Bệnh viện, HIS/EMR, kho dữ liệu lâm sàng nội bộ |
VNBHYTGatewayClient |
Client gửi hồ sơ thanh toán BHYT | Middleware/HIS gửi hồ sơ thanh toán BHYT |
VNBHYTGatewayServer |
Server tiếp nhận hồ sơ thanh toán BHYT | Facade/adapter tiếp nhận hồ sơ thanh toán BHYT |
VNCitizenAppClient |
Ứng dụng người dân/kết nối VNeID | Cổng bệnh nhân, ứng dụng di động, cổng công dân |
CapabilityStatement quá rộng và mơ hồ.Base ổn định hơn, trong khi lớp BHYT Submission vẫn thay đổi theo quy định../scripts/validate.sh
Kiểm tra:
Node 22 để khớp với CI; wrapper local sẽ tự chọn node@22 nếu có./scripts/validate-bhyt-submission.sh
Kiểm tra:
MA_LK, SO_CCCD, exportDateTime./scripts/validate-tier2.sh
Kiểm tra:
vn-citizen-id-birthplace-prefix-csvn-ward-csCoverage.identifier[BHYT] dạng CCCD khớp CCCD của beneficiarysubscriberId khớp identifier[BHYT]SO_CCCD chỉ hợp lệ khi có force majeure reasonMA_LK tồn tại và nhất quán trong bundle BHYTexportDateTime tuân thủ yyyyMMddHHmm./scripts/validate-security-baseline.sh
Kiểm tra:
SMART-on-FHIRsecurity.md có đủ phần ma trận scope, break-glass, bộ dữ liệu lưu giữ tối thiểu và chính sách chữ kýConsent, AuditEvent, Provenance và các ví dụ cốt lõi tồn tại./scripts/validate-bhyt-roundtrip.sh
Kiểm tra:
checkIn, xml1 đến xml12MA_LK đồng nhất giữa các bảng đã sinhxml4-7 qua DiagnosticReport + Composition, xml8-9 qua newborn/maternity documents, xml10 qua death certificate, xml11 qua HIV treatment record, và xml12 qua supporting documentsoutput/bhyt-roundtrip/README.md và output/bhyt-roundtrip/index.htmlmapping ngay trong 13 logical model như nguồn sự thật ở mức tài nguyên cho lớp xuất dữ liệu./scripts/validate-terminology-governance.sh
Kiểm tra:
0.3.0MedicationAdministration, Specimen, ImagingStudy, CarePlan hoặc hồ sơ chứng từ chuyên khoa sâu hơnfacilityCareLevel/organizationRank chỉ được phát hành khi có target terminology đủ ổn định và equivalence có thể bảo vệ được về mặt ngữ nghĩaMục tiêu QA của VN Core là:
0 errors0 warning do chính tài nguyên của VN Core gây ra nếu có thể sửa bằng nội dung hoặc cấu hìnhURN nội bộ cho danh mục pháp lý/chính sáchVì vậy:
concept.definition, phiên bản mở rộng SNOMED CT, mô tả tài nguyên và cấu hình build phải được sửa tận gốcpatient-citizenship chính thức tới http://hl7.org/fhir/ValueSet/country được coi là phát sinh từ nguồn ngoàiurn:vn-law:* và urn:vn-authority:* được coi là định danh chính sách có chủ đích và được ẩn kèm giải trìnhConsent thay vì custom cục bộ cho đồng ý xử lý dữ liệuAuditEvent cho truy cập/chia sẻProvenance.signature cho xác nhận tài liệu/hồ sơ sốbreak-glass qua chính sách cục bộ + audit, không mã hóa thành trường tùy biến riêng nếu FHIR base đã đủEMR/HSSK, cổng công dân và các luồng chia sẻ dữ liệu dùng chungVN Core is moving to a stabilization-first strategy. After alignment with the Ministry of Health's digital strategy and architecture decisions, this stabilization phase now explicitly includes data governance, VNeID-aligned identity semantics, EMR/HSSK interoperability, LGSP/API facade guidance, and security-first pilot readiness. The guide distinguishes VN Core Base from the faster-moving BHYT Submission layer, introduces an artifact maturity model, defines a release/deprecation policy, and publishes role-specific CapabilityStatements for EMR servers, BHYT gateway clients/servers, and citizen-facing apps. Conformance is no longer documentation-only: repository scripts now cover baseline validation, BHYT submission checks, and executable Tier 2 rules such as CCCD gender/year consistency, ward-to-province hierarchy, MA_LK, SO_CCCD with force-majeure exception handling, and export datetime formatting.