PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r5.r3@0.1.0
    http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision
description: 'R5: `Consent.provision`'
package_name: hl7.fhir.uv.xver-r5.r3
derivation: constraint
name: ExtensionConsent_Provision
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    index: 0
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        provision:
          match: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision'}
          schema:
            short: 'R5: Nested Exception Provisions (new)'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 100
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision'}
                index: 101
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 103
            required: [url]
        expression:
          match: {url: expression}
          schema:
            short: 'R5: A computable expression of the consent (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 65
            extensions:
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype
                base: {max: '*', min: 0, path: Extension.extension}
                short: DataType slice for a FHIR R5 `Expression` value
                _required: true
                index: 67
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                    index: 68
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: Expression}
                    choices: [valueString]
                    index: 70
                  valueString:
                    type: string
                    pattern: {type: String, value: Expression}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 71
                required: [url, valueString, value]
              description:
                url: description
                short: 'R5: Natural language description of the condition (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 72
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: description}
                    index: 73
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Natural language description of the condition
                    choices: [valueString]
                    index: 75
                  valueString:
                    short: Natural language description of the condition
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 76
                required: [url]
              name:
                url: name
                short: 'R5: Short name assigned to expression for reuse (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 77
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 78
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Short name assigned to expression for reuse
                    choices: [valueCode]
                    index: 80
                  valueCode:
                    short: Short name assigned to expression for reuse
                    type: code
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 81
                required: [url]
              language:
                url: language
                short: 'R5: text/cql | text/fhirpath | application/x-fhir-query | etc. (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 82
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: language}
                    index: 83
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                    choices: [valueCode]
                    index: 85
                  valueCode:
                    short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                    type: code
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 86
                required: [url]
              expression:
                url: expression
                short: 'R5: Expression in specified language (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 87
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: expression}
                    index: 88
                  value:
                    short: Expression in specified language
                    choices: [valueString]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 90
                  valueString:
                    short: Expression in specified language
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 91
                required: [url]
              reference:
                url: reference
                short: 'R5: Where the expression is found (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 92
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: reference}
                    index: 93
                  value:
                    short: Where the expression is found
                    choices: [valueUri]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 95
                  valueUri:
                    short: Where the expression is found
                    type: uri
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 96
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 66
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    _datatype:
                      match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: DataType slice for a FHIR R5 `Expression` value
                        _required: true
                        index: 67
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                            index: 68
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: Expression}
                            choices: [valueString]
                            index: 70
                          valueString:
                            type: string
                            pattern: {type: String, value: Expression}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 71
                        required: [url, valueString, value]
                    description:
                      match: {url: description}
                      schema:
                        short: 'R5: Natural language description of the condition (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 72
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: description}
                            index: 73
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Natural language description of the condition
                            choices: [valueString]
                            index: 75
                          valueString:
                            short: Natural language description of the condition
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 76
                        required: [url]
                    name:
                      match: {url: name}
                      schema:
                        short: 'R5: Short name assigned to expression for reuse (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 77
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: name}
                            index: 78
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Short name assigned to expression for reuse
                            choices: [valueCode]
                            index: 80
                          valueCode:
                            short: Short name assigned to expression for reuse
                            type: code
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 81
                        required: [url]
                    language:
                      match: {url: language}
                      schema:
                        short: 'R5: text/cql | text/fhirpath | application/x-fhir-query | etc. (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 82
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: language}
                            index: 83
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                            choices: [valueCode]
                            index: 85
                          valueCode:
                            short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                            type: code
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 86
                        required: [url]
                    expression:
                      match: {url: expression}
                      schema:
                        short: 'R5: Expression in specified language (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 87
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: expression}
                            index: 88
                          value:
                            short: Expression in specified language
                            choices: [valueString]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 90
                          valueString:
                            short: Expression in specified language
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 91
                        required: [url]
                    reference:
                      match: {url: reference}
                      schema:
                        short: 'R5: Where the expression is found (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 92
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: reference}
                            index: 93
                          value:
                            short: Where the expression is found
                            choices: [valueUri]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 95
                          valueUri:
                            short: Where the expression is found
                            type: uri
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 96
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: expression}
                index: 97
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 99
            required: [url]
        purpose:
          match: {url: purpose}
          schema:
            short: 'R5: Context of activities covered by this provision'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 28
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: purpose}
                index: 29
              value:
                short: Context of activities covered by this provision
                choices: [valueCoding]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 31
              valueCoding:
                short: Context of activities covered by this provision
                type: Coding
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 32
            required: [url]
        dataPeriod:
          match: {url: dataPeriod}
          schema:
            short: 'R5: Timeframe for data controlled by this provision'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 48
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: dataPeriod}
                index: 49
              value:
                short: Timeframe for data controlled by this provision
                choices: [valuePeriod]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 51
              valuePeriod:
                short: Timeframe for data controlled by this provision
                type: Period
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 52
            required: [url]
        resourceType:
          match: {url: resourceType}
          schema:
            short: 'R5: e.g. Resource Type, Profile, etc'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 38
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: resourceType}
                index: 39
              value:
                short: e.g. Resource Type, Profile, etc
                choices: [valueCoding]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 41
              valueCoding:
                short: e.g. Resource Type, Profile, etc
                type: Coding
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 42
            required: [url]
        documentType:
          match: {url: documentType}
          schema:
            short: 'R5: e.g. Resource Type, Profile, CDA, etc'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 33
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: documentType}
                index: 34
              value:
                short: e.g. Resource Type, Profile, CDA, etc
                choices: [valueCoding]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 36
              valueCoding:
                short: e.g. Resource Type, Profile, CDA, etc
                type: Coding
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 37
            required: [url]
        code:
          match: {url: code}
          schema:
            short: 'R5: e.g. LOINC or SNOMED CT code, etc. in the content additional types'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 43
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: code}
                index: 44
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: e.g. LOINC or SNOMED CT code, etc. in the content
                choices: [valueCodeableConcept]
                index: 46
              valueCodeableConcept:
                short: e.g. LOINC or SNOMED CT code, etc. in the content
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 47
            required: [url]
        action:
          match: {url: action}
          schema:
            short: 'R5: Actions controlled by this provision'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 18
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: action}
                index: 19
              value:
                short: Actions controlled by this provision
                choices: [valueCodeableConcept]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 21
              valueCodeableConcept:
                short: Actions controlled by this provision
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 22
            required: [url]
        period:
          match: {url: period}
          schema:
            short: 'R5: Timeframe for this provision'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: period}
                index: 2
              value:
                short: Timeframe for this provision
                choices: [valuePeriod]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 4
              valuePeriod:
                short: Timeframe for this provision
                type: Period
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 5
            required: [url]
        securityLabel:
          match: {url: securityLabel}
          schema:
            short: 'R5: Security Labels that define affected resources'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 23
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: securityLabel}
                index: 24
              value:
                short: Security Labels that define affected resources
                choices: [valueCoding]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 26
              valueCoding:
                short: Security Labels that define affected resources
                type: Coding
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 27
            required: [url]
        actor:
          match: {url: actor}
          schema:
            short: 'R5: Who|what controlled by this provision (or group, by role)'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 6
            extensions:
              role:
                url: role
                short: 'R5: How the actor is involved'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 8
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: role}
                    index: 9
                  value:
                    short: How the actor is involved
                    choices: [valueCodeableConcept]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 11
                  valueCodeableConcept:
                    short: How the actor is involved
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 12
                required: [url]
              reference:
                url: http://hl7.org/fhir/StructureDefinition/alternate-reference
                short: 'R5: Resource for the actor (or group, by role)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
                    index: 14
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 7
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    role:
                      match: {url: role}
                      schema:
                        short: 'R5: How the actor is involved'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 8
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: role}
                            index: 9
                          value:
                            short: How the actor is involved
                            choices: [valueCodeableConcept]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 11
                          valueCodeableConcept:
                            short: How the actor is involved
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 12
                        required: [url]
                    reference:
                      match: {url: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
                      schema:
                        short: 'R5: Resource for the actor (or group, by role)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 13
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
                            index: 14
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: actor}
                index: 15
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 17
            required: [url]
        data:
          match: {url: data}
          schema:
            short: 'R5: Data controlled by this provision'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 53
            extensions:
              meaning:
                url: meaning
                short: 'R5: instance | related | dependents | authoredby'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 55
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: meaning}
                    index: 56
                  value:
                    short: instance | related | dependents | authoredby
                    choices: [valueCode]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 58
                  valueCode:
                    short: instance | related | dependents | authoredby
                    type: code
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 59
                required: [url, valueCode, value]
              reference:
                url: http://hl7.org/fhir/StructureDefinition/alternate-reference
                short: 'R5: The actual data reference additional types'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 60
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
                    index: 61
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 2
                index: 54
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 2
                  slices:
                    meaning:
                      match: {url: meaning}
                      schema:
                        short: 'R5: instance | related | dependents | authoredby'
                        _required: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 55
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: meaning}
                            index: 56
                          value:
                            short: instance | related | dependents | authoredby
                            choices: [valueCode]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 58
                          valueCode:
                            short: instance | related | dependents | authoredby
                            type: code
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 59
                        required: [url, valueCode, value]
                    reference:
                      match: {url: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
                      schema:
                        short: 'R5: The actual data reference additional types'
                        _required: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 60
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
                            index: 61
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: data}
                index: 62
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 64
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision'}
    index: 104
  value:
    base: {max: '1', min: 0, path: 'Extension.value[x]'}
    choices: []
    index: 106
package_version: 0.1.0
extensions:
  provision:
    url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision
    short: 'R5: Nested Exception Provisions (new)'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 100
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision'}
        index: 101
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choices: []
        index: 103
    required: [url]
  expression:
    url: expression
    short: 'R5: A computable expression of the consent (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 65
    extensions:
      _datatype:
        url: http://hl7.org/fhir/StructureDefinition/_datatype
        base: {max: '*', min: 0, path: Extension.extension}
        short: DataType slice for a FHIR R5 `Expression` value
        _required: true
        index: 67
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
            index: 68
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            pattern: {type: String, value: Expression}
            choices: [valueString]
            index: 70
          valueString:
            type: string
            pattern: {type: String, value: Expression}
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 71
        required: [url, valueString, value]
      description:
        url: description
        short: 'R5: Natural language description of the condition (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 72
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: description}
            index: 73
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Natural language description of the condition
            choices: [valueString]
            index: 75
          valueString:
            short: Natural language description of the condition
            type: string
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 76
        required: [url]
      name:
        url: name
        short: 'R5: Short name assigned to expression for reuse (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 77
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: name}
            index: 78
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Short name assigned to expression for reuse
            choices: [valueCode]
            index: 80
          valueCode:
            short: Short name assigned to expression for reuse
            type: code
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 81
        required: [url]
      language:
        url: language
        short: 'R5: text/cql | text/fhirpath | application/x-fhir-query | etc. (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 82
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: language}
            index: 83
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: text/cql | text/fhirpath | application/x-fhir-query | etc.
            choices: [valueCode]
            index: 85
          valueCode:
            short: text/cql | text/fhirpath | application/x-fhir-query | etc.
            type: code
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 86
        required: [url]
      expression:
        url: expression
        short: 'R5: Expression in specified language (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 87
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: expression}
            index: 88
          value:
            short: Expression in specified language
            choices: [valueString]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 90
          valueString:
            short: Expression in specified language
            type: string
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 91
        required: [url]
      reference:
        url: reference
        short: 'R5: Where the expression is found (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 92
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: reference}
            index: 93
          value:
            short: Where the expression is found
            choices: [valueUri]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 95
          valueUri:
            short: Where the expression is found
            type: uri
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 96
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 66
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            _datatype:
              match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: DataType slice for a FHIR R5 `Expression` value
                _required: true
                index: 67
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                    index: 68
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: Expression}
                    choices: [valueString]
                    index: 70
                  valueString:
                    type: string
                    pattern: {type: String, value: Expression}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 71
                required: [url, valueString, value]
            description:
              match: {url: description}
              schema:
                short: 'R5: Natural language description of the condition (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 72
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: description}
                    index: 73
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Natural language description of the condition
                    choices: [valueString]
                    index: 75
                  valueString:
                    short: Natural language description of the condition
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 76
                required: [url]
            name:
              match: {url: name}
              schema:
                short: 'R5: Short name assigned to expression for reuse (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 77
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 78
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Short name assigned to expression for reuse
                    choices: [valueCode]
                    index: 80
                  valueCode:
                    short: Short name assigned to expression for reuse
                    type: code
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 81
                required: [url]
            language:
              match: {url: language}
              schema:
                short: 'R5: text/cql | text/fhirpath | application/x-fhir-query | etc. (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 82
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: language}
                    index: 83
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                    choices: [valueCode]
                    index: 85
                  valueCode:
                    short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                    type: code
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 86
                required: [url]
            expression:
              match: {url: expression}
              schema:
                short: 'R5: Expression in specified language (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 87
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: expression}
                    index: 88
                  value:
                    short: Expression in specified language
                    choices: [valueString]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 90
                  valueString:
                    short: Expression in specified language
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 91
                required: [url]
            reference:
              match: {url: reference}
              schema:
                short: 'R5: Where the expression is found (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 92
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: reference}
                    index: 93
                  value:
                    short: Where the expression is found
                    choices: [valueUri]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 95
                  valueUri:
                    short: Where the expression is found
                    type: uri
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 96
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: expression}
        index: 97
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choices: []
        index: 99
    required: [url]
  purpose:
    url: purpose
    short: 'R5: Context of activities covered by this provision'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 28
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: purpose}
        index: 29
      value:
        short: Context of activities covered by this provision
        choices: [valueCoding]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 31
      valueCoding:
        short: Context of activities covered by this provision
        type: Coding
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 32
    required: [url]
  dataPeriod:
    url: dataPeriod
    short: 'R5: Timeframe for data controlled by this provision'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 48
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: dataPeriod}
        index: 49
      value:
        short: Timeframe for data controlled by this provision
        choices: [valuePeriod]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 51
      valuePeriod:
        short: Timeframe for data controlled by this provision
        type: Period
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 52
    required: [url]
  resourceType:
    url: resourceType
    short: 'R5: e.g. Resource Type, Profile, etc'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 38
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: resourceType}
        index: 39
      value:
        short: e.g. Resource Type, Profile, etc
        choices: [valueCoding]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 41
      valueCoding:
        short: e.g. Resource Type, Profile, etc
        type: Coding
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 42
    required: [url]
  documentType:
    url: documentType
    short: 'R5: e.g. Resource Type, Profile, CDA, etc'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 33
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: documentType}
        index: 34
      value:
        short: e.g. Resource Type, Profile, CDA, etc
        choices: [valueCoding]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 36
      valueCoding:
        short: e.g. Resource Type, Profile, CDA, etc
        type: Coding
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 37
    required: [url]
  code:
    url: code
    short: 'R5: e.g. LOINC or SNOMED CT code, etc. in the content additional types'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 43
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: code}
        index: 44
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: e.g. LOINC or SNOMED CT code, etc. in the content
        choices: [valueCodeableConcept]
        index: 46
      valueCodeableConcept:
        short: e.g. LOINC or SNOMED CT code, etc. in the content
        type: CodeableConcept
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 47
    required: [url]
  action:
    url: action
    short: 'R5: Actions controlled by this provision'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 18
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: action}
        index: 19
      value:
        short: Actions controlled by this provision
        choices: [valueCodeableConcept]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 21
      valueCodeableConcept:
        short: Actions controlled by this provision
        type: CodeableConcept
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 22
    required: [url]
  period:
    url: period
    short: 'R5: Timeframe for this provision'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: period}
        index: 2
      value:
        short: Timeframe for this provision
        choices: [valuePeriod]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 4
      valuePeriod:
        short: Timeframe for this provision
        type: Period
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 5
    required: [url]
  securityLabel:
    url: securityLabel
    short: 'R5: Security Labels that define affected resources'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 23
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: securityLabel}
        index: 24
      value:
        short: Security Labels that define affected resources
        choices: [valueCoding]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 26
      valueCoding:
        short: Security Labels that define affected resources
        type: Coding
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 27
    required: [url]
  actor:
    url: actor
    short: 'R5: Who|what controlled by this provision (or group, by role)'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 6
    extensions:
      role:
        url: role
        short: 'R5: How the actor is involved'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 8
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: role}
            index: 9
          value:
            short: How the actor is involved
            choices: [valueCodeableConcept]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 11
          valueCodeableConcept:
            short: How the actor is involved
            type: CodeableConcept
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 12
        required: [url]
      reference:
        url: http://hl7.org/fhir/StructureDefinition/alternate-reference
        short: 'R5: Resource for the actor (or group, by role)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 13
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
            index: 14
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 7
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            role:
              match: {url: role}
              schema:
                short: 'R5: How the actor is involved'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 8
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: role}
                    index: 9
                  value:
                    short: How the actor is involved
                    choices: [valueCodeableConcept]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 11
                  valueCodeableConcept:
                    short: How the actor is involved
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 12
                required: [url]
            reference:
              match: {url: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
              schema:
                short: 'R5: Resource for the actor (or group, by role)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
                    index: 14
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: actor}
        index: 15
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choices: []
        index: 17
    required: [url]
  data:
    url: data
    short: 'R5: Data controlled by this provision'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 53
    extensions:
      meaning:
        url: meaning
        short: 'R5: instance | related | dependents | authoredby'
        _required: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 55
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: meaning}
            index: 56
          value:
            short: instance | related | dependents | authoredby
            choices: [valueCode]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 58
          valueCode:
            short: instance | related | dependents | authoredby
            type: code
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 59
        required: [url, valueCode, value]
      reference:
        url: http://hl7.org/fhir/StructureDefinition/alternate-reference
        short: 'R5: The actual data reference additional types'
        _required: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 60
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
            index: 61
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 2
        index: 54
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 2
          slices:
            meaning:
              match: {url: meaning}
              schema:
                short: 'R5: instance | related | dependents | authoredby'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 55
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: meaning}
                    index: 56
                  value:
                    short: instance | related | dependents | authoredby
                    choices: [valueCode]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 58
                  valueCode:
                    short: instance | related | dependents | authoredby
                    type: code
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 59
                required: [url, valueCode, value]
            reference:
              match: {url: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
              schema:
                short: 'R5: The actual data reference additional types'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 60
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/alternate-reference'}
                    index: 61
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: data}
        index: 62
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choices: []
        index: 64
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Consent.provision
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 0.1.0
required: [url]