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 - Draft for Community Review (v0.9.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
$summary với contract HL7 IPS 2.0.1 (BREAKING so với 0.8.0)Lịch sử thay đổi theo từng phiên bản.
Bản minor có thay đổi phá vỡ tương thích, tập trung vào trục thanh toán BHYT và độ chính xác của chính bộ artifact: bảng kê chi phí chi tiết theo QĐ 697/QĐ-BYT, biên bản quyết toán quý Mẫu số 06/BH theo TT 12/2026/TT-BTC, nhật ký truy cập khẩn cấp theo mô hình BALP, phạm vi hưởng BHYT mở rộng theo Luật 114/2025/QH15 Điều 44 và ba cổng kiểm ngữ nghĩa mới. 0.8.0 đóng băng nguyên trạng. Không đổi canonical URL/package id. Quy mô: 86 profiles, 56 extensions (53 cục bộ + 3 chuẩn HL7), 165 CodeSystems, 168 ValueSets, 17 ConceptMaps, 15 StructureMaps; kho pháp lý 209 văn bản; 100% artifact mang căn cứ pháp lý máy-đọc-được (618/618) với cổng ratchet chống tái diễn.
Thay đổi phá vỡ tương thích chính (chi tiết + migration: CHANGELOG repo, mục 0.9.0):
Ranh giới package (ADR-0020): IG phát hành 8 gói thay vì 6. Hai gói mới cắt ra khỏi hl7.fhir.vn.core.base: hl7.fhir.vn.pharmacy (đơn thuốc điện tử, cấp phát, liên thông Cơ sở dữ liệu về dược) và hl7.fhir.vn.patient-access (Sổ sức khỏe điện tử VNeID, khám sức khỏe định kỳ, chứng nhận sức khỏe). Bên nào đang phụ thuộc core.base và dùng hai trục này phải thêm dependency tương ứng; bên dùng gói tổng hợp hl7.fhir.vn.core không phải làm gì. Xem Kiến trúc gói phát hành.
vn-ext-encounter-code (retired từ 0.7.0, giữ trọn 0.8.0 làm cửa sổ migration) — dữ liệu chuyển sang Encounter.identifier[maLuotKcb].VNInsuranceVisitTypeCS#5 (không có trong QĐ 4210/QĐ-BYT) chuyển deprecated; mọi ví dụ đã chuyển sang mã 1 (đúng tuyến).Task.businessStatus mang trạng thái nghiệp vụ Việt Nam theo VNTaskBusinessStatusVS (11 mã, do dự án tự đặt vì chưa có danh mục quốc gia), tách khỏi Task.status vốn chỉ mô tả vòng đời kỹ thuật.Encounter.appointment nay trỏ về VNCoreAppointment. Extension phương thức cung cấp dịch vụ cho biết buổi hẹn là trực tiếp, tại nhà hay từ xa — thông tin người bệnh cần ngay khi đặt, mà FHIR R4 không có element nào mang được trên Appointment/Slot/Schedule.vn-cm-yhct-disease-to-icd10: ánh xạ đủ 228 mã bệnh danh và thể lâm sàng y học cổ truyền sang 25 mã ICD-10 theo QĐ 2552/QĐ-BYT Phụ lục I, hiệu chỉnh nhánh Hạ trĩ từ I84 sang K64 theo QĐ 1978/QĐ-BYT. Nhánh chẩn đoán y học cổ truyền chưa ánh xạ vì phụ lục nguồn không có cột ICD-10.MA_BENH khi gửi dữ liệu bảo hiểm y tế cho ca điều trị y học cổ truyền.vn-icd10-cs: 15.026 → 15.617 mã (+549 mã bệnh, +42 nhóm bệnh 3 ký tự). Bộ nền đã hấp thụ phần lớn Phụ lục 5 từ trước; delta thực tế nhỏ hơn số dòng phụ lục.inactive thay vì xóa — dữ liệu lịch sử vẫn tra cứu được, terminology server biết không cho dùng ở bản ghi mới.scoring = composite kèm compositeScoring = all-or-nothing, không để người đọc suy từ tỷ lệ phần trăm.linkId bám số hiệu phụ lục. Chỉ tiêu chất lượng tính trực tiếp từ phiếu này bằng FHIRPath — không dùng CQL, vì 43 tiêu chuẩn là điều kiện về cơ sở vật chất và quy chế, không tính được từ dữ liệu lâm sàng.VNCoreConsent chỉ còn biểu diễn lựa chọn của chủ thể (đồng ý/từ chối/rút lại/giới hạn); slice processingLegalBasis chuyển 0..0. Context Consent của extension chỉ giữ để đọc legacy 0.8 trong dòng 0.9 và dự kiến gỡ ở 1.0.VNAuditEventSubtypeCS/VS, VNAuditPurposeOfUseVS, PDP Device example và cặp AuditEvent: quyết định permit/deny (legal-basis-authorization) → truy cập thực tế (legal-basis-access). ValueSet purpose riêng hợp toàn bộ VNConsentPurposeVS với BTG/ETREAT/ERTREAT, tránh đưa purpose kiểm soát truy cập vào vocabulary Consent. Provenance nhận context extension khi tạo/sửa/dẫn xuất; SecurityLabel chỉ mô tả độ nhạy/nghĩa vụ; PurposeOfUse không phải căn cứ pháp lý.entered-in-error sau khi có AuditEvent thay thế và Provenance liên kết, vẫn giữ lịch sử. Fixture source sai carrier được thay vì example không có canonical/lifecycle retire; package 0.8 đã phát hành không bị viết lại.BTG chỉ dùng cho override thật; ETREAT là mục đích điều trị khẩn cấp và ERTREAT là quyền thường trực khoa cấp cứu. Nghĩa vụ chứng minh trực tiếp chỉ thuộc điểm a Điều 19(1); các điểm còn lại chịu lớp accountability/DPIA khi áp dụng, giám sát và safeguards.versionNeeded trên vn-province-cs và vn-health-checkup-subject-cs: canonical current/-legacy là ranh giới identity duy nhất. Coding.version tùy chọn; nếu có phải khớp business version của canonical.(từ 01/07/2025); canonical legacy và semantic hash giữ nguyên. Điều này làm khác biệt hai nghĩa hiển thị được mà không sửa lịch sử.vn-district-legacy-cs/-vs ở trạng thái retired theo tiền lệ Province/KSK legacy. Canonical vn-district-cs/-vs cũ cũng retired nhưng giữ đủ nội dung; ConceptMap identity vn-cm-district-rename phủ 696/696.scripts/test_terminology_semantics.py. Không thay release metrics 0.8.0.$summary với contract HL7 IPS 2.0.1 (BREAKING so với 0.8.0)VNGenerateIPSSummary: khớp OperationDefinition/summary của hl7.fhir.uv.ips#2.0.1 — type = true (gọi được ở type-level Patient/$summary), parameter identifier chuyển Identifier → string (searchType = token), thêm parameter profile (canonical), return nới 1..1 → 0..1. Client 0.8.0 dùng contract cũ cần cập nhật khi nâng cấp.VNCoreServer khai $summary ở type-level tương ứng; siết lại mô tả bảo mật/tài liệu REST theo hướng không tuyên bố vượt phạm vi conformance.example.org.Bản minor có thay đổi phá vỡ tương thích, gộp: tái cấu trúc dữ liệu khám sức khỏe (KSK) theo QĐ 2062/QĐ-BYT, đợt rà soát văn bản pháp lý 07/2026 (corpus 172), và đợt remediation toàn diện hậu kiểm toán độc lập (16–17/07/2026). 0.7.0 đóng băng nguyên trạng và thay thế (superseded). Không đổi canonical URL/package id. Quy mô: 74 profiles, 53 extensions, 153 CodeSystems, 156 ValueSets, 12 ConceptMaps.
Thay đổi phá vỡ tương thích chính (chi tiết + migration: CHANGELOG repo, mục 0.8.0):
retired, thay bằng 3 mẫu theo nhóm tuổi + mẫu tâm thần (TT 25/2026/TT-BYT Mẫu 04); DOI_TUONG 14→16 mã (mã 14 ĐỔI NGHĨA — dữ liệu cũ mang mã 14 ánh xạ mặc định sang 16); giai đoạn hiệu lực cũ tách vn-health-checkup-subject-legacy-cs + ConceptMap chuyển đổi; transport envelope theo Phụ lục 02/03 QĐ 2062/QĐ-BYT.provision.provision[*] (root không mang type); viện dẫn toàn cụm về đúng số điều bản ban hành, có ma trận điều khoản máy-kiểm-chứng (governance/legal-article-map.json); tách căn cứ "không cần đồng ý" (Điều 19) thành vn-processing-legal-basis-cs qua extension riêng; xóa invariant bắt buộc period.end (mâu thuẫn Điều 9 khoản 4 điểm c).restrictedSensitivity — hạn chế truy cập theo lớp biểu diễn bằng Consent.provision deny + securityLabel; xem Bảo mật.Identifier.type (type 1..1); MRN dùng URI per-facility. Migration: điền type từ system cũ cho dữ liệu 0.7.0.sid/bhyt chỉ nhận 10 số (trùng mã số BHXH) hoặc 15 ký tự legacy — CCCD 12 số chuyển về sid/cccd (NĐ 188/2025/NĐ-CP Mẫu số 3).vn-province-cs = 34 mã hiện hành; 63 mã cũ tách vn-province-legacy-cs; ConceptMap 63/63 build từ nguyên văn NQ 202/2025/QH15.vn-qd3176-cost-group-* → vn-bhyt-claim-cost-group-* (canonical cũ retired đủ mã + ConceptMap identity).Gia cố chất lượng: đóng lỗ hổng data-absent-reason (invariant hasValue() + bộ negative-fixtures có oracle chạy trong CI); hàng chục file extension bắt buộc value[x] 1..1; Bundle BHYT self-contained; thông báo vi phạm Mẫu 08 chuyển sang QuestionnaireResponse machine-readable; 2 gate CI mới (ma trận điều khoản pháp lý + chính sách terminology).
Số liệu phát hành lưu tại governance/release-metrics/0.8.0.json.
0.7.0 được đóng băng nguyên trạng và thay thế (superseded) bởi 0.8.0 sau kiểm toán độc lập 16/07/2026 — nội dung đã gắn thẻ giữ nguyên, assets phát hành không bổ sung thêm; người triển khai dùng 0.8.0. Khác với 0.6.1 (rút lại — withdrawn), 0.7.0 vẫn là mốc phát hành hợp lệ trong lịch sử.
Bản gia cố sau kiểm toán độc lập hậu phát hành 0.6.1; 0.6.1 được đánh dấu rút lại (withdrawn) — người triển khai dùng 0.7.0 thay bản đó. Không đổi canonical URL, package id.
Thay đổi phá vỡ tương thích (tồn đọng từ dòng 0.6.x, nay công bố đúng SemVer kèm migration):
VNCoreEncounter.serviceProvider 0..1 → 1..1: mọi lượt khám phải gắn cơ sở KCB chịu trách nhiệm. Migration: bổ sung serviceProvider trỏ VNCoreOrganization cho Encounter hiện có; ca cấp cứu/draft trỏ tổ chức tiếp nhận.VNCoreMedicationRequest.requester loại Organization (chỉ còn Practitioner/PractitionerRole theo TT 26/2025/TT-BYT). Migration: chuyển requester Organization sang PractitionerRole của người kê; cơ sở KCB thể hiện qua Encounter.serviceProvider.vn-ext-encounter-code chuyển trạng thái retired (0.6.x đã xóa thẳng không qua giai đoạn retired; 0.7.0 khôi phục đúng quy trình). Migration: MA_LUOT_KCB dùng Encounter.identifier slice maLuotKcb. Extension đã được gỡ hẳn ở v0.9.0 nên mục này không còn liên kết tới trang artifact.Sửa lỗi tài chính BHYT (blocker kiểm toán):
Sửa lỗi conformance:
vn-gestational-age-range (TUOI_THAI 1–42 tuần) dùng $this trên valueInteger — giá trị hợp lệ validate được (trước đây mọi giá trị đều fail do so sánh string với integer).Bundle/$validate-bhyt-claim, Bundle/$submit-bhyt-claim, Claim/$reverse-bhyt-claim, Patient/[id]/$summary — client đọc CapabilityStatement gọi đúng URL.Terminology & pháp lý:
status của VNLegalDocumentRefCS chuyển sang Coding (hệ VNLegalDocumentStatusCS) đúng FHIR R4; rollover trạng thái 8 văn bản chạm mốc hiệu lực 01/07/2026 (Luật 113/114/116/2025, TT 06/2026/TT-BYT, TT 11/2026/TT-BYT → in-force; Luật 24/2018/QH14, QĐ 6556/QĐ-BYT → superseded; QĐ 697/QĐ-BYT → in-force); corpus +3 văn bản (TT 56/2017/TT-BYT, TT 18/2022/TT-BYT, TT 30/2020/TT-BYT) và +8 văn bản đợt hiệu lực 01/07/2026 (TT 13/2026/TT-BYT tiêm chủng; NĐ 165/2026/NĐ-CP hướng dẫn Luật Phòng bệnh; TT 12/2026/TT-BYT sàng lọc trước sinh/sơ sinh; NĐ 168/2026/NĐ-CP hướng dẫn Luật Dân số; TT 16/2026/TT-BYT hỗ trợ thuốc miễn phí; NĐ 161/2026/NĐ-CP lương cơ sở; NQ 21/2026/NQ-CP phân cấp GPHN; Luật 148/2025/QH15 Chuyển đổi số) → tổng 145 văn bản.Quản trị gói & versioning:
hl7.fhir.vn.bhyt.submission nhận đủ delta 0.6.x (3 logical model XML13–15, 6 bundle ví dụ, eligibility profiles + examples, các bộ mã giấy tờ và điều trị lao); các extension chứa bởi VNCoreClaim giữ ở core.base có chủ ý để đúng chiều dependency.hl7.terminology.r4 7.2.0 và hl7.fhir.uv.ips 2.0.1.Bản này đã rút lại ngày 13/07/2026 sau kiểm toán độc lập hậu phát hành (lỗi ánh xạ tài chính BHYT, invariant tuổi thai, scope operations, gói thiếu delta, 3 breaking change không công bố). Nội dung được sửa và phát hành lại thành 0.7.0 — xem mục 0.7.0 ở trên.
Bản vá chuyên đề hoàn thiện chuẩn hóa dữ liệu đầu ra BHYT theo QĐ 3176/QĐ-BYT, đối chiếu nguyên văn toàn bộ 16 bảng phụ lục (~479 chỉ tiêu, dữ liệu đối chiếu tại analysis/qd3176-appendix/). Không đổi canonical URL, package id hoặc ngữ nghĩa lõi.
MA_PTTT_QT (mã phẫu thuật thủ thuật ICD-9-CM, không phải phương thức thanh toán).paymentCeiling (T_TRANTT — trần thanh toán theo NĐ 188/2025/NĐ-CP) vào VNCoreExtInsuranceCostInfo, totalInsuranceFeeForService (T_BHTT_GDV) vào VNCoreExtClaimCostSummary, và 3 sub-extension tiền BHYT per-line servicePaymentRatio (TYLE_TT_DV), insuranceUnitPrice (DON_GIA_BH), insuranceLineAmount (THANH_TIEN_BH) vào VNCoreExtInsuranceCostInfo.bhyt-xml1-bhtt-formula, bhyt-xml1-so-ngay-dtri-formula, bhyt-xml10-so-ngay-formula); sửa 2 adapter rule EXPORT-005/006 thiếu thừa số tỷ lệ, thêm 4 rule EXPORT-031..034 (định danh phân bổ quỹ per-line và cấp hồ sơ); exporter round-trip xuất GIOI_TINH/GIOI_TINH_CON theo mã 1/2/3 (trước đây rò rỉ enum FHIR male/female), bổ sung seed + adapter rules cho XML13/14/15.governance/release-metrics/0.6.1.json (bản đã rút lại — số liệu đang áp dụng xem mục 0.7.0 ở trên).Trạng thái: Bản phát hành lịch sử — bản phát hành phụ trên nền 0.5.3 (số liệu theo release metrics v0.6.0). Chưa đổi canonical URL/package id.
VNCoreCarePlan, VNCoreCareTeam, VNCoreGoal, VNCoreEpisodeOfCare, VNCoreClinicalImpression — bộ profile quản lý chăm sóc/điều trị (TT 13/2025/TT-BYT), khép bộ ba CarePlan → Goal → CareTeam.VNCoreMedicationStatement, VNCoreMedicationAdministration — tiền sử dùng thuốc + cho dùng thuốc nội trú, khép chuỗi kê đơn → cấp phát → sử dụng.VNCoreObservationTriageAcuity + VNTriageAcuityCS/VNTriageAcuityVS — thang phân loại ưu tiên cấp cứu 5 mức (thang đề xuất nội bộ tham chiếu ATS; QĐ 01/2008/QĐ-BYT làm căn cứ nguyên tắc ưu tiên — xem ADR-0014). Thêm VNValidationRuleCS, VNPrescriptionCodeNS.VNCoreQuestionnaire + VNCoreQuestionnaireResponse (HL7 SDC) + 17 mẫu phiếu VNKSKQuestionnaire01–17 theo QĐ 1551/QĐ-BYT Phụ lục 01 (linkId = mã trường). Xem ADR-0015.VNCoreFamilyMemberHistory — tiền sử gia đình (mục III.A phiếu KSK).VNCoreCompositionIPS (kế thừa Composition-uv-ips) + thao tác $summary (vn-generate-ips-summary, chuyển chiếu Sổ SKĐT nội địa → IPS Bundle). Phụ thuộc hl7.fhir.uv.ips#2.0.1; cầu thuật ngữ SNOMED CT qua VNSNOMEDSubsetCS. Xem ADR-0016.VNCoreServer khai báo thêm 8 tài nguyên (EpisodeOfCare, CarePlan, CareTeam, Goal, ClinicalImpression, MedicationStatement, MedicationDispense, MedicationAdministration) + $summary.VNLegalDocumentRefCS: + QĐ 2919/QĐ-BYT (chuẩn dữ liệu Giấy chứng sinh, tách Bảng 9 khỏi chuỗi QĐ 130/QĐ-BYT → 4750 → 3176) → 132 concept; danh mục pháp lý công khai phản chiếu đủ 132 mục có nguồn đối chiếu; độ phủ trích dẫn pháp lý có tác động kỹ thuật 83/83 (100%).hl7.fhir.uv.sdc#4.0.0; profile dẫn xuất sdc-questionnaire/sdc-questionnaireresponse; formal-hoá toàn bộ 5.523 answer code (285 hệ ad-hoc → 56 CodeSystem chính thức theo QĐ 1551/QĐ-BYT), 707 trường → answerValueSet, thêm required, 17 Questionnaire khai báo artifact-versionAlgorithm=semver. Xem ADR-0015.VNCoreBundleIPS (type=document) + ví dụ document Bundle hợp lệ + hợp đồng $summary. Xem ADR-0016.Trạng thái: Bản vá trước đó — bổ sung thuộc phạm vi lõi trên nền 0.5.2
VNLegalDocumentRefCS mở rộng lên 117 concept (danh mục máy đọc); danh mục công khai giai đoạn v0.5 có 101 mục nguồn TVPL khớp chính xác; trạng thái công khai hiện hành của v0.6.0 là 132 nguồn; độ phủ trích dẫn pháp lý có tác động kỹ thuật đạt 74/74 văn bản kỹ thuật trực tiếp (100%)TT-30-2024 (TT 30/2024/TT-BYT — danh mục kỹ thuật, dịch vụ y tế cơ bản tại Trạm Y tế xã/phường) vào VNLegalDocumentRefCS, đưa danh mục máy đọc từ 116 → 117 mục và độ phủ có tác động kỹ thuật 73/73 → 74/74.identifier.period và ví dụ ExampleOrganizationMergedStation — mô hình hóa sáp nhập/chia tách/đổi mã cơ sở KCB theo NQ 202/2025/QH15 và NĐ 102/2025/NĐ-CP.release-manifest, roadmap, release-metrics 0.5.3, content-facts, wiki inventory, legal-corpus, package-architecture) theo 0.5.3.Patient, Encounter, Condition, Observation.0.5.2 chỉ cần làm mới package/download artifact; không có chuyển đổi dữ liệu bắt buộc.hl7.fhir.vn.core.base; các gói mô-đun phái sinh (bhyt, terminology.clinical, traditional-medicine, device) không đổi số lượng.VNCoreExtOrgLifecycleRelation và terminology kèm theo là phần mở rộng tùy chọn (0..*), không phá vỡ instance Organization hiện hành.Trạng thái: Lịch sử — bản vá bổ sung tập căn cứ pháp lý trên nền 0.5.1
VNLegalDocumentRefCS mở rộng lên 116 concept (danh mục máy đọc); danh mục công khai giai đoạn v0.5 có 101 mục nguồn TVPL khớp chính xác; trạng thái công khai hiện hành của v0.6.0 là 132 nguồn; độ phủ trích dẫn pháp lý có tác động kỹ thuật giữ 73/73 văn bản kỹ thuật trực tiếp (100%)VNLegalDocumentRefCS lên 116 concept: thêm Luật Dân số 113/2025/QH15 (future-effective 01/07/2026), TT 11/2026/TT-BYT, nhóm QĐ triển khai EMR/Sổ sức khỏe điện tử (QĐ 31/QĐ-BYT, QĐ 586/QĐ-BYT, QĐ 965/QĐ-BYT), cặp thay thế dự kiến chi BHYT (QĐ 582/QĐ-BYT thay QĐ 32/QĐ-BYT) và TTHC KCB (QĐ 966/QĐ-BYT thay QĐ 658/QĐ-BYT), quy trình kỹ thuật (QĐ 486/QĐ-BYT YHCT, QĐ 622/QĐ-BYT điện quang) và các VBHN hợp nhất.statusReviewedAt/statusEvidenceUrl/statusEvidenceNote) cho QĐ 4905/QĐ-BYT và QĐ 5937/QĐ-BYT; làm rõ relationshipNote của QĐ 486/QĐ-BYT (quy trình kỹ thuật YHCT).release-manifest, roadmap, release-metrics, content-facts, wiki inventory, legal-corpus) theo 0.5.2.Patient, Encounter, Condition, Observation.0.5.1 chỉ cần làm mới package/download artifact; không có chuyển đổi dữ liệu bắt buộc.VNFetalSexDisclosureDiseaseVS là terminology công bố độc lập (chưa bind vào element profile), dùng để tham chiếu và ràng buộc theo nhu cầu triển khai.Trạng thái: Lịch sử — bản vá đồng bộ/quản trị trên nền 0.5.0
VNLegalDocumentRefCS giữ danh mục pháp lý v0.5 với 101 mục có cấu trúc; độ phủ trích dẫn pháp lý có tác động kỹ thuật đạt 72/72 văn bản kỹ thuật trực tiếp (100%)VERSION, sushi-config.yaml, publication-request.json, publication/package-list.json, tách gói, bề mặt tải xuống, lộ trình, tin tức và wiki theo 0.5.1.release-manifest, roadmap) làm nguồn chuẩn cho các tệp tiêu thụ.PaymentReconciliation, EndpointBHYT, HealthcareService tuyến xã và thông báo vi phạm dữ liệu.Patient, Encounter, Condition, Observation.0.5.0 chỉ cần làm mới package/download artifact và đọc lại changelog; không có chuyển đổi dữ liệu bắt buộc.0.4.0 nên đọc cả mục 0.5.0 bên dưới vì các thay đổi bổ sung/gia cố chính nằm ở bản đó.Trạng thái: Lịch sử — căn cứ pháp lý có cấu trúc, gia cố thiết bị/BHYT và mức sẵn sàng thí điểm
VNLegalDocumentRefCS công bố danh mục pháp lý v0.5 với 101 mục có cấu trúc theo 18 miền công khai, kèm trạng thái hiệu lực và quan hệ thay thếfuture-effective, văn bản đã bị thay thế, trích dẫn chỉ nằm inline và độ phủ theo artifact.claimAuditStatus để biểu diễn vòng đời giám định nội địa.gdbhyt cho lớp gateway/facade BHYT.VNCoreImplantableDevice: risk class, số lưu hành, UDI carrier và vòng đời được nâng mức kỳ vọng cho thiết bị cấy ghép C/D.ExampleDeviceVTYTN03Syringe, ExampleDeviceVTYTClassBThermometer, ExampleDeviceImplantDentalClassC..device; Core không hard-bind Device.type vào một danh mục duy nhất khi quản trị danh pháp chưa ổn định.0.5.0 là bản phát hành bổ sung/gia cố: không đổi canonical URL, không đổi package id, không thay thế ngữ nghĩa lõi của Patient, Encounter, Condition, Observation.0.4.0 nên ưu tiên rà lại device identifiers, legal citation, BHYT reconciliation/gateway boundary và privacy incident/audit policy trước khi thí điểm.Trạng thái: Bản nháp để cộng đồng rà soát — bổ sung lớp CĐHA, Dược, Thiết bị và Khoa phòng
sushi . import 274 FSH instancesVNCoreOrganizationDepartment — Khoa/Phòng theo QĐ 2010/QĐ-BYT (19/6/2025) Phụ lục 6; identifier slicing departmentCode (K01-K53, K99) + localCode; type fixed dept; partOf bắt buộc tham chiếu CSYT chủ quảnVNCoreMedicationDispense — Cấp phát thuốc, liên thông BHYT chain qua authorizingPrescription → VNCoreMedicationRequestVNCoreImagingStudy — Nghiên cứu CĐHA (DICOM StudyInstanceUID); procedureCode/reasonCode/bodySite bindings cho ICD-10 VN + SNOMED CT VN Body StructureVNCoreDiagnosticReportLab, VNCoreDiagnosticReportImaging, VNCoreDiagnosticReportPathology — 3 sub-profiles kế thừa VNCoreDiagnosticReport theo pattern parent-child kiểu JP Core; category slice theo coding.code (LAB/RAD/PAT) + nhóm chi phí BHYT (QĐ 697 nhóm 3/4)VNCoreImplantableDevice — Thiết bị cấy ghép patient-bound theo pattern US Core; patient/type/status 1..1, UDI/vòng đời/safety MS, không hard mandate UDI toàn CoremedicalDeviceItemCode, serialNumber), UDI carrier theo FHIR base, full vòng đời (manufactureDate/expirationDate/lotNumber/serialNumber/modelNumber), extension VNCoreExtDeviceGroup phương án dự phòng và VNCoreExtDeviceRiskClass optional; dữ liệu thanh toán TBYT ưu tiên ở Claim.item; type được relax về 0..1 MS để không reject dữ liệu legacy/BHYT thiếu danh pháp chuẩnfocalDevice Must Support cho thủ thuật đặt/tháo/thay/điều chỉnh thiết bị; example PCI đặt stent và tháo lưới lọc tĩnh mạch chủ dùng Procedure.focalDevice, còn theo dõi đang sử dụng dùng DeviceUseStatementcategory slicing open on coding.code; result relax xuống Observation base để children re-tightenVNCoreImplantableDevice cho Stent mạch vành (SCT 360046005) + deviceGroup N06.00.000, có patient/vòng đời/UDI HRF; bổ sung ExampleDeviceImplantIVCFilter và ExampleProcedureIVCFilterRemoval cho ca explant hợp lý về mặt lâm sàngVNCoreExtDeviceGroup — Nhóm thiết bị y tế theo danh mục BHYT (N01-N09); Context: Claim.item ưu tiên và Device legacy/phương án dự phòng; binding extensible VNDeviceGroupVSVNCoreExtDeviceRiskClass — Phân loại rủi ro A/B/C/D theo NĐ 98/2021/NĐ-CP Điều 4 và TT 05/2022/TT-BYT; optional trên Device, không thay nhóm BHYT hoặc Device.typeVNDeviceGroupCS + VNDeviceGroupVS — 9 codes N01.00.000..N09.00.000 theo TT 04/2017/TT-BYT Phụ lục 01 + TT 24/2025/TT-BYT (đổi thuật ngữ VTYT → TBYT) + VBHN 14/VBHN-BYTVNDeviceRiskClassCS + VNDeviceRiskClassVS — 4 codes A..D theo NĐ 98/2021/NĐ-CP Điều 4; dùng cho risk class optional, không dùng làm danh pháp thiết bịVNMedicalDeviceNomenclatureCS + VNMedicalDeviceNomenclatureVS + VNDeviceTypeVS — 956 concept danh pháp thiết bị trong package hl7.fhir.vn.device, tổng hợp QĐ-3107/QĐ-BYT-2024 và QĐ-847/QĐ-BYT-2025 theo provenance concept-level; Core không required-bind Device.typeVNExaminationCodeCS — fragment 2 mã khám bệnh dùng cho positive seed XML3, có provenance từ Phụ lục 2 QĐ 2010/QĐ-BYT; hiện cover 02.05 cho Nội tiêu hóa và 10.22 cho Ngoại tiêu hóa, còn 2 row consultation/care chưa đủ sạch vẫn giữ ở catalog ví dụ cục bộ riêng.VNBedDayCodeCS — fragment 2 mã ngày giường dùng cho positive seed XML3, có provenance từ Phụ lục 3 QĐ 2010/QĐ-BYT; hiện cover K22.NG1 và K48.HSTC, trong khi 2 row consultation/care chưa đủ sạch vẫn giữ ở catalog ví dụ cục bộ riêng.VNBHYTFinancialFieldCS + VNBHYTFinancialFieldVS — 14 trường tổng tiền BHYT (T_TONGCHI, T_BHTT, T_BNCCT, T_BNTT, T_NGUONKHAC*, T_NGOAIDS, T_THUOC, T_VTYT) làm source truy vết cho cost summary/adjudication.VNBHYTAdjudicationCategoryCS + VNBHYTAdjudicationCategoryVS — 5 category cục bộ (patient-self-pay, other-fund, non-covered, medication-subtotal, supplies-subtotal) để bổ sung HL7 adjudication ở ClaimResponse.total/EOB.total.ConceptMap/vn-cm-bhyt-financial-field-to-adjudication — ánh xạ trường tổng tiền BHYT sang HL7 adjudication và category cục bộ; không encode công thức quyền lợi hoặc catalog lý do từ chối của bên thanh toán.VNMorphologyVS — Subset SNOMED CT filter concept is-a #49755003 (Morphologically abnormal structure) theo QĐ 2493/QĐ-BYT (08/2025) ~5.155 codes; dùng cho VNCoreDiagnosticReportPathology.conclusionCode extensible bindingVNDepartmentCS: 51 → 54 codes (thêm K51 Đột quỵ, K52 Phẫu thuật tạo hình thẩm mỹ, K53 Nam học) theo QĐ 2010/QĐ-BYT Phụ lục 6 (tiền nhiệm QĐ 5937/QĐ-BYT bị bãi bỏ phần Phụ lục 5)DD-v04-05 — DiagnosticReport sub-profiles (pattern parent-child)DD-v04-06 — Device refactor (identifier slicing + UDI + deviceGroup)DD-v04-07 — Missing Profiles (OrgDept + MedDispense + ImagingStudy)ADR-0005 — VNCoreDevice.type 0..1 MS, chưa ràng buộc mức required danh pháp thiết bịADR-0007 — thêm VNCoreImplantableDevice patient-boundwave2-legal-consolidated — tổng hợp 3 Codex legal rà soát chéo (nguồn: governance/v0.4-decisions/)Trạng thái: Bản nháp để cộng đồng rà soát — bản lịch sử trước Wave 2
sushi .VNCoreBundle, VNCoreBHYTSubmissionBundle, VNCoreConsent, VNCoreComposition, VNCoreAuditEvent, VNCoreProvenance, VNCoreRelatedPersonVNCoreLocation để tách khoa/phòng/địa điểm cung cấp dịch vụ khỏi OrganizationVNCoreSpecimen, nối chuỗi ServiceRequest -> Specimen -> ObservationLab -> DiagnosticReport, bổ sung ví dụ mẫu huyết thanh, máu toàn phần, nước tiểu và tình huống xét nghiệm đầu-cuốimust-support-guidance.md, chốt cách diễn giải Must Support, bảng xử lý thiếu dữ liệu và cẩm nang HIS -> FHIR cho bệnh nhân, lượt khám, tài liệu, BHYT và hồ sơ thanh toánlegal-basis.md, tách lớp căn cứ hiện hành / lịch sử / quyết định thiết kế cho 4 nhóm hồ sơ chính: Patient/RelatedPerson, Practitioner/Organization/Location, tài liệu lâm sàng và lớp liên thông hồ sơ BHYT (BHYT Submission)package-architecture.md, chốt mô hình 4 gói mô-đun (core.base, bhyt.submission, terminology.clinical, terminology.traditional-medicine) và 1 gói tổng hợphl7.fhir.vn.core, hl7.fhir.vn.core.base, hl7.fhir.vn.bhyt.submission, hl7.fhir.vn.terminology.clinical và hl7.fhir.vn.terminology.traditional-medicine từ cùng một kho mã nguồn biên soạnpackage-list.json, history.html, và trang đích công bố tối thiểu cho từng gói mô-đun ngay trong cùng website fhir.hl7.org.vn/corefhir.base.template sang fhir2.base.template theo thông báo bảo mật ngày 17/03/2026 của FHIR Foundation, loại bỏ phụ thuộc vào template cũ đã ngừng hỗ trợVNCorePatient chuyển sang dùng các extension chuẩn patient-religion, patient-citizenship, patient-birthPlace; thêm các lát cắt BHXH, GKS, HC và contact cho luồng người giám hộsubscriber, relationship, invariant kiểm tra subscriberId khớp identifier[BHYT], và đưa Coverage.type về ngữ nghĩa chuẩn FHIR medical thay vì dùng cho NGUON_CTRAConceptMap vn-cm-religion-to-v3-religious-affiliation và ví dụ mã kép cho patient-religion ở các trường hợp có ánh xạ 1-1provision.period.end khi đã khai báo consent có thời hạnvn-ma-lk, vn-ma-luot-kcb, vn-ma-dkbd, vn-bhxh, vn-gks, vn-gphn, cùng artifact lịch sử vn-vneid ở trạng thái retiredVNeID (integration-only / retired), GKS, GPHN, VNMaLuotKCB, mã phản hồi gateway BHYT, cùng các hệ CMND/BHXH/Hộ chiếu/Mã vật tưvn-ext-encounter-code chuyển từ string sang Identifier, gắn system riêng cho MA_LUOT_KCB và đổi vn-sp-encounter-ma-luot-kcb sang token để tìm kiếm nhất quán hơn trong gateway và validatorExamplePatientForeignPassport để minh họa bệnh nhân người nước ngoài dùng identifier[HC], giữ lát cắt CCCD với data-absent-reason, và không lạm dụng forceMajeureReasongateway layer: Check-in + các logical model BHYT XML 1-12, $validate-bhyt-claim, $submit-bhyt-claim, $reverse-bhyt-claimánh xạ nội tuyến cho toàn bộ logical model Check-in + XML1-12, chốt nguồn FHIR cho từng trường và tách rõ trường gốc với trường suy ra để xuất dữ liệuVNCoreExtPaymentSource cho NGUON_CTRA, sửa đúng ngữ nghĩa VNPaymentSourceCS theo QĐ 130/QĐ-BYT/QĐ 3176/QĐ-BYT (1 BHYT, 2 dự án/viện trợ, 3 chương trình mục tiêu quốc gia, 4 nguồn khác), và kéo thêm SO_DANG_KY/NGAY_YL vào round-trip/report từ carrier thuốc thực tếVNCitizenIdBirthplacePrefixCS/VS, đóng gói bộ thuật ngữ hỗ trợ kiểm tra 3 số đầu CCCD và đưa TT 17/2024/TT-BCA vào tài liệu tham chiếu pháp lýoutput/bhyt-roundtrip/README.md và output/bhyt-roundtrip/index.html để rà soát độ bao phủ theo bundle/bảng XMLHIV/AIDS và tử vong, làm giàu bundle nội trú và trẻ sơ sinh để round-trip mapper phủ thực tế xml4-12implementation-reports.md để chuẩn hóa báo cáo thí điểm/ballotorganizationRank, healthUnitRank, organizationRankStatus, facilityCareLevel, và legacyTechnicalLine; bổ sung trang organization-location-governance.mdCodeSystem.property.uri cho toàn bộ 10 CodeSystem YHCT, giữ nguyên mã pháp lý nhưng làm rõ ngữ nghĩa property trong hệ sinh thái terminology và loại bỏ toàn bộ thông báo QA kiểu “property has only a code and not a URI”CodeSystem quy mô lớn như VNCLSCS, VNWardCS, VNOCCS và toàn bộ 10 CodeSystem Y học cổ truyền sang tài nguyên FHIR JSON sinh sẵn từ dữ liệu nguồn máy đọc được hoặc phụ lục pháp lý, giúp SUSHI ổn định và giữ nguyên provenance pháp lýVNCorePractitioner sang mô hình GPHN hiện hành / CCHN lịch sử, thêm NamingSystem VNGPHN và vn-sp-practitioner-gphn, đồng thời hạ CCHN xuống lớp tương tác liên thông dữ liệu lịch sửidentifier[CCCD] 0..1 → 1..1 theo TT 13/2025/TT-BYTVNCoreRelatedPerson + example mẹ của bệnh nhi; tách riêng example quyền lợi BHYT cấp trực tiếp cho trẻ và example coverage liên kết người đại diệnparental-proxy/guardian-consent và ví dụ ExampleConsentParentalProxy dùng RelatedPerson làm người thực hiện đồng ý/core/*: package-list.json, qa.html được phục vụ đúng qua /core/Trạng thái: Draft
vn-ext-ethnicity — Dân tộc (54 dân tộc, 121/TCTK-PPCĐ)vn-ext-religion — Tôn giáo (16 tôn giáo, CV 6955/BNV-TGCP)vn-ext-occupation — Nghề nghiệp (VSCO 2020, 1.516 mã, QĐ 34/2020/QĐ-TTg)vn-ext-province — Tỉnh/TP (34 đơn vị, NQ 202/2025/QH15)vn-ext-ward — Xã/Phường (~3.321 đơn vị, NQ 202/2025/QH15)vn-ext-bhyt-card-type — Loại đối tượng BHYT (53 mã, NĐ 146/2018/NĐ-CP)vn-ext-primary-care-facility — Nơi ĐKKCB ban đầu (Luật BHYT)vn-ext-insurance-visit-type — Loại KCB BHYT; attribution được đính chính ở bản sau thành danh mục legacy MA_LYDO_VVIEN của QĐ 4210/QĐ-BYT (mã 1–4; mã 5 là mở rộng dự án chờ nguồn)vn-ext-treatment-outcome — Kết quả điều trị (KET_QUA_DTRI, 8 mã, QĐ 3176/QĐ-BYT)vn-ext-org-rank — Hạng bệnh viện (4 hạng, TT 06/2024/TT-BYT)vn-ext-org-level — Tuyến KCBvn-ext-org-type — Loại hình CSKCB (8 loại, Luật KCB 2023)vn-ext-claim-cost-summary — Tổng hợp chi phí Claim (QĐ 697/QĐ-BYT)vn-ext-claim-item-department — Khoa chỉ định dịch vụvn-ext-claim-payment-period — Thời gian thanh toán BHYTvn-ext-insurance-cost-info — Thông tin chi phí BHYTvn-ext-payment-method — Phương thức thanh toánvn-ext-order-date — Ngày y lệnhvn-ext-med-registration-number — Số đăng ký thuốcvn-ext-device-insurance-scope — Phạm vi BH trang thiết bị y tếvn-sp-patient-cccd — Tìm Patient theo CCCD (Luật Căn cước 2023)vn-sp-patient-bhyt — Tìm Patient theo BHYT (Luật BHYT)vn-sp-organization-cskcb — Tìm Organization theo mã CSKCB (QĐ 3176/QĐ-BYT)vn-sp-practitioner-cchn — Tìm Practitioner theo CCHN (Luật KCB 2023, Điều 19-26)vn-sp-coverage-bhyt — Tìm Coverage theo số thẻ BHYT (NĐ 188/2025/NĐ-CP)vn-sp-encounter-malydo — Tìm Encounter theo danh mục loại KCB; attribution được đính chính ở bản sau về legacy MA_LYDO_VVIEN của QĐ 4210/QĐ-BYTvn-sp-condition-icd10 — Tìm Condition theo ICD-10 (QĐ 4469/QĐ-BYT, QĐ 98/QĐ-BYT)vn-cm-cls-to-loinc — Ánh xạ CLS VN → LOINC (2.964 chỉ số, 100% coverage, QĐ 1227/QĐ-BYT)vn-cm-religion-to-v3-religious-affiliation — Ánh xạ một phần danh mục tôn giáo Việt Nam sang v3-ReligiousAffiliation cho các trường hợp tương đương rõ về ngữ nghĩa.0, .1, .8, .9 (sai) → .01, .02, .03... (đúng QĐ 2552/QĐ-BYT)"{YHCT} — {YHHĐ} [{ICD-10}]" (VD: "Yêu thống — Đau cột sống thắt lưng [M54.5]")"{YHCT}: {tên thể} [{ICD-10}]" (VD: "Yêu thống: Thể hàn thấp [M54.5]")hierarchyMeaning sửa từ #grouped-by → #is-a (chuẩn FHIR)icd10 (mã ICD-10), yhhd-name (tên bệnh YHHĐ), ma-dung-chung (mã dùng chung BYT)identifier (0..* MS) — Mã phiếu chỉ định / Số yêu cầurequisition (0..1) — Mã nhóm yêu cầu (gộp nhiều XN/DVKT cùng phiếu)performerType (0..1) — Loại chuyên khoa thực hiện, bind VNSpecialtyVScode description: ghi rõ LOINC cho XN (QĐ 1227/QĐ-BYT), ICD-9-CM cho PT/TT (QĐ 387/QĐ-BYT), SNOMED CT cho CĐHAU62.392.5.01 (Thể hàn thấp) thay vì base code U62.392.5| Nếu cần | Nên đọc tiếp |
|---|---|
| Tìm hiểu quy trình phát hành và quản trị của IG | Phát hành và quản trị |
| Hiểu chiến lược ổn định và cam kết tương thích ngược | Ổn định và tuân thủ |
| Tải xuống phiên bản hiện hành và các artifact liên quan | Tải xuống |
This changelog records VN Core release deltas. For current implementation impact, read the 0.8.0 entry first, then review intervening releases back to the version being upgraded. Entries for 0.7.0 and earlier are historical.