FHIR Tooling Extensions IG
0.3.0 - Release 0.2.0 International flag

FHIR Tooling Extensions IG, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 0.3.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/FHIR/fhir-tools-ig/ and changes regularly. See the Directory of published versions

Extension: TypeParameter - Detailed Descriptions

Active as of 2024-12-13 Maturity Level: 2

Definitions for the type-parameter extension.

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

0. Extension
Definition

type-parameters applied to bindable elements.

ShortIndicates that this repeating element is represented as an object in json and the named one of the two sub-elements is the key for the other one
Control0..*
2. Extension.extension
Control2..2
SlicingThis element introduces a set of slices on Extension.extension. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
  • value @ url
  • 4. Extension.extension:name
    Slice Namename
    Definition

    The name used for this type parameter

    ShortName used for this type parameter
    Control1..1
    TypeExtension
    6. Extension.extension:name.extension
    Control0..0
    8. Extension.extension:name.url
    Typeuri
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Fixed Valuename
    10. Extension.extension:name.value[x]
    Control1..?
    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:type
    Slice Nametype
    ShortThe base type for the parameter (use http://hl7.org/fhir/StructureDefinition/Base for any type)
    Control1..1
    TypeExtension
    14. Extension.extension:type.extension
    Control0..0
    16. Extension.extension:type.url
    Typeuri
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Fixed Valuetype
    18. Extension.extension:type.value[x]
    Control1..?
    Typeuri
    [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.url
    Fixed Valuehttp://hl7.org/fhir/tools/StructureDefinition/type-parameter
    22. Extension.value[x]
    Control0..0

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

    0. Extension
    Definition

    type-parameters applied to bindable elements.


    Optional Extension Element - found in all resources.

    ShortIndicates that this repeating element is represented as an object in json and the named one of the two sub-elements is the key for the other oneOptional Extensions Element
    Control0..*
    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())
    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 managable, 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.

    Control20..2*
    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 ClosedOpen, and can be differentiated using the following discriminators:
    • value @ url
    • 4. Extension.extension:name
      Slice Namename
      Definition

      The name used for this type parameter

      ShortName used for this type parameterAdditional content defined by implementations
      Control10..1*
      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())
      6. Extension.extension:name.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 managable, 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:name.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
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        Fixed Valuename
        10. Extension.extension:name.value[x]
        Definition

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

        ShortValue of extension
        Control10..1
        This element is affected by the following invariants: ext-1
        Typecode, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, RatioRange, Coding, SampledData, id, positiveInt, Distance, Availability, integer64, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, ExtendedContactDetail, CodeableConcept, ParameterDefinition, dateTime, string, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, CodeableReference, 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:type
        Slice Nametype
        Definition

        An Extension

        ShortThe base type for the parameter (use http://hl7.org/fhir/StructureDefinition/Base for any type)Additional content defined by implementations
        Control10..1*
        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())
        14. 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 managable, 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: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
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          Fixed Valuetype
          18. 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
          Control10..1
          This element is affected by the following invariants: ext-1
          Typeuri, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, RatioRange, Coding, SampledData, id, positiveInt, Distance, Availability, integer64, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, ExtendedContactDetail, CodeableConcept, ParameterDefinition, dateTime, code, string, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, url, Annotation, ContactDetail, boolean, Expression, CodeableReference, Signature, unsignedInt, time
          [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          20. Extension.url
          Definition

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

          Shortidentifies the meaning of the extension
          Comments

          The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

          Control1..1
          Typeuri
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          Fixed Valuehttp://hl7.org/fhir/tools/StructureDefinition/type-parameter
          22. 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
          This element is affected by the following invariants: ext-1
          TypeChoice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, integer64, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, CodeableReference, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, RatioRange, Reference, SampledData, Signature, Timing, ContactDetail, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Availability, ExtendedContactDetail, 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 found here

          0. Extension
          Definition

          type-parameters applied to bindable elements.

          ShortIndicates that this repeating element is represented as an object in json and the named one of the two sub-elements is the key for the other one
          Control0..*
          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())
          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
          This element is affected by the following invariants: ele-1
          Typeid
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          4. Extension.extension
          Definition

          An Extension

          ShortExtension
          Control2..2
          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 Closed, and can be differentiated using the following discriminators:
          • value @ url
          • 6. Extension.extension:name
            Slice Namename
            Definition

            The name used for this type parameter

            ShortName used for this type parameter
            Control1..1
            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())
            8. Extension.extension:name.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
            This element is affected by the following invariants: ele-1
            Typeid
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            10. Extension.extension:name.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:name.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
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              XML FormatIn the XML format, this property is represented as an attribute.
              Summaryfalse
              Fixed Valuename
              14. Extension.extension:name.value[x]
              Definition

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

              ShortValue of extension
              Control1..1
              This element is affected by the following invariants: ext-1
              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:type
              Slice Nametype
              Definition

              An Extension

              ShortThe base type for the parameter (use http://hl7.org/fhir/StructureDefinition/Base for any type)
              Control1..1
              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())
              18. 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
              This element is affected by the following invariants: ele-1
              Typeid
              Is Modifierfalse
              XML FormatIn the XML format, this property is represented as an attribute.
              Summaryfalse
              20. 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
              • 22. 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
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                XML FormatIn the XML format, this property is represented as an attribute.
                Summaryfalse
                Fixed Valuetype
                24. 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
                Control1..1
                This element is affected by the following invariants: ext-1
                Typeuri
                [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.url
                Definition

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

                Shortidentifies the meaning of the extension
                Comments

                The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

                Control1..1
                Typeuri
                Is Modifierfalse
                XML FormatIn the XML format, this property is represented as an attribute.
                Summaryfalse
                Fixed Valuehttp://hl7.org/fhir/tools/StructureDefinition/type-parameter
                28. 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
                This element is affected by the following invariants: ext-1
                TypeChoice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, integer64, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, CodeableReference, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, RatioRange, Reference, SampledData, Signature, Timing, ContactDetail, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Availability, ExtendedContactDetail, 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()))