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

Phần mở rộng: Trạng thái credential hành nghề KCB — Practice Credential Status - Mô tả chi tiết

Draft tại thời điểm 2026-08-06

Các định nghĩa cho vn-ext-practice-license-status phần mở rộng

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

0. Extension
Definition

Complex extension mang trạng thái pháp lý của một identifier giấy phép hành nghề (GPHN) hoặc chứng chỉ hành nghề (CCHN) chuyển tiếp, cùng dữ liệu của quyết định đình chỉ nếu có. Extension gắn TRỰC TIẾP vào Identifier.

Vì sao là trạng thái tường minh chứ không phải ngày tháng. Hiệu lực của GPHN không suy được từ identifier.period.end: Luật 15/2023/QH15 Điều 32 khoản 5 điểm b cho phép giấy phép tiếp tục có hiệu lực quá ngày ghi trên giấy phép khi cơ quan có thẩm quyền chưa trả lời hồ sơ gia hạn. Tương tự, CCHN cũ vẫn được dùng như GPHN theo NĐ 96/2023/NĐ-CP Điều 143 khoản 2. Cả hai nhánh này đều vô hình với phép so sánh ngày.

Vì sao cần affectedScope. NĐ 96/2023/NĐ-CP Điều 30 khoản 4 điểm a buộc quyết định đình chỉ ghi rõ đình chỉ một phần hay toàn bộ phạm vi hành nghề, và nếu một phần thì nêu rõ phạm vi. Người bị đình chỉ một phần VẪN hành nghề hợp pháp ở phần còn lại (khoản 5 điểm a: cơ quan "thực hiện việc giới hạn phạm vi hành nghề"), nên không thể coi họ như mất credential.

Vì sao KHÔNG phải modifierExtension. Identifier kế thừa Element, không kế thừa BackboneElement, nên trong FHIR R4 nó không có modifierExtension.

Bên dựa vào dữ liệu phải đọc trạng thái này thay vì tự suy luận từ thời hạn.


Optional Extension Element - found in all resources.

ShortTrạng thái credential hành nghề KCB — Practice Credential StatusOptional Extensions Element
Control0..*
This element is affected by the following invariants: ele-1
Is Modifierfalse
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())
vn-practice-license-partial-scope: Credential bị đình chỉ một phần phải nêu rõ phạm vi hành nghề bị đình chỉ. A partially suspended credential SHALL state the suspended scope of practice. (extension.where(url = 'status').value.ofType(Coding).where(code = 'partially-suspended').empty() or extension.where(url = 'affectedScope').value.ofType(string).exists())
vn-practice-license-adverse-decision: Trạng thái đình chỉ hoặc thu hồi phải dẫn chiếu số quyết định. A suspension or revocation SHALL reference the decision number. (extension.where(url = 'status').value.ofType(Coding).where(code = 'partially-suspended' or code = 'fully-suspended' or code = 'revoked').empty() or extension.where(url = 'decisionIdentifier').value.ofType(Identifier).where(value.exists()).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.

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

Control10..*
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 Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 4. Extension.extension:status
    Slice Namestatus
    Definition

    An Extension

    ShortTrạng thái pháp lý của chính credential nàyAdditional content defined by implementations
    Control10..1*
    TypeExtension
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    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())
    6. Extension.extension:status.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.

    ShortExtensionAdditional 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..0*
    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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 8. Extension.extension:status.url
      Definition

      Source of the definition for the extension code - a logical name or a URL.

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

      Control1..1
      Typeuri
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      Fixed Valuestatus
      10. Extension.extension:status.value[x]
      Definition

      Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

      ShortValue of extension
      Control10..1
      BindingThe codes SHALL be taken from For codes, see Trạng thái credential hành nghề KCB — Practice Credential Status ValueSet
      (required to http://fhir.hl7.org.vn/core/ValueSet/vn-practice-license-status-vs)
      TypeCoding, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Is Modifierfalse
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      12. Extension.extension:affectedScope
      Slice NameaffectedScope
      Definition

      Ghi rõ phần phạm vi hành nghề bị đình chỉ. Dạng string vì NĐ 96/2023/NĐ-CP Điều 30 khoản 4 mô tả phạm vi bằng văn xuôi trong quyết định, không bằng bộ mã.

      ShortPhạm vi hành nghề bị đình chỉ khi đình chỉ một phầnAdditional content defined by implementations
      Control0..1*
      TypeExtension
      Is Modifierfalse
      Must Supporttrue
      Summaryfalse
      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())
      14. Extension.extension:affectedScope.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.

      ShortExtensionAdditional 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..0*
      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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 16. Extension.extension:affectedScope.url
        Definition

        Source of the definition for the extension code - a logical name or a URL.

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

        Control1..1
        Typeuri
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        Fixed ValueaffectedScope
        18. Extension.extension:affectedScope.value[x]
        Definition

        Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

        ShortValue of extension
        Control10..1
        Typestring, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        20. Extension.extension:effectivePeriod
        Slice NameeffectivePeriod
        Definition

        An Extension

        ShortThời hạn đình chỉ (NĐ 96/2023/NĐ-CP Điều 30 khoản 4 điểm b)Additional content defined by implementations
        Control0..1*
        TypeExtension
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        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())
        22. Extension.extension:effectivePeriod.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.

        ShortExtensionAdditional 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..0*
        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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 24. Extension.extension:effectivePeriod.url
          Definition

          Source of the definition for the extension code - a logical name or a URL.

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

          Control1..1
          Typeuri
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          Fixed ValueeffectivePeriod
          26. Extension.extension:effectivePeriod.value[x]
          Definition

          Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

          ShortValue of extension
          Control10..1
          TypePeriod, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
          Is Modifierfalse
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          28. Extension.extension:decisionIdentifier
          Slice NamedecisionIdentifier
          Definition

          An Extension

          ShortSố quyết định đình chỉ hoặc thu hồiAdditional content defined by implementations
          Control0..1*
          TypeExtension
          Is Modifierfalse
          Must Supporttrue
          Summaryfalse
          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())
          30. Extension.extension:decisionIdentifier.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.

          ShortExtensionAdditional 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..0*
          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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 32. Extension.extension:decisionIdentifier.url
            Definition

            Source of the definition for the extension code - a logical name or a URL.

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

            Control1..1
            Typeuri
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            Fixed ValuedecisionIdentifier
            34. Extension.extension:decisionIdentifier.value[x]
            Definition

            Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

            ShortValue of extension
            Control10..1
            TypeIdentifier, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Coding, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
            Is Modifierfalse
            Summaryfalse
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            36. Extension.url
            Definition

            Source of the definition for the extension code - a logical name or a URL.

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

            Control1..1
            Typeuri
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            Fixed Valuehttp://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-practice-license-status
            38. Extension.value[x]
            Definition

            Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

            ShortValue of extension
            Control0..01
            TypeChoice 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 Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summaryfalse
            Invariantsele-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

            Complex extension mang trạng thái pháp lý của một identifier giấy phép hành nghề (GPHN) hoặc chứng chỉ hành nghề (CCHN) chuyển tiếp, cùng dữ liệu của quyết định đình chỉ nếu có. Extension gắn TRỰC TIẾP vào Identifier.

            Vì sao là trạng thái tường minh chứ không phải ngày tháng. Hiệu lực của GPHN không suy được từ identifier.period.end: Luật 15/2023/QH15 Điều 32 khoản 5 điểm b cho phép giấy phép tiếp tục có hiệu lực quá ngày ghi trên giấy phép khi cơ quan có thẩm quyền chưa trả lời hồ sơ gia hạn. Tương tự, CCHN cũ vẫn được dùng như GPHN theo NĐ 96/2023/NĐ-CP Điều 143 khoản 2. Cả hai nhánh này đều vô hình với phép so sánh ngày.

            Vì sao cần affectedScope. NĐ 96/2023/NĐ-CP Điều 30 khoản 4 điểm a buộc quyết định đình chỉ ghi rõ đình chỉ một phần hay toàn bộ phạm vi hành nghề, và nếu một phần thì nêu rõ phạm vi. Người bị đình chỉ một phần VẪN hành nghề hợp pháp ở phần còn lại (khoản 5 điểm a: cơ quan "thực hiện việc giới hạn phạm vi hành nghề"), nên không thể coi họ như mất credential.

            Vì sao KHÔNG phải modifierExtension. Identifier kế thừa Element, không kế thừa BackboneElement, nên trong FHIR R4 nó không có modifierExtension.

            Bên dựa vào dữ liệu phải đọc trạng thái này thay vì tự suy luận từ thời hạn.

            ShortTrạng thái credential hành nghề KCB — Practice Credential Status
            Invariantsvn-practice-license-partial-scope: Credential bị đình chỉ một phần phải nêu rõ phạm vi hành nghề bị đình chỉ. A partially suspended credential SHALL state the suspended scope of practice. (extension.where(url = 'status').value.ofType(Coding).where(code = 'partially-suspended').empty() or extension.where(url = 'affectedScope').value.ofType(string).exists())
            vn-practice-license-adverse-decision: Trạng thái đình chỉ hoặc thu hồi phải dẫn chiếu số quyết định. A suspension or revocation SHALL reference the decision number. (extension.where(url = 'status').value.ofType(Coding).where(code = 'partially-suspended' or code = 'fully-suspended' or code = 'revoked').empty() or extension.where(url = 'decisionIdentifier').value.ofType(Identifier).where(value.exists()).exists())
            2. Extension.extension
            Control1..?
            4. Extension.extension:status
            Slice Namestatus
            ShortTrạng thái pháp lý của chính credential này
            Control1..1
            Must Supporttrue
            6. Extension.extension:status.extension
            Control0..0
            8. Extension.extension:status.url
            Fixed Valuestatus
            10. Extension.extension:status.value[x]
            Control1..?
            BindingThe codes SHALL be taken from Trạng thái credential hành nghề KCB — Practice Credential Status ValueSet
            (required to http://fhir.hl7.org.vn/core/ValueSet/vn-practice-license-status-vs)
            TypeCoding
            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
            12. Extension.extension:affectedScope
            Slice NameaffectedScope
            Definition

            Ghi rõ phần phạm vi hành nghề bị đình chỉ. Dạng string vì NĐ 96/2023/NĐ-CP Điều 30 khoản 4 mô tả phạm vi bằng văn xuôi trong quyết định, không bằng bộ mã.

            ShortPhạm vi hành nghề bị đình chỉ khi đình chỉ một phần
            Control0..1
            Must Supporttrue
            14. Extension.extension:affectedScope.extension
            Control0..0
            16. Extension.extension:affectedScope.url
            Fixed ValueaffectedScope
            18. Extension.extension:affectedScope.value[x]
            Control1..?
            Typestring
            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            20. Extension.extension:effectivePeriod
            Slice NameeffectivePeriod
            ShortThời hạn đình chỉ (NĐ 96/2023/NĐ-CP Điều 30 khoản 4 điểm b)
            Control0..1
            Must Supporttrue
            22. Extension.extension:effectivePeriod.extension
            Control0..0
            24. Extension.extension:effectivePeriod.url
            Fixed ValueeffectivePeriod
            26. Extension.extension:effectivePeriod.value[x]
            Control1..?
            TypePeriod
            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
            28. Extension.extension:decisionIdentifier
            Slice NamedecisionIdentifier
            ShortSố quyết định đình chỉ hoặc thu hồi
            Control0..1
            Must Supporttrue
            30. Extension.extension:decisionIdentifier.extension
            Control0..0
            32. Extension.extension:decisionIdentifier.url
            Fixed ValuedecisionIdentifier
            34. Extension.extension:decisionIdentifier.value[x]
            Control1..?
            TypeIdentifier
            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
            36. Extension.url
            Fixed Valuehttp://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-practice-license-status
            38. Extension.value[x]
            Control0..0

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

            0. Extension
            Definition

            Complex extension mang trạng thái pháp lý của một identifier giấy phép hành nghề (GPHN) hoặc chứng chỉ hành nghề (CCHN) chuyển tiếp, cùng dữ liệu của quyết định đình chỉ nếu có. Extension gắn TRỰC TIẾP vào Identifier.

            Vì sao là trạng thái tường minh chứ không phải ngày tháng. Hiệu lực của GPHN không suy được từ identifier.period.end: Luật 15/2023/QH15 Điều 32 khoản 5 điểm b cho phép giấy phép tiếp tục có hiệu lực quá ngày ghi trên giấy phép khi cơ quan có thẩm quyền chưa trả lời hồ sơ gia hạn. Tương tự, CCHN cũ vẫn được dùng như GPHN theo NĐ 96/2023/NĐ-CP Điều 143 khoản 2. Cả hai nhánh này đều vô hình với phép so sánh ngày.

            Vì sao cần affectedScope. NĐ 96/2023/NĐ-CP Điều 30 khoản 4 điểm a buộc quyết định đình chỉ ghi rõ đình chỉ một phần hay toàn bộ phạm vi hành nghề, và nếu một phần thì nêu rõ phạm vi. Người bị đình chỉ một phần VẪN hành nghề hợp pháp ở phần còn lại (khoản 5 điểm a: cơ quan "thực hiện việc giới hạn phạm vi hành nghề"), nên không thể coi họ như mất credential.

            Vì sao KHÔNG phải modifierExtension. Identifier kế thừa Element, không kế thừa BackboneElement, nên trong FHIR R4 nó không có modifierExtension.

            Bên dựa vào dữ liệu phải đọc trạng thái này thay vì tự suy luận từ thời hạn.

            ShortTrạng thái credential hành nghề KCB — Practice Credential Status
            Control0..*
            This element is affected by the following invariants: ele-1
            Is Modifierfalse
            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())
            vn-practice-license-partial-scope: Credential bị đình chỉ một phần phải nêu rõ phạm vi hành nghề bị đình chỉ. A partially suspended credential SHALL state the suspended scope of practice. (extension.where(url = 'status').value.ofType(Coding).where(code = 'partially-suspended').empty() or extension.where(url = 'affectedScope').value.ofType(string).exists())
            vn-practice-license-adverse-decision: Trạng thái đình chỉ hoặc thu hồi phải dẫn chiếu số quyết định. A suspension or revocation SHALL reference the decision number. (extension.where(url = 'status').value.ofType(Coding).where(code = 'partially-suspended' or code = 'fully-suspended' or code = 'revoked').empty() or extension.where(url = 'decisionIdentifier').value.ofType(Identifier).where(value.exists()).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.

            ShortUnique id for inter-element referencing
            Control0..1
            Typestring
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            4. Extension.extension
            Definition

            An Extension

            ShortExtension
            Control1..*
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            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 Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 6. Extension.extension:status
              Slice Namestatus
              Definition

              An Extension

              ShortTrạng thái pháp lý của chính credential này
              Control1..1
              TypeExtension
              Is Modifierfalse
              Must Supporttrue
              Summaryfalse
              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())
              8. Extension.extension:status.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
              10. Extension.extension:status.extension
              Definition

              An Extension

              ShortExtension
              Control0..0
              TypeExtension
              Is Modifierfalse
              Summaryfalse
              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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 12. Extension.extension:status.url
                Definition

                Source of the definition for the extension code - a logical name or a URL.

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

                Control1..1
                Typeuri
                Is Modifierfalse
                XML FormatIn the XML format, this property is represented as an attribute.
                Summaryfalse
                Fixed Valuestatus
                14. Extension.extension:status.value[x]
                Definition

                Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

                ShortValue of extension
                Control1..1
                BindingThe codes SHALL be taken from Trạng thái credential hành nghề KCB — Practice Credential Status ValueSet
                (required to http://fhir.hl7.org.vn/core/ValueSet/vn-practice-license-status-vs)
                TypeCoding
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                Is Modifierfalse
                Summaryfalse
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                16. Extension.extension:affectedScope
                Slice NameaffectedScope
                Definition

                Ghi rõ phần phạm vi hành nghề bị đình chỉ. Dạng string vì NĐ 96/2023/NĐ-CP Điều 30 khoản 4 mô tả phạm vi bằng văn xuôi trong quyết định, không bằng bộ mã.

                ShortPhạm vi hành nghề bị đình chỉ khi đình chỉ một phần
                Control0..1
                TypeExtension
                Is Modifierfalse
                Must Supporttrue
                Summaryfalse
                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())
                18. Extension.extension:affectedScope.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. Extension.extension:affectedScope.extension
                Definition

                An Extension

                ShortExtension
                Control0..0
                TypeExtension
                Is Modifierfalse
                Summaryfalse
                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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 22. Extension.extension:affectedScope.url
                  Definition

                  Source of the definition for the extension code - a logical name or a URL.

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

                  Control1..1
                  Typeuri
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  Fixed ValueaffectedScope
                  24. Extension.extension:affectedScope.value[x]
                  Definition

                  Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

                  ShortValue of extension
                  Control1..1
                  Typestring
                  [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  26. Extension.extension:effectivePeriod
                  Slice NameeffectivePeriod
                  Definition

                  An Extension

                  ShortThời hạn đình chỉ (NĐ 96/2023/NĐ-CP Điều 30 khoản 4 điểm b)
                  Control0..1
                  TypeExtension
                  Is Modifierfalse
                  Must Supporttrue
                  Summaryfalse
                  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())
                  28. Extension.extension:effectivePeriod.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
                  30. Extension.extension:effectivePeriod.extension
                  Definition

                  An Extension

                  ShortExtension
                  Control0..0
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 32. Extension.extension:effectivePeriod.url
                    Definition

                    Source of the definition for the extension code - a logical name or a URL.

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

                    Control1..1
                    Typeuri
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    Fixed ValueeffectivePeriod
                    34. Extension.extension:effectivePeriod.value[x]
                    Definition

                    Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

                    ShortValue of extension
                    Control1..1
                    TypePeriod
                    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    36. Extension.extension:decisionIdentifier
                    Slice NamedecisionIdentifier
                    Definition

                    An Extension

                    ShortSố quyết định đình chỉ hoặc thu hồi
                    Control0..1
                    TypeExtension
                    Is Modifierfalse
                    Must Supporttrue
                    Summaryfalse
                    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())
                    38. Extension.extension:decisionIdentifier.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
                    40. Extension.extension:decisionIdentifier.extension
                    Definition

                    An Extension

                    ShortExtension
                    Control0..0
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ url
                    • 42. Extension.extension:decisionIdentifier.url
                      Definition

                      Source of the definition for the extension code - a logical name or a URL.

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

                      Control1..1
                      Typeuri
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      Fixed ValuedecisionIdentifier
                      44. Extension.extension:decisionIdentifier.value[x]
                      Definition

                      Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

                      ShortValue of extension
                      Control1..1
                      TypeIdentifier
                      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      46. Extension.url
                      Definition

                      Source of the definition for the extension code - a logical name or a URL.

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

                      Control1..1
                      Typeuri
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      Fixed Valuehttp://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-practice-license-status
                      48. Extension.value[x]
                      Definition

                      Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

                      ShortValue of extension
                      Control0..0
                      TypeChoice 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 Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))