PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.crmi@1.0.0-snapshot
    http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-operation
description: 'Profile for knowledge artifact operations.\n\nThis establishes input parameters when the operation is involked at the resource\ntype level. The parameters are used to identify or specify the resource for the\noperation.\n\n* `url`: artifact URL* for the resource\n* `version`: artifact version* for the resource\n* `identifier`: business identifier for the resource\n* `resource`: instance of a canonical resource\n\n*The artifact URL for canonical resources is `.url`, for non-canonical resources, it is\nthe extension `artifact-url`. The version for canonical resources is `.version`, for non-canonical\nresources it is the extension `artifact-version`.\n\nNOTE: When invoking canonical operations using any combination of `url`,\n`version`, and `identifier`: \n* if there is one-and-only-one matching resource, the operation should apply, otherwise an error state. \n* if `resource` is specified then `url`, `version`, and `identifier` should be ignored.'
package_name: hl7.fhir.uv.crmi
derivation: constraint
name: ArtifactOperation
type: OperationDefinition
elements:
  parameter:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: name, type: value}
      min: null
      slices:
        url:
          match: {name: url}
          schema:
            constraint:
              crmi-artifact-operation-1: {human: Parameter url type is uri or canonical, source: 'http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-operation', severity: error, expression: type='uri' or type='canonical'}
            mustSupport: true
            index: 1
            elements:
              name:
                pattern: {type: Code, value: url}
                index: 2
              use:
                pattern: {type: Code, value: in}
                index: 3
              min:
                pattern: {type: Integer, value: 0}
                index: 4
              max:
                pattern: {type: String, value: '1'}
                index: 5
        version:
          match: {name: version}
          schema:
            mustSupport: true
            index: 6
            elements:
              name:
                pattern: {type: Code, value: version}
                index: 7
              use:
                pattern: {type: Code, value: in}
                index: 8
              min:
                pattern: {type: Integer, value: 0}
                index: 9
              max:
                pattern: {type: String, value: '1'}
                index: 10
              type:
                pattern: {type: Code, value: string}
                index: 11
        identifier:
          match: {name: identifier}
          schema:
            mustSupport: true
            index: 12
            elements:
              name:
                pattern: {type: Code, value: identifier}
                index: 13
              use:
                pattern: {type: Code, value: in}
                index: 14
              min:
                pattern: {type: Integer, value: 0}
                index: 15
              max:
                pattern: {type: String, value: '1'}
                index: 16
              type:
                pattern: {type: Code, value: string}
                index: 17
              searchType:
                pattern: {type: Code, value: token}
                index: 18
        resource:
          match: {name: resource}
          schema:
            mustSupport: true
            index: 19
            elements:
              name:
                pattern: {type: Code, value: resource}
                index: 20
              use:
                pattern: {type: Code, value: in}
                index: 21
              min:
                pattern: {type: Integer, value: 0}
                index: 22
              max:
                pattern: {type: String, value: '1'}
                index: 23
              type:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/uv/crmi/ValueSet/ArtifactResourceTypes'}
                index: 24
package_version: 1.0.0-snapshot
class: profile
kind: resource
url: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-artifact-operation
base: http://hl7.org/fhir/StructureDefinition/OperationDefinition
version: 1.0.0-snapshot