Implementation Guide
ePA Basisfunktionalitäten
Version 1.0.6 - release

Resource Profile: OperationDefinition Profil für ePA FHIR Data Service

Official URL: https://gematik.de/fhir/epa/StructureDefinition/epa-operationdefinition Version: 1.0.6
Active as of 2025-05-09 Computable Name: EPAOperationDefinition

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

Usage:

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

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C 0..* OperationDefinition Definition of an operation or a named query
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
opd-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
op-affectsState-vs-method: Wenn affectsState = true, darf keine http-method Extension GET enthalten.
... meta SΣ 0..1 Meta Metadata about the resource
ele-1: All FHIR elements must have a @value or children
.... versionId SΣ 0..1 id Version specific identifier
ele-1: All FHIR elements must have a @value or children
.... lastUpdated SΣ 0..1 instant When the resource version last changed
ele-1: All FHIR elements must have a @value or children
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:method S 0..2 code HTTP Method for FHIR Operation
URL: https://gematik.de/fhir/epa/StructureDefinition/http-method
Binding: HTTPVerb (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... name ΣC 1..1 string Name for this operation definition (computer friendly)
ele-1: All FHIR elements must have a @value or children
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.


ele-1: All FHIR elements must have a @value or children
... kind SΣ 1..1 code operation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.


ele-1: All FHIR elements must have a @value or children
... affectsState SΣ 0..1 boolean Whether content is changed by the operation
ele-1: All FHIR elements must have a @value or children
... code SΣ 1..1 code Name used to invoke the operation
ele-1: All FHIR elements must have a @value or children
... system SΣ 1..1 boolean Invoke at the system level?
ele-1: All FHIR elements must have a @value or children
... type SΣ 1..1 boolean Invoke at the type level?
ele-1: All FHIR elements must have a @value or children
... instance SΣ 1..1 boolean Invoke on an instance?
ele-1: All FHIR elements must have a @value or children
... inputProfile S 0..1 canonical(StructureDefinition) Validation information for in parameters
ele-1: All FHIR elements must have a @value or children
... outputProfile S 0..1 canonical(StructureDefinition) Validation information for out parameters
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
OperationDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
OperationDefinition.kindrequiredOperationKind
http://hl7.org/fhir/ValueSet/operation-kind|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOperationDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOperationDefinitionIf 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-4errorOperationDefinitionIf 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-5errorOperationDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOperationDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
op-affectsState-vs-methoderrorOperationDefinitionWenn affectsState = true, darf keine http-method Extension GET enthalten.
: affectsState != true or extension.where(url = 'https://gematik.de/fhir/epa/StructureDefinition/http-method').all(value != 'GET')
opd-0warningOperationDefinitionName 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

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C 0..* OperationDefinition Definition of an operation or a named query
op-affectsState-vs-method: Wenn affectsState = true, darf keine http-method Extension GET enthalten.
... meta S 0..1 Meta Metadata about the resource
.... versionId S 0..1 id Version specific identifier
.... lastUpdated S 0..1 instant When the resource version last changed
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:method S 0..2 code HTTP Method for FHIR Operation
URL: https://gematik.de/fhir/epa/StructureDefinition/http-method
Binding: HTTPVerb (required)
... kind S 1..1 code operation | query
... 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

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
op-affectsState-vs-methoderrorOperationDefinitionWenn affectsState = true, darf keine http-method Extension GET enthalten.
: affectsState != true or extension.where(url = 'https://gematik.de/fhir/epa/StructureDefinition/http-method').all(value != 'GET')
NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C 0..* OperationDefinition Definition of an operation or a named query
opd-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
op-affectsState-vs-method: Wenn affectsState = true, darf keine http-method Extension GET enthalten.
... id Σ 0..1 id Logical id of this artifact
... meta SΣ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:method S 0..2 code HTTP Method for FHIR Operation
URL: https://gematik.de/fhir/epa/StructureDefinition/http-method
Binding: HTTPVerb (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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
opd-1: Either a type must be provided, or parts
opd-2: A search type can only be specified for parameters of type string
opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... 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
..... 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
..... 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
.... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
OperationDefinition.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
OperationDefinition.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
OperationDefinition.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
OperationDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
OperationDefinition.kindrequiredOperationKind
http://hl7.org/fhir/ValueSet/operation-kind|4.0.1
from the FHIR Standard
OperationDefinition.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
OperationDefinition.resourcerequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter.userequiredOperationParameterUse
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter.typerequiredFHIRAllTypes
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOperationDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOperationDefinitionIf 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-4errorOperationDefinitionIf 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-5errorOperationDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOperationDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
op-affectsState-vs-methoderrorOperationDefinitionWenn affectsState = true, darf keine http-method Extension GET enthalten.
: affectsState != true or extension.where(url = 'https://gematik.de/fhir/epa/StructureDefinition/http-method').all(value != 'GET')
opd-0warningOperationDefinitionName 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-1errorOperationDefinition.parameterEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameterA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameterA 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: 12 elements

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C 0..* OperationDefinition Definition of an operation or a named query
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
opd-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
op-affectsState-vs-method: Wenn affectsState = true, darf keine http-method Extension GET enthalten.
... meta SΣ 0..1 Meta Metadata about the resource
ele-1: All FHIR elements must have a @value or children
.... versionId SΣ 0..1 id Version specific identifier
ele-1: All FHIR elements must have a @value or children
.... lastUpdated SΣ 0..1 instant When the resource version last changed
ele-1: All FHIR elements must have a @value or children
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:method S 0..2 code HTTP Method for FHIR Operation
URL: https://gematik.de/fhir/epa/StructureDefinition/http-method
Binding: HTTPVerb (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... name ΣC 1..1 string Name for this operation definition (computer friendly)
ele-1: All FHIR elements must have a @value or children
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.


ele-1: All FHIR elements must have a @value or children
... kind SΣ 1..1 code operation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.


ele-1: All FHIR elements must have a @value or children
... affectsState SΣ 0..1 boolean Whether content is changed by the operation
ele-1: All FHIR elements must have a @value or children
... code SΣ 1..1 code Name used to invoke the operation
ele-1: All FHIR elements must have a @value or children
... system SΣ 1..1 boolean Invoke at the system level?
ele-1: All FHIR elements must have a @value or children
... type SΣ 1..1 boolean Invoke at the type level?
ele-1: All FHIR elements must have a @value or children
... instance SΣ 1..1 boolean Invoke on an instance?
ele-1: All FHIR elements must have a @value or children
... inputProfile S 0..1 canonical(StructureDefinition) Validation information for in parameters
ele-1: All FHIR elements must have a @value or children
... outputProfile S 0..1 canonical(StructureDefinition) Validation information for out parameters
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
OperationDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
OperationDefinition.kindrequiredOperationKind
http://hl7.org/fhir/ValueSet/operation-kind|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOperationDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOperationDefinitionIf 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-4errorOperationDefinitionIf 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-5errorOperationDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOperationDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
op-affectsState-vs-methoderrorOperationDefinitionWenn affectsState = true, darf keine http-method Extension GET enthalten.
: affectsState != true or extension.where(url = 'https://gematik.de/fhir/epa/StructureDefinition/http-method').all(value != 'GET')
opd-0warningOperationDefinitionName 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

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C 0..* OperationDefinition Definition of an operation or a named query
op-affectsState-vs-method: Wenn affectsState = true, darf keine http-method Extension GET enthalten.
... meta S 0..1 Meta Metadata about the resource
.... versionId S 0..1 id Version specific identifier
.... lastUpdated S 0..1 instant When the resource version last changed
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:method S 0..2 code HTTP Method for FHIR Operation
URL: https://gematik.de/fhir/epa/StructureDefinition/http-method
Binding: HTTPVerb (required)
... kind S 1..1 code operation | query
... 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

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
op-affectsState-vs-methoderrorOperationDefinitionWenn affectsState = true, darf keine http-method Extension GET enthalten.
: affectsState != true or extension.where(url = 'https://gematik.de/fhir/epa/StructureDefinition/http-method').all(value != 'GET')

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C 0..* OperationDefinition Definition of an operation or a named query
opd-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
op-affectsState-vs-method: Wenn affectsState = true, darf keine http-method Extension GET enthalten.
... id Σ 0..1 id Logical id of this artifact
... meta SΣ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:method S 0..2 code HTTP Method for FHIR Operation
URL: https://gematik.de/fhir/epa/StructureDefinition/http-method
Binding: HTTPVerb (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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
opd-1: Either a type must be provided, or parts
opd-2: A search type can only be specified for parameters of type string
opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... 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
..... 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
..... 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
.... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
OperationDefinition.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
OperationDefinition.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
OperationDefinition.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
OperationDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
OperationDefinition.kindrequiredOperationKind
http://hl7.org/fhir/ValueSet/operation-kind|4.0.1
from the FHIR Standard
OperationDefinition.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
OperationDefinition.resourcerequiredResourceType
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter.userequiredOperationParameterUse
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter.typerequiredFHIRAllTypes
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOperationDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOperationDefinitionIf 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-4errorOperationDefinitionIf 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-5errorOperationDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOperationDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
op-affectsState-vs-methoderrorOperationDefinitionWenn affectsState = true, darf keine http-method Extension GET enthalten.
: affectsState != true or extension.where(url = 'https://gematik.de/fhir/epa/StructureDefinition/http-method').all(value != 'GET')
opd-0warningOperationDefinitionName 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-1errorOperationDefinition.parameterEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameterA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameterA 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: 12 elements

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron