Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: R5 Ballot - see ballot notes). 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

Example StructureDefinition/BackboneElement (XML)

Modeling and Methodology Work GroupMaturity Level: N/AStandards Status: Informative

Raw XML (canonical form + also see XML Format Specification)

StructureDefinition for BackboneElement

<?xml version="1.0" encoding="UTF-8"?>

<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="BackboneElement"/> 
  <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 &amp; 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;bas
          e64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAI0lEQVR42u3QIQEAAAACIL/6/4MvTAQOkLYBAAB4kA
          AAANwMad9AqkRjgNAAAAAASUVORK5CYII=)">
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAWCAYAAAABxvaqAAAACXBIWXMAAAsTAAALEwEAmpw
            YAAAAB3RJTUUH3wYeFzIs1vtcMQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAE0lEQVQI1
            2P4//8/AxMDAwNdCABMPwMo2ctnoQAAAABJRU5ErkJggg==" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:image/png;base64,R0lGODlhEAAQAPQfAOvGUf7ztuvPMf/78/fkl/Pbg+u8Rvjqteu2Pf3zxPz36Pz0z+vTmPz
            urPvuw/npofbjquvNefHVduuyN+uuMu3Oafbgjfnqvf/3zv/3xevPi+vRjP/20/bmsP///wD/ACH5BAEKAB8ALAAAAAAQA
            BAAAAVl4CeOZGme5qCqqDg8jyVJaz1876DsmAQAgqDgltspMEhMJoMZ4iy6I1AooFCIv+wKybziALVAoAEjYLwDgGIpJhM
            slgxaLR4/3rMAWoBp32V5exg8Shl1ckRUQVaMVkQ2kCstKCEAOw==" style="background-color: white; background-color: inherit" title="Element"/>  
            <a href="types-definitions.html#BackboneElement" title="BackboneElement : Base definition for all elements that are defined inside a resource
             - but not those in a data type.">BackboneElement</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="uml.html#abstract" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This is an abstract type">«A»</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="Standards 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="types.html#Element">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">Base for elements defined inside a resource
            <br/>  
            <br/>  Elements defined in Ancestors: 
            <a href="types.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="types.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:
         #F7F7F7">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image:
           url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAI0lEQVR42u3QIQEAAAA
          CIL/6/4MvTAQOkLYBAAB4kAAAANwMad9AqkRjgNAAAAAASUVORK5CYII=)">
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAWCAYAAAABxvaqAAAACXBIWXMAAAsTAAALEwEAmpw
            YAAAAB3RJTUUH3wYeFzIs1vtcMQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAE0lEQVQI1
            2P4//8/AxMDAwNdCABMPwMo2ctnoQAAAABJRU5ErkJggg==" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAWCAYAAADJqhx8AAAACXBIWXMAAAsTAAALEwEAmpw
            YAAAAB3RJTUUH3wYeFzME+lXFigAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAANklEQVQ4y
            +3OsRUAIAjEUOL+O8cJABttJM11/x1qZAGqRBEVcNIqdWj1efDqQbb3HwwwwEfABmQUHSPM9dtDAAAAAElFTkSuQmCC" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl
            0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADdSURBVDjLY/j//z8DJZhhmBvw41KQ07dzbk5kG/Dtgu/Jb
            2fsT5JkwI+bqZw/rsfYA21v+XE97f+PS5H/vx5Ra/98QN7+824ZTiIMSJr580bW/x+3iv//etD9/+fdpv/fzwX+/3LY6P/
            n7TIzCRtwPYYZaPvGH7dKgAb0AA1o/v/tQsh/oO0bP26TZiYqDIB+1/1+wef/z3vN/3/erPr/5aAOyHZdogMRGPIe38/7g
            vz+Gej3z18OG/8H2u5BvAFn7GO/Htdv/3pAQejzXjkhoO3tH7dIxY7EpEwMBgAr6O5Q8udliwAAAABJRU5ErkJggg==" style="background-color: #F7F7F7; background-color: inherit" title="Extension"/>  
            <a href="types-definitions.html#BackboneElement.modifierExtension" title="BackboneElement.modifierExtension : May be used to represent additional information
             that is not part of the basic definition of the element and that modifies the understanding
             of the element in which it is contained and/or the understanding of the containing
             element's descendants. Usually modifier elements provide negation or qualification.
             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. Applications processing a resource are required to check for
             modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or
             DomainResource (including cannot change the meaning of modifierExtension itself).">modifierExtension</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">
            <a href="conformance-rules.html#isModifier" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is a modifier element">?!</a> 
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">0..*</td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">
            <a href="extensibility.html#Extension">Extension</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">Extensions that cannot be ignored even if unrecognized
            <br/>  
            <br/>  
          </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-standards-status">
    <valueCode value="normative"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
    <valueCode value="4.0.0"/> 
  </extension> 
  <url value="http://hl7.org/fhir/StructureDefinition/BackboneElement"/> 
  <version value="5.0.0-ballot"/> 
  <name value="BackboneElement"/> 
  <status value="active"/> 
  <experimental value="false"/> 
  <date value="2022-09-10T04:52:37+10:00"/> 
  <publisher value="HL7 FHIR Standard"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
  </contact> 
  <description value="BackboneElement Type: Base definition for all elements that are defined inside
   a resource - but not those in a data type."/> 
  <fhirVersion value="5.0.0-ballot"/> 
  <mapping> 
    <identity value="rim"/> 
    <uri value="http://hl7.org/v3"/> 
    <name value="RIM Mapping"/> 
  </mapping> 
  <kind value="complex-type"/> 
  <abstract value="true"/> 
  <type value="BackboneElement"/> 
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element"/> 
  <derivation value="specialization"/> 
  <snapshot> 
    <element id="BackboneElement">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
        <valueCode value="normative"/> 
      </extension> 
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
        <valueCode value="4.0.0"/> 
      </extension> 
      <path value="BackboneElement"/> 
      <short value="Base for elements defined inside a resource"/> 
      <definition value="Base definition for all elements that are defined inside a resource - but not those
       in a data type."/> 
      <min value="0"/> 
      <max value="*"/> 
      <base> 
        <path value="BackboneElement"/> 
        <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() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="n/a"/> 
      </mapping> 
    </element> 
    <element id="BackboneElement.id">
      <path value="BackboneElement.id"/> 
      <representation value="xmlAttr"/> 
      <short value="Unique id for inter-element referencing"/> 
      <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> 
    <!--  Note: special primitive values have a FHIRPath system type. e.g. this is compiler
       magic (j)  -->
      <type> 
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="id"/> 
        </extension> 
        <code value="http://hl7.org/fhirpath/System.String"/> 
      </type> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="n/a"/> 
      </mapping> 
    </element> 
    <element id="BackboneElement.extension">
      <path value="BackboneElement.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> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/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(.), &quot;value&quot;)])"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="n/a"/> 
      </mapping> 
    </element> 
    <element id="BackboneElement.modifierExtension">
      <path value="BackboneElement.modifierExtension"/> 
      <short value="Extensions that cannot be ignored even if unrecognized"/> 
      <definition value="May be used to represent additional information that is not part of the basic definition
       of the element and that modifies the understanding of the element in which it is
       contained and/or the understanding of the containing element's descendants. Usually
       modifier elements provide negation or qualification. 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.
       Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or
       DomainResource (including cannot change the meaning of modifierExtension itself)."/> 
      <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."/> 
      <requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be
       clearly distinguished from the vast majority of extensions which can be safely
       ignored.  This promotes interoperability by eliminating the need for implementers
       to prohibit the presence of extensions. For further information, see the [definition
       of modifier extensions](extensibility.html#modifierExtension)."/> 
      <alias value="extensions"/> 
      <alias value="user content"/> 
      <alias value="modifiers"/> 
      <min value="0"/> 
      <max value="*"/> 
      <base> 
        <path value="BackboneElement.modifierExtension"/> 
        <min value="0"/> 
        <max value="*"/> 
      </base> 
      <type> 
        <code value="Extension"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/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(.), &quot;value&quot;)])"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/> 
      </constraint> 
      <isModifier value="true"/> 
      <isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the
       element that contains them"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="N/A"/> 
      </mapping> 
    </element> 
  </snapshot> 
  <differential> 
    <element id="BackboneElement">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
        <valueCode value="normative"/> 
      </extension> 
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
        <valueCode value="4.0.0"/> 
      </extension> 
      <path value="BackboneElement"/> 
      <short value="Base for elements defined inside a resource"/> 
      <definition value="Base definition for all elements that are defined inside a resource - but not those
       in a data type."/> 
      <min value="0"/> 
      <max value="*"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="n/a"/> 
      </mapping> 
    </element> 
    <element id="BackboneElement.modifierExtension">
      <path value="BackboneElement.modifierExtension"/> 
      <short value="Extensions that cannot be ignored even if unrecognized"/> 
      <definition value="May be used to represent additional information that is not part of the basic definition
       of the element and that modifies the understanding of the element in which it is
       contained and/or the understanding of the containing element's descendants. Usually
       modifier elements provide negation or qualification. 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.
       Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or
       DomainResource (including cannot change the meaning of modifierExtension itself)."/> 
      <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."/> 
      <requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be
       clearly distinguished from the vast majority of extensions which can be safely
       ignored.  This promotes interoperability by eliminating the need for implementers
       to prohibit the presence of extensions. For further information, see the [definition
       of modifier extensions](extensibility.html#modifierExtension)."/> 
      <alias value="extensions"/> 
      <alias value="user content"/> 
      <alias value="modifiers"/> 
      <min value="0"/> 
      <max value="*"/> 
      <type> 
        <code value="Extension"/> 
      </type> 
      <isModifier value="true"/> 
      <isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the
       element that contains them"/> 
      <isSummary value="true"/> 
      <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.