PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver@r5.r4b-0.0.1-snapshot-2
    http://hl7.org/fhir/5.0/StructureDefinition/extension-Appointment.recurrenceTemplate
description: This cross-version extension represents Appointment.recurrenceTemplate from http://hl7.org/fhir/StructureDefinition/Appointment|5.0.0 for use in FHIR R4B.
package_name: hl7.fhir.uv.xver
derivation: constraint
name: Ext_R5_Appointment_recurrenceTemplate
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    min: 1
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 1
      slices:
        timezone:
          match: {url: timezone}
          schema:
            short: The timezone of the occurrences
            base: {max: '*', min: 0, path: Extension.extension}
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: timezone}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The timezone of the occurrences
                choices: [valueCodeableConcept]
                index: 4
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: The timezone of the occurrences
                choiceOf: value
                index: 5
            required: [url]
        lastOccurrenceDate:
          match: {url: lastOccurrenceDate}
          schema:
            short: The date when the recurrence should end
            base: {max: '*', min: 0, path: Extension.extension}
            index: 11
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: lastOccurrenceDate}
                index: 12
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The date when the recurrence should end
                choices: [valueDate]
                index: 14
              valueDate:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: date
                short: The date when the recurrence should end
                choiceOf: value
                index: 15
            required: [url]
        yearlyTemplate:
          match: {url: yearlyTemplate}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Information about yearly recurring appointments
            index: 92
            extensions:
              yearInterval:
                url: yearInterval
                short: Recurs every nth year
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 94
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: yearInterval}
                    index: 95
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs every nth year
                    choices: [valuePositiveInt]
                    index: 97
                  valuePositiveInt:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: positiveInt
                    short: Recurs every nth year
                    choiceOf: value
                    index: 98
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 93
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    yearInterval:
                      match: {url: yearInterval}
                      schema:
                        short: Recurs every nth year
                        _required: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 94
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: yearInterval}
                            index: 95
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs every nth year
                            choices: [valuePositiveInt]
                            index: 97
                          valuePositiveInt:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: positiveInt
                            short: Recurs every nth year
                            choiceOf: value
                            index: 98
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: yearlyTemplate}
                index: 99
            required: [url, extension]
        monthlyTemplate:
          match: {url: monthlyTemplate}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Information about monthly recurring appointments
            index: 69
            extensions:
              dayOfMonth:
                url: dayOfMonth
                short: Recurs on a specific day of the month
                base: {max: '*', min: 0, path: Extension.extension}
                index: 71
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: dayOfMonth}
                    index: 72
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on a specific day of the month
                    choices: [valuePositiveInt]
                    index: 74
                  valuePositiveInt:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: positiveInt
                    short: Recurs on a specific day of the month
                    choiceOf: value
                    index: 75
                required: [url]
              nthWeekOfMonth:
                url: nthWeekOfMonth
                short: Indicates which week of the month the appointment should occur
                base: {max: '*', min: 0, path: Extension.extension}
                index: 76
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: nthWeekOfMonth}
                    index: 77
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Indicates which week of the month the appointment should occur
                    choices: [valueCoding]
                    index: 79
                  valueCoding:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Coding
                    short: Indicates which week of the month the appointment should occur
                    choiceOf: value
                    index: 80
                required: [url]
              dayOfWeek:
                url: dayOfWeek
                short: Indicates which day of the week the appointment should occur
                base: {max: '*', min: 0, path: Extension.extension}
                index: 81
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: dayOfWeek}
                    index: 82
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Indicates which day of the week the appointment should occur
                    choices: [valueCoding]
                    index: 84
                  valueCoding:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Coding
                    short: Indicates which day of the week the appointment should occur
                    choiceOf: value
                    index: 85
                required: [url]
              monthInterval:
                url: monthInterval
                short: Recurs every nth month
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 86
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: monthInterval}
                    index: 87
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs every nth month
                    choices: [valuePositiveInt]
                    index: 89
                  valuePositiveInt:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: positiveInt
                    short: Recurs every nth month
                    choiceOf: value
                    index: 90
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 70
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    dayOfMonth:
                      match: {url: dayOfMonth}
                      schema:
                        short: Recurs on a specific day of the month
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 71
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: dayOfMonth}
                            index: 72
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs on a specific day of the month
                            choices: [valuePositiveInt]
                            index: 74
                          valuePositiveInt:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: positiveInt
                            short: Recurs on a specific day of the month
                            choiceOf: value
                            index: 75
                        required: [url]
                    nthWeekOfMonth:
                      match: {url: nthWeekOfMonth}
                      schema:
                        short: Indicates which week of the month the appointment should occur
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 76
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: nthWeekOfMonth}
                            index: 77
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Indicates which week of the month the appointment should occur
                            choices: [valueCoding]
                            index: 79
                          valueCoding:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Coding
                            short: Indicates which week of the month the appointment should occur
                            choiceOf: value
                            index: 80
                        required: [url]
                    dayOfWeek:
                      match: {url: dayOfWeek}
                      schema:
                        short: Indicates which day of the week the appointment should occur
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 81
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: dayOfWeek}
                            index: 82
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Indicates which day of the week the appointment should occur
                            choices: [valueCoding]
                            index: 84
                          valueCoding:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Coding
                            short: Indicates which day of the week the appointment should occur
                            choiceOf: value
                            index: 85
                        required: [url]
                    monthInterval:
                      match: {url: monthInterval}
                      schema:
                        short: Recurs every nth month
                        _required: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 86
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: monthInterval}
                            index: 87
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs every nth month
                            choices: [valuePositiveInt]
                            index: 89
                          valuePositiveInt:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: positiveInt
                            short: Recurs every nth month
                            choiceOf: value
                            index: 90
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: monthlyTemplate}
                index: 91
            required: [url, extension]
        weeklyTemplate:
          match: {url: weeklyTemplate}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Information about weekly recurring appointments
            index: 26
            extensions:
              monday:
                url: monday
                short: Recurs on Mondays
                base: {max: '*', min: 0, path: Extension.extension}
                index: 28
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: monday}
                    index: 29
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Mondays
                    choices: [valueBoolean]
                    index: 31
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Mondays
                    choiceOf: value
                    index: 32
                required: [url]
              tuesday:
                url: tuesday
                short: Recurs on Tuesday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 33
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: tuesday}
                    index: 34
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Tuesday
                    choices: [valueBoolean]
                    index: 36
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Tuesday
                    choiceOf: value
                    index: 37
                required: [url]
              wednesday:
                url: wednesday
                short: Recurs on Wednesday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 38
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: wednesday}
                    index: 39
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Wednesday
                    choices: [valueBoolean]
                    index: 41
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Wednesday
                    choiceOf: value
                    index: 42
                required: [url]
              thursday:
                url: thursday
                short: Recurs on Thursday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 43
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: thursday}
                    index: 44
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Thursday
                    choices: [valueBoolean]
                    index: 46
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Thursday
                    choiceOf: value
                    index: 47
                required: [url]
              friday:
                url: friday
                short: Recurs on Friday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 48
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: friday}
                    index: 49
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Friday
                    choices: [valueBoolean]
                    index: 51
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Friday
                    choiceOf: value
                    index: 52
                required: [url]
              saturday:
                url: saturday
                short: Recurs on Saturday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 53
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: saturday}
                    index: 54
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Saturday
                    choices: [valueBoolean]
                    index: 56
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Saturday
                    choiceOf: value
                    index: 57
                required: [url]
              sunday:
                url: sunday
                short: Recurs on Sunday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 58
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: sunday}
                    index: 59
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Sunday
                    choices: [valueBoolean]
                    index: 61
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Sunday
                    choiceOf: value
                    index: 62
                required: [url]
              weekInterval:
                url: weekInterval
                short: Recurs every nth week
                base: {max: '*', min: 0, path: Extension.extension}
                index: 63
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: weekInterval}
                    index: 64
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs every nth week
                    choices: [valuePositiveInt]
                    index: 66
                  valuePositiveInt:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: positiveInt
                    short: Recurs every nth week
                    choiceOf: value
                    index: 67
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 27
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    monday:
                      match: {url: monday}
                      schema:
                        short: Recurs on Mondays
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 28
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: monday}
                            index: 29
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs on Mondays
                            choices: [valueBoolean]
                            index: 31
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: Recurs on Mondays
                            choiceOf: value
                            index: 32
                        required: [url]
                    tuesday:
                      match: {url: tuesday}
                      schema:
                        short: Recurs on Tuesday
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 33
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: tuesday}
                            index: 34
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs on Tuesday
                            choices: [valueBoolean]
                            index: 36
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: Recurs on Tuesday
                            choiceOf: value
                            index: 37
                        required: [url]
                    wednesday:
                      match: {url: wednesday}
                      schema:
                        short: Recurs on Wednesday
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 38
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: wednesday}
                            index: 39
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs on Wednesday
                            choices: [valueBoolean]
                            index: 41
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: Recurs on Wednesday
                            choiceOf: value
                            index: 42
                        required: [url]
                    thursday:
                      match: {url: thursday}
                      schema:
                        short: Recurs on Thursday
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 43
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: thursday}
                            index: 44
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs on Thursday
                            choices: [valueBoolean]
                            index: 46
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: Recurs on Thursday
                            choiceOf: value
                            index: 47
                        required: [url]
                    friday:
                      match: {url: friday}
                      schema:
                        short: Recurs on Friday
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 48
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: friday}
                            index: 49
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs on Friday
                            choices: [valueBoolean]
                            index: 51
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: Recurs on Friday
                            choiceOf: value
                            index: 52
                        required: [url]
                    saturday:
                      match: {url: saturday}
                      schema:
                        short: Recurs on Saturday
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 53
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: saturday}
                            index: 54
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs on Saturday
                            choices: [valueBoolean]
                            index: 56
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: Recurs on Saturday
                            choiceOf: value
                            index: 57
                        required: [url]
                    sunday:
                      match: {url: sunday}
                      schema:
                        short: Recurs on Sunday
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 58
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: sunday}
                            index: 59
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs on Sunday
                            choices: [valueBoolean]
                            index: 61
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: Recurs on Sunday
                            choiceOf: value
                            index: 62
                        required: [url]
                    weekInterval:
                      match: {url: weekInterval}
                      schema:
                        short: Recurs every nth week
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 63
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: weekInterval}
                            index: 64
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Recurs every nth week
                            choices: [valuePositiveInt]
                            index: 66
                          valuePositiveInt:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: positiveInt
                            short: Recurs every nth week
                            choiceOf: value
                            index: 67
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: weeklyTemplate}
                index: 68
            required: [url]
        occurrenceDate:
          match: {url: occurrenceDate}
          schema:
            short: Specific dates for a recurring set of appointments (no template)
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 21
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: occurrenceDate}
                index: 22
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Specific dates for a recurring set of appointments (no template)
                choices: [valueDate]
                index: 24
              valueDate:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: date
                short: Specific dates for a recurring set of appointments (no template)
                choiceOf: value
                index: 25
            required: [url]
        excludingDate:
          match: {url: excludingDate}
          schema:
            short: Any dates that should be excluded from the series
            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: excludingDate}
                index: 101
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Any dates that should be excluded from the series
                choices: [valueDate]
                index: 103
              valueDate:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: date
                short: Any dates that should be excluded from the series
                choiceOf: value
                index: 104
            required: [url]
        occurrenceCount:
          match: {url: occurrenceCount}
          schema:
            short: The number of planned occurrences
            base: {max: '*', min: 0, path: Extension.extension}
            index: 16
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: occurrenceCount}
                index: 17
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The number of planned occurrences
                choices: [valuePositiveInt]
                index: 19
              valuePositiveInt:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: positiveInt
                short: The number of planned occurrences
                choiceOf: value
                index: 20
            required: [url]
        recurrenceType:
          match: {url: recurrenceType}
          schema:
            short: The frequency of the recurrence
            _required: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: recurrenceType}
                index: 7
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The frequency of the recurrence
                choices: [valueCodeableConcept]
                index: 9
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: The frequency of the recurrence
                choiceOf: value
                index: 10
            required: [url]
        excludingRecurrenceId:
          match: {url: excludingRecurrenceId}
          schema:
            short: Any recurrence IDs that should be excluded from the recurrence
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 105
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: excludingRecurrenceId}
                index: 106
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Any recurrence IDs that should be excluded from the recurrence
                choices: [valuePositiveInt]
                index: 108
              valuePositiveInt:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: positiveInt
                short: Any recurrence IDs that should be excluded from the recurrence
                choiceOf: value
                index: 109
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Appointment.recurrenceTemplate'}
    index: 110
package_version: r5.r4b-0.0.1-snapshot-2
extensions:
  timezone:
    url: timezone
    short: The timezone of the occurrences
    base: {max: '*', min: 0, path: Extension.extension}
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: timezone}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The timezone of the occurrences
        choices: [valueCodeableConcept]
        index: 4
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: The timezone of the occurrences
        choiceOf: value
        index: 5
    required: [url]
  lastOccurrenceDate:
    url: lastOccurrenceDate
    short: The date when the recurrence should end
    base: {max: '*', min: 0, path: Extension.extension}
    index: 11
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: lastOccurrenceDate}
        index: 12
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The date when the recurrence should end
        choices: [valueDate]
        index: 14
      valueDate:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: date
        short: The date when the recurrence should end
        choiceOf: value
        index: 15
    required: [url]
  yearlyTemplate:
    url: yearlyTemplate
    base: {max: '*', min: 0, path: Extension.extension}
    short: Information about yearly recurring appointments
    index: 92
    extensions:
      yearInterval:
        url: yearInterval
        short: Recurs every nth year
        _required: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 94
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: yearInterval}
            index: 95
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs every nth year
            choices: [valuePositiveInt]
            index: 97
          valuePositiveInt:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: positiveInt
            short: Recurs every nth year
            choiceOf: value
            index: 98
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 93
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            yearInterval:
              match: {url: yearInterval}
              schema:
                short: Recurs every nth year
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 94
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: yearInterval}
                    index: 95
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs every nth year
                    choices: [valuePositiveInt]
                    index: 97
                  valuePositiveInt:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: positiveInt
                    short: Recurs every nth year
                    choiceOf: value
                    index: 98
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: yearlyTemplate}
        index: 99
    required: [url, extension]
  monthlyTemplate:
    url: monthlyTemplate
    base: {max: '*', min: 0, path: Extension.extension}
    short: Information about monthly recurring appointments
    index: 69
    extensions:
      dayOfMonth:
        url: dayOfMonth
        short: Recurs on a specific day of the month
        base: {max: '*', min: 0, path: Extension.extension}
        index: 71
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: dayOfMonth}
            index: 72
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs on a specific day of the month
            choices: [valuePositiveInt]
            index: 74
          valuePositiveInt:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: positiveInt
            short: Recurs on a specific day of the month
            choiceOf: value
            index: 75
        required: [url]
      nthWeekOfMonth:
        url: nthWeekOfMonth
        short: Indicates which week of the month the appointment should occur
        base: {max: '*', min: 0, path: Extension.extension}
        index: 76
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: nthWeekOfMonth}
            index: 77
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Indicates which week of the month the appointment should occur
            choices: [valueCoding]
            index: 79
          valueCoding:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Coding
            short: Indicates which week of the month the appointment should occur
            choiceOf: value
            index: 80
        required: [url]
      dayOfWeek:
        url: dayOfWeek
        short: Indicates which day of the week the appointment should occur
        base: {max: '*', min: 0, path: Extension.extension}
        index: 81
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: dayOfWeek}
            index: 82
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Indicates which day of the week the appointment should occur
            choices: [valueCoding]
            index: 84
          valueCoding:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Coding
            short: Indicates which day of the week the appointment should occur
            choiceOf: value
            index: 85
        required: [url]
      monthInterval:
        url: monthInterval
        short: Recurs every nth month
        _required: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 86
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: monthInterval}
            index: 87
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs every nth month
            choices: [valuePositiveInt]
            index: 89
          valuePositiveInt:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: positiveInt
            short: Recurs every nth month
            choiceOf: value
            index: 90
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 70
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            dayOfMonth:
              match: {url: dayOfMonth}
              schema:
                short: Recurs on a specific day of the month
                base: {max: '*', min: 0, path: Extension.extension}
                index: 71
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: dayOfMonth}
                    index: 72
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on a specific day of the month
                    choices: [valuePositiveInt]
                    index: 74
                  valuePositiveInt:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: positiveInt
                    short: Recurs on a specific day of the month
                    choiceOf: value
                    index: 75
                required: [url]
            nthWeekOfMonth:
              match: {url: nthWeekOfMonth}
              schema:
                short: Indicates which week of the month the appointment should occur
                base: {max: '*', min: 0, path: Extension.extension}
                index: 76
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: nthWeekOfMonth}
                    index: 77
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Indicates which week of the month the appointment should occur
                    choices: [valueCoding]
                    index: 79
                  valueCoding:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Coding
                    short: Indicates which week of the month the appointment should occur
                    choiceOf: value
                    index: 80
                required: [url]
            dayOfWeek:
              match: {url: dayOfWeek}
              schema:
                short: Indicates which day of the week the appointment should occur
                base: {max: '*', min: 0, path: Extension.extension}
                index: 81
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: dayOfWeek}
                    index: 82
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Indicates which day of the week the appointment should occur
                    choices: [valueCoding]
                    index: 84
                  valueCoding:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Coding
                    short: Indicates which day of the week the appointment should occur
                    choiceOf: value
                    index: 85
                required: [url]
            monthInterval:
              match: {url: monthInterval}
              schema:
                short: Recurs every nth month
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 86
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: monthInterval}
                    index: 87
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs every nth month
                    choices: [valuePositiveInt]
                    index: 89
                  valuePositiveInt:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: positiveInt
                    short: Recurs every nth month
                    choiceOf: value
                    index: 90
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: monthlyTemplate}
        index: 91
    required: [url, extension]
  weeklyTemplate:
    url: weeklyTemplate
    base: {max: '*', min: 0, path: Extension.extension}
    short: Information about weekly recurring appointments
    index: 26
    extensions:
      monday:
        url: monday
        short: Recurs on Mondays
        base: {max: '*', min: 0, path: Extension.extension}
        index: 28
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: monday}
            index: 29
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs on Mondays
            choices: [valueBoolean]
            index: 31
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: Recurs on Mondays
            choiceOf: value
            index: 32
        required: [url]
      tuesday:
        url: tuesday
        short: Recurs on Tuesday
        base: {max: '*', min: 0, path: Extension.extension}
        index: 33
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: tuesday}
            index: 34
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs on Tuesday
            choices: [valueBoolean]
            index: 36
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: Recurs on Tuesday
            choiceOf: value
            index: 37
        required: [url]
      wednesday:
        url: wednesday
        short: Recurs on Wednesday
        base: {max: '*', min: 0, path: Extension.extension}
        index: 38
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: wednesday}
            index: 39
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs on Wednesday
            choices: [valueBoolean]
            index: 41
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: Recurs on Wednesday
            choiceOf: value
            index: 42
        required: [url]
      thursday:
        url: thursday
        short: Recurs on Thursday
        base: {max: '*', min: 0, path: Extension.extension}
        index: 43
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: thursday}
            index: 44
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs on Thursday
            choices: [valueBoolean]
            index: 46
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: Recurs on Thursday
            choiceOf: value
            index: 47
        required: [url]
      friday:
        url: friday
        short: Recurs on Friday
        base: {max: '*', min: 0, path: Extension.extension}
        index: 48
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: friday}
            index: 49
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs on Friday
            choices: [valueBoolean]
            index: 51
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: Recurs on Friday
            choiceOf: value
            index: 52
        required: [url]
      saturday:
        url: saturday
        short: Recurs on Saturday
        base: {max: '*', min: 0, path: Extension.extension}
        index: 53
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: saturday}
            index: 54
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs on Saturday
            choices: [valueBoolean]
            index: 56
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: Recurs on Saturday
            choiceOf: value
            index: 57
        required: [url]
      sunday:
        url: sunday
        short: Recurs on Sunday
        base: {max: '*', min: 0, path: Extension.extension}
        index: 58
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: sunday}
            index: 59
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs on Sunday
            choices: [valueBoolean]
            index: 61
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: Recurs on Sunday
            choiceOf: value
            index: 62
        required: [url]
      weekInterval:
        url: weekInterval
        short: Recurs every nth week
        base: {max: '*', min: 0, path: Extension.extension}
        index: 63
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: weekInterval}
            index: 64
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Recurs every nth week
            choices: [valuePositiveInt]
            index: 66
          valuePositiveInt:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: positiveInt
            short: Recurs every nth week
            choiceOf: value
            index: 67
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 27
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            monday:
              match: {url: monday}
              schema:
                short: Recurs on Mondays
                base: {max: '*', min: 0, path: Extension.extension}
                index: 28
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: monday}
                    index: 29
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Mondays
                    choices: [valueBoolean]
                    index: 31
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Mondays
                    choiceOf: value
                    index: 32
                required: [url]
            tuesday:
              match: {url: tuesday}
              schema:
                short: Recurs on Tuesday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 33
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: tuesday}
                    index: 34
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Tuesday
                    choices: [valueBoolean]
                    index: 36
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Tuesday
                    choiceOf: value
                    index: 37
                required: [url]
            wednesday:
              match: {url: wednesday}
              schema:
                short: Recurs on Wednesday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 38
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: wednesday}
                    index: 39
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Wednesday
                    choices: [valueBoolean]
                    index: 41
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Wednesday
                    choiceOf: value
                    index: 42
                required: [url]
            thursday:
              match: {url: thursday}
              schema:
                short: Recurs on Thursday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 43
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: thursday}
                    index: 44
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Thursday
                    choices: [valueBoolean]
                    index: 46
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Thursday
                    choiceOf: value
                    index: 47
                required: [url]
            friday:
              match: {url: friday}
              schema:
                short: Recurs on Friday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 48
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: friday}
                    index: 49
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Friday
                    choices: [valueBoolean]
                    index: 51
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Friday
                    choiceOf: value
                    index: 52
                required: [url]
            saturday:
              match: {url: saturday}
              schema:
                short: Recurs on Saturday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 53
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: saturday}
                    index: 54
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Saturday
                    choices: [valueBoolean]
                    index: 56
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Saturday
                    choiceOf: value
                    index: 57
                required: [url]
            sunday:
              match: {url: sunday}
              schema:
                short: Recurs on Sunday
                base: {max: '*', min: 0, path: Extension.extension}
                index: 58
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: sunday}
                    index: 59
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs on Sunday
                    choices: [valueBoolean]
                    index: 61
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Recurs on Sunday
                    choiceOf: value
                    index: 62
                required: [url]
            weekInterval:
              match: {url: weekInterval}
              schema:
                short: Recurs every nth week
                base: {max: '*', min: 0, path: Extension.extension}
                index: 63
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: weekInterval}
                    index: 64
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Recurs every nth week
                    choices: [valuePositiveInt]
                    index: 66
                  valuePositiveInt:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: positiveInt
                    short: Recurs every nth week
                    choiceOf: value
                    index: 67
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: weeklyTemplate}
        index: 68
    required: [url]
  occurrenceDate:
    url: occurrenceDate
    short: Specific dates for a recurring set of appointments (no template)
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 21
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: occurrenceDate}
        index: 22
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Specific dates for a recurring set of appointments (no template)
        choices: [valueDate]
        index: 24
      valueDate:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: date
        short: Specific dates for a recurring set of appointments (no template)
        choiceOf: value
        index: 25
    required: [url]
  excludingDate:
    url: excludingDate
    short: Any dates that should be excluded from the series
    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: excludingDate}
        index: 101
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Any dates that should be excluded from the series
        choices: [valueDate]
        index: 103
      valueDate:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: date
        short: Any dates that should be excluded from the series
        choiceOf: value
        index: 104
    required: [url]
  occurrenceCount:
    url: occurrenceCount
    short: The number of planned occurrences
    base: {max: '*', min: 0, path: Extension.extension}
    index: 16
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: occurrenceCount}
        index: 17
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The number of planned occurrences
        choices: [valuePositiveInt]
        index: 19
      valuePositiveInt:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: positiveInt
        short: The number of planned occurrences
        choiceOf: value
        index: 20
    required: [url]
  recurrenceType:
    url: recurrenceType
    short: The frequency of the recurrence
    _required: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: recurrenceType}
        index: 7
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The frequency of the recurrence
        choices: [valueCodeableConcept]
        index: 9
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: The frequency of the recurrence
        choiceOf: value
        index: 10
    required: [url]
  excludingRecurrenceId:
    url: excludingRecurrenceId
    short: Any recurrence IDs that should be excluded from the recurrence
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 105
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: excludingRecurrenceId}
        index: 106
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Any recurrence IDs that should be excluded from the recurrence
        choices: [valuePositiveInt]
        index: 108
      valuePositiveInt:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: positiveInt
        short: Any recurrence IDs that should be excluded from the recurrence
        choiceOf: value
        index: 109
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Appointment.recurrenceTemplate
base: http://hl7.org/fhir/StructureDefinition/Extension|4.3.0
version: 0.0.1-snapshot-2
required: [url, extension]