Canonical Resource Management Infrastructure Implementation Guide
1.0.0-snapshot - Snapshot International flag

Canonical Resource Management Infrastructure Implementation Guide, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 1.0.0-snapshot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/crmi-ig/ and changes regularly. See the Directory of published versions

Resource Profile: CRMI Operation Profile: Artifact Operation

Official URL: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-operation Version: 1.0.0-snapshot
Draft as of 2024-04-04 Computable Name: ArtifactOperation
Other Identifiers: OID:2.16.840.1.113883.4.642.40.38.42.3

Profile for knowledge artifact operations.

This establishes input parameters when the operation is involked at the resource type level. The parameters are used to identify or specify the resource for the operation.

  • url: artifact URL* for the resource
  • version: artifact version* for the resource
  • identifier: business identifier for the resource
  • resource: instance of a canonical resource

*The artifact URL for canonical resources is .url, for non-canonical resources, it is the extension artifact-url. The version for canonical resources is .version, for non-canonical resources it is the extension artifact-version.

NOTE: When invoking canonical operations using any combination of url, version, and identifier:

  • if there is one-and-only-one matching resource, the operation should apply, otherwise an error state.
  • if resource is specified then url, version, and identifier should be ignored.

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:url SC 0..1 BackboneElement Parameters for the operation/query
crmi-artifact-operation-1: Parameter url type is uri or canonical
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: url
..... 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
.... parameter:version S 0..1 BackboneElement Parameters for the operation/query
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: version
..... 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: string
.... parameter:identifier S 0..1 BackboneElement Parameters for the operation/query
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: identifier
..... 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: string
..... searchType 0..1 code number | date | string | token | reference | composite | quantity | uri | special
Required Pattern: token
.... parameter:resource S 0..1 BackboneElement Parameters for the operation/query
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: resource
..... 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
Binding: Artifact Resource Types (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
OperationDefinition.parameter:resource.typerequiredArtifactResourceTypes
http://hl7.org/fhir/uv/crmi/ValueSet/ArtifactResourceTypes
from this IG

Constraints

IdGradePath(s)DetailsRequirements
crmi-artifact-operation-1errorOperationDefinition.parameter:urlParameter url type is uri or canonical
: type='uri' 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
... 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:url 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
crmi-artifact-operation-1: Parameter url type is uri 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: url
..... 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
.... parameter:version 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: version
..... 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: string
.... parameter:identifier 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: identifier
..... 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: string
..... 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.


Required Pattern: token
.... parameter:resource 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: resource
..... 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: Artifact Resource Types (required)

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:url.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.typerequiredPattern: string
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.typerequiredPattern: string
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.searchTyperequiredPattern: token
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:resource.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:resource.typerequiredArtifactResourceTypes
http://hl7.org/fhir/uv/crmi/ValueSet/ArtifactResourceTypes
from this IG

Constraints

IdGradePath(s)DetailsRequirements
crmi-artifact-operation-1errorOperationDefinition.parameter:urlParameter url type is uri or canonical
: type='uri' or type='canonical'
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:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceA 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:url 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
crmi-artifact-operation-1: Parameter url type is uri 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: url
..... 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.

..... 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:version 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: version
..... 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: string
..... 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:identifier 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: identifier
..... 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: string
..... 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.


Required Pattern: token
..... 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:resource 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: resource
..... 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: Artifact Resource Types (required)
..... 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

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:url.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:url.typerequiredFHIRAllTypes
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:url.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:url.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.typerequiredPattern: string
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.typerequiredPattern: string
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.searchTyperequiredPattern: token
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|4.0.1
from the FHIR Standard
OperationDefinition.parameter:resource.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:resource.typerequiredArtifactResourceTypes
http://hl7.org/fhir/uv/crmi/ValueSet/ArtifactResourceTypes
from this IG
OperationDefinition.parameter:resource.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:resource.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crmi-artifact-operation-1errorOperationDefinition.parameter:urlParameter url type is uri or canonical
: type='uri' or type='canonical'
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:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceA 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: 4 elements
Fixed: 4 elements

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:url SC 0..1 BackboneElement Parameters for the operation/query
crmi-artifact-operation-1: Parameter url type is uri or canonical
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: url
..... 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
.... parameter:version S 0..1 BackboneElement Parameters for the operation/query
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: version
..... 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: string
.... parameter:identifier S 0..1 BackboneElement Parameters for the operation/query
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: identifier
..... 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: string
..... searchType 0..1 code number | date | string | token | reference | composite | quantity | uri | special
Required Pattern: token
.... parameter:resource S 0..1 BackboneElement Parameters for the operation/query
..... name 1..1 code Name in Parameters.parameter.name or in URL
Fixed Value: resource
..... 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
Binding: Artifact Resource Types (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
OperationDefinition.parameter:resource.typerequiredArtifactResourceTypes
http://hl7.org/fhir/uv/crmi/ValueSet/ArtifactResourceTypes
from this IG

Constraints

IdGradePath(s)DetailsRequirements
crmi-artifact-operation-1errorOperationDefinition.parameter:urlParameter url type is uri or canonical
: type='uri' or type='canonical'

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:url 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
crmi-artifact-operation-1: Parameter url type is uri 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: url
..... 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
.... parameter:version 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: version
..... 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: string
.... parameter:identifier 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: identifier
..... 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: string
..... 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.


Required Pattern: token
.... parameter:resource 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: resource
..... 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: Artifact Resource Types (required)

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:url.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.typerequiredPattern: string
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.typerequiredPattern: string
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.searchTyperequiredPattern: token
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:resource.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:resource.typerequiredArtifactResourceTypes
http://hl7.org/fhir/uv/crmi/ValueSet/ArtifactResourceTypes
from this IG

Constraints

IdGradePath(s)DetailsRequirements
crmi-artifact-operation-1errorOperationDefinition.parameter:urlParameter url type is uri or canonical
: type='uri' or type='canonical'
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:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceA 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:url 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
crmi-artifact-operation-1: Parameter url type is uri 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: url
..... 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.

..... 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:version 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: version
..... 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: string
..... 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:identifier 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: identifier
..... 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: string
..... 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.


Required Pattern: token
..... 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:resource 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: resource
..... 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: Artifact Resource Types (required)
..... 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

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:url.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:url.typerequiredFHIRAllTypes
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:url.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:url.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.typerequiredPattern: string
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:version.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.typerequiredPattern: string
http://hl7.org/fhir/ValueSet/all-types|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.searchTyperequiredPattern: token
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:identifier.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|4.0.1
from the FHIR Standard
OperationDefinition.parameter:resource.userequiredPattern: in
http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
from the FHIR Standard
OperationDefinition.parameter:resource.typerequiredArtifactResourceTypes
http://hl7.org/fhir/uv/crmi/ValueSet/ArtifactResourceTypes
from this IG
OperationDefinition.parameter:resource.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|4.0.1
from the FHIR Standard
OperationDefinition.parameter:resource.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crmi-artifact-operation-1errorOperationDefinition.parameter:urlParameter url type is uri or canonical
: type='uri' or type='canonical'
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:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:url, OperationDefinition.parameter:version, OperationDefinition.parameter:identifier, OperationDefinition.parameter:resourceA 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: 4 elements
Fixed: 4 elements

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