http://hl7.org/fhir/StructureDefinition/OperationDefinition|5.0.0

A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
description: A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
derivation: specialization
name: OperationDefinition
type: OperationDefinition
elements:
  description: {isModifier: false, short: Natural language description of the operation definition, mustSupport: false, isSummary: false, index: 13}
  date: {isModifier: false, short: Date last changed, mustSupport: false, isSummary: true, index: 10}
  system: {isModifier: false, short: 'Invoke at the system level?', mustSupport: false, isSummary: true, index: 24}
  publisher: {isModifier: false, short: Name of the publisher/steward (organization or individual), mustSupport: false, isSummary: true, index: 11}
  instance: {isModifier: false, short: 'Invoke on an instance?', mustSupport: false, isSummary: true, index: 26}
  jurisdiction:
    isModifier: false
    short: Intended jurisdiction for operation definition (if applicable)
    mustSupport: false
    array: true
    binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/jurisdiction'}
    isSummary: true
    index: 15
  purpose: {isModifier: false, short: Why this operation definition is defined, mustSupport: false, isSummary: false, index: 16}
  name: {isModifier: false, short: Name for this operation definition (computer friendly), mustSupport: false, isSummary: true, index: 5}
  copyrightLabel: {isModifier: false, short: Copyright holder and year(s), mustSupport: false, isSummary: false, index: 18}
  useContext: {isModifier: false, short: The context that the content is intended to support, mustSupport: false, array: true, isSummary: true, index: 14}
  copyright: {isModifier: false, short: Use and/or publishing restrictions, mustSupport: false, isSummary: false, index: 17}
  versionAlgorithm:
    isModifier: false
    short: How to compare versions
    mustSupport: false
    choices: []
    isSummary: true
    index: 4
  type: {isModifier: false, short: 'Invoke at the type level?', mustSupport: false, isSummary: true, index: 25}
  overload:
    isModifier: false
    short: Define overloaded variants for when  generating code
    mustSupport: false
    array: true
    isSummary: false
    index: 47
    elements:
      parameterName: {isModifier: false, short: Name of parameter to include in overload, mustSupport: false, array: true, isSummary: false, index: 48}
      comment: {isModifier: false, short: Comments to go on overload, mustSupport: false, isSummary: false, index: 49}
  experimental: {isModifier: false, short: 'For testing purposes, not real usage', mustSupport: false, meaningWhenMissing: 'If absent, this resource is treated as though it is not experimental.', isSummary: true, index: 9}
  outputProfile: {isModifier: false, short: Validation information for out parameters, mustSupport: false, isSummary: false, index: 28}
  title: {isModifier: false, short: Name for this operation definition (human friendly), mustSupport: false, isSummary: true, index: 6}
  status:
    isModifier: true
    short: draft | active | retired | unknown
    mustSupport: false
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/publication-status|5.0.0'}
    isModifierReason: This is labeled as \"Is Modifier\" because applications should not use a retired {{title}} without due consideration
    isSummary: true
    index: 7
  resource:
    isModifier: false
    short: Types this operation applies to
    mustSupport: false
    array: true
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/version-independent-all-resource-types|5.0.0'}
    isSummary: true
    index: 23
  affectsState: {isModifier: false, short: Whether content is changed by the operation, mustSupport: false, isSummary: true, index: 19}
  kind:
    isModifier: false
    short: operation | query
    mustSupport: false
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/operation-kind|5.0.0'}
    isSummary: true
    index: 8
  comment: {isModifier: false, short: Additional information about use, mustSupport: false, isSummary: false, index: 21}
  url:
    constraint:
      cnl-1: {human: 'URL should not contain | or # - these characters make processing canonical references problematic', source: 'http://hl7.org/fhir/StructureDefinition/OperationDefinition', severity: warning, expression: 'exists() implies matches(''^[^|# ]+$'')'}
    isModifier: false
    short: Canonical identifier for this operation definition, represented as an absolute URI (globally unique)
    mustSupport: false
    isSummary: true
    index: 0
  code: {isModifier: false, short: Recommended name for operation in search url, mustSupport: false, isSummary: true, index: 20}
  identifier: {isModifier: false, short: Additional identifier for the implementation guide (business identifier), mustSupport: false, array: true, isSummary: true, index: 1}
  base: {isModifier: false, short: Marks this as a profile of the base, mustSupport: false, isSummary: true, index: 22}
  version: {isModifier: false, short: Business version of the operation definition, mustSupport: false, isSummary: true, index: 2}
  contact: {isModifier: false, short: Contact details for the publisher, mustSupport: false, array: true, isSummary: true, index: 12}
  inputProfile: {isModifier: false, short: Validation information for in parameters, mustSupport: false, isSummary: false, index: 27}
  parameter:
    constraint:
      opd-1: {human: 'Either a type must be provided, or parts', source: 'http://hl7.org/fhir/StructureDefinition/OperationDefinition', severity: error, expression: type.exists() or part.exists()}
      opd-2: {human: A search type can only be specified for parameters of type string, source: 'http://hl7.org/fhir/StructureDefinition/OperationDefinition', severity: error, expression: searchType.exists() implies type = 'string'}
      opd-3: {human: 'A targetProfile can only be specified for parameters of type Reference, Canonical, or a Resource', source: 'http://hl7.org/fhir/StructureDefinition/OperationDefinition', severity: error, expression: 'targetProfile.exists() implies (type = ''Reference'' or type = ''canonical'' or type.memberOf(''http://hl7.org/fhir/ValueSet/resource-types''))'}
      opd-4: {human: SearchParamType can only be specified on in parameters, source: 'http://hl7.org/fhir/StructureDefinition/OperationDefinition', severity: error, expression: (use = 'out') implies searchType.empty()}
    isModifier: false
    short: Parameters for the operation/query
    index: 29
    mustSupport: false
    array: true
    elements:
      min: {isModifier: false, short: Minimum Cardinality, mustSupport: false, isSummary: false, index: 33}
      searchType:
        isModifier: false
        short: number | date | string | token | reference | composite | quantity | uri | special
        mustSupport: false
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/search-param-type|5.0.0'}
        isSummary: false
        index: 39
      use:
        isModifier: false
        short: in | out
        mustSupport: false
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/operation-parameter-use|5.0.0'}
        isSummary: false
        index: 31
      name: {isModifier: false, short: Name in Parameters.parameter.name or in URL, mustSupport: false, isSummary: false, index: 30}
      part:
        elementReference: ['http://hl7.org/fhir/StructureDefinition/OperationDefinition', elements, parameter]
        isModifier: false
        short: Parts of a nested Parameter
        mustSupport: false
        array: true
        isSummary: false
        index: 46
      type:
        isModifier: false
        short: What type this parameter has
        mustSupport: false
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/fhir-types|5.0.0'}
        isSummary: false
        index: 36
      referencedFrom:
        isModifier: false
        short: References to this parameter
        mustSupport: false
        array: true
        isSummary: false
        index: 43
        elements:
          source: {isModifier: false, short: Referencing parameter, mustSupport: false, isSummary: false, index: 44}
          sourceId: {isModifier: false, short: Element id of reference, mustSupport: false, isSummary: false, index: 45}
        required: [source]
      scope:
        isModifier: false
        short: instance | type | system
        mustSupport: false
        array: true
        meaningWhenMissing: If no scope is indicated, it is assumed that the parameter is relevant whenever the operation is invoked.
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/operation-parameter-scope|5.0.0'}
        isSummary: false
        index: 32
      documentation: {isModifier: false, short: Description of meaning/use, mustSupport: false, isSummary: false, index: 35}
      allowedType:
        isModifier: false
        short: Allowed sub-type this parameter can have (if type is abstract)
        mustSupport: false
        array: true
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/fhir-types|5.0.0'}
        isSummary: false
        index: 37
      binding:
        isModifier: false
        short: ValueSet details if this is coded
        mustSupport: false
        isSummary: false
        index: 40
        elements:
          strength:
            isModifier: false
            short: required | extensible | preferred | example
            mustSupport: false
            binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/binding-strength|5.0.0'}
            isSummary: false
            index: 41
          valueSet: {isModifier: false, short: Source of value set, mustSupport: false, isSummary: false, index: 42}
        required: [valueSet, strength]
      max: {isModifier: false, short: Maximum Cardinality (a number or *), mustSupport: false, isSummary: false, index: 34}
      targetProfile: {isModifier: false, short: 'If type is Reference | canonical, allowed targets. If type is ''Resource'', then this constrains the allowed resource types', mustSupport: false, array: true, isSummary: false, index: 38}
    required: [min, max, name, use]
    isSummary: false
class: resource
kind: resource
url: http://hl7.org/fhir/StructureDefinition/OperationDefinition
base: http://hl7.org/fhir/StructureDefinition/DomainResource
version: 5.0.0
required: [name, status, instance, kind, type, system, code]