HSAAP Special Authority FHIR Implementation Guide
0.1.1 - draft New Zealand flag

HSAAP Special Authority FHIR Implementation Guide - Local Development build (v0.1.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Extension: ApprovalCoverage - Detailed Descriptions

Draft as of 2026-10-16

Definitions for the approval-coverage extension.

See the documentation on how to interpret the contents of this table

0. Extension
Definition

Coverage of an Approval, carried only for EXPLICIT_PHARMACEUTICALS, PRODUCT_CATEGORY and ALL_PHARMACEUTICALS (D15). Absent for SCHEDULE_HIERARCHY coverage: a standard CHEM/RISK Approval's coverage is re-derivable from approval-detail.formNumber and formVersion against the schedule (D6). NPPA and panel Approvals have no schedule form to derive coverage from, so their coverage is carried explicitly.


Optional Extension Element - found in all resources.

ShortApproval CoverageOptional 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())
sa-cov-1: pharmaceutical is present if, and only if, type is EXPLICIT_PHARMACEUTICALS. (extension('pharmaceutical').exists() = extension('type').where(value = 'EXPLICIT_PHARMACEUTICALS').exists())
sa-cov-2: category is present if, and only if, type is PRODUCT_CATEGORY. (extension('category').exists() = extension('type').where(value = 'PRODUCT_CATEGORY').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
  • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

    4. Extension.extension:type
    Slice Nametype
    Definition

    An Extension

    ShortExtensionAdditional 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:type.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
    • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

      8. Extension.extension:type.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 Value
      {
        "url" : "type"
      }
      <url value="type"/>
      10. Extension.extension:type.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..1
      BindingThe codes SHALL be taken from For codes, see SA Approval Coverage Type
      (required to https://fhir-ig.digital.health.nz/special-authority/ValueSet/sa-coverage-type)
      Typecode, 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, 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
      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()))
      12. Extension.extension:pharmaceutical
      Slice Namepharmaceutical
      Definition

      An Extension

      ShortCovered pharmaceutical - only when type is EXPLICIT_PHARMACEUTICALSAdditional content defined by implementations
      Control0..*
      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())
      sa-cov-3: A pharmaceutical SHALL be identified by a pharmacode or a CTPP ID. (extension.where(url='pharmacode') and extension.where(url='ctppId'))
      14. Extension.extension:pharmaceutical.extension:pharmacode
      Slice Namepharmacode
      Definition

      An Extension

      ShortExtensionAdditional 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())
      16. Extension.extension:pharmaceutical.extension:pharmacode.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.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

        18. Extension.extension:pharmaceutical.extension:pharmacode.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 Value
        {
          "url" : "pharmacode"
        }
        <url value="pharmacode"/>
        20. Extension.extension:pharmaceutical.extension:pharmacode.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..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()))
        22. Extension.extension:pharmaceutical.extension:ctppId
        Slice NamectppId
        Definition

        An Extension

        ShortExtensionAdditional 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())
        24. Extension.extension:pharmaceutical.extension:ctppId.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.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

          26. Extension.extension:pharmaceutical.extension:ctppId.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 Value
          {
            "url" : "ctppId"
          }
          <url value="ctppId"/>
          28. Extension.extension:pharmaceutical.extension:ctppId.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..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()))
          30. Extension.extension:pharmaceutical.extension:description
          Slice Namedescription
          Definition

          An Extension

          ShortExtensionAdditional 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())
          32. Extension.extension:pharmaceutical.extension:description.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.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

            34. Extension.extension:pharmaceutical.extension:description.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 Value
            {
              "url" : "description"
            }
            <url value="description"/>
            36. Extension.extension:pharmaceutical.extension:description.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..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()))
            38. Extension.extension:pharmaceutical.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 Value
            {
              "url" : "pharmaceutical"
            }
            <url value="pharmaceutical"/>
            40. Extension.extension:pharmaceutical.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()))
            42. Extension.extension:category
            Slice Namecategory
            Definition

            An Extension

            ShortProduct category - only when type is PRODUCT_CATEGORYAdditional 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())
            44. Extension.extension:category.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
            • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

              46. Extension.extension:category.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 Value
              {
                "url" : "category"
              }
              <url value="category"/>
              48. Extension.extension:category.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..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()))
              50. 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 Value
              {
                "url" : "https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-coverage"
              }
              <url value="https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-coverage"/>
              52. 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()))

              See the documentation on how to interpret the contents of this table

              0. Extension
              Definition

              Coverage of an Approval, carried only for EXPLICIT_PHARMACEUTICALS, PRODUCT_CATEGORY and ALL_PHARMACEUTICALS (D15). Absent for SCHEDULE_HIERARCHY coverage: a standard CHEM/RISK Approval's coverage is re-derivable from approval-detail.formNumber and formVersion against the schedule (D6). NPPA and panel Approvals have no schedule form to derive coverage from, so their coverage is carried explicitly.

              ShortApproval Coverage
              Invariantssa-cov-1: pharmaceutical is present if, and only if, type is EXPLICIT_PHARMACEUTICALS. (extension('pharmaceutical').exists() = extension('type').where(value = 'EXPLICIT_PHARMACEUTICALS').exists())
              sa-cov-2: category is present if, and only if, type is PRODUCT_CATEGORY. (extension('category').exists() = extension('type').where(value = 'PRODUCT_CATEGORY').exists())
              2. Extension.extension
              Control1..?
              4. Extension.extension:type
              Slice Nametype
              Control1..1
              Must Supporttrue
              6. Extension.extension:type.extension
              Control0..0
              8. Extension.extension:type.url
              Fixed Value
              {
                "url" : "type"
              }
              <url value="type"/>
              10. Extension.extension:type.value[x]
              BindingThe codes SHALL be taken from SA Approval Coverage Type
              (required to https://fhir-ig.digital.health.nz/special-authority/ValueSet/sa-coverage-type)
              Typecode
              [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
              12. Extension.extension:pharmaceutical
              Slice Namepharmaceutical
              ShortCovered pharmaceutical - only when type is EXPLICIT_PHARMACEUTICALS
              Control0..*
              Must Supporttrue
              Invariantssa-cov-3: A pharmaceutical SHALL be identified by a pharmacode or a CTPP ID. (extension.where(url='pharmacode') and extension.where(url='ctppId'))
              14. Extension.extension:pharmaceutical.extension:pharmacode
              Slice Namepharmacode
              Control0..1
              Must Supporttrue
              16. Extension.extension:pharmaceutical.extension:pharmacode.extension
              Control0..0
              18. Extension.extension:pharmaceutical.extension:pharmacode.url
              Fixed Value
              {
                "url" : "pharmacode"
              }
              <url value="pharmacode"/>
              20. Extension.extension:pharmaceutical.extension:pharmacode.value[x]
              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
              22. Extension.extension:pharmaceutical.extension:ctppId
              Slice NamectppId
              Control0..1
              Must Supporttrue
              24. Extension.extension:pharmaceutical.extension:ctppId.extension
              Control0..0
              26. Extension.extension:pharmaceutical.extension:ctppId.url
              Fixed Value
              {
                "url" : "ctppId"
              }
              <url value="ctppId"/>
              28. Extension.extension:pharmaceutical.extension:ctppId.value[x]
              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
              30. Extension.extension:pharmaceutical.extension:description
              Slice Namedescription
              Control0..1
              Must Supporttrue
              32. Extension.extension:pharmaceutical.extension:description.extension
              Control0..0
              34. Extension.extension:pharmaceutical.extension:description.url
              Fixed Value
              {
                "url" : "description"
              }
              <url value="description"/>
              36. Extension.extension:pharmaceutical.extension:description.value[x]
              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
              38. Extension.extension:pharmaceutical.url
              Fixed Value
              {
                "url" : "pharmaceutical"
              }
              <url value="pharmaceutical"/>
              40. Extension.extension:pharmaceutical.value[x]
              Control0..0
              42. Extension.extension:category
              Slice Namecategory
              ShortProduct category - only when type is PRODUCT_CATEGORY
              Control0..1
              Must Supporttrue
              44. Extension.extension:category.extension
              Control0..0
              46. Extension.extension:category.url
              Fixed Value
              {
                "url" : "category"
              }
              <url value="category"/>
              48. Extension.extension:category.value[x]
              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
              50. Extension.url
              Fixed Value
              {
                "url" : "https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-coverage"
              }
              <url value="https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-coverage"/>
              52. Extension.value[x]
              Control0..0

              See the documentation on how to interpret the contents of this table

              0. Extension
              Definition

              Coverage of an Approval, carried only for EXPLICIT_PHARMACEUTICALS, PRODUCT_CATEGORY and ALL_PHARMACEUTICALS (D15). Absent for SCHEDULE_HIERARCHY coverage: a standard CHEM/RISK Approval's coverage is re-derivable from approval-detail.formNumber and formVersion against the schedule (D6). NPPA and panel Approvals have no schedule form to derive coverage from, so their coverage is carried explicitly.

              ShortApproval Coverage
              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())
              sa-cov-1: pharmaceutical is present if, and only if, type is EXPLICIT_PHARMACEUTICALS. (extension('pharmaceutical').exists() = extension('type').where(value = 'EXPLICIT_PHARMACEUTICALS').exists())
              sa-cov-2: category is present if, and only if, type is PRODUCT_CATEGORY. (extension('category').exists() = extension('type').where(value = 'PRODUCT_CATEGORY').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
              • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

                6. Extension.extension:type
                Slice Nametype
                Definition

                An Extension

                ShortExtension
                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:type.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:type.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
                • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

                  12. Extension.extension:type.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 Value
                  {
                    "url" : "type"
                  }
                  <url value="type"/>
                  14. Extension.extension:type.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..1
                  BindingThe codes SHALL be taken from SA Approval Coverage Type
                  (required to https://fhir-ig.digital.health.nz/special-authority/ValueSet/sa-coverage-type)
                  Typecode
                  [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()))
                  16. Extension.extension:pharmaceutical
                  Slice Namepharmaceutical
                  Definition

                  An Extension

                  ShortCovered pharmaceutical - only when type is EXPLICIT_PHARMACEUTICALS
                  Control0..*
                  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())
                  sa-cov-3: A pharmaceutical SHALL be identified by a pharmacode or a CTPP ID. (extension.where(url='pharmacode') and extension.where(url='ctppId'))
                  18. Extension.extension:pharmaceutical.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:pharmaceutical.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 Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 22. Extension.extension:pharmaceutical.extension:pharmacode
                    Slice Namepharmacode
                    Definition

                    An Extension

                    ShortExtension
                    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())
                    24. Extension.extension:pharmaceutical.extension:pharmacode.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
                    26. Extension.extension:pharmaceutical.extension:pharmacode.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.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ url
                    • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

                      28. Extension.extension:pharmaceutical.extension:pharmacode.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 Value
                      {
                        "url" : "pharmacode"
                      }
                      <url value="pharmacode"/>
                      30. Extension.extension:pharmaceutical.extension:pharmacode.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..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()))
                      32. Extension.extension:pharmaceutical.extension:ctppId
                      Slice NamectppId
                      Definition

                      An Extension

                      ShortExtension
                      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())
                      34. Extension.extension:pharmaceutical.extension:ctppId.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
                      36. Extension.extension:pharmaceutical.extension:ctppId.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.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

                        38. Extension.extension:pharmaceutical.extension:ctppId.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 Value
                        {
                          "url" : "ctppId"
                        }
                        <url value="ctppId"/>
                        40. Extension.extension:pharmaceutical.extension:ctppId.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..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()))
                        42. Extension.extension:pharmaceutical.extension:description
                        Slice Namedescription
                        Definition

                        An Extension

                        ShortExtension
                        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())
                        44. Extension.extension:pharmaceutical.extension:description.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
                        46. Extension.extension:pharmaceutical.extension:description.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.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                        • value @ url
                        • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

                          48. Extension.extension:pharmaceutical.extension:description.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 Value
                          {
                            "url" : "description"
                          }
                          <url value="description"/>
                          50. Extension.extension:pharmaceutical.extension:description.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..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()))
                          52. Extension.extension:pharmaceutical.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 Value
                          {
                            "url" : "pharmaceutical"
                          }
                          <url value="pharmaceutical"/>
                          54. Extension.extension:pharmaceutical.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()))
                          56. Extension.extension:category
                          Slice Namecategory
                          Definition

                          An Extension

                          ShortProduct category - only when type is PRODUCT_CATEGORY
                          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())
                          58. Extension.extension:category.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
                          60. Extension.extension:category.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
                          • Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them

                            62. Extension.extension:category.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 Value
                            {
                              "url" : "category"
                            }
                            <url value="category"/>
                            64. Extension.extension:category.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..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()))
                            66. 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 Value
                            {
                              "url" : "https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-coverage"
                            }
                            <url value="https://fhir-ig.digital.health.nz/special-authority/StructureDefinition/approval-coverage"/>
                            68. 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()))