Integrated Campaign Registry (ICR) Implementation Guide
0.1.0 - ci-build International flag

Integrated Campaign Registry (ICR) Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Extension: SpatialIndex - Detailed Descriptions

Draft as of 2026-09-06

Definitions for the spatial-index extension.

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

0. Extension
Definition

A spatial index cell derived from the Location's position: which tiling scheme (quadkey | h3 | geohash), at what level (quadkey zoom / H3 resolution / geohash precision), and the cell key. Repeatable — a point carries at most one cell per scheme and level (ICRLocation invariant icr-loc-spatial-one-per-level); several schemes and levels may coexist. Quadkey and geohash cells are prefix-hierarchical, so a FHIR string search on the cell (Location?quadkey=0313…) answers 'every point inside this coarser tile' with no geometry engine; H3 cells join on exact match. Derived data: written by the loader (kiln) at import or as a backfill edit, recomputed whenever the position changes, never hand-entered. Not an identifier — many places share a cell (spatial-index round, Sep 2026).


Optional Extension Element - found in all resources.

ShortSpatial Index CellOptional 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())
icr-spatial-quadkey: A quadkey cell is base-4 digits, exactly level characters long, level 1–23. (extension.where(url = 'system').value = 'quadkey' implies (extension.where(url = 'cell').value.matches('^[0-3]+$') and extension.where(url = 'cell').value.length() = extension.where(url = 'level').value and extension.where(url = 'level').value >= 1 and extension.where(url = 'level').value <= 23))
icr-spatial-h3: An H3 cell is a 15-hex-character index, level (resolution) 0–15. (extension.where(url = 'system').value = 'h3' implies (extension.where(url = 'cell').value.matches('^[0-9a-f]{15}$') and extension.where(url = 'level').value <= 15))
icr-spatial-geohash: A geohash cell is base-32 characters, exactly level characters long, level 1–12. (extension.where(url = 'system').value = 'geohash' implies (extension.where(url = 'cell').value.matches('^[0-9b-hjkmnp-z]+$') and extension.where(url = 'cell').value.length() = extension.where(url = 'level').value and extension.where(url = 'level').value >= 1 and extension.where(url = 'level').value <= 12))
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.

Control30..*
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:system
    Slice Namesystem
    Definition

    An Extension

    Shortquadkey | h3 | geohashAdditional 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:system.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:system.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 Valuesystem
      10. Extension.extension:system.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 ICR Spatial Index Scheme
      (required to https://icr.healthcampaigns.org/ValueSet/icr-spatial-index)
      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:level
      Slice Namelevel
      Definition

      An Extension

      ShortQuadkey zoom (1–23), H3 resolution (0–15), geohash precision (1–12) — explicit even where recoverable from the cell, so 'every point indexed at level 18' is a plain queryAdditional 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())
      14. Extension.extension:level.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:level.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 Valuelevel
        18. Extension.extension:level.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
        TypeunsignedInt, 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, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, 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:cell
        Slice Namecell
        Definition

        An Extension

        ShortThe cell key in the scheme's canonical string form (quadkey: base-4 digits; h3: 15 hex chars; geohash: base-32)Additional 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())
        22. Extension.extension:cell.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:cell.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 Valuecell
          26. Extension.extension:cell.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()))
          28. 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 Valuehttps://icr.healthcampaigns.org/StructureDefinition/spatial-index
          30. 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

          A spatial index cell derived from the Location's position: which tiling scheme (quadkey | h3 | geohash), at what level (quadkey zoom / H3 resolution / geohash precision), and the cell key. Repeatable — a point carries at most one cell per scheme and level (ICRLocation invariant icr-loc-spatial-one-per-level); several schemes and levels may coexist. Quadkey and geohash cells are prefix-hierarchical, so a FHIR string search on the cell (Location?quadkey=0313…) answers 'every point inside this coarser tile' with no geometry engine; H3 cells join on exact match. Derived data: written by the loader (kiln) at import or as a backfill edit, recomputed whenever the position changes, never hand-entered. Not an identifier — many places share a cell (spatial-index round, Sep 2026).

          ShortSpatial Index Cell
          Invariantsicr-spatial-quadkey: A quadkey cell is base-4 digits, exactly level characters long, level 1–23. (extension.where(url = 'system').value = 'quadkey' implies (extension.where(url = 'cell').value.matches('^[0-3]+$') and extension.where(url = 'cell').value.length() = extension.where(url = 'level').value and extension.where(url = 'level').value >= 1 and extension.where(url = 'level').value <= 23))
          icr-spatial-h3: An H3 cell is a 15-hex-character index, level (resolution) 0–15. (extension.where(url = 'system').value = 'h3' implies (extension.where(url = 'cell').value.matches('^[0-9a-f]{15}$') and extension.where(url = 'level').value <= 15))
          icr-spatial-geohash: A geohash cell is base-32 characters, exactly level characters long, level 1–12. (extension.where(url = 'system').value = 'geohash' implies (extension.where(url = 'cell').value.matches('^[0-9b-hjkmnp-z]+$') and extension.where(url = 'cell').value.length() = extension.where(url = 'level').value and extension.where(url = 'level').value >= 1 and extension.where(url = 'level').value <= 12))
          2. Extension.extension
          Control3..?
          4. Extension.extension:system
          Slice Namesystem
          Shortquadkey | h3 | geohash
          Control1..1
          Must Supporttrue
          6. Extension.extension:system.extension
          Control0..0
          8. Extension.extension:system.url
          Fixed Valuesystem
          10. Extension.extension:system.value[x]
          BindingThe codes SHALL be taken from ICR Spatial Index Scheme
          (required to https://icr.healthcampaigns.org/ValueSet/icr-spatial-index)
          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:level
          Slice Namelevel
          ShortQuadkey zoom (1–23), H3 resolution (0–15), geohash precision (1–12) — explicit even where recoverable from the cell, so 'every point indexed at level 18' is a plain query
          Control1..1
          Must Supporttrue
          14. Extension.extension:level.extension
          Control0..0
          16. Extension.extension:level.url
          Fixed Valuelevel
          18. Extension.extension:level.value[x]
          TypeunsignedInt
          [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:cell
          Slice Namecell
          ShortThe cell key in the scheme's canonical string form (quadkey: base-4 digits; h3: 15 hex chars; geohash: base-32)
          Control1..1
          Must Supporttrue
          22. Extension.extension:cell.extension
          Control0..0
          24. Extension.extension:cell.url
          Fixed Valuecell
          26. Extension.extension:cell.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
          28. Extension.url
          Fixed Valuehttps://icr.healthcampaigns.org/StructureDefinition/spatial-index
          30. Extension.value[x]
          Control0..0

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

          0. Extension
          Definition

          A spatial index cell derived from the Location's position: which tiling scheme (quadkey | h3 | geohash), at what level (quadkey zoom / H3 resolution / geohash precision), and the cell key. Repeatable — a point carries at most one cell per scheme and level (ICRLocation invariant icr-loc-spatial-one-per-level); several schemes and levels may coexist. Quadkey and geohash cells are prefix-hierarchical, so a FHIR string search on the cell (Location?quadkey=0313…) answers 'every point inside this coarser tile' with no geometry engine; H3 cells join on exact match. Derived data: written by the loader (kiln) at import or as a backfill edit, recomputed whenever the position changes, never hand-entered. Not an identifier — many places share a cell (spatial-index round, Sep 2026).

          ShortSpatial Index Cell
          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())
          icr-spatial-quadkey: A quadkey cell is base-4 digits, exactly level characters long, level 1–23. (extension.where(url = 'system').value = 'quadkey' implies (extension.where(url = 'cell').value.matches('^[0-3]+$') and extension.where(url = 'cell').value.length() = extension.where(url = 'level').value and extension.where(url = 'level').value >= 1 and extension.where(url = 'level').value <= 23))
          icr-spatial-h3: An H3 cell is a 15-hex-character index, level (resolution) 0–15. (extension.where(url = 'system').value = 'h3' implies (extension.where(url = 'cell').value.matches('^[0-9a-f]{15}$') and extension.where(url = 'level').value <= 15))
          icr-spatial-geohash: A geohash cell is base-32 characters, exactly level characters long, level 1–12. (extension.where(url = 'system').value = 'geohash' implies (extension.where(url = 'cell').value.matches('^[0-9b-hjkmnp-z]+$') and extension.where(url = 'cell').value.length() = extension.where(url = 'level').value and extension.where(url = 'level').value >= 1 and extension.where(url = 'level').value <= 12))
          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
          Control3..*
          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:system
            Slice Namesystem
            Definition

            An Extension

            Shortquadkey | h3 | geohash
            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:system.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:system.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:system.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 Valuesystem
              14. Extension.extension:system.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 ICR Spatial Index Scheme
              (required to https://icr.healthcampaigns.org/ValueSet/icr-spatial-index)
              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:level
              Slice Namelevel
              Definition

              An Extension

              ShortQuadkey zoom (1–23), H3 resolution (0–15), geohash precision (1–12) — explicit even where recoverable from the cell, so 'every point indexed at level 18' is a plain query
              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())
              18. Extension.extension:level.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:level.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:level.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 Valuelevel
                24. Extension.extension:level.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
                TypeunsignedInt
                [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:cell
                Slice Namecell
                Definition

                An Extension

                ShortThe cell key in the scheme's canonical string form (quadkey: base-4 digits; h3: 15 hex chars; geohash: base-32)
                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())
                28. Extension.extension:cell.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:cell.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:cell.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 Valuecell
                  34. Extension.extension:cell.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()))
                  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 Valuehttps://icr.healthcampaigns.org/StructureDefinition/spatial-index
                  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..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()))