## Profile Comparison between http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-operation vs http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-operation

Left: | CRMI Operation Profile: Artifact Operation (http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-operation)
Right: | CRMI Operation Profile: Artifact Operation (http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-operation)

### Messages

Error | StructureDefinition.version | Values for version differ: '1.0.0-snapshot' vs '1.0.0'
Information | StructureDefinition.status | Values for status differ: 'draft' vs 'active'
Information | StructureDefinition.date | Values for date differ: '2024-04-06T06:48:23+11:00' vs '2024-05-31T16:42:56+00:00'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/OperationDefinition |
copyright |  |
date | 2024-04-06T06:48:23+11:00 | 2024-05-31T16:42:56+00:00 | Values Differ
description | Profile for knowledge artifact operations. This establishes input parameters when the operation is involked at the resource type level. The parameters are used to identify or specify the resource for the operation. * `url`: artifact URL&ast; for the resource * `version`: artifact version&ast; for the resource * `identifier`: business identifier for the resource * `resource`: instance of a canonical resource &ast;The artifact URL for canonical resources is `.url`, for non-canonical resources, it is the extension `artifact-url`. The version for canonical resources is `.version`, for non-canonical resources it is the extension `artifact-version`. NOTE: When invoking canonical operations using any combination of `url`, `version`, and `identifier`: * if there is one-and-only-one matching resource, the operation should apply, otherwise an error state. * if `resource` is specified then `url`, `version`, and `identifier` should be ignored. |
experimental |  |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |
kind | resource |
name | ArtifactOperation |
publisher | HL7 International / Clinical Decision Support |
purpose |  |
status | draft | active | Values Differ
title | CRMI Operation Profile: Artifact Operation |
type | OperationDefinition |
url | http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-operation |
version | 1.0.0-snapshot | 1.0.0 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
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 | 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 | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation |  | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | Σ | 0..1 | uri | Canonical identifier for this operation definition, represented as a URI (globally unique) | Σ | 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 | Σ | 0..1 | string | Business version of the operation definition |
name | Σ C | 1..1 | string | Name for this operation definition (computer friendly) | Σ C | 1..1 | string | Name for this operation definition (computer friendly) |
title | Σ | 0..1 | string | Name for this operation definition (human friendly) | Σ | 0..1 | string | Name for this operation definition (human friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: ?? (required): The lifecycle status of an artifact. | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: ?? (required): The lifecycle status of an artifact. |
kind | Σ | 1..1 | code | operation | query Binding: ?? (required): Whether an operation is a normal operation or a query. | Σ | 1..1 | code | operation | query Binding: ?? (required): Whether an operation is a normal operation or a query. |
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage | Σ | 0..1 | boolean | For testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date last changed | Σ | 0..1 | dateTime | Date last changed |
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) | Σ | 0..1 | string | Name of the publisher (organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher | Σ | 0..* | ContactDetail | Contact details for the publisher |
description |  | 0..1 | markdown | Natural language description of the operation definition |  | 0..1 | markdown | Natural language description of the operation definition |
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support | Σ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for operation definition (if applicable) Binding: ?? (extensible): Countries and regions within which this artifact is targeted for use. | Σ | 0..* | CodeableConcept | Intended jurisdiction for operation definition (if applicable) Binding: ?? (extensible): Countries and regions within which this artifact is targeted for use. |
purpose |  | 0..1 | markdown | Why this operation definition is defined |  | 0..1 | markdown | Why this operation definition is defined |
affectsState | Σ | 0..1 | boolean | Whether content is changed by the operation | Σ | 0..1 | boolean | Whether content is changed by the operation |
code | Σ | 1..1 | code | Name used to invoke the operation | Σ | 1..1 | code | Name used to invoke the operation |
comment |  | 0..1 | markdown | Additional information about use |  | 0..1 | markdown | Additional information about use |
base | Σ | 0..1 | canonical(OperationDefinition) | Marks this as a profile of the base | Σ | 0..1 | canonical(OperationDefinition) | Marks this as a profile of the base |
resource | Σ | 0..* | code | Types this operation applies to Binding: ?? (required): One of the resource types defined as part of this version of FHIR. | Σ | 0..* | code | Types this operation applies to Binding: ?? (required): One of the resource types defined as part of this version of FHIR. |
system | Σ | 1..1 | boolean | Invoke at the system level? | Σ | 1..1 | boolean | Invoke at the system level? |
type | Σ | 1..1 | boolean | Invoke at the type level? | Σ | 1..1 | boolean | Invoke at the type level? |
instance | Σ | 1..1 | boolean | Invoke on an instance? | Σ | 1..1 | boolean | Invoke on an instance? |
inputProfile |  | 0..1 | canonical(StructureDefinition) | Validation information for in parameters |  | 0..1 | canonical(StructureDefinition) | Validation information for in parameters |
outputProfile |  | 0..1 | canonical(StructureDefinition) | Validation information for out parameters |  | 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 | 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 |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
name |  | 1..1 | code | Name in Parameters.parameter.name or in URL |  | 1..1 | code | Name in Parameters.parameter.name or in URL |
use |  | 1..1 | code | in | out Binding: ?? (required): Whether an operation parameter is an input or an output parameter. |  | 1..1 | code | in | out Binding: ?? (required): Whether an operation parameter is an input or an output parameter. |
min |  | 1..1 | integer | Minimum Cardinality |  | 1..1 | integer | Minimum Cardinality |
max |  | 1..1 | string | Maximum Cardinality (a number or *) |  | 1..1 | string | Maximum Cardinality (a number or *) |
documentation |  | 0..1 | string | Description of meaning/use |  | 0..1 | string | Description of meaning/use |
type | C | 0..1 | code | What type this parameter has Binding: ?? (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types. | C | 0..1 | code | What type this parameter has Binding: ?? (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 |  | 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: ?? (required): Data types allowed to be used for search parameters. | C | 0..1 | code | number | date | string | token | reference | composite | quantity | uri | special Binding: ?? (required): Data types allowed to be used for search parameters. |
binding |  | 0..1 | BackboneElement | ValueSet details if this is coded |  | 0..1 | BackboneElement | ValueSet details if this is coded |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
strength |  | 1..1 | code | required | extensible | preferred | example Binding: ?? (required): Indication of the degree of conformance expectations associated with a binding. |  | 1..1 | code | required | extensible | preferred | example Binding: ?? (required): Indication of the degree of conformance expectations associated with a binding. |
valueSet |  | 1..1 | canonical(ValueSet) | Source of value set |  | 1..1 | canonical(ValueSet) | Source of value set |
referencedFrom |  | 0..* | BackboneElement | References to this parameter |  | 0..* | BackboneElement | References to this parameter |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
source |  | 1..1 | string | Referencing parameter |  | 1..1 | string | Referencing parameter |
sourceId |  | 0..1 | string | Element id of reference |  | 0..1 | string | Element id of reference |
part | C | 0..* | See parameter (OperationDefinition) | Parts of a nested Parameter | C | 0..* | See parameter (OperationDefinition) | Parts of a nested Parameter |
overload |  | 0..* | BackboneElement | Define overloaded variants for when generating code |  | 0..* | BackboneElement | Define overloaded variants for when generating code |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
parameterName |  | 0..* | string | Name of parameter to include in overload |  | 0..* | string | Name of parameter to include in overload |
comment |  | 0..1 | string | Comments to go on overload |  | 0..1 | string | Comments to go on overload |
Documentation for this format