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-08-06 |
Các định nghĩa cho vn-ext-practice-license-exemption phần mở rộng
Guidance on how to interpret the contents of this table can be foundhere
| 0. Extension | |
| Definition | NGỪNG AUTHORING TỪ 0.10.0 (quyết định governance 12/08/2026, analysis/99 mục 3;
CORE-P1-18 review 97a): miễn trừ GPHN là quyền CÓ GIỚI HẠN theo cơ-sở/thời-gian/phạm-vi —
đặt ở cấp Practitioner thì miễn trừ tại cơ sở A dùng được vô hạn để hành nghề độc lập
tại B. Bản ghi MỚI dùng Khai căn cứ pháp lý khiến nghĩa vụ có giấy phép hành nghề KHÔNG áp dụng cho người này, theo Luật 15/2023/QH15 Điều 19 khoản 2, 3 và 4. Vì sao là extension trên Practitioner chứ không phải một trạng thái credential. Những người thuộc diện miễn trừ thường KHÔNG CÓ credential nào để gắn trạng thái lên — sinh viên đang thực hành, nhân viên y tế thôn bản, người cấp cứu tại cộng đồng. Miễn trừ là thuộc tính của con người trong một bối cảnh hành nghề cụ thể, không phải thuộc tính của một giấy tờ. Đây không phải cửa thoát cho dữ liệu thiếu. Khai extension này là một tuyên bố pháp lý có thể kiểm chứng ngoài hệ thống: người giám sát với nhóm thực hành, chương trình đào tạo với y tế thôn bản, quyết định huy động với nhóm khẩn cấp, giấy phép hành nghề nước ngoài và văn bản cho phép đợt KCB nhân đạo với nhóm nước ngoài. Bên dựa vào dữ liệu phải đối chiếu được, không chấp nhận suông. Optional Extension Element - found in all resources. |
| Short | Miễn điều kiện giấy phép hành nghề — Practice Licence Exemption (đọc dữ liệu cũ)Optional Extensions Element |
| Control | 0..* This element is affected by the following invariants: ele-1 |
| Is Modifier | false |
| 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())ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 2. Extension.extension | |
| Definition | An Extension 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 | ExtensionAdditional 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 | 10..* |
| 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 Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 4. Extension.extension:basis | |
| Slice Name | basis |
| Definition | An Extension |
| Short | Căn cứ miễn trừ theo Luật 15/2023/QH15 Điều 19Additional content defined by implementations |
| Control | 10..1* |
| Type | Extension |
| Is Modifier | false |
| Must Support | true |
| Summary | false |
| 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()) |
| 6. Extension.extension:basis.extension | |
| Definition | An Extension 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 | ExtensionAdditional 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..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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 8. Extension.extension:basis.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | basis |
| 10. Extension.extension:basis.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 10..1 |
| Binding | The codes SHALL be taken from For codes, see Căn cứ miễn điều kiện giấy phép hành nghề — Practice Licence Exemption Basis ValueSet (required to http://fhir.hl7.org.vn/core/ValueSet/vn-practice-license-exemption-vs) |
| Type | Coding, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 12. Extension.extension:note | |
| Slice Name | note |
| Definition | An Extension |
| Short | Ghi chú kiểm chứng: người giám sát, quyết định huy động, văn bản cho phép đợt KCB nhân đạo…Additional content defined by implementations |
| Control | 0..1* |
| Type | Extension |
| Is Modifier | false |
| Must Support | true |
| Summary | false |
| 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()) |
| 14. Extension.extension:note.extension | |
| Definition | An Extension 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 | ExtensionAdditional 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..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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 16. Extension.extension:note.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | note |
| 18. Extension.extension:note.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 10..1 |
| Type | string, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 20. Extension.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-practice-license-exemption |
| 22. Extension.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..01 |
| Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
Guidance on how to interpret the contents of this table can be foundhere
| 0. Extension | |
| Definition | NGỪNG AUTHORING TỪ 0.10.0 (quyết định governance 12/08/2026, analysis/99 mục 3;
CORE-P1-18 review 97a): miễn trừ GPHN là quyền CÓ GIỚI HẠN theo cơ-sở/thời-gian/phạm-vi —
đặt ở cấp Practitioner thì miễn trừ tại cơ sở A dùng được vô hạn để hành nghề độc lập
tại B. Bản ghi MỚI dùng Khai căn cứ pháp lý khiến nghĩa vụ có giấy phép hành nghề KHÔNG áp dụng cho người này, theo Luật 15/2023/QH15 Điều 19 khoản 2, 3 và 4. Vì sao là extension trên Practitioner chứ không phải một trạng thái credential. Những người thuộc diện miễn trừ thường KHÔNG CÓ credential nào để gắn trạng thái lên — sinh viên đang thực hành, nhân viên y tế thôn bản, người cấp cứu tại cộng đồng. Miễn trừ là thuộc tính của con người trong một bối cảnh hành nghề cụ thể, không phải thuộc tính của một giấy tờ. Đây không phải cửa thoát cho dữ liệu thiếu. Khai extension này là một tuyên bố pháp lý có thể kiểm chứng ngoài hệ thống: người giám sát với nhóm thực hành, chương trình đào tạo với y tế thôn bản, quyết định huy động với nhóm khẩn cấp, giấy phép hành nghề nước ngoài và văn bản cho phép đợt KCB nhân đạo với nhóm nước ngoài. Bên dựa vào dữ liệu phải đối chiếu được, không chấp nhận suông. |
| Short | Miễn điều kiện giấy phép hành nghề — Practice Licence Exemption (đọc dữ liệu cũ) |
| 2. Extension.extension | |
| Control | 1..? |
| 4. Extension.extension:basis | |
| Slice Name | basis |
| Short | Căn cứ miễn trừ theo Luật 15/2023/QH15 Điều 19 |
| Control | 1..1 |
| Must Support | true |
| 6. Extension.extension:basis.extension | |
| Control | 0..0 |
| 8. Extension.extension:basis.url | |
| Fixed Value | basis |
| 10. Extension.extension:basis.value[x] | |
| Control | 1..? |
| Binding | The codes SHALL be taken from Căn cứ miễn điều kiện giấy phép hành nghề — Practice Licence Exemption Basis ValueSet (required to http://fhir.hl7.org.vn/core/ValueSet/vn-practice-license-exemption-vs) |
| Type | Coding |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| 12. Extension.extension:note | |
| Slice Name | note |
| Short | Ghi chú kiểm chứng: người giám sát, quyết định huy động, văn bản cho phép đợt KCB nhân đạo… |
| Control | 0..1 |
| Must Support | true |
| 14. Extension.extension:note.extension | |
| Control | 0..0 |
| 16. Extension.extension:note.url | |
| Fixed Value | note |
| 18. Extension.extension:note.value[x] | |
| Control | 1..? |
| Type | string |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 20. Extension.url | |
| Fixed Value | http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-practice-license-exemption |
| 22. Extension.value[x] | |
| Control | 0..0 |
Guidance on how to interpret the contents of this table can be foundhere
| 0. Extension | |
| Definition | NGỪNG AUTHORING TỪ 0.10.0 (quyết định governance 12/08/2026, analysis/99 mục 3;
CORE-P1-18 review 97a): miễn trừ GPHN là quyền CÓ GIỚI HẠN theo cơ-sở/thời-gian/phạm-vi —
đặt ở cấp Practitioner thì miễn trừ tại cơ sở A dùng được vô hạn để hành nghề độc lập
tại B. Bản ghi MỚI dùng Khai căn cứ pháp lý khiến nghĩa vụ có giấy phép hành nghề KHÔNG áp dụng cho người này, theo Luật 15/2023/QH15 Điều 19 khoản 2, 3 và 4. Vì sao là extension trên Practitioner chứ không phải một trạng thái credential. Những người thuộc diện miễn trừ thường KHÔNG CÓ credential nào để gắn trạng thái lên — sinh viên đang thực hành, nhân viên y tế thôn bản, người cấp cứu tại cộng đồng. Miễn trừ là thuộc tính của con người trong một bối cảnh hành nghề cụ thể, không phải thuộc tính của một giấy tờ. Đây không phải cửa thoát cho dữ liệu thiếu. Khai extension này là một tuyên bố pháp lý có thể kiểm chứng ngoài hệ thống: người giám sát với nhóm thực hành, chương trình đào tạo với y tế thôn bản, quyết định huy động với nhóm khẩn cấp, giấy phép hành nghề nước ngoài và văn bản cho phép đợt KCB nhân đạo với nhóm nước ngoài. Bên dựa vào dữ liệu phải đối chiếu được, không chấp nhận suông. |
| Short | Miễn điều kiện giấy phép hành nghề — Practice Licence Exemption (đọc dữ liệu cũ) |
| Control | 0..* This element is affected by the following invariants: ele-1 |
| Is Modifier | false |
| 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()) |
| 2. Extension.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 |
| 4. Extension.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 1..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| 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 Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 6. Extension.extension:basis | |
| Slice Name | basis |
| Definition | An Extension |
| Short | Căn cứ miễn trừ theo Luật 15/2023/QH15 Điều 19 |
| Control | 1..1 |
| Type | Extension |
| Is Modifier | false |
| Must Support | true |
| Summary | false |
| 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()) |
| 8. Extension.extension:basis.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 |
| 10. Extension.extension:basis.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| 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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 12. Extension.extension:basis.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | basis |
| 14. Extension.extension:basis.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 1..1 |
| Binding | The codes SHALL be taken from Căn cứ miễn điều kiện giấy phép hành nghề — Practice Licence Exemption Basis ValueSet (required to http://fhir.hl7.org.vn/core/ValueSet/vn-practice-license-exemption-vs) |
| Type | Coding |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 16. Extension.extension:note | |
| Slice Name | note |
| Definition | An Extension |
| Short | Ghi chú kiểm chứng: người giám sát, quyết định huy động, văn bản cho phép đợt KCB nhân đạo… |
| Control | 0..1 |
| Type | Extension |
| Is Modifier | false |
| Must Support | true |
| Summary | false |
| 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()) |
| 18. Extension.extension:note.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 |
| 20. Extension.extension:note.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| 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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 22. Extension.extension:note.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | note |
| 24. Extension.extension:note.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 1..1 |
| Type | string |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 26. Extension.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-practice-license-exemption |
| 28. Extension.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..0 |
| Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |