PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.extensions.r3@5.3.0-ballot
    http://hl7.org/fhir/StructureDefinition/obligation
description: When appearing on an element, documents obligations that apply to applications implementing that element.  When appearing at the root of a StructureDefinition, indicates obligations that apply to all listed elements within the extension.  When appearing on a type, indicates obligations that apply to the use of that specific type. The obligations relate to application behaviour, not the content of the element itself in the resource instances that contain this element. See the [Obligation](obligations.html) page in the core specification for further detail.
package_name: hl7.fhir.uv.extensions.r3
derivation: constraint
name: Obligation
type: Extension
elements:
  extension:
    short: Short label for collection of obligations
    index: 0
    slicing:
      slices:
        elementId:
          match: {}
          schema:
            type: Extension
            short: When the obligation is on the profile itself, not a particular element, a list of elements to which it applies
            array: true
            index: 12
            extensions: {}
            elements:
              extension: {index: 13}
              url:
                pattern: {type: Uri, value: elementId}
                index: 14
              value:
                choices: [valueString]
                index: 16
              valueString: {type: string, choiceOf: value, index: 17}
            required: [valueString, value]
        name:
          match: {}
          schema:
            short: Short label for collection of obligations
            index: 0
            extensions: {}
            elements:
              extension: {index: 1}
              url:
                pattern: {type: Uri, value: name}
                index: 2
              value:
                choices: [valueString]
                index: 4
              valueString: {type: string, choiceOf: value, index: 5}
            required: [valueString, value]
        process:
          match: {}
          schema:
            short: The obligation only applies when performing the indicated process
            array: true
            index: 78
            extensions: {}
            elements:
              extension: {index: 79}
              url:
                pattern: {type: Uri, value: process}
                index: 80
              value:
                choices: [valueUri, valueUri]
                index: 82
              valueUri: {type: uri, choiceOf: value, index: 83}
            required: [valueUri, value]
        documentation:
          match: {}
          schema:
            short: Documentation of the purpose or application of the obligation
            index: 24
            extensions: {}
            elements:
              extension: {index: 25}
              url:
                type: uri
                pattern: {type: Uri, value: documentation}
                index: 26
              value:
                choices: [valueMarkdown]
                index: 28
              valueMarkdown: {type: markdown, choiceOf: value, index: 29}
            required: [valueMarkdown, value]
        usage:
          match: {}
          schema:
            short: Qualifies the usage - jurisdiction, gender, workflow status etc
            array: true
            index: 30
            extensions:
              _datatype:
                url: h
                type: Extension
                short: DataType name 'UsageContext' from R5
                index: 32
                elements:
                  value:
                    pattern: {type: String, value: UsageContext}
                    choices: [valueString]
                    index: 34
                  valueString:
                    type: string
                    pattern: {type: String, value: UsageContext}
                    choiceOf: value
                    index: 35
                required: [valueString, value]
              code:
                url: code
                short: Type of context being specified
                _required: true
                index: 36
                extensions: {}
                elements:
                  extension: {index: 37}
                  url:
                    pattern: {type: Uri, value: code}
                    index: 38
                  value:
                    choices: [valueCoding]
                    index: 40
                  valueCoding: {type: Coding, choiceOf: value, index: 41}
                required: [valueCoding, value]
              value[x]:
                url: value[x]
                short: Value that defines the context
                _required: true
                index: 42
                extensions: {}
                elements:
                  extension: {index: 43}
                  url:
                    pattern: {type: Uri, value: 'value[x]'}
                    index: 44
                  value:
                    choices: [valueCodeableConcept, valueQuantity, valueRange, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference]
                    index: 46
                  valueCodeableConcept: {type: CodeableConcept, choiceOf: value, index: 47}
                  valueQuantity: {type: Quantity, choiceOf: value, index: 48}
                  valueRange: {type: Range, choiceOf: value, index: 49}
                  valueReference:
                    type: Reference
                    choiceOf: value
                    refers: ['http://hl7.org/fhir/StructureDefinition/PlanDefinition']
                    index: 50
                required: [valueReference, valueRange, value, valueCodeableConcept, valueQuantity]
            elements:
              extension:
                array: true
                index: 31
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: DataType name 'UsageContext' from R5
                        url: h
                        index: 32
                        elements:
                          value:
                            pattern: {type: String, value: UsageContext}
                            choices: [valueString]
                            index: 34
                          valueString:
                            type: string
                            pattern: {type: String, value: UsageContext}
                            choiceOf: value
                            index: 35
                        required: [valueString, value]
                    code:
                      match: {url: code}
                      schema:
                        short: Type of context being specified
                        _required: true
                        index: 36
                        extensions: {}
                        elements:
                          extension: {index: 37}
                          url:
                            pattern: {type: Uri, value: code}
                            index: 38
                          value:
                            choices: [valueCoding]
                            index: 40
                          valueCoding: {type: Coding, choiceOf: value, index: 41}
                        required: [valueCoding, value]
                    value[x]:
                      match: {url: 'value[x]'}
                      schema:
                        short: Value that defines the context
                        _required: true
                        index: 42
                        extensions: {}
                        elements:
                          extension: {index: 43}
                          url:
                            pattern: {type: Uri, value: 'value[x]'}
                            index: 44
                          value:
                            choices: [valueCodeableConcept, valueQuantity, valueRange, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference]
                            index: 46
                          valueCodeableConcept: {type: CodeableConcept, choiceOf: value, index: 47}
                          valueQuantity: {type: Quantity, choiceOf: value, index: 48}
                          valueRange: {type: Range, choiceOf: value, index: 49}
                          valueReference:
                            type: Reference
                            choiceOf: value
                            refers: ['http://hl7.org/fhir/StructureDefinition/PlanDefinition']
                            index: 50
                        required: [valueReference, valueRange, value, valueCodeableConcept, valueQuantity]
              url:
                pattern: {type: Uri, value: usage}
                index: 57
              value:
                choices: []
                index: 59
        filter:
          match: {}
          schema:
            short: Limits obligation to some repeats by FHIRPath
            index: 60
            extensions: {}
            elements:
              extension: {index: 61}
              url:
                pattern: {type: Uri, value: filter}
                index: 62
              value:
                choices: [valueString]
                index: 64
              valueString: {type: string, choiceOf: value, index: 65}
            required: [valueString, value]
        applicable-number:
          match: {}
          schema:
            short: '# of repetitions obligation applies to'
            meaningWhenMissing: If not specified, the implication is that the obligation applies to all repetitions
            index: 72
            extensions: {}
            elements:
              extension: {index: 73}
              url:
                pattern: {type: Uri, value: applicable-number}
                index: 74
              value:
                choices: [valuePositiveInt]
                index: 76
              valuePositiveInt: {type: positiveInt, choiceOf: value, index: 77}
            required: [valuePositiveInt, value]
        code:
          match: {}
          schema:
            short: Composite code describing the nature of the obligation
            array: true
            min: 1
            _required: true
            index: 6
            extensions: {}
            elements:
              extension: {index: 7}
              url:
                pattern: {type: Uri, value: code}
                index: 8
              value:
                choices: [valueCode]
                index: 10
              valueCode: {type: code, choiceOf: value, index: 11}
            required: [valueCode, value]
        filterDocumentation:
          match: {}
          schema:
            short: Describes the intent of the filter (short)
            index: 66
            extensions: {}
            elements:
              extension: {index: 67}
              url:
                pattern: {type: Uri, value: filterDocumentation}
                index: 68
              value:
                choices: [valueString]
                index: 70
              valueString: {type: string, choiceOf: value, index: 71}
            required: [valueString, value]
        actor:
          match: {}
          schema:
            short: Actor(s) this obligation applies to (all actors if none)
            array: true
            index: 18
            extensions: {}
            elements:
              extension: {index: 19}
              url:
                pattern: {type: Uri, value: actor}
                index: 20
              value:
                choices: [valueUri]
                index: 22
              valueUri: {type: uri, choiceOf: value, index: 23}
            required: [valueUri, value]
  url:
    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/obligation'}
    index: 85
  value:
    choices: []
    index: 87
package_version: 5.3.0-ballot
extensions:
  elementId:
    url: null
    type: Extension
    short: When the obligation is on the profile itself, not a particular element, a list of elements to which it applies
    array: true
    index: 12
    extensions: {}
    elements:
      extension: {index: 13}
      url:
        pattern: {type: Uri, value: elementId}
        index: 14
      value:
        choices: [valueString]
        index: 16
      valueString: {type: string, choiceOf: value, index: 17}
    required: [valueString, value]
  name:
    url: null
    short: Short label for collection of obligations
    index: 0
    extensions: {}
    elements:
      extension: {index: 1}
      url:
        pattern: {type: Uri, value: name}
        index: 2
      value:
        choices: [valueString]
        index: 4
      valueString: {type: string, choiceOf: value, index: 5}
    required: [valueString, value]
  process:
    url: null
    short: The obligation only applies when performing the indicated process
    array: true
    index: 78
    extensions: {}
    elements:
      extension: {index: 79}
      url:
        pattern: {type: Uri, value: process}
        index: 80
      value:
        choices: [valueUri, valueUri]
        index: 82
      valueUri: {type: uri, choiceOf: value, index: 83}
    required: [valueUri, value]
  documentation:
    url: null
    short: Documentation of the purpose or application of the obligation
    index: 24
    extensions: {}
    elements:
      extension: {index: 25}
      url:
        type: uri
        pattern: {type: Uri, value: documentation}
        index: 26
      value:
        choices: [valueMarkdown]
        index: 28
      valueMarkdown: {type: markdown, choiceOf: value, index: 29}
    required: [valueMarkdown, value]
  usage:
    url: null
    short: Qualifies the usage - jurisdiction, gender, workflow status etc
    array: true
    index: 30
    extensions:
      _datatype:
        url: h
        type: Extension
        short: DataType name 'UsageContext' from R5
        index: 32
        elements:
          value:
            pattern: {type: String, value: UsageContext}
            choices: [valueString]
            index: 34
          valueString:
            type: string
            pattern: {type: String, value: UsageContext}
            choiceOf: value
            index: 35
        required: [valueString, value]
      code:
        url: code
        short: Type of context being specified
        _required: true
        index: 36
        extensions: {}
        elements:
          extension: {index: 37}
          url:
            pattern: {type: Uri, value: code}
            index: 38
          value:
            choices: [valueCoding]
            index: 40
          valueCoding: {type: Coding, choiceOf: value, index: 41}
        required: [valueCoding, value]
      value[x]:
        url: value[x]
        short: Value that defines the context
        _required: true
        index: 42
        extensions: {}
        elements:
          extension: {index: 43}
          url:
            pattern: {type: Uri, value: 'value[x]'}
            index: 44
          value:
            choices: [valueCodeableConcept, valueQuantity, valueRange, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference]
            index: 46
          valueCodeableConcept: {type: CodeableConcept, choiceOf: value, index: 47}
          valueQuantity: {type: Quantity, choiceOf: value, index: 48}
          valueRange: {type: Range, choiceOf: value, index: 49}
          valueReference:
            type: Reference
            choiceOf: value
            refers: ['http://hl7.org/fhir/StructureDefinition/PlanDefinition']
            index: 50
        required: [valueReference, valueRange, value, valueCodeableConcept, valueQuantity]
    elements:
      extension:
        array: true
        index: 31
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            _datatype:
              match: {url: null}
              schema:
                type: Extension
                short: DataType name 'UsageContext' from R5
                url: h
                index: 32
                elements:
                  value:
                    pattern: {type: String, value: UsageContext}
                    choices: [valueString]
                    index: 34
                  valueString:
                    type: string
                    pattern: {type: String, value: UsageContext}
                    choiceOf: value
                    index: 35
                required: [valueString, value]
            code:
              match: {url: code}
              schema:
                short: Type of context being specified
                _required: true
                index: 36
                extensions: {}
                elements:
                  extension: {index: 37}
                  url:
                    pattern: {type: Uri, value: code}
                    index: 38
                  value:
                    choices: [valueCoding]
                    index: 40
                  valueCoding: {type: Coding, choiceOf: value, index: 41}
                required: [valueCoding, value]
            value[x]:
              match: {url: 'value[x]'}
              schema:
                short: Value that defines the context
                _required: true
                index: 42
                extensions: {}
                elements:
                  extension: {index: 43}
                  url:
                    pattern: {type: Uri, value: 'value[x]'}
                    index: 44
                  value:
                    choices: [valueCodeableConcept, valueQuantity, valueRange, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference, valueReference]
                    index: 46
                  valueCodeableConcept: {type: CodeableConcept, choiceOf: value, index: 47}
                  valueQuantity: {type: Quantity, choiceOf: value, index: 48}
                  valueRange: {type: Range, choiceOf: value, index: 49}
                  valueReference:
                    type: Reference
                    choiceOf: value
                    refers: ['http://hl7.org/fhir/StructureDefinition/PlanDefinition']
                    index: 50
                required: [valueReference, valueRange, value, valueCodeableConcept, valueQuantity]
      url:
        pattern: {type: Uri, value: usage}
        index: 57
      value:
        choices: []
        index: 59
  filter:
    url: null
    short: Limits obligation to some repeats by FHIRPath
    index: 60
    extensions: {}
    elements:
      extension: {index: 61}
      url:
        pattern: {type: Uri, value: filter}
        index: 62
      value:
        choices: [valueString]
        index: 64
      valueString: {type: string, choiceOf: value, index: 65}
    required: [valueString, value]
  applicable-number:
    url: null
    short: '# of repetitions obligation applies to'
    meaningWhenMissing: If not specified, the implication is that the obligation applies to all repetitions
    index: 72
    extensions: {}
    elements:
      extension: {index: 73}
      url:
        pattern: {type: Uri, value: applicable-number}
        index: 74
      value:
        choices: [valuePositiveInt]
        index: 76
      valuePositiveInt: {type: positiveInt, choiceOf: value, index: 77}
    required: [valuePositiveInt, value]
  code:
    min: 1
    short: Composite code describing the nature of the obligation
    index: 6
    array: true
    elements:
      extension: {index: 7}
      url:
        pattern: {type: Uri, value: code}
        index: 8
      value:
        choices: [valueCode]
        index: 10
      valueCode: {type: code, choiceOf: value, index: 11}
    _required: true
    extensions: {}
    url: null
    required: [valueCode, value]
  filterDocumentation:
    url: null
    short: Describes the intent of the filter (short)
    index: 66
    extensions: {}
    elements:
      extension: {index: 67}
      url:
        pattern: {type: Uri, value: filterDocumentation}
        index: 68
      value:
        choices: [valueString]
        index: 70
      valueString: {type: string, choiceOf: value, index: 71}
    required: [valueString, value]
  actor:
    url: null
    short: Actor(s) this obligation applies to (all actors if none)
    array: true
    index: 18
    extensions: {}
    elements:
      extension: {index: 19}
      url:
        pattern: {type: Uri, value: actor}
        index: 20
      value:
        choices: [valueUri]
        index: 22
      valueUri: {type: uri, choiceOf: value, index: 23}
    required: [valueUri, value]
class: extension
kind: complex-type
url: http://hl7.org/fhir/StructureDefinition/obligation
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 5.3.0-ballot