<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="capabilitystatement-search-parameter-combination" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="1" />
  </extension>
  <url value="http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" />
  <name value="search-parameter-combination" />
  <title value="Search Parameter Combination" />
  <status value="draft" />
  <date value="2014-04-12" />
  <publisher value="Health Level Seven, Inc. - [WG Name] WG" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://hl7.org/special/committees/fhir.htm" />
    </telecom>
  </contact>
  <description value="A container for a single allowable parameter combination." />
  <fhirVersion value="3.0.1" />
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <kind value="complex-type" />
  <abstract value="false" />
  <contextType value="resource" />
  <context value="CapabilityStatement.rest.resource" />
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="An allowable parameter combination" />
      <definition value="A container for a single allowable parameter combination." />
      <comment value="If a search combination is specified, clients should expect that they must submit that required combination or the search will be unsuccessful. If multiple search parameter combinations are specified, a client may pick between them, and supply the minimal required parameters for any of the combinations." />
      <min value="0" />
      <max value="*" />
      <isModifier value="false" />
      <mapping>
        <identity value="v2" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension.extension:required">
      <path value="Extension.extension" />
      <sliceName value="required" />
      <short value="A required search parameter name" />
      <definition value="A search parameter name in the combination which is required." />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="v2" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension.extension:required.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:required.url">
      <path value="Extension.extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="required" />
    </element>
    <element id="Extension.extension:required.valueString">
      <path value="Extension.extension.valueString" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:optional">
      <path value="Extension.extension" />
      <sliceName value="optional" />
      <short value="An optional search parameter name" />
      <definition value="A search parameter name in the combination which is optional." />
      <comment value="If a defined parameter is not listed as a required or optional parameter, the implication is that the parameter is not supported with this combination. Servers may ignore It, though some may return an error if it is used." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="v2" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension.extension:optional.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:optional.url">
      <path value="Extension.extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="optional" />
    </element>
    <element id="Extension.extension:optional.valueString">
      <path value="Extension.extension.valueString" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <min value="0" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>