Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.6.0 - Draft for Community Review
Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam - Draft for Community Review (v0.6.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| URL chính thức: http://fhir.hl7.org.vn/core/StructureDefinition/vnHealthCheckupDataSyncEnvelopeLm | Phiên bản: 0.6.0 | ||||
| Computable Name: VNHealthCheckupDataSyncEnvelopeLM | |||||
Logical model cho bản tin (envelope) đồng bộ tự động tập dữ liệu khám sức khỏe định kỳ từ cơ sở KCB lên Cổng/Trục dữ liệu sức khỏe Bộ Y tế (api.emrhub.vn). API: POST /api/platform/data-sync/push. Xác thực: OAuth2 + Bearer Token (lấy từ /api/auth/login). Định dạng JSON (UTF-8). KHÁC với luồng BHYT Gateway (gdbhyt.baohiemxahoi.gov.vn, XML 4210) — đây là surface liên thông KSK quốc gia. INFORMATIVE / non-normative: đây là mô hình ánh xạ transport envelope (không phải FHIR resource normative). Các National Core IG (KR/JP) chỉ chuẩn hóa profile/search/capability RESTful; envelope được giữ làm mapping aid để implementer ánh xạ payload FHIR ↔ bản tin đồng bộ. Căn cứ: QĐ 1551/QĐ-BYT (31/5/2026) — Phụ lục 02 đặc tả API.
Usages:
You can also check for usages in the FHIR IG Statistics
Mô tả profile, differential, snapshot và các biểu diễn liên quan.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Base | Bản tin đồng bộ dữ liệu KSK lên Trục dữ liệu BYT — Logical Model (Phụ lục 02) | |
![]() ![]() |
1..1 | BackboneElement | header - Thông tin header bản tin | |
![]() ![]() ![]() |
1..1 | string | version - Phiên bản hệ thống Trục dữ liệu BYT | |
![]() ![]() ![]() |
1..1 | string | sender_id - Mã định danh bên phát tin (13 số mã định danh CSKCB) | |
![]() ![]() ![]() |
1..1 | string | receiver_id - Mã bên nhận tin (vd: TDLBYT) | |
![]() ![]() ![]() |
1..1 | string | txn_type - Loại giao dịch (snc_checkup: đồng bộ tập dữ liệu KSK định kỳ) | |
![]() ![]() ![]() |
1..1 | string | msg_id - Mã giao dịch = sender_id + YY + MM + NN + UUIDv4 | |
![]() ![]() ![]() |
1..1 | string | msg_type - 101: Thông điệp phát tin đồng bộ (request); 102: Trục đã nhận dữ liệu (response). service-type=100 (data sync) | |
![]() ![]() ![]() |
1..1 | string | data_type - Định dạng file (xml/base64, json/base64, png/base64, jpg/base64, pdf/base64) | |
![]() ![]() ![]() |
1..1 | string | send_datetime - Thời điểm đẩy dữ liệu (Unix timestamp 13 số ms — dùng string vì vượt FHIR R4 integer 32-bit) | |
![]() ![]() |
1..1 | string | data - File dữ liệu (XML/JSON) đã encode Base64 | |
![]() ![]() |
1..1 | string | signature - Chữ ký số checksum SHA256RSA giữa header và data (bên phát tin tạo) | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Base | Bản tin đồng bộ dữ liệu KSK lên Trục dữ liệu BYT — Logical Model (Phụ lục 02) | |
![]() ![]() |
1..1 | BackboneElement | header - Thông tin header bản tin | |
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | version - Phiên bản hệ thống Trục dữ liệu BYT | |
![]() ![]() ![]() |
1..1 | string | sender_id - Mã định danh bên phát tin (13 số mã định danh CSKCB) | |
![]() ![]() ![]() |
1..1 | string | receiver_id - Mã bên nhận tin (vd: TDLBYT) | |
![]() ![]() ![]() |
1..1 | string | txn_type - Loại giao dịch (snc_checkup: đồng bộ tập dữ liệu KSK định kỳ) | |
![]() ![]() ![]() |
1..1 | string | msg_id - Mã giao dịch = sender_id + YY + MM + NN + UUIDv4 | |
![]() ![]() ![]() |
1..1 | string | msg_type - 101: Thông điệp phát tin đồng bộ (request); 102: Trục đã nhận dữ liệu (response). service-type=100 (data sync) | |
![]() ![]() ![]() |
1..1 | string | data_type - Định dạng file (xml/base64, json/base64, png/base64, jpg/base64, pdf/base64) | |
![]() ![]() ![]() |
1..1 | string | send_datetime - Thời điểm đẩy dữ liệu (Unix timestamp 13 số ms — dùng string vì vượt FHIR R4 integer 32-bit) | |
![]() ![]() |
1..1 | string | data - File dữ liệu (XML/JSON) đã encode Base64 | |
![]() ![]() |
1..1 | string | signature - Chữ ký số checksum SHA256RSA giữa header và data (bên phát tin tạo) | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Dạng xem Differential
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Base | Bản tin đồng bộ dữ liệu KSK lên Trục dữ liệu BYT — Logical Model (Phụ lục 02) | |
![]() ![]() |
1..1 | BackboneElement | header - Thông tin header bản tin | |
![]() ![]() ![]() |
1..1 | string | version - Phiên bản hệ thống Trục dữ liệu BYT | |
![]() ![]() ![]() |
1..1 | string | sender_id - Mã định danh bên phát tin (13 số mã định danh CSKCB) | |
![]() ![]() ![]() |
1..1 | string | receiver_id - Mã bên nhận tin (vd: TDLBYT) | |
![]() ![]() ![]() |
1..1 | string | txn_type - Loại giao dịch (snc_checkup: đồng bộ tập dữ liệu KSK định kỳ) | |
![]() ![]() ![]() |
1..1 | string | msg_id - Mã giao dịch = sender_id + YY + MM + NN + UUIDv4 | |
![]() ![]() ![]() |
1..1 | string | msg_type - 101: Thông điệp phát tin đồng bộ (request); 102: Trục đã nhận dữ liệu (response). service-type=100 (data sync) | |
![]() ![]() ![]() |
1..1 | string | data_type - Định dạng file (xml/base64, json/base64, png/base64, jpg/base64, pdf/base64) | |
![]() ![]() ![]() |
1..1 | string | send_datetime - Thời điểm đẩy dữ liệu (Unix timestamp 13 số ms — dùng string vì vượt FHIR R4 integer 32-bit) | |
![]() ![]() |
1..1 | string | data - File dữ liệu (XML/JSON) đã encode Base64 | |
![]() ![]() |
1..1 | string | signature - Chữ ký số checksum SHA256RSA giữa header và data (bên phát tin tạo) | |
Documentation for this format | ||||
Dạng xem SnapshotView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Base | Bản tin đồng bộ dữ liệu KSK lên Trục dữ liệu BYT — Logical Model (Phụ lục 02) | |
![]() ![]() |
1..1 | BackboneElement | header - Thông tin header bản tin | |
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | version - Phiên bản hệ thống Trục dữ liệu BYT | |
![]() ![]() ![]() |
1..1 | string | sender_id - Mã định danh bên phát tin (13 số mã định danh CSKCB) | |
![]() ![]() ![]() |
1..1 | string | receiver_id - Mã bên nhận tin (vd: TDLBYT) | |
![]() ![]() ![]() |
1..1 | string | txn_type - Loại giao dịch (snc_checkup: đồng bộ tập dữ liệu KSK định kỳ) | |
![]() ![]() ![]() |
1..1 | string | msg_id - Mã giao dịch = sender_id + YY + MM + NN + UUIDv4 | |
![]() ![]() ![]() |
1..1 | string | msg_type - 101: Thông điệp phát tin đồng bộ (request); 102: Trục đã nhận dữ liệu (response). service-type=100 (data sync) | |
![]() ![]() ![]() |
1..1 | string | data_type - Định dạng file (xml/base64, json/base64, png/base64, jpg/base64, pdf/base64) | |
![]() ![]() ![]() |
1..1 | string | send_datetime - Thời điểm đẩy dữ liệu (Unix timestamp 13 số ms — dùng string vì vượt FHIR R4 integer 32-bit) | |
![]() ![]() |
1..1 | string | data - File dữ liệu (XML/JSON) đã encode Base64 | |
![]() ![]() |
1..1 | string | signature - Chữ ký số checksum SHA256RSA giữa header và data (bên phát tin tạo) | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|