This page is part of the FHIR Specification (v3.3.0: R4 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Modeling and Methodology Work Group | Maturity Level: N/A | Ballot Status: Informative |
StructureDefinition for Extension
<StructureDefinition xmlns="http://hl7.org/fhir"> <id value="Extension"/> <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"> <table border="0" cellpadding="0" cellspacing="0" style="border: 0px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top;"> <tr style="border: 1px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top;"> <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"> <a href="formats.html#table" title="The logical name of the element">Name</a> </th> <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"> <a href="formats.html#table" title="Information about the use of the element">Flags</a> </th> <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"> <a href="formats.html#table" title="Minimum and Maximum # of times the the element can appear in the instance">Card.</a> </th> <th class="hierarchy" style="width: 100px"> <a href="formats.html#table" title="Reference to the type of the element">Type</a> </th> <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"> <a href="formats.html#table" title="Additional information about the element">Description & Constraints</a> <span style="float: right"> <a href="formats.html#table" title="Legend for this format"> <img alt="doco" src="help16.png" style="background-color: inherit"/> </a> </span> </th> </tr> <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white;"> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(data: image/png;base64,iVBORw0KG goAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAL0lEQVR42u3XsQ0AQAgCQHdl/xn8jxvYWB3JlTR0VJLa+OltBwAAYP6EEQAAgC sPVYVAgIJrA/sAAAAASUVORK5CYII=)"> <img alt="." class="hierarchy" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAWCAYAAAABxvaqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB 3RJTUUH3wYeFzIs1vtcMQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAE0lEQVQI12P4//8/AxMDAw NdCABMPwMo2ctnoQAAAABJRU5ErkJggg==" style="background-color: inherit"/> <img alt="." class="hierarchy" src="data: image/png;base64,R0lGODlhEAAQAMQfAOvGUf7ztuvPMf/78/fkl/Pbg+u8Rvjqteu2Pf3zxPz36Pz0z+vTmPzurPvuw /npofbjquvNefHVduuyN+uuMu3Oafbgjfnqvf/3zv/3xevPi+vRjP/20/bmsP///////yH5BAEAAB8ALAAAAAAQABAAAAV24CeOZG mepqeqqOgxjBZFa+19r4ftWQUAgqDgltthMshMIJAZ4jYDHsBARSAmFOJvq+g6HIdEFgcYmBWNxoNAsDjGHgBnmV5bCoUDHLBIq9s FEhIdcAYJdYASFRUQhQkLCwkOFwcdEBAXhVabE52ecDahKy0oIQA7" style="background-color: white; background-color: inherit" title="Element"/> <a href="extensibility-definitions.html#Extension" title="Extension : Optional Extension Element - found in all resources.">Extension</a> <a name="Extension"> </a> </td> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"> <a href="conformance-rules.html#constraints" style="padding-left: 3px; padding-right: 3px; color: black; background-color: white" title="This element has or is affected by some invariants">I</a> <a href="versions.html#std-process" style="padding-left: 3px; padding-right: 3px; border: 1px grey solid; font-weight: bold; color: black; background-color: #e6ffe6" title="Ballot Status = Normative">N</a> </td> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"/> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"> <a href="element.html">Element</a> </td> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px">Optional Extensions Element <br/> <span style="font-style: italic" title="ext-1">+ Must have either extensions or value[x], not both</span> <br/> Elements defined in Ancestors: <a href="element.html#Element" title="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.">id</a> , <a href="element.html#Element" title="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.">extension</a> </td> </tr> <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white;"> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(data: image/png;base64,iVBORw0KG goAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAL0lEQVR42u3XsQ0AQAgCQHdl/xn8jxvYWB3JlTR0VJLa+OltBwAAYP6EEQAAgC sPVYVAgIJrA/sAAAAASUVORK5CYII=)"> <img alt="." class="hierarchy" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAWCAYAAAABxvaqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB 3RJTUUH3wYeFzIs1vtcMQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAE0lEQVQI12P4//8/AxMDAw NdCABMPwMo2ctnoQAAAABJRU5ErkJggg==" style="background-color: inherit"/> <img alt="." class="hierarchy" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAWCAYAAADJqhx8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB 3RJTUUH3wYeFzI3XJ6V3QAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAANklEQVQ4y+2RsQ0AIAzDav 7/2VzQwoCY4iWbZSmo1QGoUgNMghvWaIejPQW/CrrNCylIwcOCDYfLNRcNer4SAAAAAElFTkSuQmCC" style="background-color: inherit"/> <img alt="." class="hierarchy" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIW XMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gYBFzI0BrFQCwAAAERJREFUOMtj/P//PwMlgImBQjDwBrCcOnWKokBgYWBgYDCU+06W5i 8MUggvnH/EOVJjAW4AuQHJ+O75LYqikXE0LzAAALePEntTkEoSAAAAAElFTkSuQmCC" style="background-color: white; background-color: inherit" title="Primitive Data Type"/> <a href="extensibility-definitions.html#Extension.url" title="Extension.url : Source of the definition for the extension code - a logical name or a URL.">url</a> <a name="Extension.url"> </a> </td> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"/> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px">1..1</td> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"> <a href="datatypes.html#uri">uri</a> </td> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px">identifies the meaning of the extension</td> </tr> <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white;"> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(data: image/png;base64,iVBORw0KG goAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAI0lEQVR42u3QIQEAAAACIL/6/4MvTAQOkLYBAAB4kAAAANwMad9AqkRjgNAAAA AASUVORK5CYII=)"> <img alt="." class="hierarchy" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAWCAYAAAABxvaqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB 3RJTUUH3wYeFzIs1vtcMQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAE0lEQVQI12P4//8/AxMDAw NdCABMPwMo2ctnoQAAAABJRU5ErkJggg==" style="background-color: inherit"/> <img alt="." class="hierarchy" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAWCAYAAADJqhx8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB 3RJTUUH3wYeFzME+lXFigAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAANklEQVQ4y+3OsRUAIAjEUO L+O8cJABttJM11/x1qZAGqRBEVcNIqdWj1efDqQbb3HwwwwEfABmQUHSPM9dtDAAAAAElFTkSuQmCC" style="background-color: inherit"/> <img alt="." class="hierarchy" src="data: image/png;base64,R0lGODlhEAAQAOZ/APrkusOiYvvfqbiXWaV2G+jGhdq1b8GgYf3v1frw3vTUlsWkZNewbcSjY/DQk ad4Hb6dXv3u0f3v1ObEgfPTlerJiP3w1v79+e7OkPrfrfnjuNOtZPrpydaxa+/YrvvdpP779ZxvFPvnwKKBQaFyF/369M2vdaqHRP z58/HNh/vowufFhfroxO3OkPrluv779tK0e6JzGProwvrow9m4eOnIifPTlPDPkP78+Naxaf3v0/zowfXRi+bFhLWUVv379/rnwPv szv3rye3LiPvnv+3MjPDasKiIS/789/3x2f747eXDg+7Mifvu0tu7f+/QkfDTnPXWmPrjsvrjtPbPgrqZW+/QlPz48K2EMv36866O UPvowat8Ivvgq/Pbrvzgq/PguvrgrqN0Gda2evfYm9+7d/rpw9q6e/LSku/Rl/XVl/LSlfrkt+zVqe7Wqv3x1/bNffbOf59wFdS6i f3u0vrqyP3owPvepfXQivDQkO/PkKh9K7STVf779P///////yH5BAEAAH8ALAAAAAAQABAAAAfNgH+Cg36FfoOIhH4JBxBghYl/hQ kNAV0IVT5GkJKLCwtQaSsSdx9aR26Gcwt2IkQaNRI6dBERIzCFDSgWSW8WCDkbBnoOQ3uFARc/JQJfCAZlT0x4ZFyFBxdNQT9ZCBN WKQoKUQ+FEDgcdTIAV14YDmg2CgSFA0hmQC5TLE4VRTdrKJAoxOeFCzZSwsw4U6BCizwUQhQyEaAPiAwCVNCY0FCNnA6GPAwYoETI FgY9loiRA4dToTYnsOxg8CBGHE6ICvEYQ4AKzkidfgoKBAA7" style="background-color: white; background-color: inherit" title="Data Type"/> <a href="extensibility-definitions.html#Extension.value_x_" title="Extension.value[x] : Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).">value[x]</a> <a name="Extension.value_x_"> </a> </td> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"/> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px">0..1</td> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px"> <a href="datatypes.html#open">*</a> </td> <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px">Value of extension</td> </tr> <tr> <td class="hierarchy" colspan="5"> <br/> <a href="formats.html#table" title="Legend for this format"> <img alt="doco" src="help16.png" style="background-color: inherit"/> Documentation for this format </a> </td> </tr> </table> </div> </text> <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-ballot-status"> <valueString value="Normative"/> </extension> <url value="http://hl7.org/fhir/StructureDefinition/Extension"/> <name value="Extension"/> <status value="draft"/> <date value="2018-04-03T12:05:46+10:00"/> <publisher value="HL7 FHIR Standard"/> <contact> <telecom> <system value="url"/> <value value="http://hl7.org/fhir"/> </telecom> </contact> <description value="Base StructureDefinition for Extension Type: Optional Extension Element - found in all resources."/> <purpose value="The ability to add extensions in a structured way is what keeps FHIR resources simple."/> <fhirVersion value="3.3.0"/> <mapping> <identity value="rim"/> <uri value="http://hl7.org/v3"/> <name value="RIM Mapping"/> </mapping> <kind value="complex-type"/> <abstract value="false"/> <type value="Extension"/> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element"/> <derivation value="specialization"/> <snapshot> <element id="Extension"> <path value="Extension"/> <short value="Optional Extensions Element"/> <definition value="Optional Extension Element - found in all resources."/> <min value="0"/> <max value="*"/> <base> <path value="Extension"/> <min value="0"/> <max value="*"/> </base> <condition value="ele-1"/> <constraint> <key value="ele-1"/> <severity value="error"/> <human value="All FHIR elements must have a @value or children"/> <expression value="hasValue() | (children().count() > id.count())"/> <xpath value="@value|f:*|h:div"/> <source value="Element"/> </constraint> <constraint> <key value="ext-1"/> <severity value="error"/> <human value="Must have either extensions or value[x], not both"/> <expression value="extension.exists() != value.exists()"/> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"/> </constraint> <isModifier value="false"/> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element id="Extension.id"> <path value="Extension.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/> <min value="0"/> <max value="1"/> <base> <path value="Element.id"/> <min value="0"/> <max value="1"/> </base> <type> <code value="string"/> </type> <isModifier value="false"/> <isSummary value="false"/> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element id="Extension.extension"> <path value="Extension.extension"/> <slicing> <discriminator> <type value="value"/> <path value="url"/> </discriminator> <description value="Extensions are always sliced by (at least) url"/> <rules value="open"/> </slicing> <short value="Additional content defined by implementations"/> <definition value="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."/> <comment value="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."/> <alias value="extensions"/> <alias value="user content"/> <min value="0"/> <max value="*"/> <base> <path value="Element.extension"/> <min value="0"/> <max value="*"/> </base> <type> <code value="Extension"/> </type> <isModifier value="false"/> <isSummary value="false"/> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element id="Extension.url"> <path value="Extension.url"/> <representation value="xmlAttr"/> <short value="identifies the meaning of the extension"/> <definition value="Source of the definition for the extension code - a logical name or a URL."/> <comment value="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."/> <min value="1"/> <max value="1"/> <base> <path value="Extension.url"/> <min value="1"/> <max value="1"/> </base> <type> <code value="uri"/> </type> <isModifier value="false"/> <isSummary value="false"/> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element id="Extension.value[x]"> <path value="Extension.value[x]"/> <short value="Value of extension"/> <definition value="Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list)."/> <min value="0"/> <max value="1"/> <base> <path value="Extension.value[x]"/> <min value="0"/> <max value="1"/> </base> <type> <code value="base64Binary"/> </type> <type> <code value="boolean"/> </type> <type> <code value="canonical"/> </type> <type> <code value="code"/> </type> <type> <code value="date"/> </type> <type> <code value="dateTime"/> </type> <type> <code value="decimal"/> </type> <type> <code value="id"/> </type> <type> <code value="instant"/> </type> <type> <code value="integer"/> </type> <type> <code value="markdown"/> </type> <type> <code value="oid"/> </type> <type> <code value="positiveInt"/> </type> <type> <code value="string"/> </type> <type> <code value="time"/> </type> <type> <code value="unsignedInt"/> </type> <type> <code value="uri"/> </type> <type> <code value="url"/> </type> <type> <code value="uuid"/> </type> <type> <code value="Address"/> </type> <type> <code value="Age"/> </type> <type> <code value="Annotation"/> </type> <type> <code value="Attachment"/> </type> <type> <code value="CodeableConcept"/> </type> <type> <code value="Coding"/> </type> <type> <code value="ContactPoint"/> </type> <type> <code value="Count"/> </type> <type> <code value="Distance"/> </type> <type> <code value="Duration"/> </type> <type> <code value="HumanName"/> </type> <type> <code value="Identifier"/> </type> <type> <code value="Money"/> </type> <type> <code value="Period"/> </type> <type> <code value="Quantity"/> </type> <type> <code value="Range"/> </type> <type> <code value="Ratio"/> </type> <type> <code value="Reference"/> </type> <type> <code value="SampledData"/> </type> <type> <code value="Signature"/> </type> <type> <code value="Timing"/> </type> <type> <code value="ParameterDefinition"/> </type> <type> <code value="DataRequirement"/> </type> <type> <code value="RelatedArtifact"/> </type> <type> <code value="ContactDetail"/> </type> <type> <code value="Contributor"/> </type> <type> <code value="TriggerDefinition"/> </type> <type> <code value="UsageContext"/> </type> <type> <code value="Dosage"/> </type> <isModifier value="false"/> <isSummary value="false"/> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> </snapshot> <differential> <element id="Extension"> <path value="Extension"/> <short value="Optional Extensions Element"/> <definition value="Optional Extension Element - found in all resources."/> <min value="0"/> <max value="*"/> <constraint> <key value="ext-1"/> <severity value="error"/> <human value="Must have either extensions or value[x], not both"/> <expression value="extension.exists() != value.exists()"/> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"/> </constraint> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element id="Extension.url"> <path value="Extension.url"/> <representation value="xmlAttr"/> <short value="identifies the meaning of the extension"/> <definition value="Source of the definition for the extension code - a logical name or a URL."/> <comment value="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."/> <min value="1"/> <max value="1"/> <type> <code value="uri"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element id="Extension.value[x]"> <path value="Extension.value[x]"/> <short value="Value of extension"/> <definition value="Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list)."/> <min value="0"/> <max value="1"/> <type> <code value="base64Binary"/> </type> <type> <code value="boolean"/> </type> <type> <code value="canonical"/> </type> <type> <code value="code"/> </type> <type> <code value="date"/> </type> <type> <code value="dateTime"/> </type> <type> <code value="decimal"/> </type> <type> <code value="id"/> </type> <type> <code value="instant"/> </type> <type> <code value="integer"/> </type> <type> <code value="markdown"/> </type> <type> <code value="oid"/> </type> <type> <code value="positiveInt"/> </type> <type> <code value="string"/> </type> <type> <code value="time"/> </type> <type> <code value="unsignedInt"/> </type> <type> <code value="uri"/> </type> <type> <code value="url"/> </type> <type> <code value="uuid"/> </type> <type> <code value="Address"/> </type> <type> <code value="Age"/> </type> <type> <code value="Annotation"/> </type> <type> <code value="Attachment"/> </type> <type> <code value="CodeableConcept"/> </type> <type> <code value="Coding"/> </type> <type> <code value="ContactPoint"/> </type> <type> <code value="Count"/> </type> <type> <code value="Distance"/> </type> <type> <code value="Duration"/> </type> <type> <code value="HumanName"/> </type> <type> <code value="Identifier"/> </type> <type> <code value="Money"/> </type> <type> <code value="Period"/> </type> <type> <code value="Quantity"/> </type> <type> <code value="Range"/> </type> <type> <code value="Ratio"/> </type> <type> <code value="Reference"/> </type> <type> <code value="SampledData"/> </type> <type> <code value="Signature"/> </type> <type> <code value="Timing"/> </type> <type> <code value="ParameterDefinition"/> </type> <type> <code value="DataRequirement"/> </type> <type> <code value="RelatedArtifact"/> </type> <type> <code value="ContactDetail"/> </type> <type> <code value="Contributor"/> </type> <type> <code value="TriggerDefinition"/> </type> <type> <code value="UsageContext"/> </type> <type> <code value="Dosage"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> </differential> </StructureDefinition>
Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.