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
| Draft tại thời điểm 2026-09-22 |
Các định nghĩa cho vnPreVaccinationScreeningLm mô hình logic
Guidance on how to interpret the contents of this table can be foundhere
| 0. vnPreVaccinationScreeningLm | |
| Definition | Logical model đặc tả các phép đo mà Quyết định 1575/QĐ-BYT (ban hành và hiệu lực 27/03/2023) BUỘC phải ghi trị số trên bảng kiểm sàng lọc trước tiêm chủng cho trẻ em — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile cân nặng và profile nhiệt độ cơ thể. Cả bốn mẫu bảng kiểm (Phụ lục I-IV) đều có ô 'Cân nặng: ____' và 'Thân nhiệt: ____ °C' nằm trong phần bắt buộc điền, trước mục I 'Khám sàng lọc'. Nghĩa vụ đo và ghi không suy từ việc mẫu có ô trống — phần IV.1 của hướng dẫn nói thẳng ai làm việc đó: 'Điều dưỡng viên, hộ sinh viên: Ghi các thông tin của trẻ, TRỰC TIẾP CÂN TRẺ, ĐO VÀ GHI KẾT QUẢ NHIỆT ĐỘ của trẻ', và 'Bác sĩ, y sĩ: … trực tiếp đo và ghi kết quả nhiệt độ của trẻ khi không có điều dưỡng viên, hộ sinh viên'. Hai trị số ấy còn là căn cứ của các mục sàng lọc dẫn tới tạm hoãn: ngưỡng thân nhiệt 'Sốt: nhiệt độ ≥ 38°C; Hạ thân nhiệt: nhiệt độ ≤ 35,5°C' (đo tại nách) có ở CẢ BỐN mẫu, còn ngưỡng 'Cân nặng < 2000g' CHỈ có ở hai mẫu dùng ngoài bệnh viện — Phụ lục III và IV không có mục ấy, và hướng dẫn tại bệnh viện còn ghi 'thực hiện tiêm chủng các vắc xin theo lịch với trẻ nhẹ cân (so với tuổi)'. Nghĩa vụ GHI TRỊ SỐ thì không đổi theo nơi tiêm. Hai bản dành cho trẻ dưới 1 tháng (Phụ lục II và IV) ghi cân nặng bằng GAM, hai bản còn lại bằng KILÔGAM — xem chú thích tại Model KHÔNG khai kết luận sàng lọc và loại vắc xin thành trường có nghĩa vụ: xem |
| Short | Phép đo bắt buộc của bảng kiểm sàng lọc trước tiêm chủng (QĐ 1575/QĐ-BYT) — Logical Model |
| Control | 0..* |
| Is Modifier | false |
| Logical Model | Instances of this logical model are not marked to be the target of a Reference |
| 2. vnPreVaccinationScreeningLm.canNang | |
| Definition | Cân nặng đo tại buổi sàng lọc |
| Short | Cân nặng đo tại buổi sàng lọc |
| Comments | Ô 'Cân nặng' đứng cùng dòng với 'Thân nhiệt' trong phần hành chính của cả bốn mẫu, tức là phải điền cho MỌI trẻ đến tiêm, không phụ thuộc kết quả các mục sàng lọc. Ở cơ sở NGOÀI bệnh viện, trị số này còn quyết định trực tiếp: mục 11 của bản trẻ từ 1 tháng và mục 3 của bản trẻ dưới 1 tháng lấy ngưỡng 2000 g làm mốc tạm hoãn, và phần 3.2 điểm b ghi 'Trẻ có cân nặng dưới 2000g' vào danh sách phải chuyển khám sàng lọc tại bệnh viện. Sửa 07/09/2026 sau phản biện Codex: hai mẫu dùng TẠI bệnh viện (Phụ lục III, IV) KHÔNG có mục ngưỡng ấy — nghĩa vụ ghi trị số vẫn còn ở cả bốn, nhưng hệ quả của trị số thì khác nhau theo nơi tiêm. |
| Control | 1..1 |
| Type | BackboneElement |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 4. vnPreVaccinationScreeningLm.canNang.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 6. vnPreVaccinationScreeningLm.canNang.extension | |
| Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | Additional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on vnPreVaccinationScreeningLm.canNang.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 8. vnPreVaccinationScreeningLm.canNang.modifierExtension | |
| Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
| Short | Extensions that cannot be ignored even if unrecognized |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..* |
| Type | Extension |
| Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
| Summary | true |
| Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
| Alternate Names | extensions, user content, modifiers |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 10. vnPreVaccinationScreeningLm.canNang.giaTri | |
| Definition | Trị số cân nặng |
| Short | Trị số cân nặng |
| Comments | HAI ĐƠN VỊ TRONG CÙNG MỘT VĂN BẢN: Phụ lục I và III (trẻ từ 1 tháng) in sẵn 'kg' sau ô trống, còn Phụ lục II và IV (trẻ dưới 1 tháng) in 'g' — hợp lý vì cân nặng sơ sinh thường ghi bằng gam và chính ngưỡng của văn bản là '2000 g'. VNCoreObservationBodyWeight ép |
| Control | 1..1 |
| Type | decimal |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 12. vnPreVaccinationScreeningLm.thanNhiet | |
| Definition | Thân nhiệt đo tại buổi sàng lọc |
| Short | Thân nhiệt đo tại buổi sàng lọc |
| Comments | Ô 'Thân nhiệt' in sẵn dấu phẩy thập phân và ký hiệu °C trên cả bốn mẫu. Sửa 07/09/2026 sau phản biện Codex: bản đầu đọc dấu phẩy ấy thành 'mẫu phiếu ĐÒI độ chính xác tới một chữ số thập phân' — đó là suy diễn từ cách in ô trống, văn bản không đặt yêu cầu nào về độ chính xác của phép đo hay của thiết bị. Bỏ khẳng định ấy; giữ lại quan sát rằng ô có phần thập phân. |
| Control | 1..1 |
| Type | BackboneElement |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 14. vnPreVaccinationScreeningLm.thanNhiet.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 16. vnPreVaccinationScreeningLm.thanNhiet.extension | |
| Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | Additional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on vnPreVaccinationScreeningLm.thanNhiet.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 18. vnPreVaccinationScreeningLm.thanNhiet.modifierExtension | |
| Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
| Short | Extensions that cannot be ignored even if unrecognized |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..* |
| Type | Extension |
| Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
| Summary | true |
| Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
| Alternate Names | extensions, user content, modifiers |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 20. vnPreVaccinationScreeningLm.thanNhiet.giaTri | |
| Definition | Trị số thân nhiệt tính bằng độ C |
| Short | Trị số thân nhiệt tính bằng độ C |
| Comments | Ngưỡng nguyên văn của mục sàng lọc: 'Sốt: nhiệt độ ≥ 38°C; Hạ thân nhiệt: nhiệt độ ≤ 35,5°C'. Cả hai đầu đều là căn cứ tạm hoãn, nên trị số phải ghi cả khi bình thường — chỉ ghi khi bất thường thì không phân biệt được 'đo mà bình thường' với 'không đo'. Đơn vị của profile là °C theo UCUM (#Cel), khớp đúng đơn vị in trên mẫu. VỊ TRÍ ĐO (bổ sung 07/09/2026 sau phản biện Codex): phần thân hướng dẫn nói rõ ngưỡng ấy tính theo nhiệt độ 'đo tại NÁCH'. VNCoreObservationBodyTemperature dùng mã LOINC 8310-5 (Body temperature) không gắn vị trí đo, nên một trị số 37,8 đo ở hậu môn và một trị số 37,8 đo ở nách nằm lẫn nhau trong cùng một Observation — hệ thống áp ngưỡng của quyết định này phải tự bảo đảm vị trí đo, hoặc ghi vị trí ở |
| Control | 1..1 |
| Type | decimal |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 22. vnPreVaccinationScreeningLm.nhipTimNhipTho | |
| Definition | Đánh giá tim và nhịp thở trên bảng kiểm |
| Short | Đánh giá tim và nhịp thở trên bảng kiểm |
| Comments | KHÔNG ánh xạ sang VNCoreObservationHeartRate hay VNCoreObservationRespiratoryRate, dù thoạt nhìn có vẻ khớp. Lý do: bảng kiểm hỏi 'Nghe tim bất thường: Không □ Có □' và 'Nhịp thở, nghe phổi bất thường: Không □ Có □' — hai mục ấy đòi một PHÁN ĐỊNH, không đòi trị số nhịp/phút. Phụ lục V (tần số thở bình thường theo nhóm tuổi) và Phụ lục VI (nhịp tim bình thường theo tuổi) là bảng THAM CHIẾU giúp người khám đưa ra phán định ấy, không phải mẫu ghi chép. Vì vậy QĐ 1575/QĐ-BYT không đủ để đóng nghĩa vụ trường cho hai profile nhịp tim và nhịp thở; chúng vẫn thuộc diện hoãn DEF-0111-PROFILE-NO-DOC-SOURCE cho tới khi có văn bản đặt nghĩa vụ ghi trị số. |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 24. vnPreVaccinationScreeningLm.ketLuanSangLoc | |
| Definition | Kết luận sàng lọc |
| Short | Kết luận sàng lọc |
| Comments | NÂNG 0..1 LÊN 1..1 ngày 07/09/2026 sau phản biện Codex — bản đầu lẫn hai câu hỏi khác nhau: 'văn bản có buộc ghi kết luận không' (CÓ) và 'kết luận ấy có ánh xạ được sang Immunization không' (CHƯA). Phần c của hướng dẫn liệt kê các bước 'thực hiện và điền theo bảng kiểm' kết thúc bằng bước Kết luận, còn phần d nói 'TOÀN BỘ nội dung khám sàng lọc được ghi theo bảng kiểm… lưu tại các điểm tiêm chủng và trên Hệ thống Quản lý thông tin tiêm chủng Quốc gia. Lưu bảng kiểm 15 ngày'. Ba kết quả loại trừ nhau không làm VIỆC CÓ KẾT LUẬN thành tuỳ chọn. Element này CỐ Ý không mang ánh xạ |
| Control | 1..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 26. vnPreVaccinationScreeningLm.loaiVacXin | |
| Definition | Loại vắc xin tiêm chủng lần này |
| Short | Loại vắc xin tiêm chủng lần này |
| Comments | Tách khỏi |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 28. vnPreVaccinationScreeningLm.thoiDiemVaNguoiSangLoc | |
| Definition | Thời điểm sàng lọc và người thực hiện sàng lọc |
| Short | Thời điểm sàng lọc và người thực hiện sàng lọc |
| Comments | NÂNG 0..1 LÊN 1..1 ngày 07/09/2026 cùng lý do với |
| Control | 1..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Guidance on how to interpret the contents of this table can be foundhere
| 0. vnPreVaccinationScreeningLm | |
| Definition | Logical model đặc tả các phép đo mà Quyết định 1575/QĐ-BYT (ban hành và hiệu lực 27/03/2023) BUỘC phải ghi trị số trên bảng kiểm sàng lọc trước tiêm chủng cho trẻ em — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile cân nặng và profile nhiệt độ cơ thể. Cả bốn mẫu bảng kiểm (Phụ lục I-IV) đều có ô 'Cân nặng: ____' và 'Thân nhiệt: ____ °C' nằm trong phần bắt buộc điền, trước mục I 'Khám sàng lọc'. Nghĩa vụ đo và ghi không suy từ việc mẫu có ô trống — phần IV.1 của hướng dẫn nói thẳng ai làm việc đó: 'Điều dưỡng viên, hộ sinh viên: Ghi các thông tin của trẻ, TRỰC TIẾP CÂN TRẺ, ĐO VÀ GHI KẾT QUẢ NHIỆT ĐỘ của trẻ', và 'Bác sĩ, y sĩ: … trực tiếp đo và ghi kết quả nhiệt độ của trẻ khi không có điều dưỡng viên, hộ sinh viên'. Hai trị số ấy còn là căn cứ của các mục sàng lọc dẫn tới tạm hoãn: ngưỡng thân nhiệt 'Sốt: nhiệt độ ≥ 38°C; Hạ thân nhiệt: nhiệt độ ≤ 35,5°C' (đo tại nách) có ở CẢ BỐN mẫu, còn ngưỡng 'Cân nặng < 2000g' CHỈ có ở hai mẫu dùng ngoài bệnh viện — Phụ lục III và IV không có mục ấy, và hướng dẫn tại bệnh viện còn ghi 'thực hiện tiêm chủng các vắc xin theo lịch với trẻ nhẹ cân (so với tuổi)'. Nghĩa vụ GHI TRỊ SỐ thì không đổi theo nơi tiêm. Hai bản dành cho trẻ dưới 1 tháng (Phụ lục II và IV) ghi cân nặng bằng GAM, hai bản còn lại bằng KILÔGAM — xem chú thích tại Model KHÔNG khai kết luận sàng lọc và loại vắc xin thành trường có nghĩa vụ: xem |
| Short | Phép đo bắt buộc của bảng kiểm sàng lọc trước tiêm chủng (QĐ 1575/QĐ-BYT) — Logical Model |
| Logical Model | Instances of this logical model are not marked to be the target of a Reference |
| 2. vnPreVaccinationScreeningLm.canNang | |
| Definition | Cân nặng đo tại buổi sàng lọc |
| Short | Cân nặng đo tại buổi sàng lọc |
| Comments | Ô 'Cân nặng' đứng cùng dòng với 'Thân nhiệt' trong phần hành chính của cả bốn mẫu, tức là phải điền cho MỌI trẻ đến tiêm, không phụ thuộc kết quả các mục sàng lọc. Ở cơ sở NGOÀI bệnh viện, trị số này còn quyết định trực tiếp: mục 11 của bản trẻ từ 1 tháng và mục 3 của bản trẻ dưới 1 tháng lấy ngưỡng 2000 g làm mốc tạm hoãn, và phần 3.2 điểm b ghi 'Trẻ có cân nặng dưới 2000g' vào danh sách phải chuyển khám sàng lọc tại bệnh viện. Sửa 07/09/2026 sau phản biện Codex: hai mẫu dùng TẠI bệnh viện (Phụ lục III, IV) KHÔNG có mục ngưỡng ấy — nghĩa vụ ghi trị số vẫn còn ở cả bốn, nhưng hệ quả của trị số thì khác nhau theo nơi tiêm. |
| Control | 1..1 |
| Type | BackboneElement |
| 4. vnPreVaccinationScreeningLm.canNang.giaTri | |
| Definition | Trị số cân nặng |
| Short | Trị số cân nặng |
| Comments | HAI ĐƠN VỊ TRONG CÙNG MỘT VĂN BẢN: Phụ lục I và III (trẻ từ 1 tháng) in sẵn 'kg' sau ô trống, còn Phụ lục II và IV (trẻ dưới 1 tháng) in 'g' — hợp lý vì cân nặng sơ sinh thường ghi bằng gam và chính ngưỡng của văn bản là '2000 g'. VNCoreObservationBodyWeight ép |
| Control | 1..1 |
| Type | decimal |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 6. vnPreVaccinationScreeningLm.thanNhiet | |
| Definition | Thân nhiệt đo tại buổi sàng lọc |
| Short | Thân nhiệt đo tại buổi sàng lọc |
| Comments | Ô 'Thân nhiệt' in sẵn dấu phẩy thập phân và ký hiệu °C trên cả bốn mẫu. Sửa 07/09/2026 sau phản biện Codex: bản đầu đọc dấu phẩy ấy thành 'mẫu phiếu ĐÒI độ chính xác tới một chữ số thập phân' — đó là suy diễn từ cách in ô trống, văn bản không đặt yêu cầu nào về độ chính xác của phép đo hay của thiết bị. Bỏ khẳng định ấy; giữ lại quan sát rằng ô có phần thập phân. |
| Control | 1..1 |
| Type | BackboneElement |
| 8. vnPreVaccinationScreeningLm.thanNhiet.giaTri | |
| Definition | Trị số thân nhiệt tính bằng độ C |
| Short | Trị số thân nhiệt tính bằng độ C |
| Comments | Ngưỡng nguyên văn của mục sàng lọc: 'Sốt: nhiệt độ ≥ 38°C; Hạ thân nhiệt: nhiệt độ ≤ 35,5°C'. Cả hai đầu đều là căn cứ tạm hoãn, nên trị số phải ghi cả khi bình thường — chỉ ghi khi bất thường thì không phân biệt được 'đo mà bình thường' với 'không đo'. Đơn vị của profile là °C theo UCUM (#Cel), khớp đúng đơn vị in trên mẫu. VỊ TRÍ ĐO (bổ sung 07/09/2026 sau phản biện Codex): phần thân hướng dẫn nói rõ ngưỡng ấy tính theo nhiệt độ 'đo tại NÁCH'. VNCoreObservationBodyTemperature dùng mã LOINC 8310-5 (Body temperature) không gắn vị trí đo, nên một trị số 37,8 đo ở hậu môn và một trị số 37,8 đo ở nách nằm lẫn nhau trong cùng một Observation — hệ thống áp ngưỡng của quyết định này phải tự bảo đảm vị trí đo, hoặc ghi vị trí ở |
| Control | 1..1 |
| Type | decimal |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 10. vnPreVaccinationScreeningLm.nhipTimNhipTho | |
| Definition | Đánh giá tim và nhịp thở trên bảng kiểm |
| Short | Đánh giá tim và nhịp thở trên bảng kiểm |
| Comments | KHÔNG ánh xạ sang VNCoreObservationHeartRate hay VNCoreObservationRespiratoryRate, dù thoạt nhìn có vẻ khớp. Lý do: bảng kiểm hỏi 'Nghe tim bất thường: Không □ Có □' và 'Nhịp thở, nghe phổi bất thường: Không □ Có □' — hai mục ấy đòi một PHÁN ĐỊNH, không đòi trị số nhịp/phút. Phụ lục V (tần số thở bình thường theo nhóm tuổi) và Phụ lục VI (nhịp tim bình thường theo tuổi) là bảng THAM CHIẾU giúp người khám đưa ra phán định ấy, không phải mẫu ghi chép. Vì vậy QĐ 1575/QĐ-BYT không đủ để đóng nghĩa vụ trường cho hai profile nhịp tim và nhịp thở; chúng vẫn thuộc diện hoãn DEF-0111-PROFILE-NO-DOC-SOURCE cho tới khi có văn bản đặt nghĩa vụ ghi trị số. |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 12. vnPreVaccinationScreeningLm.ketLuanSangLoc | |
| Definition | Kết luận sàng lọc |
| Short | Kết luận sàng lọc |
| Comments | NÂNG 0..1 LÊN 1..1 ngày 07/09/2026 sau phản biện Codex — bản đầu lẫn hai câu hỏi khác nhau: 'văn bản có buộc ghi kết luận không' (CÓ) và 'kết luận ấy có ánh xạ được sang Immunization không' (CHƯA). Phần c của hướng dẫn liệt kê các bước 'thực hiện và điền theo bảng kiểm' kết thúc bằng bước Kết luận, còn phần d nói 'TOÀN BỘ nội dung khám sàng lọc được ghi theo bảng kiểm… lưu tại các điểm tiêm chủng và trên Hệ thống Quản lý thông tin tiêm chủng Quốc gia. Lưu bảng kiểm 15 ngày'. Ba kết quả loại trừ nhau không làm VIỆC CÓ KẾT LUẬN thành tuỳ chọn. Element này CỐ Ý không mang ánh xạ |
| Control | 1..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 14. vnPreVaccinationScreeningLm.loaiVacXin | |
| Definition | Loại vắc xin tiêm chủng lần này |
| Short | Loại vắc xin tiêm chủng lần này |
| Comments | Tách khỏi |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 16. vnPreVaccinationScreeningLm.thoiDiemVaNguoiSangLoc | |
| Definition | Thời điểm sàng lọc và người thực hiện sàng lọc |
| Short | Thời điểm sàng lọc và người thực hiện sàng lọc |
| Comments | NÂNG 0..1 LÊN 1..1 ngày 07/09/2026 cùng lý do với |
| Control | 1..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Guidance on how to interpret the contents of this table can be foundhere
| 0. vnPreVaccinationScreeningLm | |
| Definition | Logical model đặc tả các phép đo mà Quyết định 1575/QĐ-BYT (ban hành và hiệu lực 27/03/2023) BUỘC phải ghi trị số trên bảng kiểm sàng lọc trước tiêm chủng cho trẻ em — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile cân nặng và profile nhiệt độ cơ thể. Cả bốn mẫu bảng kiểm (Phụ lục I-IV) đều có ô 'Cân nặng: ____' và 'Thân nhiệt: ____ °C' nằm trong phần bắt buộc điền, trước mục I 'Khám sàng lọc'. Nghĩa vụ đo và ghi không suy từ việc mẫu có ô trống — phần IV.1 của hướng dẫn nói thẳng ai làm việc đó: 'Điều dưỡng viên, hộ sinh viên: Ghi các thông tin của trẻ, TRỰC TIẾP CÂN TRẺ, ĐO VÀ GHI KẾT QUẢ NHIỆT ĐỘ của trẻ', và 'Bác sĩ, y sĩ: … trực tiếp đo và ghi kết quả nhiệt độ của trẻ khi không có điều dưỡng viên, hộ sinh viên'. Hai trị số ấy còn là căn cứ của các mục sàng lọc dẫn tới tạm hoãn: ngưỡng thân nhiệt 'Sốt: nhiệt độ ≥ 38°C; Hạ thân nhiệt: nhiệt độ ≤ 35,5°C' (đo tại nách) có ở CẢ BỐN mẫu, còn ngưỡng 'Cân nặng < 2000g' CHỈ có ở hai mẫu dùng ngoài bệnh viện — Phụ lục III và IV không có mục ấy, và hướng dẫn tại bệnh viện còn ghi 'thực hiện tiêm chủng các vắc xin theo lịch với trẻ nhẹ cân (so với tuổi)'. Nghĩa vụ GHI TRỊ SỐ thì không đổi theo nơi tiêm. Hai bản dành cho trẻ dưới 1 tháng (Phụ lục II và IV) ghi cân nặng bằng GAM, hai bản còn lại bằng KILÔGAM — xem chú thích tại Model KHÔNG khai kết luận sàng lọc và loại vắc xin thành trường có nghĩa vụ: xem |
| Short | Phép đo bắt buộc của bảng kiểm sàng lọc trước tiêm chủng (QĐ 1575/QĐ-BYT) — Logical Model |
| Control | 0..* |
| Is Modifier | false |
| Logical Model | Instances of this logical model are not marked to be the target of a Reference |
| 2. vnPreVaccinationScreeningLm.canNang | |
| Definition | Cân nặng đo tại buổi sàng lọc |
| Short | Cân nặng đo tại buổi sàng lọc |
| Comments | Ô 'Cân nặng' đứng cùng dòng với 'Thân nhiệt' trong phần hành chính của cả bốn mẫu, tức là phải điền cho MỌI trẻ đến tiêm, không phụ thuộc kết quả các mục sàng lọc. Ở cơ sở NGOÀI bệnh viện, trị số này còn quyết định trực tiếp: mục 11 của bản trẻ từ 1 tháng và mục 3 của bản trẻ dưới 1 tháng lấy ngưỡng 2000 g làm mốc tạm hoãn, và phần 3.2 điểm b ghi 'Trẻ có cân nặng dưới 2000g' vào danh sách phải chuyển khám sàng lọc tại bệnh viện. Sửa 07/09/2026 sau phản biện Codex: hai mẫu dùng TẠI bệnh viện (Phụ lục III, IV) KHÔNG có mục ngưỡng ấy — nghĩa vụ ghi trị số vẫn còn ở cả bốn, nhưng hệ quả của trị số thì khác nhau theo nơi tiêm. |
| Control | 1..1 |
| Type | BackboneElement |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 4. vnPreVaccinationScreeningLm.canNang.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 6. vnPreVaccinationScreeningLm.canNang.extension | |
| Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | Additional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on vnPreVaccinationScreeningLm.canNang.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 8. vnPreVaccinationScreeningLm.canNang.modifierExtension | |
| Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
| Short | Extensions that cannot be ignored even if unrecognized |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..* |
| Type | Extension |
| Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
| Summary | true |
| Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
| Alternate Names | extensions, user content, modifiers |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 10. vnPreVaccinationScreeningLm.canNang.giaTri | |
| Definition | Trị số cân nặng |
| Short | Trị số cân nặng |
| Comments | HAI ĐƠN VỊ TRONG CÙNG MỘT VĂN BẢN: Phụ lục I và III (trẻ từ 1 tháng) in sẵn 'kg' sau ô trống, còn Phụ lục II và IV (trẻ dưới 1 tháng) in 'g' — hợp lý vì cân nặng sơ sinh thường ghi bằng gam và chính ngưỡng của văn bản là '2000 g'. VNCoreObservationBodyWeight ép |
| Control | 1..1 |
| Type | decimal |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 12. vnPreVaccinationScreeningLm.thanNhiet | |
| Definition | Thân nhiệt đo tại buổi sàng lọc |
| Short | Thân nhiệt đo tại buổi sàng lọc |
| Comments | Ô 'Thân nhiệt' in sẵn dấu phẩy thập phân và ký hiệu °C trên cả bốn mẫu. Sửa 07/09/2026 sau phản biện Codex: bản đầu đọc dấu phẩy ấy thành 'mẫu phiếu ĐÒI độ chính xác tới một chữ số thập phân' — đó là suy diễn từ cách in ô trống, văn bản không đặt yêu cầu nào về độ chính xác của phép đo hay của thiết bị. Bỏ khẳng định ấy; giữ lại quan sát rằng ô có phần thập phân. |
| Control | 1..1 |
| Type | BackboneElement |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 14. vnPreVaccinationScreeningLm.thanNhiet.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 16. vnPreVaccinationScreeningLm.thanNhiet.extension | |
| Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | Additional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on vnPreVaccinationScreeningLm.thanNhiet.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 18. vnPreVaccinationScreeningLm.thanNhiet.modifierExtension | |
| Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
| Short | Extensions that cannot be ignored even if unrecognized |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..* |
| Type | Extension |
| Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
| Summary | true |
| Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
| Alternate Names | extensions, user content, modifiers |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 20. vnPreVaccinationScreeningLm.thanNhiet.giaTri | |
| Definition | Trị số thân nhiệt tính bằng độ C |
| Short | Trị số thân nhiệt tính bằng độ C |
| Comments | Ngưỡng nguyên văn của mục sàng lọc: 'Sốt: nhiệt độ ≥ 38°C; Hạ thân nhiệt: nhiệt độ ≤ 35,5°C'. Cả hai đầu đều là căn cứ tạm hoãn, nên trị số phải ghi cả khi bình thường — chỉ ghi khi bất thường thì không phân biệt được 'đo mà bình thường' với 'không đo'. Đơn vị của profile là °C theo UCUM (#Cel), khớp đúng đơn vị in trên mẫu. VỊ TRÍ ĐO (bổ sung 07/09/2026 sau phản biện Codex): phần thân hướng dẫn nói rõ ngưỡng ấy tính theo nhiệt độ 'đo tại NÁCH'. VNCoreObservationBodyTemperature dùng mã LOINC 8310-5 (Body temperature) không gắn vị trí đo, nên một trị số 37,8 đo ở hậu môn và một trị số 37,8 đo ở nách nằm lẫn nhau trong cùng một Observation — hệ thống áp ngưỡng của quyết định này phải tự bảo đảm vị trí đo, hoặc ghi vị trí ở |
| Control | 1..1 |
| Type | decimal |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 22. vnPreVaccinationScreeningLm.nhipTimNhipTho | |
| Definition | Đánh giá tim và nhịp thở trên bảng kiểm |
| Short | Đánh giá tim và nhịp thở trên bảng kiểm |
| Comments | KHÔNG ánh xạ sang VNCoreObservationHeartRate hay VNCoreObservationRespiratoryRate, dù thoạt nhìn có vẻ khớp. Lý do: bảng kiểm hỏi 'Nghe tim bất thường: Không □ Có □' và 'Nhịp thở, nghe phổi bất thường: Không □ Có □' — hai mục ấy đòi một PHÁN ĐỊNH, không đòi trị số nhịp/phút. Phụ lục V (tần số thở bình thường theo nhóm tuổi) và Phụ lục VI (nhịp tim bình thường theo tuổi) là bảng THAM CHIẾU giúp người khám đưa ra phán định ấy, không phải mẫu ghi chép. Vì vậy QĐ 1575/QĐ-BYT không đủ để đóng nghĩa vụ trường cho hai profile nhịp tim và nhịp thở; chúng vẫn thuộc diện hoãn DEF-0111-PROFILE-NO-DOC-SOURCE cho tới khi có văn bản đặt nghĩa vụ ghi trị số. |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 24. vnPreVaccinationScreeningLm.ketLuanSangLoc | |
| Definition | Kết luận sàng lọc |
| Short | Kết luận sàng lọc |
| Comments | NÂNG 0..1 LÊN 1..1 ngày 07/09/2026 sau phản biện Codex — bản đầu lẫn hai câu hỏi khác nhau: 'văn bản có buộc ghi kết luận không' (CÓ) và 'kết luận ấy có ánh xạ được sang Immunization không' (CHƯA). Phần c của hướng dẫn liệt kê các bước 'thực hiện và điền theo bảng kiểm' kết thúc bằng bước Kết luận, còn phần d nói 'TOÀN BỘ nội dung khám sàng lọc được ghi theo bảng kiểm… lưu tại các điểm tiêm chủng và trên Hệ thống Quản lý thông tin tiêm chủng Quốc gia. Lưu bảng kiểm 15 ngày'. Ba kết quả loại trừ nhau không làm VIỆC CÓ KẾT LUẬN thành tuỳ chọn. Element này CỐ Ý không mang ánh xạ |
| Control | 1..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 26. vnPreVaccinationScreeningLm.loaiVacXin | |
| Definition | Loại vắc xin tiêm chủng lần này |
| Short | Loại vắc xin tiêm chủng lần này |
| Comments | Tách khỏi |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 28. vnPreVaccinationScreeningLm.thoiDiemVaNguoiSangLoc | |
| Definition | Thời điểm sàng lọc và người thực hiện sàng lọc |
| Short | Thời điểm sàng lọc và người thực hiện sàng lọc |
| Comments | NÂNG 0..1 LÊN 1..1 ngày 07/09/2026 cùng lý do với |
| Control | 1..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |