PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r5.r4b@0.0.1-snapshot-2
    http://hl7.org/fhir/5.0/StructureDefinition/extension-Availability
description: This cross-version extension represents Availability from http://hl7.org/fhir/StructureDefinition/Availability|5.0.0 for use in FHIR R4B.
package_name: hl7.fhir.uv.xver-r5.r4b
derivation: constraint
name: Ext_R5_Availability
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        availableTime:
          match: {url: availableTime}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Times the {item} is available
            array: true
            index: 1
            extensions:
              daysOfWeek:
                url: daysOfWeek
                base: {max: '*', min: 0, path: Extension.extension}
                short: mon | tue | wed | thu | fri | sat | sun
                array: true
                index: 3
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: daysOfWeek}
                    index: 4
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: mon | tue | wed | thu | fri | sat | sun
                    choices: [valueCode]
                    index: 6
                  valueCode:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: code
                    short: mon | tue | wed | thu | fri | sat | sun
                    choiceOf: value
                    index: 7
                required: [url]
              allDay:
                url: allDay
                base: {max: '*', min: 0, path: Extension.extension}
                short: Always available? i.e. 24 hour service
                index: 8
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: allDay}
                    index: 9
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Always available? i.e. 24 hour service
                    choices: [valueBoolean]
                    index: 11
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Always available? i.e. 24 hour service
                    choiceOf: value
                    index: 12
                required: [url]
              availableStartTime:
                url: availableStartTime
                base: {max: '*', min: 0, path: Extension.extension}
                short: Opening time of day (ignored if allDay = true)
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: availableStartTime}
                    index: 14
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Opening time of day (ignored if allDay = true)
                    choices: [valueTime]
                    index: 16
                  valueTime:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: time
                    short: Opening time of day (ignored if allDay = true)
                    choiceOf: value
                    index: 17
                required: [url]
              availableEndTime:
                url: availableEndTime
                base: {max: '*', min: 0, path: Extension.extension}
                short: Closing time of day (ignored if allDay = true)
                index: 18
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: availableEndTime}
                    index: 19
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Closing time of day (ignored if allDay = true)
                    choices: [valueTime]
                    index: 21
                  valueTime:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: time
                    short: Closing time of day (ignored if allDay = true)
                    choiceOf: value
                    index: 22
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 2
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    daysOfWeek:
                      match: {url: daysOfWeek}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: mon | tue | wed | thu | fri | sat | sun
                        array: true
                        index: 3
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: daysOfWeek}
                            index: 4
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: mon | tue | wed | thu | fri | sat | sun
                            choices: [valueCode]
                            index: 6
                          valueCode:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: code
                            short: mon | tue | wed | thu | fri | sat | sun
                            choiceOf: value
                            index: 7
                        required: [url]
                    allDay:
                      match: {url: allDay}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Always available? i.e. 24 hour service
                        index: 8
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: allDay}
                            index: 9
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Always available? i.e. 24 hour service
                            choices: [valueBoolean]
                            index: 11
                          valueBoolean:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: boolean
                            short: Always available? i.e. 24 hour service
                            choiceOf: value
                            index: 12
                        required: [url]
                    availableStartTime:
                      match: {url: availableStartTime}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Opening time of day (ignored if allDay = true)
                        index: 13
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: availableStartTime}
                            index: 14
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Opening time of day (ignored if allDay = true)
                            choices: [valueTime]
                            index: 16
                          valueTime:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: time
                            short: Opening time of day (ignored if allDay = true)
                            choiceOf: value
                            index: 17
                        required: [url]
                    availableEndTime:
                      match: {url: availableEndTime}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Closing time of day (ignored if allDay = true)
                        index: 18
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: availableEndTime}
                            index: 19
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Closing time of day (ignored if allDay = true)
                            choices: [valueTime]
                            index: 21
                          valueTime:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: time
                            short: Closing time of day (ignored if allDay = true)
                            choiceOf: value
                            index: 22
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: availableTime}
                index: 23
            required: [url]
        notAvailableTime:
          match: {url: notAvailableTime}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Not available during this time due to provided reason
            array: true
            index: 24
            extensions:
              description:
                url: description
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reason presented to the user explaining why time not available
                index: 26
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: description}
                    index: 27
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reason presented to the user explaining why time not available
                    choices: [valueString]
                    index: 29
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Reason presented to the user explaining why time not available
                    choiceOf: value
                    index: 30
                required: [url]
              during:
                url: during
                base: {max: '*', min: 0, path: Extension.extension}
                short: Service not available during this period
                index: 31
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: during}
                    index: 32
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Service not available during this period
                    choices: [valuePeriod]
                    index: 34
                  valuePeriod:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Period
                    short: Service not available during this period
                    choiceOf: value
                    index: 35
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 25
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    description:
                      match: {url: description}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reason presented to the user explaining why time not available
                        index: 26
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: description}
                            index: 27
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Reason presented to the user explaining why time not available
                            choices: [valueString]
                            index: 29
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Reason presented to the user explaining why time not available
                            choiceOf: value
                            index: 30
                        required: [url]
                    during:
                      match: {url: during}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Service not available during this period
                        index: 31
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: during}
                            index: 32
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Service not available during this period
                            choices: [valuePeriod]
                            index: 34
                          valuePeriod:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Period
                            short: Service not available during this period
                            choiceOf: value
                            index: 35
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: notAvailableTime}
                index: 36
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Availability'}
    index: 37
package_version: 0.0.1-snapshot-2
extensions:
  availableTime:
    url: availableTime
    base: {max: '*', min: 0, path: Extension.extension}
    short: Times the {item} is available
    array: true
    index: 1
    extensions:
      daysOfWeek:
        url: daysOfWeek
        base: {max: '*', min: 0, path: Extension.extension}
        short: mon | tue | wed | thu | fri | sat | sun
        array: true
        index: 3
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: daysOfWeek}
            index: 4
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: mon | tue | wed | thu | fri | sat | sun
            choices: [valueCode]
            index: 6
          valueCode:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: code
            short: mon | tue | wed | thu | fri | sat | sun
            choiceOf: value
            index: 7
        required: [url]
      allDay:
        url: allDay
        base: {max: '*', min: 0, path: Extension.extension}
        short: Always available? i.e. 24 hour service
        index: 8
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: allDay}
            index: 9
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Always available? i.e. 24 hour service
            choices: [valueBoolean]
            index: 11
          valueBoolean:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: boolean
            short: Always available? i.e. 24 hour service
            choiceOf: value
            index: 12
        required: [url]
      availableStartTime:
        url: availableStartTime
        base: {max: '*', min: 0, path: Extension.extension}
        short: Opening time of day (ignored if allDay = true)
        index: 13
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: availableStartTime}
            index: 14
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Opening time of day (ignored if allDay = true)
            choices: [valueTime]
            index: 16
          valueTime:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: time
            short: Opening time of day (ignored if allDay = true)
            choiceOf: value
            index: 17
        required: [url]
      availableEndTime:
        url: availableEndTime
        base: {max: '*', min: 0, path: Extension.extension}
        short: Closing time of day (ignored if allDay = true)
        index: 18
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: availableEndTime}
            index: 19
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Closing time of day (ignored if allDay = true)
            choices: [valueTime]
            index: 21
          valueTime:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: time
            short: Closing time of day (ignored if allDay = true)
            choiceOf: value
            index: 22
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 2
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            daysOfWeek:
              match: {url: daysOfWeek}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: mon | tue | wed | thu | fri | sat | sun
                array: true
                index: 3
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: daysOfWeek}
                    index: 4
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: mon | tue | wed | thu | fri | sat | sun
                    choices: [valueCode]
                    index: 6
                  valueCode:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: code
                    short: mon | tue | wed | thu | fri | sat | sun
                    choiceOf: value
                    index: 7
                required: [url]
            allDay:
              match: {url: allDay}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Always available? i.e. 24 hour service
                index: 8
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: allDay}
                    index: 9
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Always available? i.e. 24 hour service
                    choices: [valueBoolean]
                    index: 11
                  valueBoolean:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: boolean
                    short: Always available? i.e. 24 hour service
                    choiceOf: value
                    index: 12
                required: [url]
            availableStartTime:
              match: {url: availableStartTime}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Opening time of day (ignored if allDay = true)
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: availableStartTime}
                    index: 14
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Opening time of day (ignored if allDay = true)
                    choices: [valueTime]
                    index: 16
                  valueTime:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: time
                    short: Opening time of day (ignored if allDay = true)
                    choiceOf: value
                    index: 17
                required: [url]
            availableEndTime:
              match: {url: availableEndTime}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Closing time of day (ignored if allDay = true)
                index: 18
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: availableEndTime}
                    index: 19
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Closing time of day (ignored if allDay = true)
                    choices: [valueTime]
                    index: 21
                  valueTime:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: time
                    short: Closing time of day (ignored if allDay = true)
                    choiceOf: value
                    index: 22
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: availableTime}
        index: 23
    required: [url]
  notAvailableTime:
    url: notAvailableTime
    base: {max: '*', min: 0, path: Extension.extension}
    short: Not available during this time due to provided reason
    array: true
    index: 24
    extensions:
      description:
        url: description
        base: {max: '*', min: 0, path: Extension.extension}
        short: Reason presented to the user explaining why time not available
        index: 26
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: description}
            index: 27
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Reason presented to the user explaining why time not available
            choices: [valueString]
            index: 29
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Reason presented to the user explaining why time not available
            choiceOf: value
            index: 30
        required: [url]
      during:
        url: during
        base: {max: '*', min: 0, path: Extension.extension}
        short: Service not available during this period
        index: 31
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: during}
            index: 32
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Service not available during this period
            choices: [valuePeriod]
            index: 34
          valuePeriod:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Period
            short: Service not available during this period
            choiceOf: value
            index: 35
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 25
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            description:
              match: {url: description}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reason presented to the user explaining why time not available
                index: 26
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: description}
                    index: 27
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reason presented to the user explaining why time not available
                    choices: [valueString]
                    index: 29
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Reason presented to the user explaining why time not available
                    choiceOf: value
                    index: 30
                required: [url]
            during:
              match: {url: during}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Service not available during this period
                index: 31
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: during}
                    index: 32
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Service not available during this period
                    choices: [valuePeriod]
                    index: 34
                  valuePeriod:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Period
                    short: Service not available during this period
                    choiceOf: value
                    index: 35
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: notAvailableTime}
        index: 36
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Availability
base: http://hl7.org/fhir/StructureDefinition/Extension|4.3.0
version: 0.0.1-snapshot-2
required: [url]