HL7 Vietnam VN Core FHIR Implementation Guide

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 Viet Nam cờ

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

Mô hình logic: Nội dung bắt buộc của đơn thuốc thang và thuốc cổ truyền (TT 55/2025/TT-BYT) — Logical Model - Mô tả chi tiết

Draft tại thời điểm 2026-09-22

Các định nghĩa cho vnYhctPrescriptionContentLm mô hình logic

Guidance on how to interpret the contents of this table can be foundhere

0. vnYhctPrescriptionContentLm
Definition

Logical model đặc tả các nội dung mà Thông tư 55/2025/TT-BYT (hiệu lực 01/07/2025) BUỘC phải ghi khi kê đơn thuốc thang, thuốc cổ truyền và thuốc dược liệu — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile đơn thuốc y học cổ truyền.

Điều 8 khoản 5 điểm a nêu nguyên văn: 'Khi kê đơn thuốc thang ghi tên theo Dược điển hoặc tên thường dùng, không bao gồm tên khoa học của dược liệu, vị thuốc cổ truyền, tên loài, cây con, khoáng vật làm thuốc; ghi rõ khối lượng, đơn vị tính, số lượng thuốc thang, không viết tắt tên thuốc; hướng dẫn cụ thể cách sắc thuốc, cách uống thuốc và thời gian uống thuốc; đối với vị thuốc cổ truyền có khối lượng dưới 10 (mười) gam thì phải ghi số 0 (không) ở phía trước.'

Bảy nghĩa vụ tách ra từ câu ấy: tên vị thuốc, khối lượng, đơn vị tính, số lượng thang, cách sắc, cách uống, thời gian uống. Quy tắc ghi số 0 phía trước cho khối lượng dưới 10 gam là quy tắc TRÌNH BÀY trên tờ đơn, không phải ràng buộc giá trị — số 6 và số 06 là cùng một khối lượng.

Điều 8 khoản 2-4 lặp lại các nghĩa vụ chung của TT 26/2025/TT-BYT về thông tin người bệnh (số định danh 'nếu có', nơi cư trú, và nhóm trẻ dưới 72 tháng tuổi), nên không nhắc lại ở đây — xem VNOutpatientPrescriptionContentLM. / Logical model for the herbal and traditional medicine prescription content required by Circular 55/2025/TT-BYT.

ShortNội dung bắt buộc của đơn thuốc thang và thuốc cổ truyền (TT 55/2025/TT-BYT) — Logical Model
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. vnYhctPrescriptionContentLm.viThuoc
Definition

Mỗi vị thuốc trong bài thuốc thang

ShortMỗi vị thuốc trong bài thuốc thang
Comments

Ví dụ của chính văn bản là bài Lục vị với sáu vị, mỗi vị một khối lượng: Thục địa 16 g, Hoài sơn 08 g, Trạch tả 06 g, Phục linh 06 g… Cách trình bày ấy cho thấy đơn vị kê là BÀI THUỐC gồm nhiều vị, không phải từng vị một đơn.

Control1..*
TypeBackboneElement
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. vnYhctPrescriptionContentLm.viThuoc.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

ShortUnique id for inter-element referencing
Control0..1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
6. vnYhctPrescriptionContentLm.viThuoc.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.

ShortAdditional 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.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-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())
SlicingThis element introduces a set of slices on vnYhctPrescriptionContentLm.viThuoc.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 8. vnYhctPrescriptionContentLm.viThuoc.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).

    ShortExtensions 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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    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 Namesextensions, user content, modifiers
    Invariantsele-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. vnYhctPrescriptionContentLm.viThuoc.tenViThuoc
    Definition

    Tên vị thuốc

    ShortTên vị thuốc
    Comments

    'Ghi tên theo Dược điển hoặc tên thường dùng, KHÔNG bao gồm tên khoa học của dược liệu, vị thuốc cổ truyền, tên loài, cây con, khoáng vật làm thuốc' và 'không viết tắt tên thuốc'. Đây là ràng buộc về NGUỒN TÊN — tên khoa học bị loại trừ tường minh, nên hệ thống dùng danh pháp Latin phải ánh xạ về tên Dược điển trước khi in đơn.

    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    12. vnYhctPrescriptionContentLm.viThuoc.khoiLuong
    Definition

    Khối lượng của vị thuốc

    ShortKhối lượng của vị thuốc
    Comments

    Quy tắc trình bày kèm theo: 'đối với vị thuốc cổ truyền có khối lượng dưới 10 (mười) gam thì phải ghi số 0 (không) ở phía trước' — cùng khuôn với quy tắc số lượng thuốc của TT 26/2025/TT-BYT Điều 6 khoản 7. Đây là cách IN trên tờ đơn, không phải giá trị lưu: 06 và 6 là cùng một khối lượng.

    Control1..1
    Typedecimal
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    14. vnYhctPrescriptionContentLm.viThuoc.donViTinh
    Definition

    Đơn vị tính của khối lượng

    ShortĐơn vị tính của khối lượng
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    16. vnYhctPrescriptionContentLm.baiThuoc
    Definition

    Thông tin của cả bài thuốc thang

    ShortThông tin của cả bài thuốc thang
    Control1..1
    TypeBackboneElement
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    18. vnYhctPrescriptionContentLm.baiThuoc.id
    Definition

    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

    ShortUnique id for inter-element referencing
    Control0..1
    Typestring
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    20. vnYhctPrescriptionContentLm.baiThuoc.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.

    ShortAdditional 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.

    Control0..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Alternate Namesextensions, user content
    Invariantsele-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())
    SlicingThis element introduces a set of slices on vnYhctPrescriptionContentLm.baiThuoc.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 22. vnYhctPrescriptionContentLm.baiThuoc.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).

      ShortExtensions 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.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Summarytrue
      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 Namesextensions, user content, modifiers
      Invariantsele-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())
      24. vnYhctPrescriptionContentLm.baiThuoc.soLuongThang
      Definition

      Số lượng thuốc thang

      ShortSố lượng thuốc thang
      Comments

      Số thang của cả bài, khác với khối lượng từng vị: một bài Lục vị kê 10 thang nghĩa là bộ sáu vị ấy được cấp mười lần.

      Control1..1
      Typeinteger
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      26. vnYhctPrescriptionContentLm.baiThuoc.cachSacThuoc
      Definition

      Hướng dẫn cụ thể cách sắc thuốc

      ShortHướng dẫn cụ thể cách sắc thuốc
      Comments

      Sửa 06/09/2026 sau phản biện Fable: hạ từ 1..1 xuống 0..1. Điều 8 khoản 5 điểm a mở đầu bằng 'KHI kê đơn thuốc THANG', còn điểm c nói về thuốc cổ truyền do cơ sở khám bệnh, chữa bệnh chế biến, bào chế — profile VNCoreYHCTOutpatientPrescription phủ cả ba loại đơn của Điều 3, nên nghĩa vụ sắc thuốc chỉ áp cho nhánh thuốc thang. Cách SẮC khác với phương pháp CHẾ BIẾN vị thuốc: chế biến (sao, tẩm, chích) là công đoạn xử lý dược liệu trước khi kê, ghi ở extension[processingMethod] với mã MA_PP_CHEBIEN; sắc là cách nấu thang tại nhà người bệnh, là hướng dẫn kèm đơn. Vì vậy đích ở đây là note, không phải extension chế biến.

      Control0..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      28. vnYhctPrescriptionContentLm.baiThuoc.cachUongThuoc
      Definition

      Hướng dẫn cụ thể cách uống thuốc

      ShortHướng dẫn cụ thể cách uống thuốc
      Control1..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      30. vnYhctPrescriptionContentLm.baiThuoc.thoiGianUongThuoc
      Definition

      Thời gian uống thuốc

      ShortThời gian uống thuốc
      Comments

      Thời điểm trong ngày và mối quan hệ với bữa ăn — biểu diễn máy đọc được dùng Timing.repeat.when, câu hướng dẫn cho người bệnh nằm cùng dosageInstruction.text với cách uống.

      Control1..1
      Typestring
      Primitive ValueThis 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. vnYhctPrescriptionContentLm
      Definition

      Logical model đặc tả các nội dung mà Thông tư 55/2025/TT-BYT (hiệu lực 01/07/2025) BUỘC phải ghi khi kê đơn thuốc thang, thuốc cổ truyền và thuốc dược liệu — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile đơn thuốc y học cổ truyền.

      Điều 8 khoản 5 điểm a nêu nguyên văn: 'Khi kê đơn thuốc thang ghi tên theo Dược điển hoặc tên thường dùng, không bao gồm tên khoa học của dược liệu, vị thuốc cổ truyền, tên loài, cây con, khoáng vật làm thuốc; ghi rõ khối lượng, đơn vị tính, số lượng thuốc thang, không viết tắt tên thuốc; hướng dẫn cụ thể cách sắc thuốc, cách uống thuốc và thời gian uống thuốc; đối với vị thuốc cổ truyền có khối lượng dưới 10 (mười) gam thì phải ghi số 0 (không) ở phía trước.'

      Bảy nghĩa vụ tách ra từ câu ấy: tên vị thuốc, khối lượng, đơn vị tính, số lượng thang, cách sắc, cách uống, thời gian uống. Quy tắc ghi số 0 phía trước cho khối lượng dưới 10 gam là quy tắc TRÌNH BÀY trên tờ đơn, không phải ràng buộc giá trị — số 6 và số 06 là cùng một khối lượng.

      Điều 8 khoản 2-4 lặp lại các nghĩa vụ chung của TT 26/2025/TT-BYT về thông tin người bệnh (số định danh 'nếu có', nơi cư trú, và nhóm trẻ dưới 72 tháng tuổi), nên không nhắc lại ở đây — xem VNOutpatientPrescriptionContentLM. / Logical model for the herbal and traditional medicine prescription content required by Circular 55/2025/TT-BYT.

      ShortNội dung bắt buộc của đơn thuốc thang và thuốc cổ truyền (TT 55/2025/TT-BYT) — Logical Model
      Logical ModelInstances of this logical model are not marked to be the target of a Reference
      2. vnYhctPrescriptionContentLm.viThuoc
      Definition

      Mỗi vị thuốc trong bài thuốc thang

      ShortMỗi vị thuốc trong bài thuốc thang
      Comments

      Ví dụ của chính văn bản là bài Lục vị với sáu vị, mỗi vị một khối lượng: Thục địa 16 g, Hoài sơn 08 g, Trạch tả 06 g, Phục linh 06 g… Cách trình bày ấy cho thấy đơn vị kê là BÀI THUỐC gồm nhiều vị, không phải từng vị một đơn.

      Control1..*
      TypeBackboneElement
      4. vnYhctPrescriptionContentLm.viThuoc.tenViThuoc
      Definition

      Tên vị thuốc

      ShortTên vị thuốc
      Comments

      'Ghi tên theo Dược điển hoặc tên thường dùng, KHÔNG bao gồm tên khoa học của dược liệu, vị thuốc cổ truyền, tên loài, cây con, khoáng vật làm thuốc' và 'không viết tắt tên thuốc'. Đây là ràng buộc về NGUỒN TÊN — tên khoa học bị loại trừ tường minh, nên hệ thống dùng danh pháp Latin phải ánh xạ về tên Dược điển trước khi in đơn.

      Control1..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      6. vnYhctPrescriptionContentLm.viThuoc.khoiLuong
      Definition

      Khối lượng của vị thuốc

      ShortKhối lượng của vị thuốc
      Comments

      Quy tắc trình bày kèm theo: 'đối với vị thuốc cổ truyền có khối lượng dưới 10 (mười) gam thì phải ghi số 0 (không) ở phía trước' — cùng khuôn với quy tắc số lượng thuốc của TT 26/2025/TT-BYT Điều 6 khoản 7. Đây là cách IN trên tờ đơn, không phải giá trị lưu: 06 và 6 là cùng một khối lượng.

      Control1..1
      Typedecimal
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      8. vnYhctPrescriptionContentLm.viThuoc.donViTinh
      Definition

      Đơn vị tính của khối lượng

      ShortĐơn vị tính của khối lượng
      Control1..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      10. vnYhctPrescriptionContentLm.baiThuoc
      Definition

      Thông tin của cả bài thuốc thang

      ShortThông tin của cả bài thuốc thang
      Control1..1
      TypeBackboneElement
      12. vnYhctPrescriptionContentLm.baiThuoc.soLuongThang
      Definition

      Số lượng thuốc thang

      ShortSố lượng thuốc thang
      Comments

      Số thang của cả bài, khác với khối lượng từng vị: một bài Lục vị kê 10 thang nghĩa là bộ sáu vị ấy được cấp mười lần.

      Control1..1
      Typeinteger
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      14. vnYhctPrescriptionContentLm.baiThuoc.cachSacThuoc
      Definition

      Hướng dẫn cụ thể cách sắc thuốc

      ShortHướng dẫn cụ thể cách sắc thuốc
      Comments

      Sửa 06/09/2026 sau phản biện Fable: hạ từ 1..1 xuống 0..1. Điều 8 khoản 5 điểm a mở đầu bằng 'KHI kê đơn thuốc THANG', còn điểm c nói về thuốc cổ truyền do cơ sở khám bệnh, chữa bệnh chế biến, bào chế — profile VNCoreYHCTOutpatientPrescription phủ cả ba loại đơn của Điều 3, nên nghĩa vụ sắc thuốc chỉ áp cho nhánh thuốc thang. Cách SẮC khác với phương pháp CHẾ BIẾN vị thuốc: chế biến (sao, tẩm, chích) là công đoạn xử lý dược liệu trước khi kê, ghi ở extension[processingMethod] với mã MA_PP_CHEBIEN; sắc là cách nấu thang tại nhà người bệnh, là hướng dẫn kèm đơn. Vì vậy đích ở đây là note, không phải extension chế biến.

      Control0..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      16. vnYhctPrescriptionContentLm.baiThuoc.cachUongThuoc
      Definition

      Hướng dẫn cụ thể cách uống thuốc

      ShortHướng dẫn cụ thể cách uống thuốc
      Control1..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      18. vnYhctPrescriptionContentLm.baiThuoc.thoiGianUongThuoc
      Definition

      Thời gian uống thuốc

      ShortThời gian uống thuốc
      Comments

      Thời điểm trong ngày và mối quan hệ với bữa ăn — biểu diễn máy đọc được dùng Timing.repeat.when, câu hướng dẫn cho người bệnh nằm cùng dosageInstruction.text với cách uống.

      Control1..1
      Typestring
      Primitive ValueThis 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. vnYhctPrescriptionContentLm
      Definition

      Logical model đặc tả các nội dung mà Thông tư 55/2025/TT-BYT (hiệu lực 01/07/2025) BUỘC phải ghi khi kê đơn thuốc thang, thuốc cổ truyền và thuốc dược liệu — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile đơn thuốc y học cổ truyền.

      Điều 8 khoản 5 điểm a nêu nguyên văn: 'Khi kê đơn thuốc thang ghi tên theo Dược điển hoặc tên thường dùng, không bao gồm tên khoa học của dược liệu, vị thuốc cổ truyền, tên loài, cây con, khoáng vật làm thuốc; ghi rõ khối lượng, đơn vị tính, số lượng thuốc thang, không viết tắt tên thuốc; hướng dẫn cụ thể cách sắc thuốc, cách uống thuốc và thời gian uống thuốc; đối với vị thuốc cổ truyền có khối lượng dưới 10 (mười) gam thì phải ghi số 0 (không) ở phía trước.'

      Bảy nghĩa vụ tách ra từ câu ấy: tên vị thuốc, khối lượng, đơn vị tính, số lượng thang, cách sắc, cách uống, thời gian uống. Quy tắc ghi số 0 phía trước cho khối lượng dưới 10 gam là quy tắc TRÌNH BÀY trên tờ đơn, không phải ràng buộc giá trị — số 6 và số 06 là cùng một khối lượng.

      Điều 8 khoản 2-4 lặp lại các nghĩa vụ chung của TT 26/2025/TT-BYT về thông tin người bệnh (số định danh 'nếu có', nơi cư trú, và nhóm trẻ dưới 72 tháng tuổi), nên không nhắc lại ở đây — xem VNOutpatientPrescriptionContentLM. / Logical model for the herbal and traditional medicine prescription content required by Circular 55/2025/TT-BYT.

      ShortNội dung bắt buộc của đơn thuốc thang và thuốc cổ truyền (TT 55/2025/TT-BYT) — Logical Model
      Control0..*
      Is Modifierfalse
      Logical ModelInstances of this logical model are not marked to be the target of a Reference
      2. vnYhctPrescriptionContentLm.viThuoc
      Definition

      Mỗi vị thuốc trong bài thuốc thang

      ShortMỗi vị thuốc trong bài thuốc thang
      Comments

      Ví dụ của chính văn bản là bài Lục vị với sáu vị, mỗi vị một khối lượng: Thục địa 16 g, Hoài sơn 08 g, Trạch tả 06 g, Phục linh 06 g… Cách trình bày ấy cho thấy đơn vị kê là BÀI THUỐC gồm nhiều vị, không phải từng vị một đơn.

      Control1..*
      TypeBackboneElement
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      4. vnYhctPrescriptionContentLm.viThuoc.id
      Definition

      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

      ShortUnique id for inter-element referencing
      Control0..1
      Typestring
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      6. vnYhctPrescriptionContentLm.viThuoc.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.

      ShortAdditional 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.

      Control0..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Alternate Namesextensions, user content
      Invariantsele-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())
      SlicingThis element introduces a set of slices on vnYhctPrescriptionContentLm.viThuoc.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 8. vnYhctPrescriptionContentLm.viThuoc.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).

        ShortExtensions 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.

        Control0..*
        TypeExtension
        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
        Summarytrue
        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 Namesextensions, user content, modifiers
        Invariantsele-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. vnYhctPrescriptionContentLm.viThuoc.tenViThuoc
        Definition

        Tên vị thuốc

        ShortTên vị thuốc
        Comments

        'Ghi tên theo Dược điển hoặc tên thường dùng, KHÔNG bao gồm tên khoa học của dược liệu, vị thuốc cổ truyền, tên loài, cây con, khoáng vật làm thuốc' và 'không viết tắt tên thuốc'. Đây là ràng buộc về NGUỒN TÊN — tên khoa học bị loại trừ tường minh, nên hệ thống dùng danh pháp Latin phải ánh xạ về tên Dược điển trước khi in đơn.

        Control1..1
        Typestring
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        12. vnYhctPrescriptionContentLm.viThuoc.khoiLuong
        Definition

        Khối lượng của vị thuốc

        ShortKhối lượng của vị thuốc
        Comments

        Quy tắc trình bày kèm theo: 'đối với vị thuốc cổ truyền có khối lượng dưới 10 (mười) gam thì phải ghi số 0 (không) ở phía trước' — cùng khuôn với quy tắc số lượng thuốc của TT 26/2025/TT-BYT Điều 6 khoản 7. Đây là cách IN trên tờ đơn, không phải giá trị lưu: 06 và 6 là cùng một khối lượng.

        Control1..1
        Typedecimal
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        14. vnYhctPrescriptionContentLm.viThuoc.donViTinh
        Definition

        Đơn vị tính của khối lượng

        ShortĐơn vị tính của khối lượng
        Control1..1
        Typestring
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        16. vnYhctPrescriptionContentLm.baiThuoc
        Definition

        Thông tin của cả bài thuốc thang

        ShortThông tin của cả bài thuốc thang
        Control1..1
        TypeBackboneElement
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        18. vnYhctPrescriptionContentLm.baiThuoc.id
        Definition

        Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

        ShortUnique id for inter-element referencing
        Control0..1
        Typestring
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        20. vnYhctPrescriptionContentLm.baiThuoc.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.

        ShortAdditional 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.

        Control0..*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Alternate Namesextensions, user content
        Invariantsele-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())
        SlicingThis element introduces a set of slices on vnYhctPrescriptionContentLm.baiThuoc.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 22. vnYhctPrescriptionContentLm.baiThuoc.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).

          ShortExtensions 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.

          Control0..*
          TypeExtension
          Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
          Summarytrue
          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 Namesextensions, user content, modifiers
          Invariantsele-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())
          24. vnYhctPrescriptionContentLm.baiThuoc.soLuongThang
          Definition

          Số lượng thuốc thang

          ShortSố lượng thuốc thang
          Comments

          Số thang của cả bài, khác với khối lượng từng vị: một bài Lục vị kê 10 thang nghĩa là bộ sáu vị ấy được cấp mười lần.

          Control1..1
          Typeinteger
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          26. vnYhctPrescriptionContentLm.baiThuoc.cachSacThuoc
          Definition

          Hướng dẫn cụ thể cách sắc thuốc

          ShortHướng dẫn cụ thể cách sắc thuốc
          Comments

          Sửa 06/09/2026 sau phản biện Fable: hạ từ 1..1 xuống 0..1. Điều 8 khoản 5 điểm a mở đầu bằng 'KHI kê đơn thuốc THANG', còn điểm c nói về thuốc cổ truyền do cơ sở khám bệnh, chữa bệnh chế biến, bào chế — profile VNCoreYHCTOutpatientPrescription phủ cả ba loại đơn của Điều 3, nên nghĩa vụ sắc thuốc chỉ áp cho nhánh thuốc thang. Cách SẮC khác với phương pháp CHẾ BIẾN vị thuốc: chế biến (sao, tẩm, chích) là công đoạn xử lý dược liệu trước khi kê, ghi ở extension[processingMethod] với mã MA_PP_CHEBIEN; sắc là cách nấu thang tại nhà người bệnh, là hướng dẫn kèm đơn. Vì vậy đích ở đây là note, không phải extension chế biến.

          Control0..1
          Typestring
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          28. vnYhctPrescriptionContentLm.baiThuoc.cachUongThuoc
          Definition

          Hướng dẫn cụ thể cách uống thuốc

          ShortHướng dẫn cụ thể cách uống thuốc
          Control1..1
          Typestring
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          30. vnYhctPrescriptionContentLm.baiThuoc.thoiGianUongThuoc
          Definition

          Thời gian uống thuốc

          ShortThời gian uống thuốc
          Comments

          Thời điểm trong ngày và mối quan hệ với bữa ăn — biểu diễn máy đọc được dùng Timing.repeat.when, câu hướng dẫn cho người bệnh nằm cùng dosageInstruction.text với cách uống.

          Control1..1
          Typestring
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension