<?xml version="1.0" encoding="UTF-8"?><StructureDefinition xmlns="http://hl7.org/fhir"><id value="conformance-search-parameter-combination"/><url value="http://hl7.org/fhir/StructureDefinition/conformance-search-parameter-combination"/><name value="An allowable parameter combination"/><display value="Search Parameter Combination"/><status value="draft"/><publisher value="Health Level Seven, Inc. - [WG Name] WG"/><contact><telecom><system value="other"/><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.6.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="Conformance.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() &gt; id.count()"/><xpath value="@value|f:*|h:div"/></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(.), &#39;value&#39;)])"/></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="*"/></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="86"><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"/><name 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="*"/></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"/><name 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"/><name 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="*"/></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"/><name 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/conformance-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"/><name 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"/><name 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"/><name 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"/><name 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/conformance-search-parameter-combination"/></element><element id="Extension:anallowableparametercombination.value[x]"><path value="Extension.value[x]"/><min value="0"/><max value="0"/></element></differential></StructureDefinition>