This page is part of the FHIR Specification (v1.8.0: STU 3 Draft). 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: R4B R4 R3
An allowable parameter combination
<StructureDefinition xmlns="http://hl7.org/fhir"> <id value="capabilitystatement-search-parameter-combination"/> <url value="http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination"/> <name value="An allowable parameter combination"/> <title value="Search Parameter Combination"/> <status value="draft"/> <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> <date value="2014-04-12"/> <description value="A container for a single allowable parameter combination."/> <fhirVersion value="1.8.0"/> <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"/> <snapshot> <element id="Extension:anallowableparametercombination"> <path value="Extension"/> <short value="An allowable parameter combination"/> <definition value="A container for a single allowable parameter combination."/> <comments value="If a search combination is specified, clients should expect that they must submit that required combination or the search will be unsuccesful. 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="*"/> <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="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')])"/> <source value="Extension"/> </constraint> <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:anallowableparametercombination.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> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element id="Extension:anallowableparametercombination.extension"> <path value="Extension.extension"/> <slicing id="77"> <discriminator value="url"/> <ordered value="false"/> <rules value="open"/> </slicing> <short value="Extension"/> <definition value="An Extension"/> <min value="0"/> <max value="*"/> <base> <path value="Element.extension"/> <min value="0"/> <max value="*"/> </base> <type> <code value="Extension"/> </type> </element> <element id="Extension:anallowableparametercombination.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="*"/> <base> <path value="Element.extension"/> <min value="0"/> <max value="*"/> </base> <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:anallowableparametercombination.extension:required.id"> <path value="Extension.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> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element id="Extension:anallowableparametercombination.extension:required.extension:extension"> <path value="Extension.extension.extension"/> <sliceName value="extension"/> <short value="Extension"/> <definition value="An Extension"/> <min value="0"/> <max value="0"/> <base> <path value="Element.extension"/> <min value="0"/> <max value="*"/> </base> <type> <code value="Extension"/> </type> </element> <element id="Extension:anallowableparametercombination.extension:required.url"> <path value="Extension.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."/> <comments 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> <fixedUri value="required"/> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element id="Extension:anallowableparametercombination.extension:required.valueString"> <path value="Extension.extension.valueString"/> <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="1"/> <max value="1"/> <base> <path value="Extension.value[x]"/> <min value="0"/> <max value="1"/> </base> <type> <code value="string"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element id="Extension:anallowableparametercombination.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."/> <comments 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="*"/> <base> <path value="Element.extension"/> <min value="0"/> <max value="*"/> </base> <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:anallowableparametercombination.extension:optional.id"> <path value="Extension.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> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element id="Extension:anallowableparametercombination.extension:optional.extension:extension"> <path value="Extension.extension.extension"/> <sliceName value="extension"/> <short value="Extension"/> <definition value="An Extension"/> <min value="0"/> <max value="0"/> <base> <path value="Element.extension"/> <min value="0"/> <max value="*"/> </base> <type> <code value="Extension"/> </type> </element> <element id="Extension:anallowableparametercombination.extension:optional.url"> <path value="Extension.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."/> <comments 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> <fixedUri value="optional"/> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element id="Extension:anallowableparametercombination.extension:optional.valueString"> <path value="Extension.extension.valueString"/> <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="1"/> <max value="1"/> <base> <path value="Extension.value[x]"/> <min value="0"/> <max value="1"/> </base> <type> <code value="string"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element id="Extension:anallowableparametercombination.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."/> <comments 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> <fixedUri value="http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination"/> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element id="Extension:anallowableparametercombination.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="0"/> <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="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="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="Meta"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> </snapshot> <differential> <element id="Extension:anallowableparametercombination"> <path value="Extension"/> <short value="An allowable parameter combination"/> <definition value="A container for a single allowable parameter combination."/> <comments value="If a search combination is specified, clients should expect that they must submit that required combination or the search will be unsuccesful. 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:anallowableparametercombination.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:anallowableparametercombination.extension:required.extension:extension"> <path value="Extension.extension.extension"/> <sliceName value="extension"/> <max value="0"/> </element> <element id="Extension:anallowableparametercombination.extension:required.url"> <path value="Extension.extension.url"/> <type> <code value="uri"/> </type> <fixedUri value="required"/> </element> <element id="Extension:anallowableparametercombination.extension:required.value[x]"> <path value="Extension.extension.value[x]"/> <min value="1"/> <type> <code value="string"/> </type> </element> <element id="Extension:anallowableparametercombination.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."/> <comments 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:anallowableparametercombination.extension:optional.extension:extension"> <path value="Extension.extension.extension"/> <sliceName value="extension"/> <max value="0"/> </element> <element id="Extension:anallowableparametercombination.extension:optional.url"> <path value="Extension.extension.url"/> <type> <code value="uri"/> </type> <fixedUri value="optional"/> </element> <element id="Extension:anallowableparametercombination.extension:optional.value[x]"> <path value="Extension.extension.value[x]"/> <min value="1"/> <type> <code value="string"/> </type> </element> <element id="Extension:anallowableparametercombination.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:anallowableparametercombination.value[x]"> <path value="Extension.value[x]"/> <min value="0"/> <max value="0"/> </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.