PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.termchangeset@1.0.0-ballot
    http://hl7.org/fhir/uv/termchangeset/StructureDefinition/terminology-changeset-provenance-profile
description: Profile of Provenance to use in concert with terminology change sets compliant with Tinkar information model requirements
package_name: hl7.fhir.uv.termchangeset
derivation: constraint
name: TerminologyChangeSetProvenance
type: Provenance
elements:
  occurred:
    choices: []
    index: 1
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: $this, type: type}
      min: 1
      slices:
        occurredPeriod:
          match: {}
          schema:
            short: Authoring change sets occur over a period of time so it is most appropriate to capture as an occurredPeriod vs. occurredDateTime.  This window may reflect the technical timeframe when changes occurred, or a broader scoping window used to gather changes to define a change set.
            choices: [occurredPeriod]
            _required: true
            index: 3
          min: 1
          max: 1
  occurredPeriod:
    type: Period
    short: Authoring change sets occur over a period of time so it is most appropriate to capture as an occurredPeriod vs. occurredDateTime.  This window may reflect the technical timeframe when changes occurred, or a broader scoping window used to gather changes to define a change set.
    choiceOf: occurred
    index: 4
    slicing:
      slices:
        occurredPeriod:
          match: {}
          schema: {type: Period, short: 'Authoring change sets occur over a period of time so it is most appropriate to capture as an occurredPeriod vs. occurredDateTime.  This window may reflect the technical timeframe when changes occurred, or a broader scoping window used to gather changes to define a change set.', choiceOf: occurred, _required: true, index: 4}
          min: 1
          max: 1
  occurred[x]:
    elements:
      end: {index: 5}
    required: [end]
  reason: {short: 'The reason for authoring the change set - most likely value is METAMGT, but allowing flexibility here as needed', index: 6}
  activity:
    short: For a terminology change set, this should always be an update to a terminology
    index: 7
    elements:
      coding:
        elements:
          system:
            pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v3-DataOperation'}
            index: 8
          code:
            pattern: {type: Code, value: UPDATE}
            index: 9
  agent:
    array: true
    min: 2
    index: 10
    slicing:
      rules: openAtEnd
      discriminator:
      - {path: type.coding.code, type: value}
      min: 2
      slices:
        author:
          match:
            type:
              coding: {code: author}
          schema:
            short: The individual(s) who contributed changes reflected in the Terminology Change Set
            array: true
            min: 1
            _required: true
            index: 11
            elements:
              type:
                index: 12
                elements:
                  coding:
                    index: 13
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/provenance-participant-type'}
                        index: 14
                      code:
                        pattern: {type: Code, value: author}
                        index: 15
                    required: [system, code]
                required: [coding]
              who:
                elements:
                  display: {index: 16}
            required: [type]
        custodian:
          match:
            type:
              coding: {code: custodian}
          schema:
            short: The entity that is accountable for maintaining a true and accurate copy of the Terminology Change Set
            _required: true
            index: 17
            elements:
              type:
                index: 18
                elements:
                  coding:
                    index: 19
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/provenance-participant-type'}
                        index: 20
                      code:
                        pattern: {type: Code, value: custodian}
                        index: 21
                    required: [system, code]
                required: [coding]
              who:
                elements:
                  display: {index: 22}
            required: [type]
  entity:
    index: 23
    elements:
      what:
        short: The baseline version of the CodeSystem to which this Change Set is intended to be applied.
        index: 24
        elements:
          identifier:
            elements:
              value: {short: Unique identifier for the baseline version of the CodeSystem to which this Change Set is intended to be applied., mustSupport: true, index: 25}
          display: {short: Text alternative representation of the baseline version of the CodeSystem to which this Change Set is intended to be applied., index: 26}
    slicing:
      rules: openAtEnd
      discriminator:
      - {path: role, type: value}
      min: 1
      slices:
        revision:
          match: {role: revision}
          schema:
            _required: true
            index: 27
            elements:
              role:
                pattern: {type: Code, value: revision}
                index: 28
package_version: 1.0.0-ballot
class: profile
kind: resource
url: http://hl7.org/fhir/uv/termchangeset/StructureDefinition/terminology-changeset-provenance-profile
base: http://hl7.org/fhir/StructureDefinition/Provenance
version: 1.0.0-ballot
required: [activity, occurredPeriod, occurred, reason, entity]