Canonical Resource Management Infrastructure Implementation Guide
1.0.0-ballot2 - Ballot International flag

This page is part of the Canonical Resource Management Infrastructure Implementation Guide (v1.0.0-ballot2: STU1 Ballot 2) based on FHIR (HL7® FHIR® Standard) R4. . 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-ballot2
Draft as of 2023-12-20 Computable Name: ManifestableOperation

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..*OperationDefinitionDefinition of an operation or a named query
... Slices for parameter 0..*BackboneElementParameters for the operation/query
Slice: Unordered, Open by value:name
.... parameter:manifest S0..1BackboneElementParameters for the operation/query
..... name 1..1codeName in Parameters.parameter.name or in URL
Fixed Value: manifest
..... use 1..1codein | out
Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
..... type 0..1codeWhat 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 C0..*OperationDefinitionDefinition of an operation or a named query
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... name ΣC1..1stringName for this operation definition (computer friendly)
... kind Σ1..1codeoperation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

... code Σ1..1codeName used to invoke the operation
... system Σ1..1booleanInvoke at the system level?
... type Σ1..1booleanInvoke at the type level?
... instance Σ1..1booleanInvoke on an instance?
... Slices for parameter C0..*BackboneElementParameters for the operation/query
Slice: Unordered, Open by value:name
.... parameter:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... name 1..1codeName in Parameters.parameter.name or in URL
..... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

..... min 1..1integerMinimum Cardinality
..... max 1..1stringMaximum Cardinality (a number or *)
.... parameter:manifest SC0..1BackboneElementParameters for the operation/query
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... name 1..1codeName in Parameters.parameter.name or in URL
Fixed Value: manifest
..... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.


Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
..... type C0..1codeWhat 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 / Code
OperationDefinition.statusrequiredPublicationStatus
OperationDefinition.kindrequiredOperationKind
OperationDefinition.parameter.userequiredOperationParameterUse
OperationDefinition.parameter:manifest.userequiredPattern: in
OperationDefinition.parameter:manifest.typerequiredPattern: canonical

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 C0..*OperationDefinitionDefinition of an operation or a named query
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriCanonical identifier for this operation definition, represented as a URI (globally unique)
... version Σ0..1stringBusiness version of the operation definition
... name ΣC1..1stringName for this operation definition (computer friendly)
... title Σ0..1stringName for this operation definition (human friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... kind Σ1..1codeoperation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

... experimental Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description 0..1markdownNatural language description of the operation definition
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for operation definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this operation definition is defined
... affectsState Σ0..1booleanWhether content is changed by the operation
... code Σ1..1codeName used to invoke the operation
... comment 0..1markdownAdditional information about use
... base Σ0..1canonical(OperationDefinition)Marks this as a profile of the base
... resource Σ0..*codeTypes this operation applies to
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.


... system Σ1..1booleanInvoke at the system level?
... type Σ1..1booleanInvoke at the type level?
... instance Σ1..1booleanInvoke on an instance?
... inputProfile 0..1canonical(StructureDefinition)Validation information for in parameters
... outputProfile 0..1canonical(StructureDefinition)Validation information for out parameters
... Slices for parameter C0..*BackboneElementParameters for the operation/query
Slice: Unordered, Open by value:name
.... parameter:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... name 1..1codeName in Parameters.parameter.name or in URL
..... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

..... min 1..1integerMinimum Cardinality
..... max 1..1stringMaximum Cardinality (a number or *)
..... documentation 0..1stringDescription of meaning/use
..... type C0..1codeWhat 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 C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

..... binding 0..1BackboneElementValueSet details if this is coded
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... strength 1..1coderequired | extensible | preferred | example
Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding.

...... valueSet 1..1canonical(ValueSet)Source of value set
..... referencedFrom 0..*BackboneElementReferences to this parameter
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... source 1..1stringReferencing parameter
...... sourceId 0..1stringElement id of reference
..... part C0..*See parameter (OperationDefinition)Parts of a nested Parameter
.... parameter:manifest SC0..1BackboneElementParameters for the operation/query
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... name 1..1codeName in Parameters.parameter.name or in URL
Fixed Value: manifest
..... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.


Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
..... documentation 0..1stringDescription of meaning/use
..... type C0..1codeWhat 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 C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

..... binding 0..1BackboneElementValueSet details if this is coded
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... strength 1..1coderequired | extensible | preferred | example
Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding.

...... valueSet 1..1canonical(ValueSet)Source of value set
..... referencedFrom 0..*BackboneElementReferences to this parameter
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... source 1..1stringReferencing parameter
...... sourceId 0..1stringElement id of reference
..... part C0..*See parameter (OperationDefinition)Parts of a nested Parameter
... overload 0..*BackboneElementDefine overloaded variants for when generating code
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... parameterName 0..*stringName of parameter to include in overload
.... comment 0..1stringComments to go on overload

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
OperationDefinition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
OperationDefinition.statusrequiredPublicationStatus
OperationDefinition.kindrequiredOperationKind
OperationDefinition.jurisdictionextensibleJurisdiction ValueSet
OperationDefinition.resourcerequiredResourceType
OperationDefinition.parameter.userequiredOperationParameterUse
OperationDefinition.parameter.typerequiredFHIRAllTypes
OperationDefinition.parameter.searchTyperequiredSearchParamType
OperationDefinition.parameter.binding.strengthrequiredBindingStrength
OperationDefinition.parameter:manifest.userequiredPattern: in
OperationDefinition.parameter:manifest.typerequiredPattern: canonical
OperationDefinition.parameter:manifest.searchTyperequiredSearchParamType
OperationDefinition.parameter:manifest.binding.strengthrequiredBindingStrength

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 Value: 1 element

Slices

This structure defines the following Slices:

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

Differential View

This structure is derived from OperationDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition 0..*OperationDefinitionDefinition of an operation or a named query
... Slices for parameter 0..*BackboneElementParameters for the operation/query
Slice: Unordered, Open by value:name
.... parameter:manifest S0..1BackboneElementParameters for the operation/query
..... name 1..1codeName in Parameters.parameter.name or in URL
Fixed Value: manifest
..... use 1..1codein | out
Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
..... type 0..1codeWhat 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 C0..*OperationDefinitionDefinition of an operation or a named query
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... name ΣC1..1stringName for this operation definition (computer friendly)
... kind Σ1..1codeoperation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

... code Σ1..1codeName used to invoke the operation
... system Σ1..1booleanInvoke at the system level?
... type Σ1..1booleanInvoke at the type level?
... instance Σ1..1booleanInvoke on an instance?
... Slices for parameter C0..*BackboneElementParameters for the operation/query
Slice: Unordered, Open by value:name
.... parameter:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... name 1..1codeName in Parameters.parameter.name or in URL
..... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

..... min 1..1integerMinimum Cardinality
..... max 1..1stringMaximum Cardinality (a number or *)
.... parameter:manifest SC0..1BackboneElementParameters for the operation/query
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... name 1..1codeName in Parameters.parameter.name or in URL
Fixed Value: manifest
..... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.


Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
..... type C0..1codeWhat 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 / Code
OperationDefinition.statusrequiredPublicationStatus
OperationDefinition.kindrequiredOperationKind
OperationDefinition.parameter.userequiredOperationParameterUse
OperationDefinition.parameter:manifest.userequiredPattern: in
OperationDefinition.parameter:manifest.typerequiredPattern: canonical

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 C0..*OperationDefinitionDefinition of an operation or a named query
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriCanonical identifier for this operation definition, represented as a URI (globally unique)
... version Σ0..1stringBusiness version of the operation definition
... name ΣC1..1stringName for this operation definition (computer friendly)
... title Σ0..1stringName for this operation definition (human friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... kind Σ1..1codeoperation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

... experimental Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description 0..1markdownNatural language description of the operation definition
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for operation definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this operation definition is defined
... affectsState Σ0..1booleanWhether content is changed by the operation
... code Σ1..1codeName used to invoke the operation
... comment 0..1markdownAdditional information about use
... base Σ0..1canonical(OperationDefinition)Marks this as a profile of the base
... resource Σ0..*codeTypes this operation applies to
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.


... system Σ1..1booleanInvoke at the system level?
... type Σ1..1booleanInvoke at the type level?
... instance Σ1..1booleanInvoke on an instance?
... inputProfile 0..1canonical(StructureDefinition)Validation information for in parameters
... outputProfile 0..1canonical(StructureDefinition)Validation information for out parameters
... Slices for parameter C0..*BackboneElementParameters for the operation/query
Slice: Unordered, Open by value:name
.... parameter:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... name 1..1codeName in Parameters.parameter.name or in URL
..... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

..... min 1..1integerMinimum Cardinality
..... max 1..1stringMaximum Cardinality (a number or *)
..... documentation 0..1stringDescription of meaning/use
..... type C0..1codeWhat 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 C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

..... binding 0..1BackboneElementValueSet details if this is coded
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... strength 1..1coderequired | extensible | preferred | example
Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding.

...... valueSet 1..1canonical(ValueSet)Source of value set
..... referencedFrom 0..*BackboneElementReferences to this parameter
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... source 1..1stringReferencing parameter
...... sourceId 0..1stringElement id of reference
..... part C0..*See parameter (OperationDefinition)Parts of a nested Parameter
.... parameter:manifest SC0..1BackboneElementParameters for the operation/query
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... name 1..1codeName in Parameters.parameter.name or in URL
Fixed Value: manifest
..... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.


Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
..... documentation 0..1stringDescription of meaning/use
..... type C0..1codeWhat 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 C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

..... binding 0..1BackboneElementValueSet details if this is coded
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... strength 1..1coderequired | extensible | preferred | example
Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding.

...... valueSet 1..1canonical(ValueSet)Source of value set
..... referencedFrom 0..*BackboneElementReferences to this parameter
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... source 1..1stringReferencing parameter
...... sourceId 0..1stringElement id of reference
..... part C0..*See parameter (OperationDefinition)Parts of a nested Parameter
... overload 0..*BackboneElementDefine overloaded variants for when generating code
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... parameterName 0..*stringName of parameter to include in overload
.... comment 0..1stringComments to go on overload

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
OperationDefinition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
OperationDefinition.statusrequiredPublicationStatus
OperationDefinition.kindrequiredOperationKind
OperationDefinition.jurisdictionextensibleJurisdiction ValueSet
OperationDefinition.resourcerequiredResourceType
OperationDefinition.parameter.userequiredOperationParameterUse
OperationDefinition.parameter.typerequiredFHIRAllTypes
OperationDefinition.parameter.searchTyperequiredSearchParamType
OperationDefinition.parameter.binding.strengthrequiredBindingStrength
OperationDefinition.parameter:manifest.userequiredPattern: in
OperationDefinition.parameter:manifest.typerequiredPattern: canonical
OperationDefinition.parameter:manifest.searchTyperequiredSearchParamType
OperationDefinition.parameter:manifest.binding.strengthrequiredBindingStrength

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 Value: 1 element

Slices

This structure defines the following Slices:

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

 

Other representations of profile: CSV, Excel, Schematron