Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide
0.10.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.10.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/StructureMap/vn-sm-birth-certificate | Phiên bản: 0.10.0 | ||||
| Computable Name: VNBirthCertificateLMStructureMap | |||||
| Định danh khác: OID:2.25.161089673617632664299011809196868855799.43.16 | |||||
Generated StructureMap scaffold for Giấy chứng sinh (sinh thường) QĐ 2919/QĐ-BYT — Birth Certificate Logical Model. Source semantics come from the logical model mapping annotations in VNBirthCertificateLM.fsh and remain aligned with the Python BHYT round-trip export adapter.
Language: vi
map "http://fhir.hl7.org.vn/core/StructureMap/vn-sm-birth-certificate" = "VNBirthCertificateLMStructureMap" // Generated StructureMap scaffold for Giấy chứng sinh (sinh thường) QĐ 2919/QĐ-BYT — Birth Certificate Logical Model. Source semantics come from the logical model mapping annotations in `VNBirthCertificateLM.fsh` and remain aligned with the Python BHYT round-trip export adapter. // Composition giấy chứng sinh (sinh thường) theo QĐ 2919/QĐ-BYT Phụ lục I. uses "http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-composition-birth-certificate" alias VNCoreCompositionBirthCertificate as source // Giấy chứng sinh (sinh thường) QĐ 2919/QĐ-BYT — Birth Certificate Logical Model uses "http://fhir.hl7.org.vn/core/StructureDefinition/vnBirthCertificateLm" alias VNBirthCertificateLM as target // Nguồn dữ liệu là Composition/DocumentReference giấy chứng sinh, Patient trẻ sơ sinh, RelatedPerson người mẹ và Practitioner ký giấy. Generated from logical-model `^mapping` annotations. Fields still missing a field-level `^mapping.map` entry remain outside this StructureMap and are tracked in `wiki/mappings/bhyt-output-data/machine/structuremap-coverage.json`. group MapVNBirthCertificateLM(source sourceComposition : VNCoreCompositionBirthCertificate, target targetRow : VNBirthCertificateLM) { // Target field: TEN_CSKBCB - Tên cơ sở khám bệnh, chữa bệnh nơi cấp giấy chứng sinh FHIR path: VNCoreKCBOrganization.name Field note: STT 1. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 255. sourceComposition.section 0..* as facilityNameSource -> targetRow.facilityName "facilityName"; // Target field: MA_CSKBCB - Mã cơ sở khám bệnh, chữa bệnh (05 ký tự) FHIR path: VNCoreOrganization.identifier[CSKCB].value Field note: STT 1. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 5. sourceComposition.section 0..* as facilityCodeSource -> targetRow.facilityCode "facilityCode"; // Target field: MA_GCS - Mã giấy chứng sinh, 18 ký tự dạng XXXXX.GCS.ZZZZZ.YY FHIR path: VNCoreCompositionBirthCertificate.identifier.value Field note: STT 2. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 18. XXXXX = số thứ tự tăng dần trong năm tại cơ sở; GCS = literal; ZZZZZ = mã cơ sở KBCB; YY = hai số cuối của năm. sourceComposition.section 0..* as certificateNumberSource -> targetRow.certificateNumber "certificateNumber"; // Target field: LAN_CAP - Lần cấp: 0 cấp lần đầu, 1 cấp lại FHIR path: VNCoreCompositionBirthCertificate.extension[issueOrdinal].valueCode Field note: STT 3. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 2 — nhưng hai giá trị công bố đều chỉ một ký tự; giữ 2 theo đúng bảng. sourceComposition.section 0..* as issueOrdinalSource -> targetRow.issueOrdinal "issueOrdinal"; // Target field: HOTEN_ME - Họ, chữ đệm, tên khai sinh của mẹ FHIR path: VNCoreRelatedPerson.name.text Field note: STT 4. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 255. sourceComposition.section 0..* as motherNameSource -> targetRow.motherName "motherName"; // Target field: NGAYSINH_ME - Ngày sinh của mẹ, yyyyMMdd hoặc yyyy FHIR path: VNCoreRelatedPerson.birthDate Field note: STT 5. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 8. Cho phép chỉ có năm khi không rõ ngày tháng — dùng string chứ không dùng date để giữ được độ chính xác thấp đó. sourceComposition.section 0..* as motherBirthDateSource -> targetRow.motherBirthDate "motherBirthDate"; // Target field: MA_DANTOC_ME - Mã dân tộc của mẹ FHIR path: VNCoreRelatedPerson.extension[ethnicity].valueCodeableConcept.coding.code Field note: STT 6. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 2. Tra cứu theo Danh mục các dân tộc Việt Nam của Cục Thống kê. sourceComposition.section 0..* as motherEthnicityCodeSource -> targetRow.motherEthnicityCode "motherEthnicityCode"; // Target field: LOAI_GIAYTO_ME - Loại giấy tờ: 1 ĐDCN, 2 hộ chiếu, 3 giấy tờ khác FHIR path: VNCoreRelatedPerson.identifier.type.coding.code Field note: STT 7. Kiểu công bố: Số. Bắt buộc. Kích thước tối đa 1. Dùng string vì đây là MÃ PHÂN LOẠI, không phải lượng. sourceComposition.section 0..* as motherDocumentTypeSource -> targetRow.motherDocumentType "motherDocumentType"; // Target field: SO_DDCN_ME - Số ĐDCN/hộ chiếu/giấy tờ tuỳ thân khác của mẹ FHIR path: VNCoreRelatedPerson.identifier[CCCD].value | VNCoreRelatedPerson.identifier[HC].value Field note: STT 7. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 15. sourceComposition.section 0..* as motherDocumentNumberSource -> targetRow.motherDocumentNumber "motherDocumentNumber"; // Target field: NOI_CU_TRU_ME - Địa chỉ nơi cư trú của mẹ FHIR path: VNCoreRelatedPerson.address.text Field note: STT 8. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 1024. Người nước ngoài không cư trú tại Việt Nam ghi địa chỉ lãnh sự quán tại Việt Nam. sourceComposition.section 0..* as motherResidenceSource -> targetRow.motherResidence "motherResidence"; // Target field: MATINH_CU_TRU - Mã tỉnh nơi cư trú (02 ký tự) FHIR path: VNCoreRelatedPerson.address.extension[province].valueCoding.code Field note: STT 8. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 2. Theo QĐ 19/2025/QĐ-TTg. sourceComposition.section 0..* as motherResidenceProvinceCodeSource -> targetRow.motherResidenceProvinceCode "motherResidenceProvinceCode"; // Target field: MAXA_CU_TRU - Mã xã/phường nơi cư trú (05 ký tự) FHIR path: VNCoreRelatedPerson.address.extension[ward].valueCoding.code Field note: STT 8. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 5. Theo QĐ 19/2025/QĐ-TTg — mô hình hai cấp, không có cấp huyện. sourceComposition.section 0..* as motherResidenceWardCodeSource -> targetRow.motherResidenceWardCode "motherResidenceWardCode"; // Target field: MA_BHXH_ME - Mã số BHXH của mẹ (nếu có) FHIR path: VNCoreRelatedPerson.identifier.value Field note: STT 9. Kiểu công bố: Số. Không bắt buộc. Kích thước tối đa 10. Dùng string: định danh 10 chữ số, ép sang số nguyên sẽ mất số 0 đứng đầu. sourceComposition.section 0..* as motherSocialInsuranceNumberSource -> targetRow.motherSocialInsuranceNumber "motherSocialInsuranceNumber"; // Target field: MA_THE_ME - Mã thẻ BHYT của mẹ (nếu có) FHIR path: VNCoreCoverage.identifier[BHYT].value Field note: STT 9. Kiểu công bố: Chuỗi. Không bắt buộc. Kích thước tối đa 15. sourceComposition.section 0..* as motherHealthInsuranceNumberSource -> targetRow.motherHealthInsuranceNumber "motherHealthInsuranceNumber"; // Target field: NGAY_SINH_CON - Thời điểm sinh con, 12 ký tự FHIR path: VNCorePatient.birthDate + VNCorePatient.extension[birthTime].valueDateTime Field note: STT 10. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 12. VĂN BẢN GHI KÝ HIỆU MÂU THUẪN: công bố `yyyyMMddHHss` nhưng diễn giải nói hai ký tự cuối là PHÚT sinh. Theo chuẩn kỹ thuật thông thường `ss` là giây và `mm` mới là phút; độ dài 12 ký tự cũng chỉ đủ tới phút. Ngữ nghĩa THỰC là `yyyyMMddHHmm`. Giữ nguyên ký hiệu công bố ở mapping, không tự sửa văn bản. sourceComposition.section 0..* as childBirthDateTimeSource -> targetRow.childBirthDateTime "childBirthDateTime"; // Target field: NOI_SINH_CON - Nơi sinh con, dạng {mã tỉnh}:{mã xã}:{địa chỉ đầy đủ} FHIR path: VNCorePatient.extension[birthPlace].valueAddress Field note: STT 11. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 1024. Mã tỉnh/xã theo QĐ 19/2025/QĐ-TTg. Cấu trúc ghép ba phần bằng dấu hai chấm là quy định của văn bản, không phải quy ước của VN Core. sourceComposition.section 0..* as childBirthPlaceSource -> targetRow.childBirthPlace "childBirthPlace"; // Target field: GIOI_TINH_CON - Giới tính của con: 1 nam, 2 nữ, 3 chưa xác định FHIR path: VNCorePatient.gender Field note: STT 13. Kiểu công bố: Số. Bắt buộc. Kích thước tối đa 1. Dùng string vì đây là mã phân loại. sourceComposition.section 0..* as childGenderSource -> targetRow.childGender "childGender"; // Target field: CAN_NANG_CON - Cân nặng của con, tính bằng gam FHIR path: VNCoreObservationBodyWeight.value[x] (CHUYỂN ĐƠN VỊ BẮT BUỘC: chỉ tiêu tính bằng GAM, profile khoá UCUM #kg — adapter phải chia 1000 trước khi ghi) Field note: STT 14. Kiểu công bố: Chuỗi. Không bắt buộc. Kích thước tối đa 10. Đơn vị công bố là gam. sourceComposition.section 0..* as childWeightSource -> targetRow.childWeight "childWeight"; // Target field: MA_THE_TAM - Mã thẻ BHYT tạm thời của trẻ FHIR path: VNCoreCoverage.identifier.value Field note: STT 15. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 15. Nằm dưới nhãn 'Dự định đặt tên con' trong bảng công bố — nhãn không khớp nội dung, giữ nguyên để đối chiếu. sourceComposition.section 0..* as childTemporaryInsuranceCardSource -> targetRow.childTemporaryInsuranceCard "childTemporaryInsuranceCard"; // Target field: TEN_CON - Tên dự định đặt cho con FHIR path: VNCorePatient.name.text Field note: STT 15. Kiểu công bố: Chuỗi. Không bắt buộc. Kích thước tối đa 255. Tên dự kiến, có thể thay đổi khi đăng ký khai sinh. sourceComposition.section 0..* as childIntendedNameSource -> targetRow.childIntendedName "childIntendedName"; // Target field: GHI_CHU - Ghi chú về phẫu thuật và/hoặc sinh dưới 32 tuần FHIR path: VNCoreCompositionBirthCertificate.section.text Field note: STT 16. Kiểu công bố: Chuỗi. Không bắt buộc. Kích thước tối đa 1500. Văn bản quy định chỉ ghi MỘT trong ba nội dung: 'Sinh con phải phẫu thuật', 'Sinh con dưới 32 tuần tuổi', hoặc 'Phẫu thuật, sinh con dưới 32 tuần tuổi'. sourceComposition.section 0..* as noteSource -> targetRow.note "note"; // Target field: SINHCON_PHAUTHUAT - Cờ sinh con phải phẫu thuật: 1 có, 0 không FHIR path: VNCoreProcedure.code Field note: STT 16. Kiểu công bố: Số. Không bắt buộc. Kích thước tối đa 1. TÊN CÔNG BỐ chứa khoảng trắng ('SINHCON_PHAUTH UAT') — lỗi soạn thảo trong chính bản DOCX, đã bỏ khoảng trắng ở tên phần tử. sourceComposition.section 0..* as surgicalDeliveryFlagSource -> targetRow.surgicalDeliveryFlag "surgicalDeliveryFlag"; // Target field: TINH_TRANG_CON - Tình trạng của trẻ tại thời điểm làm giấy chứng sinh FHIR path: VNCoreCondition.code.text Field note: STT 16. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 500. Trường hợp dị dạng, dị tật phải ghi cụ thể. sourceComposition.section 0..* as childConditionSource -> targetRow.childCondition "childCondition"; // Target field: NGAY_CS - Ngày cấp giấy chứng sinh, yyyyMMdd FHIR path: VNCoreCompositionBirthCertificate.date Field note: STT 17. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 8. sourceComposition.section 0..* as issueDateSource -> targetRow.issueDate "issueDate"; // Target field: THAN_NHAN - Họ, chữ đệm, tên thân nhân của trẻ FHIR path: VNCoreRelatedPerson.name.text Field note: STT 18. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 255. sourceComposition.section 0..* as relativeNameSource -> targetRow.relativeName "relativeName"; // Target field: NGUOI_DO_DE - Chức danh và họ tên người đỡ đẻ FHIR path: VNCorePractitioner.name.text Field note: STT 19. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 255. Văn bản yêu cầu ghi CẢ chức danh lẫn họ tên trong cùng một trường. sourceComposition.section 0..* as midwifeNameSource -> targetRow.midwifeName "midwifeName"; // Target field: THU_TRUONG_DVI - Người đứng đầu cơ sở KBCB hoặc người được uỷ quyền ký FHIR path: VNCoreCompositionBirthCertificate.attester.party.display Field note: STT 20. Kiểu công bố: Chuỗi. Bắt buộc. Kích thước tối đa 255. Ghi họ tên và đóng dấu. sourceComposition.section 0..* as headOfFacilityNameSource -> targetRow.headOfFacilityName "headOfFacilityName"; }