Implementation Guide
TI Common
Version 1.3.0 - release

## Resource Profile: OperationDefinition Profil für TI FHIR Data Service

Official URL: https://gematik.de/fhir/ti/StructureDefinition/ti-operationdefinition | Version: 1.1.1
Active as of 2025-09-12 | Computable Name: TIOperationDefinition
Copyright/Legal: gematik GmbH / Dieses Artefakt ist lizenziert unter Apache License, Version 2.0.

Dieses Profil beschreibt FHIR Operationen des FHIR Data Service innerhalb der Telematikinfrastruktur (TI). Es stellt sicher, dass zustandsverändernde Operationen (‘affectsState = true’) nicht über HTTP GET ausgeführt werden dürfen.

Usages:

- This Profile is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
OperationDefinition | C | 0..* | OperationDefinition | Definition of an operation or a named query Constraints: dom-2, dom-3, dom-4, dom-5, dom-6, opd-0, op-affectsState-vs-method
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:method | S | 0..2 | code | HTTP Method for FHIR Operation URL: https://gematik.de/fhir/ti/StructureDefinition/extension-http-method Binding: HTTPVerb (required)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url
name | Σ C | 1..1 | string | Name for this operation definition (computer friendly)
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
kind | S Σ | 1..1 | code | operation | query Binding: OperationKind (required): Whether an operation is a normal operation or a query.
affectsState | S Σ | 0..1 | boolean | Whether content is changed by the operation
code | S Σ | 1..1 | code | Name used to invoke the operation
system | S Σ | 1..1 | boolean | Invoke at the system level?
type | S Σ | 1..1 | boolean | Invoke at the type level?
instance | S Σ | 1..1 | boolean | Invoke on an instance?
inputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for in parameters
outputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for out parameters
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
OperationDefinition.​status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
OperationDefinition.​kind | Base | required | OperationKind | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | OperationDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | OperationDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | OperationDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | OperationDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | OperationDefinition | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
op-affectsState-vs-method | error | OperationDefinition | Wenn affectsState = true, darf keine http-method Extension GET enthalten. | `affectsState != true or extension.where(url = 'https://gematik.de/fhir/ti/StructureDefinition/http-method').all(value != 'GET')`
opd-0 | warning | OperationDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`

This structure is derived from OperationDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
OperationDefinition | C | 0..* | OperationDefinition | Definition of an operation or a named query Constraints: op-affectsState-vs-method
Slices for extension |  |  |  | Content/Rules for all slices
extension:method | S | 0..2 | code | HTTP Method for FHIR Operation URL: https://gematik.de/fhir/ti/StructureDefinition/extension-http-method Binding: HTTPVerb (required)
kind | S | 1..1 | code | operation | query
affectsState | S | 0..1 | boolean | Whether content is changed by the operation
code | S | 1..1 | code | Name used to invoke the operation
system | S | 1..1 | boolean | Invoke at the system level?
type | S | 1..1 | boolean | Invoke at the type level?
instance | S | 1..1 | boolean | Invoke on an instance?
inputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for in parameters
outputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for out parameters
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
op-affectsState-vs-method | error | OperationDefinition | Wenn affectsState = true, darf keine http-method Extension GET enthalten. | `affectsState != true or extension.where(url = 'https://gematik.de/fhir/ti/StructureDefinition/http-method').all(value != 'GET')`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
OperationDefinition | C | 0..* | OperationDefinition | Definition of an operation or a named query Constraints: dom-2, dom-3, dom-4, dom-5, dom-6, opd-0, op-affectsState-vs-method
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:method | S | 0..2 | code | HTTP Method for FHIR Operation URL: https://gematik.de/fhir/ti/StructureDefinition/extension-http-method Binding: HTTPVerb (required)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url
url | Σ | 0..1 | uri | Canonical identifier for this operation definition, represented as a URI (globally unique)
version | Σ | 0..1 | string | Business version of the operation definition
name | Σ C | 1..1 | string | Name for this operation definition (computer friendly)
title | Σ | 0..1 | string | Name for this operation definition (human friendly)
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
kind | S Σ | 1..1 | code | operation | query Binding: OperationKind (required): Whether an operation is a normal operation or a query.
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual)
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description |  | 0..1 | markdown | Natural language description of the operation definition
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for operation definition (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this operation definition is defined
affectsState | S Σ | 0..1 | boolean | Whether content is changed by the operation
code | S Σ | 1..1 | code | Name used to invoke the operation
comment |  | 0..1 | markdown | Additional information about use
base | Σ | 0..1 | canonical(OperationDefinition) | Marks this as a profile of the base
resource | Σ | 0..* | code | Types this operation applies to Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
system | S Σ | 1..1 | boolean | Invoke at the system level?
type | S Σ | 1..1 | boolean | Invoke at the type level?
instance | S Σ | 1..1 | boolean | Invoke on an instance?
inputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for in parameters
outputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for out parameters
parameter | C | 0..* | BackboneElement | Parameters for the operation/query Constraints: opd-1, opd-2, opd-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL
use |  | 1..1 | code | in | out Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.
min |  | 1..1 | integer | Minimum Cardinality
max |  | 1..1 | string | Maximum Cardinality (a number or *)
documentation |  | 0..1 | string | Description of meaning/use
type | C | 0..1 | code | What type this parameter has Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
targetProfile |  | 0..* | canonical(StructureDefinition) | If type is Reference | canonical, allowed targets
searchType | C | 0..1 | code | number | date | string | token | reference | composite | quantity | uri | special Binding: SearchParamType (required): Data types allowed to be used for search parameters.
binding |  | 0..1 | BackboneElement | ValueSet details if this is coded
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
strength |  | 1..1 | code | required | extensible | preferred | example Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding.
valueSet |  | 1..1 | canonical(ValueSet) | Source of value set
referencedFrom |  | 0..* | BackboneElement | References to this parameter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
source |  | 1..1 | string | Referencing parameter
sourceId |  | 0..1 | string | Element id of reference
part | C | 0..* | See parameter (OperationDefinition) | Parts of a nested Parameter
overload |  | 0..* | BackboneElement | Define overloaded variants for when generating code
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
parameterName |  | 0..* | string | Name of parameter to include in overload
comment |  | 0..1 | string | Comments to go on overload
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
OperationDefinition.​language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
OperationDefinition.​status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
OperationDefinition.​kind | Base | required | OperationKind | 📍4.0.1 | FHIR Std.
OperationDefinition.​jurisdiction | Base | extensible | Jurisdiction | 📍4.0.1 | FHIR Std.
OperationDefinition.​resource | Base | required | ResourceType | 📍4.0.1 | FHIR Std.
OperationDefinition.​parameter.use | Base | required | OperationParameterUse | 📍4.0.1 | FHIR Std.
OperationDefinition.​parameter.type | Base | required | FHIRAllTypes | 📍4.0.1 | FHIR Std.
OperationDefinition.​parameter.searchType | Base | required | SearchParamType | 📍4.0.1 | FHIR Std.
OperationDefinition.​parameter.binding.strength | Base | required | BindingStrength | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | OperationDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | OperationDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | OperationDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | OperationDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | OperationDefinition | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
op-affectsState-vs-method | error | OperationDefinition | Wenn affectsState = true, darf keine http-method Extension GET enthalten. | `affectsState != true or extension.where(url = 'https://gematik.de/fhir/ti/StructureDefinition/http-method').all(value != 'GET')`
opd-0 | warning | OperationDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`
opd-1 | error | OperationDefinition.parameter | Either a type must be provided, or parts | `type.exists() or part.exists()`
opd-2 | error | OperationDefinition.parameter | A search type can only be specified for parameters of type string | `searchType.exists() implies type = 'string'`
opd-3 | error | OperationDefinition.parameter | A targetProfile can only be specified for parameters of type Reference or Canonical | `targetProfile.exists() implies (type = 'Reference' or type = 'canonical')`

This structure is derived from OperationDefinition

Summary

Must-Support: 9 elements

Extensions

This structure refers to these extensions:

- https://gematik.de/fhir/ti/StructureDefinition/extension-http-method

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
OperationDefinition | C | 0..* | OperationDefinition | Definition of an operation or a named query Constraints: dom-2, dom-3, dom-4, dom-5, dom-6, opd-0, op-affectsState-vs-method
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:method | S | 0..2 | code | HTTP Method for FHIR Operation URL: https://gematik.de/fhir/ti/StructureDefinition/extension-http-method Binding: HTTPVerb (required)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url
name | Σ C | 1..1 | string | Name for this operation definition (computer friendly)
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
kind | S Σ | 1..1 | code | operation | query Binding: OperationKind (required): Whether an operation is a normal operation or a query.
affectsState | S Σ | 0..1 | boolean | Whether content is changed by the operation
code | S Σ | 1..1 | code | Name used to invoke the operation
system | S Σ | 1..1 | boolean | Invoke at the system level?
type | S Σ | 1..1 | boolean | Invoke at the type level?
instance | S Σ | 1..1 | boolean | Invoke on an instance?
inputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for in parameters
outputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for out parameters
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
OperationDefinition.​status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
OperationDefinition.​kind | Base | required | OperationKind | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | OperationDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | OperationDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | OperationDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | OperationDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | OperationDefinition | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
op-affectsState-vs-method | error | OperationDefinition | Wenn affectsState = true, darf keine http-method Extension GET enthalten. | `affectsState != true or extension.where(url = 'https://gematik.de/fhir/ti/StructureDefinition/http-method').all(value != 'GET')`
opd-0 | warning | OperationDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`

Differential View

This structure is derived from OperationDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
OperationDefinition | C | 0..* | OperationDefinition | Definition of an operation or a named query Constraints: op-affectsState-vs-method
Slices for extension |  |  |  | Content/Rules for all slices
extension:method | S | 0..2 | code | HTTP Method for FHIR Operation URL: https://gematik.de/fhir/ti/StructureDefinition/extension-http-method Binding: HTTPVerb (required)
kind | S | 1..1 | code | operation | query
affectsState | S | 0..1 | boolean | Whether content is changed by the operation
code | S | 1..1 | code | Name used to invoke the operation
system | S | 1..1 | boolean | Invoke at the system level?
type | S | 1..1 | boolean | Invoke at the type level?
instance | S | 1..1 | boolean | Invoke on an instance?
inputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for in parameters
outputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for out parameters
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
op-affectsState-vs-method | error | OperationDefinition | Wenn affectsState = true, darf keine http-method Extension GET enthalten. | `affectsState != true or extension.where(url = 'https://gematik.de/fhir/ti/StructureDefinition/http-method').all(value != 'GET')`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
OperationDefinition | C | 0..* | OperationDefinition | Definition of an operation or a named query Constraints: dom-2, dom-3, dom-4, dom-5, dom-6, opd-0, op-affectsState-vs-method
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:method | S | 0..2 | code | HTTP Method for FHIR Operation URL: https://gematik.de/fhir/ti/StructureDefinition/extension-http-method Binding: HTTPVerb (required)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url
url | Σ | 0..1 | uri | Canonical identifier for this operation definition, represented as a URI (globally unique)
version | Σ | 0..1 | string | Business version of the operation definition
name | Σ C | 1..1 | string | Name for this operation definition (computer friendly)
title | Σ | 0..1 | string | Name for this operation definition (human friendly)
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
kind | S Σ | 1..1 | code | operation | query Binding: OperationKind (required): Whether an operation is a normal operation or a query.
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual)
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description |  | 0..1 | markdown | Natural language description of the operation definition
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for operation definition (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this operation definition is defined
affectsState | S Σ | 0..1 | boolean | Whether content is changed by the operation
code | S Σ | 1..1 | code | Name used to invoke the operation
comment |  | 0..1 | markdown | Additional information about use
base | Σ | 0..1 | canonical(OperationDefinition) | Marks this as a profile of the base
resource | Σ | 0..* | code | Types this operation applies to Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
system | S Σ | 1..1 | boolean | Invoke at the system level?
type | S Σ | 1..1 | boolean | Invoke at the type level?
instance | S Σ | 1..1 | boolean | Invoke on an instance?
inputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for in parameters
outputProfile | S | 0..1 | canonical(StructureDefinition) | Validation information for out parameters
parameter | C | 0..* | BackboneElement | Parameters for the operation/query Constraints: opd-1, opd-2, opd-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL
use |  | 1..1 | code | in | out Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.
min |  | 1..1 | integer | Minimum Cardinality
max |  | 1..1 | string | Maximum Cardinality (a number or *)
documentation |  | 0..1 | string | Description of meaning/use
type | C | 0..1 | code | What type this parameter has Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
targetProfile |  | 0..* | canonical(StructureDefinition) | If type is Reference | canonical, allowed targets
searchType | C | 0..1 | code | number | date | string | token | reference | composite | quantity | uri | special Binding: SearchParamType (required): Data types allowed to be used for search parameters.
binding |  | 0..1 | BackboneElement | ValueSet details if this is coded
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
strength |  | 1..1 | code | required | extensible | preferred | example Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding.
valueSet |  | 1..1 | canonical(ValueSet) | Source of value set
referencedFrom |  | 0..* | BackboneElement | References to this parameter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
source |  | 1..1 | string | Referencing parameter
sourceId |  | 0..1 | string | Element id of reference
part | C | 0..* | See parameter (OperationDefinition) | Parts of a nested Parameter
overload |  | 0..* | BackboneElement | Define overloaded variants for when generating code
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
parameterName |  | 0..* | string | Name of parameter to include in overload
comment |  | 0..1 | string | Comments to go on overload
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
OperationDefinition.​language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
OperationDefinition.​status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
OperationDefinition.​kind | Base | required | OperationKind | 📍4.0.1 | FHIR Std.
OperationDefinition.​jurisdiction | Base | extensible | Jurisdiction | 📍4.0.1 | FHIR Std.
OperationDefinition.​resource | Base | required | ResourceType | 📍4.0.1 | FHIR Std.
OperationDefinition.​parameter.use | Base | required | OperationParameterUse | 📍4.0.1 | FHIR Std.
OperationDefinition.​parameter.type | Base | required | FHIRAllTypes | 📍4.0.1 | FHIR Std.
OperationDefinition.​parameter.searchType | Base | required | SearchParamType | 📍4.0.1 | FHIR Std.
OperationDefinition.​parameter.binding.strength | Base | required | BindingStrength | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | OperationDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | OperationDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | OperationDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | OperationDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | OperationDefinition | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
op-affectsState-vs-method | error | OperationDefinition | Wenn affectsState = true, darf keine http-method Extension GET enthalten. | `affectsState != true or extension.where(url = 'https://gematik.de/fhir/ti/StructureDefinition/http-method').all(value != 'GET')`
opd-0 | warning | OperationDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`
opd-1 | error | OperationDefinition.parameter | Either a type must be provided, or parts | `type.exists() or part.exists()`
opd-2 | error | OperationDefinition.parameter | A search type can only be specified for parameters of type string | `searchType.exists() implies type = 'string'`
opd-3 | error | OperationDefinition.parameter | A targetProfile can only be specified for parameters of type Reference or Canonical | `targetProfile.exists() implies (type = 'Reference' or type = 'canonical')`

This structure is derived from OperationDefinition

Summary

Must-Support: 9 elements

Extensions

This structure refers to these extensions:

- https://gematik.de/fhir/ti/StructureDefinition/extension-http-method

Other representations of profile: CSV, Excel, Schematron