<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="valueset-expand-group" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="vocab" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="1" />
  </extension>
  <url value="http://hl7.org/fhir/StructureDefinition/valueset-expand-group" />
  <version value="4.6.0" />
  <name value="expand-group" />
  <status value="draft" />
  <date value="2020-12-28T16:55:11+11:00" />
  <publisher value="HL7" />
  <description value="This extension declares a group of concepts that is generated into the ValueSet.expansion.contains hierarchy when the expansion is generated for a UI. THere is no inherent assigned meaning to the hierarchy; it is used to help the user navigate the concepts. Each group has a display and/or a code, and a list of members, which are either concepts in the value set, or other groups (by code)." />
  <fhirVersion value="4.6.0" />
  <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="ValueSet.compose.include" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="Defines a hierarchy structure (when in UI mode)" />
      <definition value="This extension declares a group of concepts that is generated into the ValueSet.expansion.contains hierarchy when the expansion is generated for a UI. THere is no inherent assigned meaning to the hierarchy; it is used to help the user navigate the concepts. Each group has a display and/or a code, and a list of members, which are either concepts in the value set, or other groups (by code)." />
      <comment value="Note that there are inter-relationships between concept status/properties and the way the groups are built; these are described and documented in the (value set hierarchical example)[d.html]. Note that this extension should be ignored when the expansion is not generated for UI." />
      <min value="0" />
      <max value="*" />
      <isModifier value="false" />
    </element>
    <element id="Extension.extension:code">
      <path value="Extension.extension" />
      <sliceName value="code" />
      <short value="Underlying code from the system" />
      <definition value="A reference to a code from the include.system that defines the meaning associated with the group. Note that including the code in this extension does not include the code in the value set; if the code is intended to be in the value set, it must be listed directly as well." />
      <comment value="If there is no code, the group purely exists for display, and has no underlying meaning." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
    </element>
    <element id="Extension.extension:code.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:code.url">
      <path value="Extension.extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="code" />
    </element>
    <element id="Extension.extension:code.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element id="Extension.extension:display">
      <path value="Extension.extension" />
      <sliceName value="display" />
      <short value="Display for the group" />
      <definition value="The description for the group (goes in ValueSet.expansion.contains.dispaly). All groups need a display; this can only be omitted if there is a code that can be used to determine the display." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
    </element>
    <element id="Extension.extension:display.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:display.url">
      <path value="Extension.extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="display" />
    </element>
    <element id="Extension.extension:display.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:member">
      <path value="Extension.extension" />
      <sliceName value="member" />
      <short value="Codes or other groups in this group" />
      <definition value="One of more codes that identify codes in the expansion or other groups." />
      <comment value="A group without a code can be included by giving it an id and using #[id] in place of the code." />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="Extension" />
      </type>
    </element>
    <element id="Extension.extension:member.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:member.url">
      <path value="Extension.extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="member" />
    </element>
    <element id="Extension.extension:member.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="http://hl7.org/fhir/StructureDefinition/valueset-expand-group" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <min value="0" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>