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