Canonical Resource Management Infrastructure Implementation Guide
1.0.0 - STU1

Publication Build: This will be filled in by the publication tooling

## Resource Profile: CRMI Operation Profile: Artifact Version Bindable

Official URL: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-version-bindable-operation | Version: 1.0.0
Active as of 2024-05-31 | Computable Name: ArtifactVersionBindableOperation
Other Identifiers: OID:2.16.840.1.113883.4.642.40.38.42.4

Operation where default artifact version(s) can be specified.

NOTE: Artifacts include FHIR Canonical resources and the resources specified as non-canonical resources, such as: Medication, Substance, MedicationKnowledge, and Group.

- `artifactVersion`: Specifies a version to use for a artifact resource if the artifact referencing the resource does not already specify a version. The format is the same as a canonical URL: `[url]|[version]` - e.g. `http://loinc.org|2.56`
- `checkArtifactVersion`: Edge Case: Specifies a version to use for a artifact resource. If the artifact referencing the resource specifies a different version, an error is returned instead of the package. The format is the same as a canonical URL: `[url]|[version]` - e.g. `http://loinc.org|2.56`
- `forceArtifactVersion`: Edge Case: Specifies a version to use for a artifact resource. This parameter overrides any specified version in the artifact (and any artifacts it depends on). The format is the same as a canonical URL: `[system]|[version]` - e.g. `http://loinc.org|2.56`. Note that this has obvious safety issues, in that it may result in a value set expansion giving a different list of codes that is both wrong and unsafe, and implementers should only use this capability reluctantly.

Usage:

- Examples for this Resource Profile: CRMIDataRequirements

### Formal Views of Profile Content

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

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

This structure is derived from OperationDefinition

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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:artifactVersion | S | 0..* | BackboneElement | Parameters for the operation/query
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: artifactVersion
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: *
type |  | 0..1 | code | What type this parameter has Required Pattern: uri
parameter:checkArtifactVersion | S | 0..* | BackboneElement | Parameters for the operation/query
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: checkArtifactVersion
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: *
type |  | 0..1 | code | What type this parameter has Required Pattern: uri
parameter:forceArtifactVersion | S | 0..* | BackboneElement | Parameters for the operation/query
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: forceArtifactVersion
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: *
type |  | 0..1 | code | What type this parameter has Required Pattern: uri
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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)
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.
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:artifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
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: artifactVersion
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: *
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: uri
parameter:checkArtifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
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: checkArtifactVersion
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: *
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: uri
parameter:forceArtifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
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: forceArtifactVersion
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: *
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: uri
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
OperationDefinition.status | required | PublicationStatus `http://hl7.org/fhir/ValueSet/publication-status|4.0.1` from the FHIR Standard
OperationDefinition.kind | required | OperationKind `http://hl7.org/fhir/ValueSet/operation-kind|4.0.1` from the FHIR Standard
OperationDefinition.parameter.use | required | OperationParameterUse `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard

#### Constraints

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

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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 Bindings | Purpose
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:artifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: artifactVersion
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: *
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: uri
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:checkArtifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: checkArtifactVersion
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: *
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: uri
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:forceArtifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: forceArtifactVersion
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: *
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: uri
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
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
OperationDefinition.language | preferred | CommonLanguages
Additional Bindings | Purpose
AllLanguages | Max Binding
`http://hl7.org/fhir/ValueSet/languages` from the FHIR Standard
OperationDefinition.status | required | PublicationStatus `http://hl7.org/fhir/ValueSet/publication-status|4.0.1` from the FHIR Standard
OperationDefinition.kind | required | OperationKind `http://hl7.org/fhir/ValueSet/operation-kind|4.0.1` from the FHIR Standard
OperationDefinition.jurisdiction | extensible | Jurisdiction ValueSet `http://hl7.org/fhir/ValueSet/jurisdiction` from the FHIR Standard
OperationDefinition.resource | required | ResourceType `http://hl7.org/fhir/ValueSet/resource-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter.use | required | OperationParameterUse `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter.type | required | FHIRAllTypes `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter.searchType | required | SearchParamType `http://hl7.org/fhir/ValueSet/search-param-type|4.0.1` from the FHIR Standard
OperationDefinition.parameter.binding.strength | required | BindingStrength `http://hl7.org/fhir/ValueSet/binding-strength|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.searchType | required | SearchParamType `http://hl7.org/fhir/ValueSet/search-param-type|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.binding.strength | required | BindingStrength `http://hl7.org/fhir/ValueSet/binding-strength|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.searchType | required | SearchParamType `http://hl7.org/fhir/ValueSet/search-param-type|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.binding.strength | required | BindingStrength `http://hl7.org/fhir/ValueSet/binding-strength|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.searchType | required | SearchParamType `http://hl7.org/fhir/ValueSet/search-param-type|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.binding.strength | required | BindingStrength `http://hl7.org/fhir/ValueSet/binding-strength|4.0.1` from the FHIR Standard

#### Constraints

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

This structure is derived from OperationDefinition

Summary

Must-Support: 3 elements
Fixed: 3 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

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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:artifactVersion | S | 0..* | BackboneElement | Parameters for the operation/query
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: artifactVersion
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: *
type |  | 0..1 | code | What type this parameter has Required Pattern: uri
parameter:checkArtifactVersion | S | 0..* | BackboneElement | Parameters for the operation/query
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: checkArtifactVersion
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: *
type |  | 0..1 | code | What type this parameter has Required Pattern: uri
parameter:forceArtifactVersion | S | 0..* | BackboneElement | Parameters for the operation/query
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: forceArtifactVersion
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: *
type |  | 0..1 | code | What type this parameter has Required Pattern: uri
Documentation for this format

Key Elements View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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)
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.
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:artifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
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: artifactVersion
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: *
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: uri
parameter:checkArtifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
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: checkArtifactVersion
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: *
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: uri
parameter:forceArtifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
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: forceArtifactVersion
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: *
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: uri
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
OperationDefinition.status | required | PublicationStatus `http://hl7.org/fhir/ValueSet/publication-status|4.0.1` from the FHIR Standard
OperationDefinition.kind | required | OperationKind `http://hl7.org/fhir/ValueSet/operation-kind|4.0.1` from the FHIR Standard
OperationDefinition.parameter.use | required | OperationParameterUse `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard

#### Constraints

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

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
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 Bindings | Purpose
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:artifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: artifactVersion
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: *
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: uri
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:checkArtifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: checkArtifactVersion
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: *
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: uri
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:forceArtifactVersion | S C | 0..* | BackboneElement | Parameters for the operation/query opd-1: Either a type must be provided, or parts opd-2: A search type can only be specified for parameters of type string opd-3: A targetProfile can only be specified for parameters of type Reference or Canonical
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL Fixed Value: forceArtifactVersion
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: *
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: uri
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
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
OperationDefinition.language | preferred | CommonLanguages
Additional Bindings | Purpose
AllLanguages | Max Binding
`http://hl7.org/fhir/ValueSet/languages` from the FHIR Standard
OperationDefinition.status | required | PublicationStatus `http://hl7.org/fhir/ValueSet/publication-status|4.0.1` from the FHIR Standard
OperationDefinition.kind | required | OperationKind `http://hl7.org/fhir/ValueSet/operation-kind|4.0.1` from the FHIR Standard
OperationDefinition.jurisdiction | extensible | Jurisdiction ValueSet `http://hl7.org/fhir/ValueSet/jurisdiction` from the FHIR Standard
OperationDefinition.resource | required | ResourceType `http://hl7.org/fhir/ValueSet/resource-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter.use | required | OperationParameterUse `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter.type | required | FHIRAllTypes `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter.searchType | required | SearchParamType `http://hl7.org/fhir/ValueSet/search-param-type|4.0.1` from the FHIR Standard
OperationDefinition.parameter.binding.strength | required | BindingStrength `http://hl7.org/fhir/ValueSet/binding-strength|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.searchType | required | SearchParamType `http://hl7.org/fhir/ValueSet/search-param-type|4.0.1` from the FHIR Standard
OperationDefinition.parameter:artifactVersion.binding.strength | required | BindingStrength `http://hl7.org/fhir/ValueSet/binding-strength|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.searchType | required | SearchParamType `http://hl7.org/fhir/ValueSet/search-param-type|4.0.1` from the FHIR Standard
OperationDefinition.parameter:checkArtifactVersion.binding.strength | required | BindingStrength `http://hl7.org/fhir/ValueSet/binding-strength|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.use | required | Pattern: in `http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.type | required | Pattern: uri `http://hl7.org/fhir/ValueSet/all-types|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.searchType | required | SearchParamType `http://hl7.org/fhir/ValueSet/search-param-type|4.0.1` from the FHIR Standard
OperationDefinition.parameter:forceArtifactVersion.binding.strength | required | BindingStrength `http://hl7.org/fhir/ValueSet/binding-strength|4.0.1` from the FHIR Standard

#### Constraints

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

This structure is derived from OperationDefinition

Summary

Must-Support: 3 elements
Fixed: 3 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