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

This page is part of the Canonical Resource Management Infrastructure Implementation Guide (v1.0.0-ballot2: STU1 Ballot 2) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: CRMI Operation Profile: Artifact Endpoint Configurable

Official URL: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-endpoint-configurable-operation Version: 1.0.0-ballot2
Draft as of 2023-12-20 Computable Name: ArtifactEndpointConfigurableOperation

Profile for operations where artifact endpoint configuration can be specified.

  • artifactEndpointConfiguration: Configuration information to resolve canonical artifacts
    • artifactRoute: An optional route used to determine whether this endpoint is expected to be able to resolve artifacts that match the route (i.e. start with the route, up to and including the entire url)
    • endpointUri: The URI of the endpoint, exclusive with the endpoint parameter
    • endpoint: An Endpoint resource describing the endpoint, exclusive with the endpointUri parameter

Processing semantics:

Create a canonical-like reference (e.g. {canonical.url}|{canonical.version} or similar extensions for non-canonical artifacts).

  • Given a single artifactEndpointConfiguration
    • When artifactRoute is present
      • And artifactRoute starts with canonical or artifact reference
      • Then attempt to resolve with endpointUri or endpoint
    • When artifactRoute is not present
      • Then attempt to resolve with endpointUri or endpoint
  • Given multiple artifactEndpointConfigurations
    • Then rank order each configuration (see below)
    • And attempt to resolve with endpointUri or endpoint in order until resolved

Rank each artifactEndpointConfiguration such that:

  • if artifactRoute is present and artifactRoute starts with canonical or artifact reference: rank based on number of matching characters
  • if artifactRoute is not present: include but rank lower

NOTE: For evenly ranked artifactEndpointConfigurations, order as defined in the OperationDefinition.

Usage:

Formal Views of Profile Content

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

This structure is derived from OperationDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition 0..*OperationDefinitionDefinition of an operation or a named query
... Slices for parameter 0..*BackboneElementParameters for the operation/query
Slice: Unordered, Open by value:name
.... parameter:artifactEndpointConfiguration S0..*BackboneElementParameters for the operation/query
..... name 1..1codeName in Parameters.parameter.name or in URL
Fixed Value: artifactEndpointConfiguration
..... use 1..1codein | out
Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: *
..... Slices for part 0..*Parts of a nested Parameter
Slice: Unordered, Open by value:name
...... part:artifactRoute S0..1BackboneElementParts of a nested Parameter
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: artifactRoute
....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type 0..1codeWhat type this parameter has
Required Pattern: uri
...... part:endpointUri S0..1BackboneElementParts of a nested Parameter
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: endpointUri
....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type 0..1codeWhat type this parameter has
Required Pattern: uri
...... part:endpoint S0..1BackboneElementParts of a nested Parameter
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: endpoint
....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type 0..1codeWhat type this parameter has
Required Pattern: Endpoint

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C0..*OperationDefinitionDefinition of an operation or a named query
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... name ΣC1..1stringName for this operation definition (computer friendly)
... kind Σ1..1codeoperation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

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

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


Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: *
..... Slices for part C0..*See parameter (OperationDefinition)Parts of a nested Parameter
Slice: Unordered, Open by value:name
...... part:artifactRoute SC0..1BackboneElementParts of a nested Parameter
....... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: artifactRoute
....... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: uri
...... part:endpointUri SC0..1BackboneElementParts of a nested Parameter
....... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: endpointUri
....... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: uri
...... part:endpoint SC0..1BackboneElementParts of a nested Parameter
....... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: endpoint
....... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: Endpoint

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
OperationDefinition.statusrequiredPublicationStatus
OperationDefinition.kindrequiredOperationKind
OperationDefinition.parameter.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.userequiredPattern: in
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.typerequiredPattern: uri
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.typerequiredPattern: uri
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.typerequiredPattern: Endpoint

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOperationDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOperationDefinitionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOperationDefinitionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorOperationDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOperationDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
opd-0warningOperationDefinitionName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
opd-1errorOperationDefinition.parameter, OperationDefinition.parameter:artifactEndpointConfigurationEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:artifactEndpointConfigurationA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:artifactEndpointConfigurationA targetProfile can only be specified for parameters of type Reference or Canonical
: targetProfile.exists() implies (type = 'Reference' or type = 'canonical')
NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C0..*OperationDefinitionDefinition of an operation or a named query
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

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

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

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


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


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

..... min 1..1integerMinimum Cardinality
..... max 1..1stringMaximum Cardinality (a number or *)
..... documentation 0..1stringDescription of meaning/use
..... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.

..... targetProfile 0..*canonical(StructureDefinition)If type is Reference | canonical, allowed targets
..... searchType C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

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

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


Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: *
..... documentation 0..1stringDescription of meaning/use
..... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.

..... targetProfile 0..*canonical(StructureDefinition)If type is Reference | canonical, allowed targets
..... searchType C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

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

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

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... documentation 0..1stringDescription of meaning/use
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: uri
....... targetProfile 0..*canonical(StructureDefinition)If type is Reference | canonical, allowed targets
....... searchType C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

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

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

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... documentation 0..1stringDescription of meaning/use
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: uri
....... targetProfile 0..*canonical(StructureDefinition)If type is Reference | canonical, allowed targets
....... searchType C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

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

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

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... documentation 0..1stringDescription of meaning/use
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: Endpoint
....... targetProfile 0..*canonical(StructureDefinition)If type is Reference | canonical, allowed targets
....... searchType C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

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

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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
OperationDefinition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
OperationDefinition.statusrequiredPublicationStatus
OperationDefinition.kindrequiredOperationKind
OperationDefinition.jurisdictionextensibleJurisdiction ValueSet
OperationDefinition.resourcerequiredResourceType
OperationDefinition.parameter.userequiredOperationParameterUse
OperationDefinition.parameter.typerequiredFHIRAllTypes
OperationDefinition.parameter.searchTyperequiredSearchParamType
OperationDefinition.parameter.binding.strengthrequiredBindingStrength
OperationDefinition.parameter:artifactEndpointConfiguration.userequiredPattern: in
OperationDefinition.parameter:artifactEndpointConfiguration.typerequiredFHIRAllTypes
OperationDefinition.parameter:artifactEndpointConfiguration.searchTyperequiredSearchParamType
OperationDefinition.parameter:artifactEndpointConfiguration.binding.strengthrequiredBindingStrength
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.typerequiredPattern: uri
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.searchTyperequiredSearchParamType
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.binding.strengthrequiredBindingStrength
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.typerequiredPattern: uri
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.searchTyperequiredSearchParamType
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.binding.strengthrequiredBindingStrength
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.typerequiredPattern: Endpoint
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.searchTyperequiredSearchParamType
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.binding.strengthrequiredBindingStrength

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOperationDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOperationDefinitionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOperationDefinitionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorOperationDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOperationDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
opd-0warningOperationDefinitionName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
opd-1errorOperationDefinition.parameter, OperationDefinition.parameter:artifactEndpointConfigurationEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:artifactEndpointConfigurationA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:artifactEndpointConfigurationA 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 Value: 1 element

Slices

This structure defines the following Slices:

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

Differential View

This structure is derived from OperationDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition 0..*OperationDefinitionDefinition of an operation or a named query
... Slices for parameter 0..*BackboneElementParameters for the operation/query
Slice: Unordered, Open by value:name
.... parameter:artifactEndpointConfiguration S0..*BackboneElementParameters for the operation/query
..... name 1..1codeName in Parameters.parameter.name or in URL
Fixed Value: artifactEndpointConfiguration
..... use 1..1codein | out
Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: *
..... Slices for part 0..*Parts of a nested Parameter
Slice: Unordered, Open by value:name
...... part:artifactRoute S0..1BackboneElementParts of a nested Parameter
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: artifactRoute
....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type 0..1codeWhat type this parameter has
Required Pattern: uri
...... part:endpointUri S0..1BackboneElementParts of a nested Parameter
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: endpointUri
....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type 0..1codeWhat type this parameter has
Required Pattern: uri
...... part:endpoint S0..1BackboneElementParts of a nested Parameter
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: endpoint
....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type 0..1codeWhat type this parameter has
Required Pattern: Endpoint

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C0..*OperationDefinitionDefinition of an operation or a named query
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... name ΣC1..1stringName for this operation definition (computer friendly)
... kind Σ1..1codeoperation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

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

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


Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: *
..... Slices for part C0..*See parameter (OperationDefinition)Parts of a nested Parameter
Slice: Unordered, Open by value:name
...... part:artifactRoute SC0..1BackboneElementParts of a nested Parameter
....... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: artifactRoute
....... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: uri
...... part:endpointUri SC0..1BackboneElementParts of a nested Parameter
....... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: endpointUri
....... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: uri
...... part:endpoint SC0..1BackboneElementParts of a nested Parameter
....... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
....... name 1..1codeName in Parameters.parameter.name or in URL
Required Pattern: endpoint
....... use 1..1codein | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: Endpoint

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
OperationDefinition.statusrequiredPublicationStatus
OperationDefinition.kindrequiredOperationKind
OperationDefinition.parameter.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.userequiredPattern: in
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.typerequiredPattern: uri
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.typerequiredPattern: uri
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.typerequiredPattern: Endpoint

Constraints

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

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C0..*OperationDefinitionDefinition of an operation or a named query
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

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

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

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


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


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

..... min 1..1integerMinimum Cardinality
..... max 1..1stringMaximum Cardinality (a number or *)
..... documentation 0..1stringDescription of meaning/use
..... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.

..... targetProfile 0..*canonical(StructureDefinition)If type is Reference | canonical, allowed targets
..... searchType C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

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

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


Required Pattern: in
..... min 1..1integerMinimum Cardinality
Required Pattern: 0
..... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: *
..... documentation 0..1stringDescription of meaning/use
..... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.

..... targetProfile 0..*canonical(StructureDefinition)If type is Reference | canonical, allowed targets
..... searchType C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

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

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

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... documentation 0..1stringDescription of meaning/use
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: uri
....... targetProfile 0..*canonical(StructureDefinition)If type is Reference | canonical, allowed targets
....... searchType C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

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

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

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... documentation 0..1stringDescription of meaning/use
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: uri
....... targetProfile 0..*canonical(StructureDefinition)If type is Reference | canonical, allowed targets
....... searchType C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

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

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

....... min 1..1integerMinimum Cardinality
Required Pattern: 0
....... max 1..1stringMaximum Cardinality (a number or *)
Required Pattern: 1
....... documentation 0..1stringDescription of meaning/use
....... type C0..1codeWhat type this parameter has
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: Endpoint
....... targetProfile 0..*canonical(StructureDefinition)If type is Reference | canonical, allowed targets
....... searchType C0..1codenumber | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

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

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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
OperationDefinition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
OperationDefinition.statusrequiredPublicationStatus
OperationDefinition.kindrequiredOperationKind
OperationDefinition.jurisdictionextensibleJurisdiction ValueSet
OperationDefinition.resourcerequiredResourceType
OperationDefinition.parameter.userequiredOperationParameterUse
OperationDefinition.parameter.typerequiredFHIRAllTypes
OperationDefinition.parameter.searchTyperequiredSearchParamType
OperationDefinition.parameter.binding.strengthrequiredBindingStrength
OperationDefinition.parameter:artifactEndpointConfiguration.userequiredPattern: in
OperationDefinition.parameter:artifactEndpointConfiguration.typerequiredFHIRAllTypes
OperationDefinition.parameter:artifactEndpointConfiguration.searchTyperequiredSearchParamType
OperationDefinition.parameter:artifactEndpointConfiguration.binding.strengthrequiredBindingStrength
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.typerequiredPattern: uri
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.searchTyperequiredSearchParamType
OperationDefinition.parameter:artifactEndpointConfiguration.part:artifactRoute.binding.strengthrequiredBindingStrength
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.typerequiredPattern: uri
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.searchTyperequiredSearchParamType
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpointUri.binding.strengthrequiredBindingStrength
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.userequiredOperationParameterUse
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.typerequiredPattern: Endpoint
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.searchTyperequiredSearchParamType
OperationDefinition.parameter:artifactEndpointConfiguration.part:endpoint.binding.strengthrequiredBindingStrength

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOperationDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOperationDefinitionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOperationDefinitionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorOperationDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOperationDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
opd-0warningOperationDefinitionName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
opd-1errorOperationDefinition.parameter, OperationDefinition.parameter:artifactEndpointConfigurationEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameter, OperationDefinition.parameter:artifactEndpointConfigurationA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameter, OperationDefinition.parameter:artifactEndpointConfigurationA 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 Value: 1 element

Slices

This structure defines the following Slices:

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

 

Other representations of profile: CSV, Excel, Schematron