Extension

⚠️ This is a template for describing your Extension (StructureDefinition) resource. To start, update the canonical URL above to the one of your resource. Don't forget to remove this paragraph.

Metadata

These are the details for this resource:

NameContextCanonical_URLStatus
FavouriteCowboyHatElementhttp://example.org/StructureDefinition/FavouriteCowboyHatactive

Context

This extension can be used on element: Element

Resource content

These are different views on this resource:

This is the tree view:
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valueCodingCoding
This is the detailed view:
Extension
DefinitionOptional Extension Element - found in all resources.
Cardinality0...*
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Extension.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Extension.extension
DefinitionMay 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.
Cardinality0...0
TypeExtension
Aliasextensions, user content
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Extension.url
DefinitionSource of the definition for the extension code - a logical name or a URL.
Cardinality1...1
Typeuri
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.

Fixed Value

http://example.org/StructureDefinition/FavouriteCowboyHat

Mappings
  • rim: N/A
Extension.value[x]
DefinitionValue of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
Cardinality0...1
TypeCoding
BindingAllCowboyHatTypes (required)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
This is the resource in XML:
<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="FavouriteCowboyHat" />
    <url value="http://example.org/StructureDefinition/FavouriteCowboyHat" />
    <name value="FavouriteCowboyHat" />
    <status value="active" />
    <fhirVersion value="4.0.1" />
    <mapping>
        <identity value="rim" />
        <uri value="http://hl7.org/v3" />
        <name value="RIM Mapping" />
    </mapping>
    <kind value="complex-type" />
    <abstract value="false" />
    <context>
        <type value="element" />
        <expression value="Element" />
    </context>
    <type value="Extension" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
    <derivation value="constraint" />
    <differential>
        <element id="Extension.extension">
            <path value="Extension.extension" />
            <max value="0" />
        </element>
        <element id="Extension.url">
            <path value="Extension.url" />
            <fixedUri value="http://example.org/StructureDefinition/FavouriteCowboyHat" />
        </element>
        <element id="Extension.value[x]">
            <path value="Extension.value[x]" />
            <type>
                <code value="Coding" />
            </type>
            <binding>
                <strength value="required" />
                <valueSet value="http://example.org/ValueSet/AllCowboyHatTypes" />
            </binding>
        </element>
    </differential>
</StructureDefinition>
This is the resource in JSON:
{
    "resourceType": "StructureDefinition",
    "id": "FavouriteCowboyHat",
    "url": "http://example.org/StructureDefinition/FavouriteCowboyHat",
    "name": "FavouriteCowboyHat",
    "status": "active",
    "fhirVersion": "4.0.1",
    "mapping":  [
        {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
        }
    ],
    "kind": "complex-type",
    "abstract": false,
    "context":  [
        {
            "type": "element",
            "expression": "Element"
        }
    ],
    "type": "Extension",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Extension.extension",
                "path": "Extension.extension",
                "max": "0"
            },
            {
                "id": "Extension.url",
                "path": "Extension.url",
                "fixedUri": "http://example.org/StructureDefinition/FavouriteCowboyHat"
            },
            {
                "id": "Extension.value[x]",
                "path": "Extension.value[x]",
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "binding": {
                    "strength": "required",
                    "valueSet": "http://example.org/ValueSet/AllCowboyHatTypes"
                }
            }
        ]
    }
}

Terminology Bindings

These are the terminology bindings within this resource:

PathConformanceValueSet
Extension.value[x]requiredhttp://example.org/ValueSet/AllCowboyHatTypes

Constraints

These are the constraints (invariants) defined within this resource: