Release 5 Draft Ballot

This page is part of the FHIR Specification (v4.6.0: R5 Draft Ballot). 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

Extension: search-parameter-combination

FHIR Infrastructure Work Group Maturity Level: 1InformativeUse Context: Any

URL for this extension:

http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination

Status: draft. Extension maintained by: Health Level Seven, Inc. - [WG Name] WG

This extension defines a possible search parameter combination, by listing a set of search parameters and indicating whether they are required or optional. If a search combination is specified, clients should expect that they must submit a search that meets one of the required combinations 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.

Comment:

For example, on the Patient Resource you could use this to state support for searching by Patient.name and Patient.gender is required.

Context of Use: Use on Element ID CapabilityStatement.rest.resource

Extension Content

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. search-parameter-combination0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination
search-parameter-combination: This extension defines a possible search parameter combination, by listing a set of search parameters and indicating whether they are required or optional. If a search combination is specified, clients should expect that they must submit a search that meets one of the required combinations 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.


Use on Element ID CapabilityStatement.rest.resource
... required1..*stringA search parameter name in the combination which is required.

... optional0..*stringA search parameter name in the combination which is optional.


doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination
search-parameter-combination: This extension defines a possible search parameter combination, by listing a set of search parameters and indicating whether they are required or optional. If a search combination is specified, clients should expect that they must submit a search that meets one of the required combinations 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.


Use on Element ID CapabilityStatement.rest.resource
... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:required 1..*ExtensionA required search parameter name
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"required"
.... value[x] 1..1stringValue of extension
... extension:optional 0..*ExtensionAn optional search parameter name
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"optional"
.... value[x] 1..1stringValue of extension
... value[x] 0..0
.... valueBase64Binarybase64Binary
.... valueBooleanboolean
.... valueCanonicalcanonical(Any)
.... valueCodecode
.... valueDatedate
.... valueDateTimedateTime
.... valueDecimaldecimal
.... valueIdid
.... valueInstantinstant
.... valueIntegerinteger
.... valueInteger64integer64
.... valueMarkdownmarkdown
.... valueOidoid
.... valuePositiveIntpositiveInt
.... valueStringstring
.... valueTimetime
.... valueUnsignedIntunsignedInt
.... valueUriuri
.... valueUrlurl
.... valueUuiduuid
.... valueAddressAddress
.... valueAgeAge
.... valueAnnotationAnnotation
.... valueAttachmentAttachment
.... valueCodeableConceptCodeableConcept
.... valueCodingCoding
.... valueContactPointContactPoint
.... valueCountCount
.... valueDistanceDistance
.... valueDurationDuration
.... valueHumanNameHumanName
.... valueIdentifierIdentifier
.... valueMoneyMoney
.... valuePeriodPeriod
.... valueQuantityQuantity
.... valueRangeRange
.... valueRatioRatio
.... valueReferenceReference(Any)
.... valueSampledDataSampledData
.... valueSignatureSignature
.... valueTimingTiming
.... valueContactDetailContactDetail
.... valueContributorContributor
.... valueDataRequirementDataRequirement
.... valueExpressionExpression
.... valueParameterDefinitionParameterDefinition
.... valueRelatedArtifactRelatedArtifact
.... valueTriggerDefinitionTriggerDefinition
.... valueUsageContextUsageContext
.... valueDosageDosage
.... valueMetaMeta

doco Documentation for this format

XML Template

<!-- search-parameter-combination -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" >
 <-- extension sliced by value:url  in the specified orderOpen-->
 <extension url="required"> ?? 1..* Extension  <!-- ?? 1..* A required search parameter name -->
  <valueString value="[string]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="optional"> ?? 0..* Extension  <!-- ?? 0..* An optional search parameter name -->
  <valueString value="[string]"/><!-- ?? 1..1 Value of extension -->
 </extension>
</extension>

JSON Template

{ // search-parameter-combination
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // A required search parameter name // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "required", // R! 
        "valueString" : "<string>" // C? R! Value of extension
      },
      { // An optional search parameter name // C?
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "optional", // R! 
        "valueString" : "<string>" // C? R! Value of extension
      }
    ],
    "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", // R! 
// value[x]: Value of extension. One of these 51:
  }

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. search-parameter-combination0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination
search-parameter-combination: This extension defines a possible search parameter combination, by listing a set of search parameters and indicating whether they are required or optional. If a search combination is specified, clients should expect that they must submit a search that meets one of the required combinations 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.


Use on Element ID CapabilityStatement.rest.resource
... required1..*stringA search parameter name in the combination which is required.

... optional0..*stringA search parameter name in the combination which is optional.


doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination
search-parameter-combination: This extension defines a possible search parameter combination, by listing a set of search parameters and indicating whether they are required or optional. If a search combination is specified, clients should expect that they must submit a search that meets one of the required combinations 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.


Use on Element ID CapabilityStatement.rest.resource
... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:required 1..*ExtensionA required search parameter name
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"required"
.... value[x] 1..1stringValue of extension
... extension:optional 0..*ExtensionAn optional search parameter name
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"optional"
.... value[x] 1..1stringValue of extension
... value[x] 0..0
.... valueBase64Binarybase64Binary
.... valueBooleanboolean
.... valueCanonicalcanonical(Any)
.... valueCodecode
.... valueDatedate
.... valueDateTimedateTime
.... valueDecimaldecimal
.... valueIdid
.... valueInstantinstant
.... valueIntegerinteger
.... valueInteger64integer64
.... valueMarkdownmarkdown
.... valueOidoid
.... valuePositiveIntpositiveInt
.... valueStringstring
.... valueTimetime
.... valueUnsignedIntunsignedInt
.... valueUriuri
.... valueUrlurl
.... valueUuiduuid
.... valueAddressAddress
.... valueAgeAge
.... valueAnnotationAnnotation
.... valueAttachmentAttachment
.... valueCodeableConceptCodeableConcept
.... valueCodingCoding
.... valueContactPointContactPoint
.... valueCountCount
.... valueDistanceDistance
.... valueDurationDuration
.... valueHumanNameHumanName
.... valueIdentifierIdentifier
.... valueMoneyMoney
.... valuePeriodPeriod
.... valueQuantityQuantity
.... valueRangeRange
.... valueRatioRatio
.... valueReferenceReference(Any)
.... valueSampledDataSampledData
.... valueSignatureSignature
.... valueTimingTiming
.... valueContactDetailContactDetail
.... valueContributorContributor
.... valueDataRequirementDataRequirement
.... valueExpressionExpression
.... valueParameterDefinitionParameterDefinition
.... valueRelatedArtifactRelatedArtifact
.... valueTriggerDefinitionTriggerDefinition
.... valueUsageContextUsageContext
.... valueDosageDosage
.... valueMetaMeta

doco Documentation for this format

XML Template

<!-- search-parameter-combination -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" >
 <-- extension sliced by value:url  in the specified orderOpen-->
 <extension url="required"> ?? 1..* Extension  <!-- ?? 1..* A required search parameter name -->
  <valueString value="[string]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="optional"> ?? 0..* Extension  <!-- ?? 0..* An optional search parameter name -->
  <valueString value="[string]"/><!-- ?? 1..1 Value of extension -->
 </extension>
</extension>

JSON Template

{ // search-parameter-combination
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // A required search parameter name // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "required", // R! 
        "valueString" : "<string>" // C? R! Value of extension
      },
      { // An optional search parameter name // C?
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "optional", // R! 
        "valueString" : "<string>" // C? R! Value of extension
      }
    ],
    "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", // R! 
// value[x]: Value of extension. One of these 51:
  }

 

Constraints

  • ele-1: All FHIR elements must have a @value or children (xpath: @value|f:*|h:div)
  • ext-1: Must have either extensions or value[x], not both (xpath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]))
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.value[x]: @value|f:*|h:div)