profile-SearchParameter
type: StructureDefinition
node role: treeRoot
id:
  v: profile-SearchParameter
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition profile-SearchParameter Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> SearchParameter 1..1 SearchParameter Search Parameter for a resource #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:identifier 0..* ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-identifier]] R5: Additional identifier for the search parameter (business identifier) (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-identifier #xD; extension:versionAlgorithm 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm]] R5: How to compare versions (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm #xD; extension:title 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-title]] R5: Name for this search parameter (human friendly) (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-title #xD; extension:copyright 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-copyright]] R5: Use and/or publishing restrictions (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-copyright #xD; extension:copyrightLabel 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel]] R5: Copyright holder and year(s) (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel #xD; extension:constraint 0..1 string R5: FHIRPath expression that constraints the usage of this SearchParamete (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.constraint #xD; extension:multipleOr 0..1 boolean R5: Allow multiple values per parameter (or) (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.multipleOr #xD; extension:multipleAnd 0..1 boolean R5: Allow multiple parameters (and) (new) URL: http://hl7.org/fhir/5…
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
extension:
  extension:
    url:
      v: packageId
      l: packageId
    value: Id
      v: hl7.fhir.uv.xver-r5.r3
  extension:
    url:
      v: version
      l: version
    value: String
      v: 0.1.0
  url:
    v: http://hl7.org/fhir/StructureDefinition/package-source
    l: package-source
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
    l: structuredefinition-fmm
  value: Integer
    v: 0
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
        l: hl7.fhir.uv.xver-r5.r3
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: trial-use
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
        l: hl7.fhir.uv.xver-r5.r3
url:
  v: http://hl7.org/fhir/5.0/StructureDefinition/profile-SearchParameter
  l: profile-SearchParameter
version:
  v: 0.1.0
name:
  v: Profile_R5_SearchParameter_R3
title:
  v: Cross-version Profile for R5.SearchParameter for use in FHIR STU3
status:
  v: active
experimental:
  v: false
date:
  v: 2026-03-17T16:05:13.141731-05:00
publisher:
  v: FHIR Infrastructure
contact:
  name:
    v: FHIR Infrastructure
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: This cross-version profile allows R5 SearchParameter content to be represented via FHIR STU3 SearchParameter resources.
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
    display:
      v: World
fhir version:
  v: 3.0.2
mapping:
  identity:
    v: v2
  uri:
    v: http://hl7.org/v2
    l: v2
  name:
    v: HL7 v2 Mapping
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
mapping:
  identity:
    v: w5
  uri:
    v: http://hl7.org/fhir/w5
    l: w5
  name:
    v: W5 Mapping
mapping:
  identity:
    v: objimpl
  uri:
    v: http://hl7.org/fhir/object-implementation
    l: object-implementation
  name:
    v: Object Implementation Information
kind:
  v: resource
abstract:
  v: false
type:
  v: SearchParameter
base definition:
  v: http://hl7.org/fhir/StructureDefinition/SearchParameter
  l: SearchParameter
derivation:
  v: constraint
snapshot:
  element:
    id:
      v: SearchParameter
    path:
      v: SearchParameter
    short:
      v: Search Parameter for a resource
    definition:
      v: A search parameter that defines a named search item that can be used to search/filter on a resource.
    comment:
      v: In FHIR, search is not performed directly on a resource (by XML or JSON path), but on a named parameter that maps into the resource content.
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: SearchParameter
      min:
        v: 1
      max:
        v: 1
    constraint:
      key:
        v: dom-2
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain nested Resources
      expression:
        v: contained.contained.empty()
      xpath:
        v: not(parent::f:contained and f:contained)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-1
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain any narrative
      expression:
        v: contained.text.empty()
      xpath:
        v: not(parent::f:contained and f:text)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-4
      severity:
        v: error
      human:
        v: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
      expression:
        v: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
      xpath:
        v: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource

key:
  v: dom-3
severity:
  v: error
human:
  v: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
expression:
  v: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
xpath:
  v: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
source:
  v: http://hl7.org/fhir/StructureDefinition/DomainResource
  l: DomainResource

key:
  v: spd-1
severity:
  v: error
human:
  v: If an xpath is present, there SHALL be an xpathUsage
expression:
  v: xpath.empty() or xpathUsage.exists()
xpath:
  v: not(exists(f:xpath)) or exists(f:xpathUsage)
source:
  v: http://hl7.org/fhir/StructureDefinition/SearchParameter
  l: SearchParameter

key:
  v: spd-2
severity:
  v: error
human:
  v: Search parameters can only have chain names when the search parameter type is 'reference'
expression:
  v: chain.empty() or type = 'reference'
xpath:
  v: not(exists(f:chain)) or (f:type/@value = 'reference')
source:
  v: http://hl7.org/fhir/StructureDefinition/SearchParameter
  l: SearchParameter

identity:
  v: rim
map:
  v: Entity. Role, or Act

identity:
  v: v2
map:
  v: n/a

identity:
  v: rim
map:
  v: n/a

identity:
  v: w5
map:
  v: conformance.behavior

id:
  v: SearchParameter.id
path:
  v: SearchParameter.id
short:
  v: Logical id of this artifact
definition:
  v: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
comment:
  v: The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: id
    l: id
is summary:
  v: true

id:
  v: SearchParameter.meta
path:
  v: SearchParameter.meta
short:
  v: Metadata about the resource
definition:
  v: The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.meta
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Meta
    l: Meta
is summary:
  v: true

id:
  v: SearchParameter.implicitRules
path:
  v: SearchParameter.implicitRules
short:
  v: A set of rules under which this content was created
definition:
  v: A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
comment:
  v: Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.implicitRules
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is modifier:
  v: true
is summary:
  v: true

id:
  v: SearchParameter.language
path:
  v: SearchParameter.language
short:
  v: Language of the resource content
definition:
  v: The base language in which the resource is written.
comment:
  v: Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.language
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet
      l: elementdefinition-maxValueSet
    value: Reference
      l: 3.0
      l: .2
      reference:
        v: http://hl7.org/fhir/ValueSet/all-languages|3.0.2
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Language
  strength:
    v: extensible
  description:
    v: A human language.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/languages|3.0.2

id:
  v: SearchParameter.text
path:
  v: SearchParameter.text
short:
  v: Text summary of the resource, for human interpretation
definition:
  v: A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
comment:
  v: Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.
alias:
  v: narrative
alias:
  v: html
alias:
  v: xhtml
alias:
  v: display
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Narrative
    l: Narrative
condition:
  v: dom-1
mapping:
  identity:
    v: rim
  map:
    v: Act.text?

id:
  v: SearchParameter.contained
path:
  v: SearchParameter.contained
short:
  v: Contained, inline Resources
definition:
  v: These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
comment:
  v: This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.
alias:
  v: inline resources
alias:
  v: anonymous resources
alias:
  v: contained resources
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.contained
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Resource
    l: Resource
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: SearchParameter.extension
path:
  v: SearchParameter.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: SearchParameter.extension:identifier
path:
  v: SearchParameter.extension
slice name:
  v: identifier
short:
  v: R5: Additional identifier for the search parameter (business identifier) (new)
definition:
  v: R5: `SearchParameter.identifier` (new:Identifier)
comment:
  v: Element `SearchParameter.identifier` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.identifier` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `SearchParameter.identifier`: `http://hl7.org/fhir/StructureDefinition/artifact-identifier`.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/artifact-identifier
    l: artifact-identifier

id:
  v: SearchParameter.extension:versionAlgorithm
path:
  v: SearchParameter.extension
slice name:
  v: versionAlgorithm
short:
  v: R5: How to compare versions (new)
definition:
  v: R5: `SearchParameter.versionAlgorithm[x]` (new:Coding, string)
comment:
  v: Element `SearchParameter.versionAlgorithm[x]` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.versionAlgorithm[x]` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `SearchParameter.versionAlgorithm[x]`: `http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm`. If set as a string, this is a FHIRPath expression that has two additional context variables passed in - %version1 and %version2 and will return a negative number if version1 is newer, a positive number if version2 and a 0 if the version ordering can't be successfully be determined.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
    l: artifact-versionAlgorithm

id:
  v: SearchParameter.extension:title
path:
  v: SearchParameter.extension
slice name:
  v: title
short:
  v: R5: Name for this search parameter (human friendly) (new)
definition:
  v: R5: `SearchParameter.title` (new:string)
comment:
  v: Element `SearchParameter.title` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.title` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `SearchParameter.title`: `http://hl7.org/fhir/StructureDefinition/artifact-title`. This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/artifact-title
    l: artifact-title

id:
  v: SearchParameter.extension:copyright
path:
  v: SearchParameter.extension
slice name:
  v: copyright
short:
  v: R5: Use and/or publishing restrictions (new)
definition:
  v: R5: `SearchParameter.copyright` (new:markdown)
comment:
  v: Element `SearchParameter.copyright` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.copyright` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `SearchParameter.copyright`: `http://hl7.org/fhir/StructureDefinition/artifact-copyright`. ...
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/artifact-copyright
    l: artifact-copyright

id:
  v: SearchParameter.extension:copyrightLabel
path:
  v: SearchParameter.extension
slice name:
  v: copyrightLabel
short:
  v: R5: Copyright holder and year(s) (new)
definition:
  v: R5: `SearchParameter.copyrightLabel` (new:string)
comment:
  v: Element `SearchParameter.copyrightLabel` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.copyrightLabel` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `SearchParameter.copyrightLabel`: `http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel`. The (c) symbol should NOT be included in this string. It will be added by software when rendering the notation. Full details about licensing, restrictions, warrantees, etc. goes in the more general 'copyright' element.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
    l: artifact-copyrightLabel

id:
  v: SearchParameter.extension:constraint
path:
  v: SearchParameter.extension
slice name:
  v: constraint
short:
  v: R5: FHIRPath expression that constraints the usage of this SearchParamete (new)
definition:
  v: R5: `SearchParameter.constraint` (new:string)
comment:
  v: Element `SearchParameter.constraint` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.constraint` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.constraint|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.constraint
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: SearchParameter.extension:multipleOr
path:
  v: SearchParameter.extension
slice name:
  v: multipleOr
short:
  v: R5: Allow multiple values per parameter (or) (new)
definition:
  v: R5: `SearchParameter.multipleOr` (new:boolean)
comment:
  v: Element `SearchParameter.multipleOr` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.multipleOr` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.multipleOr|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.multipleOr
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: SearchParameter.extension:multipleAnd
path:
  v: SearchParameter.extension
slice name:
  v: multipleAnd
short:
  v: R5: Allow multiple parameters (and) (new)
definition:
  v: R5: `SearchParameter.multipleAnd` (new:boolean)
comment:
  v: Element `SearchParameter.multipleAnd` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.multipleAnd` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.multipleAnd|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.multipleAnd
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: SearchParameter.modifierExtension
path:
  v: SearchParameter.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: SearchParameter.url
path:
  v: SearchParameter.url
short:
  v: Logical URI to reference this search parameter (globally unique)
definition:
  v: An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this search parameter is (or will be) published. The URL SHOULD include the major version of the search parameter. For more information see [Technical and Business Versions](http://hl7.org/fhir/STU3/resource.html#versions).
comment:
  v: Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred. Multiple instances may share the same url if they have a distinct version.
requirements:
  v: Allows the search parameter to be referenced by a single globally unique identifier. To allow referencing and reusing search parameter definitions under other names on operational systems (in case of name clash).
min:
  v: 1
max:
  v: 1
base:
  path:
    v: SearchParameter.url
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: id

id:
  v: SearchParameter.version
path:
  v: SearchParameter.version
short:
  v: Business version of the search parameter
definition:
  v: The identifier that is used to identify this version of the search parameter when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the search parameter author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
comment:
  v: There may be different search parameter instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the search parameter with the format [url]|[version].
min:
  v: 0
max:
  v: 1
base:
  path:
    v: SearchParameter.version
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: id.version

id:
  v: SearchParameter.name
path:
  v: SearchParameter.name
short:
  v: Name for this search parameter (computer friendly)
definition:
  v: A natural language name identifying the search parameter. This name should be usable as an identifier for the module by machine processing applications such as code generation.
comment:
  v: The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.
requirements:
  v: Support human navigation and code generation.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: SearchParameter.name
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true

id:
  v: SearchParameter.status
path:
  v: SearchParameter.status
short:
  v: draft | active | retired | unknown
definition:
  v: The status of this search parameter. Enables tracking the life-cycle of the content.
comment:
  v: Allows filtering of search parameters that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use a retired search parameter without due consideration.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: SearchParameter.status
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
is modifier:
  v: true
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: PublicationStatus
  strength:
    v: required
  description:
    v: The lifecycle status of a Value Set or Concept Map.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/publication-status|3.0.2
mapping:
  identity:
    v: w5
  map:
    v: status

id:
  v: SearchParameter.experimental
path:
  v: SearchParameter.experimental
short:
  v: For testing purposes, not real usage
definition:
  v: A boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.
comment:
  v: Allows filtering of search parameter that are appropriate for use vs. not. This is labeled as "Is Modifier" because applications should not use an experimental search parameter in production.
requirements:
  v: Enables experimental content to be developed following the same lifecycle that would be used for a production-level search parameter.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: SearchParameter.experimental
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: class

id:
  v: SearchParameter.date
path:
  v: SearchParameter.date
short:
  v: Date this was last changed
definition:
  v: The date (and optionally time) when the search parameter was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes.
comment:
  v: Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the search parameter. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.
alias:
  v: Revision Date
min:
  v: 0
max:
  v: 1
base:
  path:
    v: SearchParameter.date
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: when.recorded

id:
  v: SearchParameter.publisher
path:
  v: SearchParameter.publisher
short:
  v: Name of the publisher (organization or individual)
definition:
  v: The name of the individual or organization that published the search parameter.
comment:
  v: Usually an organization, but may be an individual. The publisher (or steward) of the search parameter is the organization or individual primarily responsible for the maintenance and upkeep of the search parameter. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the search parameter. This item SHOULD be populated unless the information is available from context.
requirements:
  v: Helps establish the "authority/credibility" of the search parameter. May also allow for contact.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: SearchParameter.publisher
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: who.witness

id:
  v: SearchParameter.contact
path:
  v: SearchParameter.contact
short:
  v: Contact details for the publisher
definition:
  v: Contact details to assist a user in finding and communicating with the publisher.
comment:
  v: May be a web site, an email address, a telephone number, etc.
min:
  v: 0
max:
  v: *
base:
  path:
    v: SearchParameter.contact
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: ContactDetail
    l: ContactDetail
is summary:
  v: true

id:
  v: SearchParameter.contact.id
path:
  v: SearchParameter.contact.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: SearchParameter.contact.extension
path:
  v: SearchParameter.contact.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: SearchParameter.contact.extension:contact
path:
  v: SearchParameter.contact.extension
slice name:
  v: contact
short:
  v: R5: contact additional types
definition:
  v: R5: `SearchParameter.contact` additional types (ContactDetail) additional types from child elements (name, telecom)
comment:
  v: Element `SearchParameter.contact` is mapped to FHIR STU3 element `SearchParameter.contact` as `SourceIsBroaderThanTarget`. The mappings for `SearchParameter.contact` do not cover the following types: ContactDetail. The mappings for `SearchParameter.contact` do not cover the following types based on type expansion: name, telecom. May be a web site, an email address, a telephone number, etc. See guidance around (not) making local changes to elements [here](https://hl7.org/fhir/canonicalreso.html#localization).
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.contact|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.contact

id:
  v: SearchParameter.contact.name
path:
  v: SearchParameter.contact.name
short:
  v: Name of an individual to contact
definition:
  v: The name of an individual to contact.
comment:
  v: If there is no named individual, the telecom information is for the organization as a whole.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ContactDetail.name
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true

id:
  v: SearchParameter.contact.telecom
path:
  v: SearchParameter.contact.telecom
short:
  v: Contact details for individual or organization
definition:
  v: The contact details for the individual (if a name was provided) or the organization.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ContactDetail.telecom
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: ContactPoint
    l: ContactPoint
is summary:
  v: true

id:
  v: SearchParameter.useContext
path:
  v: SearchParameter.useContext
short:
  v: Context the content is intended to support
definition:
  v: The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate search parameter instances.
comment:
  v: When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.
requirements:
  v: Assist in searching for appropriate content.
min:
  v: 0
max:
  v: *
base:
  path:
    v: SearchParameter.useContext
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: UsageContext
    l: UsageContext
is summary:
  v: true

id:
  v: SearchParameter.jurisdiction
path:
  v: SearchParameter.jurisdiction
short:
  v: Intended jurisdiction for search parameter (if applicable)
definition:
  v: A legal or geographic region in which the search parameter is intended to be used.
comment:
  v: It may be possible for the search parameter to be used in jurisdictions other than those for which it was originally designed or intended.
min:
  v: 0
max:
  v: *
base:
  path:
    v: SearchParameter.jurisdiction
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Jurisdiction
  strength:
    v: extensible
  description:
    v: Countries and regions within which this artifact is targeted for use
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/jurisdiction|3.0.2

id:
  v: SearchParameter.purpose
path:
  v: SearchParameter.purpose
short:
  v: Why this search parameter is defined
definition:
  v: Explaination of why this search parameter is needed and why it has been designed as it has.
comment:
  v: This element does not describe the usage of the search parameter Instead it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this search parameter.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: SearchParameter.purpose
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: markdown
    l: markdown
mapping:
  identity:
    v: objimpl
  map:
    v: no-gen-base
mapping:
  identity:
    v: w5
  map:
    v: why

id:
  v: SearchParameter.code
path:
  v: SearchParameter.code
short:
  v: Code used in URL
definition:
  v: The code used in the URL or the parameter name in a parameters resource for this search parameter.
comment:
  v: For maximum compatibility, use only lowercase ASCII characters.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: SearchParameter.code
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true

id:
  v: SearchParameter.base
path:
  v: SearchParameter.base
short:
  v: The resource type(s) this search parameter applies to
definition:
  v: The base resource type(s) that this search parameter can be used against.
comment:
  v: A search parameter must always have at least one type. When search parameters have more than one resource, they can be used against any of the listed resource types, or in a cross-type search (see [Cross Resource Search](http://hl7.org/fhir/STU3/http.html#xres-search)).
min:
  v: 1
max:
  v: *
base:
  path:
    v: SearchParameter.base
  min:
    v: 1
  max:
    v: *
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: ResourceType
  strength:
    v: required
  description:
    v: One of the resource types defined as part of FHIR.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/resource-types|3.0.2

id:
  v: SearchParameter.type
path:
  v: SearchParameter.type
short:
  v: number | date | string | token | reference | composite | quantity | uri
definition:
  v: The type of value a search parameter refers to, and how the content is interpreted.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: SearchParameter.type
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: SearchParamType
  strength:
    v: required
  description:
    v: Data types allowed to be used for search parameters.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/search-param-type|3.0.2

id:
  v: SearchParameter.type.id
path:
  v: SearchParameter.type.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: SearchParameter.type.extension
path:
  v: SearchParameter.type.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: SearchParameter.type.extension:type
path:
  v: SearchParameter.type.extension
slice name:
  v: type
short:
  v: R5: number | date | string | token | reference | composite | quantity | uri | special
definition:
  v: R5: `SearchParameter.type`
comment:
  v: Element `SearchParameter.type` is mapped to FHIR STU3 element `SearchParameter.type` as `SourceIsBroaderThanTarget`.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.type|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.type
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: SearchParameter.type.value
path:
  v: SearchParameter.type.value
representation:
  v: xmlAttr
short:
  v: Primitive value for code
definition:
  v: Primitive value for code
min:
  v: 0
max:
  v: 1
base:
  path:
    v: string.value
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-regex
      l: structuredefinition-regex
    value: String
      v: [^\s]+([\s]?[^\s]+)*
  code:
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type
        l: structuredefinition-json-type
      value: String
        v: string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type
        l: structuredefinition-xml-type
      value: String
        v: xsd:token
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-rdf-type
        l: structuredefinition-rdf-type
      value: String
        v: xsd:token

id:
  v: SearchParameter.derivedFrom
path:
  v: SearchParameter.derivedFrom
short:
  v: Original Definition for the search parameter
definition:
  v: Where this search parameter is originally defined. If a derivedFrom is provided, then the details in the search parameter must be consistent with the definition from which it is defined. I.e. the parameter should have the same meaning, and (usually) the functionality should be a proper subset of the underlying search parameter.
comment:
  v: The intent of this is that a server can designate that it provides support for a search parameter defined in the specification itself (e.g. [`value-quantity`](http://hl7.org/fhir/SearchParameter/Observation-value-quantity), but detail how it is supported by the server.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: SearchParameter.derivedFrom
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri

id:
  v: SearchParameter.description
path:
  v: SearchParameter.description
short:
  v: Natural language description of the search parameter
definition:
  v: A free text natural language description of the search parameter from a consumer's perspective. and how it used.
comment:
  v: This description can be used to capture details such as why the search parameter was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the search parameter as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).
min:
  v: 1
max:
  v: 1
base:
  path:
    v: SearchParameter.description
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: markdown
    l: markdown
is summary:
  v: true

id:
  v: SearchParameter.expression
path:
  v: SearchParameter.expression
short:
  v: FHIRPath expression that extracts the values
definition:
  v: A FHIRPath expression that returns a set of elements for the search parameter.
comment:
  v: Note that the elements returned by the expression are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. For composite search parameters, the outcome of the expression must a collection of base elements from which the composites are derived.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: SearchParameter.expression
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: spd-1

id:
  v: SearchParameter.xpath
path:
  v: SearchParameter.xpath
short:
  v: XPath that extracts the values
definition:
  v: An XPath expression that returns a set of elements for the search parameter.
comment:
  v: Note that the elements returned by the XPath are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: SearchParameter.xpath
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: spd-1

id:
  v: SearchParameter.xpathUsage
path:
  v: SearchParameter.xpathUsage
short:
  v: normal | phonetic | nearby | distance | other
definition:
  v: How the search parameter relates to the set of elements returned by evaluating the xpath query.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: SearchParameter.xpathUsage
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
condition:
  v: spd-1
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: XPathUsageType
  strength:
    v: required
  description:
    v: How a search parameter relates to the set of elements returned by evaluating its xpath query.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/search-xpath-usage|3.0.2

id:
  v: SearchParameter.xpathUsage.id
path:
  v: SearchParameter.xpathUsage.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: SearchParameter.xpathUsage.extension
path:
  v: SearchParameter.xpathUsage.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: SearchParameter.xpathUsage.extension:processingMode
path:
  v: SearchParameter.xpathUsage.extension
slice name:
  v: processingMode
short:
  v: R5: normal | phonetic | other additional codes
definition:
  v: R5: `SearchParameter.processingMode` additional codes
comment:
  v: Element `SearchParameter.processingMode` is mapped to FHIR STU3 element `SearchParameter.xpathUsage` as `RelatedTo`. The mappings for `SearchParameter.processingMode` do not allow expression of the necessary codes, per the bindings on the source and target.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.processingMode|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.processingMode
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: SearchParameter.xpathUsage.value
path:
  v: SearchParameter.xpathUsage.value
representation:
  v: xmlAttr
short:
  v: Primitive value for code
definition:
  v: Primitive value for code
min:
  v: 0
max:
  v: 1
base:
  path:
    v: string.value
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-regex
      l: structuredefinition-regex
    value: String
      v: [^\s]+([\s]?[^\s]+)*
  code:
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type
        l: structuredefinition-json-type
      value: String
        v: string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type
        l: structuredefinition-xml-type
      value: String
        v: xsd:token
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-rdf-type
        l: structuredefinition-rdf-type
      value: String
        v: xsd:token

id:
  v: SearchParameter.target
path:
  v: SearchParameter.target
short:
  v: Types of resource (if a resource reference)
definition:
  v: Types of resource (if a resource is referenced).
min:
  v: 0
max:
  v: *
base:
  path:
    v: SearchParameter.target
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: ResourceType
  strength:
    v: required
  description:
    v: One of the resource types defined as part of FHIR.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/resource-types|3.0.2

id:
  v: SearchParameter.comparator
path:
  v: SearchParameter.comparator
short:
  v: eq | ne | gt | lt | ge | le | sa | eb | ap
definition:
  v: Comparators supported for the search parameter.
comment:
  v: If no comparators are listed, clients should not expect servers to support any comparators.
min:
  v: 0
max:
  v: *
base:
  path:
    v: SearchParameter.comparator
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: SearchComparator
  strength:
    v: required
  description:
    v: What Search Comparator Codes are supported in search
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/search-comparator|3.0.2

id:
  v: SearchParameter.modifier
path:
  v: SearchParameter.modifier
short:
  v: missing | exact | contains | not | text | in | not-in | below | above | type
definition:
  v: A modifier supported for the search parameter.
min:
  v: 0
max:
  v: *
base:
  path:
    v: SearchParameter.modifier
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: SearchModifierCode
  strength:
    v: required
  description:
    v: A supported modifier for a search parameter.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/search-modifier-code|3.0.2

id:
  v: SearchParameter.modifier.id
path:
  v: SearchParameter.modifier.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: SearchParameter.modifier.extension
path:
  v: SearchParameter.modifier.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: SearchParameter.modifier.extension:modifier
path:
  v: SearchParameter.modifier.extension
slice name:
  v: modifier
short:
  v: R5: missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate additional codes
definition:
  v: R5: `SearchParameter.modifier` additional codes
comment:
  v: Element `SearchParameter.modifier` is mapped to FHIR STU3 element `SearchParameter.modifier` as `RelatedTo`. The mappings for `SearchParameter.modifier` do not allow expression of the necessary codes, per the bindings on the source and target.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.modifier|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.modifier
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: SearchParameter.modifier.value
path:
  v: SearchParameter.modifier.value
representation:
  v: xmlAttr
short:
  v: Primitive value for code
definition:
  v: Primitive value for code
min:
  v: 0
max:
  v: 1
base:
  path:
    v: string.value
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-regex
      l: structuredefinition-regex
    value: String
      v: [^\s]+([\s]?[^\s]+)*
  code:
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type
        l: structuredefinition-json-type
      value: String
        v: string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type
        l: structuredefinition-xml-type
      value: String
        v: xsd:token
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-rdf-type
        l: structuredefinition-rdf-type
      value: String
        v: xsd:token

id:
  v: SearchParameter.chain
path:
  v: SearchParameter.chain
short:
  v: Chained names supported
definition:
  v: Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from SearchParameter.code for a parameter on the target resource type.
comment:
  v: Systems are not required to list all the chain names they support, but if they don't list them, clients may not know to use them.
min:
  v: 0
max:
  v: *
base:
  path:
    v: SearchParameter.chain
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: string
    l: string

id:
  v: SearchParameter.component
path:
  v: SearchParameter.component
short:
  v: For Composite resources to define the parts
definition:
  v: Used to define the parts of a composite search parameter.
min:
  v: 0
max:
  v: *
base:
  path:
    v: SearchParameter.component
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element

id:
  v: SearchParameter.component.id
path:
  v: SearchParameter.component.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: SearchParameter.component.extension
path:
  v: SearchParameter.component.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: SearchParameter.component.modifierExtension
path:
  v: SearchParameter.component.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: SearchParameter.component.definition
path:
  v: SearchParameter.component.definition
short:
  v: Defines how the part works
definition:
  v: The definition of the search parameter that describes this part.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: SearchParameter.component.definition
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/SearchParameter
    l: SearchParameter

id:
  v: SearchParameter.component.definition.id
path:
  v: SearchParameter.component.definition.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: SearchParameter.component.definition.extension
path:
  v: SearchParameter.component.definition.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: SearchParameter.component.definition.extension:definition
path:
  v: SearchParameter.component.definition.extension
slice name:
  v: definition
short:
  v: R5: definition additional types
definition:
  v: R5: `SearchParameter.component.definition` additional types (canonical(http://hl7.org/fhir/StructureDefinition/SearchParameter)) additional types from child elements (value)
comment:
  v: Element `SearchParameter.component.definition` is mapped to FHIR STU3 element `SearchParameter.component.definition` as `SourceIsBroaderThanTarget`. The mappings for `SearchParameter.component.definition` do not cover the following types: canonical. The mappings for `SearchParameter.component.definition` do not cover the following types based on type expansion: value.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.component.definition|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.component.definition

id:
  v: SearchParameter.component.definition.reference
path:
  v: SearchParameter.component.definition.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
comment:
  v: Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: SearchParameter.component.definition.identifier
path:
  v: SearchParameter.component.definition.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: SearchParameter.component.definition.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: SearchParameter.component.definition.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: SearchParameter.component.expression
path:
  v: SearchParameter.component.expression
short:
  v: Subexpression relative to main expression
definition:
  v: A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression.
comment:
  v: This expression overrides the expression in the definition, and extracts the index values from the outcome of the composite expression.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: SearchParameter.component.expression
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string

element:
  id:
    v: SearchParameter
  path:
    v: SearchParameter
element:
  id:
    v: SearchParameter.extension
  path:
    v: SearchParameter.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: SearchParameter.extension:identifier
  path:
    v: SearchParameter.extension
  slice name:
    v: identifier
  short:
    v: R5: Additional identifier for the search parameter (business identifier) (new)
  definition:
    v: R5: `SearchParameter.identifier` (new:Identifier)
  comment:
    v: Element `SearchParameter.identifier` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.identifier` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `SearchParameter.identifier`: `http://hl7.org/fhir/StructureDefinition/artifact-identifier`.
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/artifact-identifier
      l: artifact-identifier
element:
  id:
    v: SearchParameter.extension:versionAlgorithm
  path:
    v: SearchParameter.extension
  slice name:
    v: versionAlgorithm
  short:
    v: R5: How to compare versions (new)
  definition:
    v: R5: `SearchParameter.versionAlgorithm[x]` (new:Coding, string)
  comment:
    v: Element `SearchParameter.versionAlgorithm[x]` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.versionAlgorithm[x]` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `SearchParameter.versionAlgorithm[x]`: `http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm`. If set as a string, this is a FHIRPath expression that has two additional context variables passed in - %version1 and %version2 and will return a negative number if version1 is newer, a positive number if version2 and a 0 if the version ordering can't be successfully be determined.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
      l: artifact-versionAlgorithm
element:
  id:
    v: SearchParameter.extension:title
  path:
    v: SearchParameter.extension
  slice name:
    v: title
  short:
    v: R5: Name for this search parameter (human friendly) (new)
  definition:
    v: R5: `SearchParameter.title` (new:string)
  comment:
    v: Element `SearchParameter.title` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.title` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `SearchParameter.title`: `http://hl7.org/fhir/StructureDefinition/artifact-title`. This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/artifact-title
      l: artifact-title
element:
  id:
    v: SearchParameter.extension:copyright
  path:
    v: SearchParameter.extension
  slice name:
    v: copyright
  short:
    v: R5: Use and/or publishing restrictions (new)
  definition:
    v: R5: `SearchParameter.copyright` (new:markdown)
  comment:
    v: Element `SearchParameter.copyright` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.copyright` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `SearchParameter.copyright`: `http://hl7.org/fhir/StructureDefinition/artifact-copyright`. ...
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/artifact-copyright
      l: artifact-copyright
element:
  id:
    v: SearchParameter.extension:copyrightLabel
  path:
    v: SearchParameter.extension
  slice name:
    v: copyrightLabel
  short:
    v: R5: Copyright holder and year(s) (new)
  definition:
    v: R5: `SearchParameter.copyrightLabel` (new:string)
  comment:
    v: Element `SearchParameter.copyrightLabel` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.copyrightLabel` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). An externally-defined extension that has been mapped as the representation of FHIR R5 element `SearchParameter.copyrightLabel`: `http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel`. The (c) symbol should NOT be included in this string. It will be added by software when rendering the notation. Full details about licensing, restrictions, warrantees, etc. goes in the more general 'copyright' element.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
      l: artifact-copyrightLabel
element:
  id:
    v: SearchParameter.extension:constraint
  path:
    v: SearchParameter.extension
  slice name:
    v: constraint
  short:
    v: R5: FHIRPath expression that constraints the usage of this SearchParamete (new)
  definition:
    v: R5: `SearchParameter.constraint` (new:string)
  comment:
    v: Element `SearchParameter.constraint` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.constraint` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *

code:
  v: Extension
  l: Extension
profile:
  v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.constraint|0.1.0
  l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.constraint

id:
  v: SearchParameter.extension:multipleOr
path:
  v: SearchParameter.extension
slice name:
  v: multipleOr
short:
  v: R5: Allow multiple values per parameter (or) (new)
definition:
  v: R5: `SearchParameter.multipleOr` (new:boolean)
comment:
  v: Element `SearchParameter.multipleOr` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.multipleOr` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.multipleOr|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.multipleOr

id:
  v: SearchParameter.extension:multipleAnd
path:
  v: SearchParameter.extension
slice name:
  v: multipleAnd
short:
  v: R5: Allow multiple parameters (and) (new)
definition:
  v: R5: `SearchParameter.multipleAnd` (new:boolean)
comment:
  v: Element `SearchParameter.multipleAnd` has a context of SearchParameter based on following the parent source element upwards and mapping to `SearchParameter`. Element `SearchParameter.multipleAnd` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.multipleAnd|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.multipleAnd

id:
  v: SearchParameter.contact.extension
path:
  v: SearchParameter.contact.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: SearchParameter.contact.extension:contact
path:
  v: SearchParameter.contact.extension
slice name:
  v: contact
short:
  v: R5: contact additional types
definition:
  v: R5: `SearchParameter.contact` additional types (ContactDetail) additional types from child elements (name, telecom)
comment:
  v: Element `SearchParameter.contact` is mapped to FHIR STU3 element `SearchParameter.contact` as `SourceIsBroaderThanTarget`. The mappings for `SearchParameter.contact` do not cover the following types: ContactDetail. The mappings for `SearchParameter.contact` do not cover the following types based on type expansion: name, telecom. May be a web site, an email address, a telephone number, etc. See guidance around (not) making local changes to elements [here](https://hl7.org/fhir/canonicalreso.html#localization).
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.contact|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.contact

id:
  v: SearchParameter.type.extension
path:
  v: SearchParameter.type.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: SearchParameter.type.extension:type
path:
  v: SearchParameter.type.extension
slice name:
  v: type
short:
  v: R5: number | date | string | token | reference | composite | quantity | uri | special
definition:
  v: R5: `SearchParameter.type`
comment:
  v: Element `SearchParameter.type` is mapped to FHIR STU3 element `SearchParameter.type` as `SourceIsBroaderThanTarget`.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.type|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.type

id:
  v: SearchParameter.xpathUsage.extension
path:
  v: SearchParameter.xpathUsage.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: SearchParameter.xpathUsage.extension:processingMode
path:
  v: SearchParameter.xpathUsage.extension
slice name:
  v: processingMode
short:
  v: R5: normal | phonetic | other additional codes
definition:
  v: R5: `SearchParameter.processingMode` additional codes
comment:
  v: Element `SearchParameter.processingMode` is mapped to FHIR STU3 element `SearchParameter.xpathUsage` as `RelatedTo`. The mappings for `SearchParameter.processingMode` do not allow expression of the necessary codes, per the bindings on the source and target.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.processingMode|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.processingMode

id:
  v: SearchParameter.modifier.extension
path:
  v: SearchParameter.modifier.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: SearchParameter.modifier.extension:modifier
path:
  v: SearchParameter.modifier.extension
slice name:
  v: modifier
short:
  v: R5: missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate additional codes
definition:
  v: R5: `SearchParameter.modifier` additional codes
comment:
  v: Element `SearchParameter.modifier` is mapped to FHIR STU3 element `SearchParameter.modifier` as `RelatedTo`. The mappings for `SearchParameter.modifier` do not allow expression of the necessary codes, per the bindings on the source and target.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.modifier|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.modifier

id:
  v: SearchParameter.component.definition.extension
path:
  v: SearchParameter.component.definition.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: SearchParameter.component.definition.extension:definition
path:
  v: SearchParameter.component.definition.extension
slice name:
  v: definition
short:
  v: R5: definition additional types
definition:
  v: R5: `SearchParameter.component.definition` additional types (canonical(http://hl7.org/fhir/StructureDefinition/SearchParameter)) additional types from child elements (value)
comment:
  v: Element `SearchParameter.component.definition` is mapped to FHIR STU3 element `SearchParameter.component.definition` as `SourceIsBroaderThanTarget`. The mappings for `SearchParameter.component.definition` do not cover the following types: canonical. The mappings for `SearchParameter.component.definition` do not cover the following types based on type expansion: value.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.component.definition|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-SearchParameter.component.definition