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
{ "resourceType": "StructureDefinition", "id": "capabilitystatement-search-parameter-combination", "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", "name": "An allowable parameter combination", "title": "Search Parameter Combination", "status": "draft", "publisher": "Health Level Seven, Inc. - [WG Name] WG", "contact": [ { "telecom": [ { "system": "url", "value": "http://hl7.org/special/committees/fhir.htm" } ] } ], "date": "2014-04-12", "description": "A container for a single allowable parameter combination.", "fhirVersion": "1.8.0", "mapping": [ { "identity": "v2", "uri": "http://hl7.org/v2", "name": "HL7 v2 Mapping" }, { "identity": "rim", "uri": "http://hl7.org/v3", "name": "RIM Mapping" } ], "kind": "complex-type", "abstract": false, "contextType": "resource", "context": [ "CapabilityStatement.rest.resource" ], "type": "Extension", "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", "derivation": "constraint", "snapshot": { "element": [ { "id": "Extension:anallowableparametercombination", "path": "Extension", "short": "An allowable parameter combination", "definition": "A container for a single allowable parameter combination.", "comments": "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": 0, "max": "*", "base": { "path": "Extension", "min": 0, "max": "*" }, "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "children().count() > id.count()", "xpath": "@value|f:*|h:div", "source": "Element" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])", "source": "Extension" } ], "isModifier": false, "mapping": [ { "identity": "v2", "map": "N/A" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.id", "path": "Extension.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Extension:anallowableparametercombination.extension", "path": "Extension.extension", "slicing": { "id": "77", "discriminator": [ "url" ], "ordered": false, "rules": "open" }, "short": "Extension", "definition": "An Extension", "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ] }, { "id": "Extension:anallowableparametercombination.extension:required", "path": "Extension.extension", "sliceName": "required", "short": "A required search parameter name", "definition": "A search parameter name in the combination which is required.", "min": 1, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "isModifier": false, "mapping": [ { "identity": "v2", "map": "N/A" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.extension:required.id", "path": "Extension.extension.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Extension:anallowableparametercombination.extension:required.extension:extension", "path": "Extension.extension.extension", "sliceName": "extension", "short": "Extension", "definition": "An Extension", "min": 0, "max": "0", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ] }, { "id": "Extension:anallowableparametercombination.extension:required.url", "path": "Extension.extension.url", "representation": [ "xmlAttr" ], "short": "identifies the meaning of the extension", "definition": "Source of the definition for the extension code - a logical name or a URL.", "comments": "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": 1, "max": "1", "base": { "path": "Extension.url", "min": 1, "max": "1" }, "type": [ { "code": "uri" } ], "fixedUri": "required", "mapping": [ { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.extension:required.valueString", "path": "Extension.extension.valueString", "short": "Value of extension", "definition": "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": 1, "max": "1", "base": { "path": "Extension.value[x]", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "mapping": [ { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.extension:optional", "path": "Extension.extension", "sliceName": "optional", "short": "An optional search parameter name", "definition": "A search parameter name in the combination which is optional.", "comments": "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": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "isModifier": false, "mapping": [ { "identity": "v2", "map": "N/A" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.extension:optional.id", "path": "Extension.extension.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Extension:anallowableparametercombination.extension:optional.extension:extension", "path": "Extension.extension.extension", "sliceName": "extension", "short": "Extension", "definition": "An Extension", "min": 0, "max": "0", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ] }, { "id": "Extension:anallowableparametercombination.extension:optional.url", "path": "Extension.extension.url", "representation": [ "xmlAttr" ], "short": "identifies the meaning of the extension", "definition": "Source of the definition for the extension code - a logical name or a URL.", "comments": "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": 1, "max": "1", "base": { "path": "Extension.url", "min": 1, "max": "1" }, "type": [ { "code": "uri" } ], "fixedUri": "optional", "mapping": [ { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.extension:optional.valueString", "path": "Extension.extension.valueString", "short": "Value of extension", "definition": "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": 1, "max": "1", "base": { "path": "Extension.value[x]", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "mapping": [ { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.url", "path": "Extension.url", "representation": [ "xmlAttr" ], "short": "identifies the meaning of the extension", "definition": "Source of the definition for the extension code - a logical name or a URL.", "comments": "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": 1, "max": "1", "base": { "path": "Extension.url", "min": 1, "max": "1" }, "type": [ { "code": "uri" } ], "fixedUri": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", "mapping": [ { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.value[x]", "path": "Extension.value[x]", "short": "Value of extension", "definition": "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": 0, "max": "0", "base": { "path": "Extension.value[x]", "min": 0, "max": "1" }, "type": [ { "code": "base64Binary" }, { "code": "boolean" }, { "code": "code" }, { "code": "date" }, { "code": "dateTime" }, { "code": "decimal" }, { "code": "id" }, { "code": "instant" }, { "code": "integer" }, { "code": "markdown" }, { "code": "oid" }, { "code": "positiveInt" }, { "code": "string" }, { "code": "time" }, { "code": "unsignedInt" }, { "code": "uri" }, { "code": "Address" }, { "code": "Age" }, { "code": "Annotation" }, { "code": "Attachment" }, { "code": "CodeableConcept" }, { "code": "Coding" }, { "code": "ContactPoint" }, { "code": "Count" }, { "code": "Distance" }, { "code": "Duration" }, { "code": "HumanName" }, { "code": "Identifier" }, { "code": "Money" }, { "code": "Period" }, { "code": "Quantity" }, { "code": "Range" }, { "code": "Ratio" }, { "code": "Reference" }, { "code": "SampledData" }, { "code": "Signature" }, { "code": "Timing" }, { "code": "Meta" } ], "mapping": [ { "identity": "rim", "map": "N/A" } ] } ] }, "differential": { "element": [ { "id": "Extension:anallowableparametercombination", "path": "Extension", "short": "An allowable parameter combination", "definition": "A container for a single allowable parameter combination.", "comments": "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": 0, "max": "*", "isModifier": false, "mapping": [ { "identity": "v2", "map": "N/A" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.extension:required", "path": "Extension.extension", "sliceName": "required", "short": "A required search parameter name", "definition": "A search parameter name in the combination which is required.", "min": 1, "max": "*", "type": [ { "code": "Extension" } ], "isModifier": false, "mapping": [ { "identity": "v2", "map": "N/A" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.extension:required.extension:extension", "path": "Extension.extension.extension", "sliceName": "extension", "max": "0" }, { "id": "Extension:anallowableparametercombination.extension:required.url", "path": "Extension.extension.url", "type": [ { "code": "uri" } ], "fixedUri": "required" }, { "id": "Extension:anallowableparametercombination.extension:required.value[x]", "path": "Extension.extension.value[x]", "min": 1, "type": [ { "code": "string" } ] }, { "id": "Extension:anallowableparametercombination.extension:optional", "path": "Extension.extension", "sliceName": "optional", "short": "An optional search parameter name", "definition": "A search parameter name in the combination which is optional.", "comments": "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": 0, "max": "*", "type": [ { "code": "Extension" } ], "isModifier": false, "mapping": [ { "identity": "v2", "map": "N/A" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Extension:anallowableparametercombination.extension:optional.extension:extension", "path": "Extension.extension.extension", "sliceName": "extension", "max": "0" }, { "id": "Extension:anallowableparametercombination.extension:optional.url", "path": "Extension.extension.url", "type": [ { "code": "uri" } ], "fixedUri": "optional" }, { "id": "Extension:anallowableparametercombination.extension:optional.value[x]", "path": "Extension.extension.value[x]", "min": 1, "type": [ { "code": "string" } ] }, { "id": "Extension:anallowableparametercombination.url", "path": "Extension.url", "type": [ { "code": "uri" } ], "fixedUri": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" }, { "id": "Extension:anallowableparametercombination.value[x]", "path": "Extension.value[x]", "min": 0, "max": "0" } ] } }
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.