Canonical Resource Management Infrastructure Implementation Guide
1.0.0 - STU1 International flag

This page is part of the Canonical Resource Management Infrastructure Implementation Guide (v1.0.0: STU1) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: CRMI Operation Profile: Manifestable

Official URL: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-manifestable-operation Version: 1.0.0
Active as of 2024-05-31 Computable Name: ManifestableOperation
Other Identifiers: OID:2.16.840.1.113883.4.642.40.38.42.7

Operation where default manifest to resolve canonicals can be specified

  • manifest: Canonical reference to a Library resource where related-artifacts are used to define the versions of canonical resources.

Usage:

Formal Views of Profile Content

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

This structure is derived from OperationDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition 0..* OperationDefinition Definition of an operation or a named query
... Slices for parameter 0..* BackboneElement Parameters for the operation/query
Slice: Unordered, Open by value:name
.... parameter:manifest S 0..1 BackboneElement Parameters for the operation/query
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: manifest
..... use 1..1 code in | out
Required Pattern: in
..... min 1..1 integer Minimum Cardinality
Required Pattern: 0
..... max 1..1 string Maximum Cardinality (a number or *)
Required Pattern: 1
..... type 0..1 code What type this parameter has
Required Pattern: canonical
..... targetProfile 0..* canonical(StructureDefinition) If type is Reference | canonical, allowed targets
Required Pattern: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-manifestlibrary

doco Documentation for this format
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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... name ΣC 1..1 string Name for this operation definition (computer friendly)
... kind Σ 1..1 code operation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

... code Σ 1..1 code Name used to invoke the operation
... system Σ 1..1 boolean Invoke at the system level?
... type Σ 1..1 boolean Invoke at the type level?
... instance Σ 1..1 boolean Invoke on an instance?
... Slices for parameter C 0..* BackboneElement Parameters for the operation/query
Slice: Unordered, Open by value:name
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
.... parameter:All Slices Content/Rules for all slices
..... 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 *)
.... parameter:manifest SC 0..1 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: manifest
..... use 1..1 code in | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.


Required Pattern: in
..... min 1..1 integer Minimum Cardinality
Required Pattern: 0
..... max 1..1 string Maximum Cardinality (a number or *)
Required Pattern: 1
..... 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.


Required Pattern: canonical
..... targetProfile 0..* canonical(StructureDefinition) If type is Reference | canonical, allowed targets

Required Pattern: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-manifestlibrary

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
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.parameter.userequiredOperationParameterUse
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:manifest.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:manifest.typerequiredPattern: canonical
http://hl7.org/fhir/ValueSet/all-types|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()
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.parameter, OperationDefinition.parameter:manifestEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:manifestA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:manifestA targetProfile can only be specified for parameters of type Reference or Canonical
: targetProfile.exists() implies (type = 'Reference' or type = 'canonical')
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
... 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... 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 Σ 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 Σ 0..1 boolean Whether content is changed by the operation
... code Σ 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 Σ 1..1 boolean Invoke at the system level?
... type Σ 1..1 boolean Invoke at the type level?
... instance Σ 1..1 boolean Invoke on an instance?
... inputProfile 0..1 canonical(StructureDefinition) Validation information for in parameters
... outputProfile 0..1 canonical(StructureDefinition) Validation information for out parameters
... Slices for parameter C 0..* BackboneElement Parameters for the operation/query
Slice: Unordered, Open by value:name
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
.... parameter:All Slices Content/Rules for all slices
..... 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
.... parameter:manifest SC 0..1 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
Fixed Value: manifest
..... use 1..1 code in | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.


Required Pattern: in
..... min 1..1 integer Minimum Cardinality
Required Pattern: 0
..... max 1..1 string Maximum Cardinality (a number or *)
Required Pattern: 1
..... 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.


Required Pattern: canonical
..... targetProfile 0..* canonical(StructureDefinition) If type is Reference | canonical, allowed targets

Required Pattern: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-manifestlibrary
..... 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

PathConformanceValueSet / CodeURI
OperationDefinition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
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
OperationDefinition.parameter:manifest.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:manifest.typerequiredPattern: canonical
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:manifest.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:manifest.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()
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.parameter, OperationDefinition.parameter:manifestEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:manifestA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:manifestA 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: 1 element
Fixed: 1 element

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of OperationDefinition.parameter

Differential View

This structure is derived from OperationDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition 0..* OperationDefinition Definition of an operation or a named query
... Slices for parameter 0..* BackboneElement Parameters for the operation/query
Slice: Unordered, Open by value:name
.... parameter:manifest S 0..1 BackboneElement Parameters for the operation/query
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: manifest
..... use 1..1 code in | out
Required Pattern: in
..... min 1..1 integer Minimum Cardinality
Required Pattern: 0
..... max 1..1 string Maximum Cardinality (a number or *)
Required Pattern: 1
..... type 0..1 code What type this parameter has
Required Pattern: canonical
..... targetProfile 0..* canonical(StructureDefinition) If type is Reference | canonical, allowed targets
Required Pattern: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-manifestlibrary

doco Documentation for this format

Key Elements 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... name ΣC 1..1 string Name for this operation definition (computer friendly)
... kind Σ 1..1 code operation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

... code Σ 1..1 code Name used to invoke the operation
... system Σ 1..1 boolean Invoke at the system level?
... type Σ 1..1 boolean Invoke at the type level?
... instance Σ 1..1 boolean Invoke on an instance?
... Slices for parameter C 0..* BackboneElement Parameters for the operation/query
Slice: Unordered, Open by value:name
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
.... parameter:All Slices Content/Rules for all slices
..... 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 *)
.... parameter:manifest SC 0..1 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: manifest
..... use 1..1 code in | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.


Required Pattern: in
..... min 1..1 integer Minimum Cardinality
Required Pattern: 0
..... max 1..1 string Maximum Cardinality (a number or *)
Required Pattern: 1
..... 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.


Required Pattern: canonical
..... targetProfile 0..* canonical(StructureDefinition) If type is Reference | canonical, allowed targets

Required Pattern: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-manifestlibrary

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
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.parameter.userequiredOperationParameterUse
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:manifest.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:manifest.typerequiredPattern: canonical
http://hl7.org/fhir/ValueSet/all-types|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()
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.parameter, OperationDefinition.parameter:manifestEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:manifestA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:manifestA targetProfile can only be specified for parameters of type Reference or Canonical
: targetProfile.exists() implies (type = 'Reference' or type = 'canonical')

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
... 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... 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 Σ 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 Σ 0..1 boolean Whether content is changed by the operation
... code Σ 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 Σ 1..1 boolean Invoke at the system level?
... type Σ 1..1 boolean Invoke at the type level?
... instance Σ 1..1 boolean Invoke on an instance?
... inputProfile 0..1 canonical(StructureDefinition) Validation information for in parameters
... outputProfile 0..1 canonical(StructureDefinition) Validation information for out parameters
... Slices for parameter C 0..* BackboneElement Parameters for the operation/query
Slice: Unordered, Open by value:name
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
.... parameter:All Slices Content/Rules for all slices
..... 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
.... parameter:manifest SC 0..1 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
Fixed Value: manifest
..... use 1..1 code in | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.


Required Pattern: in
..... min 1..1 integer Minimum Cardinality
Required Pattern: 0
..... max 1..1 string Maximum Cardinality (a number or *)
Required Pattern: 1
..... 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.


Required Pattern: canonical
..... targetProfile 0..* canonical(StructureDefinition) If type is Reference | canonical, allowed targets

Required Pattern: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-manifestlibrary
..... 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

PathConformanceValueSet / CodeURI
OperationDefinition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
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
OperationDefinition.parameter:manifest.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:manifest.typerequiredPattern: canonical
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:manifest.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:manifest.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()
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.parameter, OperationDefinition.parameter:manifestEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:manifestA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:manifestA 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: 1 element
Fixed: 1 element

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of OperationDefinition.parameter

 

Other representations of profile: CSV, Excel, Schematron