PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r5.r4@0.1.0
    http://hl7.org/fhir/5.0/StructureDefinition/extension-Appointment.virtualService
description: 'R5: `Appointment.virtualService` (new:VirtualServiceDetail)'
package_name: hl7.fhir.uv.xver-r5.r4
derivation: constraint
name: ExtensionAppointment_VirtualService
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    index: 0
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        _datatype:
          match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: DataType slice for a FHIR R5 `VirtualServiceDetail` value
            _required: true
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                pattern: {type: String, value: VirtualServiceDetail}
                choices: [valueString]
                index: 4
              valueString:
                type: string
                pattern: {type: String, value: VirtualServiceDetail}
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 5
            required: [url, valueString, value]
        channelType:
          match: {url: channelType}
          schema:
            short: 'R5: Channel Type (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: channelType}
                index: 7
              value:
                short: Channel Type
                choices: [valueCoding]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 9
              valueCoding:
                short: Channel Type
                type: Coding
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 10
            required: [url]
        address:
          match: {url: address}
          schema:
            short: 'R5: Contact address/number (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 11
            extensions:
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype
                base: {max: '*', min: 0, path: Extension.extension}
                short: DataType slice for a FHIR R5 `ExtendedContactDetail` value
                _required: true
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                    index: 14
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: ExtendedContactDetail}
                    choices: [valueString]
                    index: 16
                  valueString:
                    type: string
                    pattern: {type: String, value: ExtendedContactDetail}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 17
                required: [url, valueString, value]
              purpose:
                url: purpose
                short: 'R5: The type of contact (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 18
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: purpose}
                    index: 19
                  value:
                    short: The type of contact
                    choices: [valueCodeableConcept]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 21
                  valueCodeableConcept:
                    short: The type of contact
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 22
                required: [url]
              name:
                url: name
                short: 'R5: Name of an individual to contact (new)'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 23
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 24
                  value:
                    short: Name of an individual to contact
                    choices: [valueHumanName]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 26
                  valueHumanName:
                    short: Name of an individual to contact
                    type: HumanName
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 27
                required: [url]
              telecom:
                url: telecom
                short: 'R5: Contact details (e.g.phone/fax/url) (new)'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 28
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: telecom}
                    index: 29
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Contact details (e.g.phone/fax/url)
                    choices: [valueContactPoint]
                    index: 31
                  valueContactPoint:
                    short: Contact details (e.g.phone/fax/url)
                    type: ContactPoint
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 32
                required: [url]
              address:
                url: address
                short: 'R5: Address for the contact (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 33
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: address}
                    index: 34
                  value:
                    short: Address for the contact
                    choices: [valueAddress]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 36
                  valueAddress:
                    short: Address for the contact
                    type: Address
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 37
                required: [url]
              organization:
                url: organization
                short: 'R5: This contact detail is handled/monitored by a specific organization (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 38
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: organization}
                    index: 39
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: This contact detail is handled/monitored by a specific organization
                    choices: [valueReference]
                    index: 41
                  valueReference:
                    short: This contact detail is handled/monitored by a specific organization
                    refers: ['http://hl7.org/fhir/5.0/StructureDefinition/profile-Organization|0.1.0', 'http://hl7.org/fhir/StructureDefinition/Organization|4.0.1']
                    type: Reference
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 42
                required: [url]
              period:
                url: period
                short: 'R5: Period that this contact was valid for usage (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 43
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: period}
                    index: 44
                  value:
                    short: Period that this contact was valid for usage
                    choices: [valuePeriod]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 46
                  valuePeriod:
                    short: Period that this contact was valid for usage
                    type: Period
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 47
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 12
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    _datatype:
                      match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: DataType slice for a FHIR R5 `ExtendedContactDetail` value
                        _required: true
                        index: 13
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                            index: 14
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: ExtendedContactDetail}
                            choices: [valueString]
                            index: 16
                          valueString:
                            type: string
                            pattern: {type: String, value: ExtendedContactDetail}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 17
                        required: [url, valueString, value]
                    purpose:
                      match: {url: purpose}
                      schema:
                        short: 'R5: The type of contact (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 18
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: purpose}
                            index: 19
                          value:
                            short: The type of contact
                            choices: [valueCodeableConcept]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 21
                          valueCodeableConcept:
                            short: The type of contact
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 22
                        required: [url]
                    name:
                      match: {url: name}
                      schema:
                        short: 'R5: Name of an individual to contact (new)'
                        array: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 23
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: name}
                            index: 24
                          value:
                            short: Name of an individual to contact
                            choices: [valueHumanName]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 26
                          valueHumanName:
                            short: Name of an individual to contact
                            type: HumanName
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 27
                        required: [url]
                    telecom:
                      match: {url: telecom}
                      schema:
                        short: 'R5: Contact details (e.g.phone/fax/url) (new)'
                        array: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 28
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: telecom}
                            index: 29
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Contact details (e.g.phone/fax/url)
                            choices: [valueContactPoint]
                            index: 31
                          valueContactPoint:
                            short: Contact details (e.g.phone/fax/url)
                            type: ContactPoint
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 32
                        required: [url]
                    address:
                      match: {url: address}
                      schema:
                        short: 'R5: Address for the contact (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 33
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: address}
                            index: 34
                          value:
                            short: Address for the contact
                            choices: [valueAddress]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 36
                          valueAddress:
                            short: Address for the contact
                            type: Address
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 37
                        required: [url]
                    organization:
                      match: {url: organization}
                      schema:
                        short: 'R5: This contact detail is handled/monitored by a specific organization (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 38
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: organization}
                            index: 39
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: This contact detail is handled/monitored by a specific organization
                            choices: [valueReference]
                            index: 41
                          valueReference:
                            short: This contact detail is handled/monitored by a specific organization
                            refers: ['http://hl7.org/fhir/5.0/StructureDefinition/profile-Organization|0.1.0', 'http://hl7.org/fhir/StructureDefinition/Organization|4.0.1']
                            type: Reference
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 42
                        required: [url]
                    period:
                      match: {url: period}
                      schema:
                        short: 'R5: Period that this contact was valid for usage (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 43
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: period}
                            index: 44
                          value:
                            short: Period that this contact was valid for usage
                            choices: [valuePeriod]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 46
                          valuePeriod:
                            short: Period that this contact was valid for usage
                            type: Period
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 47
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: address}
                index: 48
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Contact address/number
                choices: [valueUrl, valueString, valueContactPoint]
                index: 50
              valueUrl:
                short: Contact address/number
                type: url
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 51
              valueString:
                short: Contact address/number
                type: string
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 52
              valueContactPoint:
                short: Contact address/number
                type: ContactPoint
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 53
            required: [url]
        additionalInfo:
          match: {url: additionalInfo}
          schema:
            short: 'R5: Address to see alternative connection details (new)'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 54
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: additionalInfo}
                index: 55
              value:
                short: Address to see alternative connection details
                choices: [valueUrl]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 57
              valueUrl:
                short: Address to see alternative connection details
                type: url
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 58
            required: [url]
        maxParticipants:
          match: {url: maxParticipants}
          schema:
            short: 'R5: Maximum number of participants supported by the virtual service (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 59
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: maxParticipants}
                index: 60
              value:
                short: Maximum number of participants supported by the virtual service
                choices: [valuePositiveInt]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 62
              valuePositiveInt:
                short: Maximum number of participants supported by the virtual service
                type: positiveInt
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 63
            required: [url]
        sessionKey:
          match: {url: sessionKey}
          schema:
            short: 'R5: Session Key required by the virtual service (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 64
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: sessionKey}
                index: 65
              value:
                short: Session Key required by the virtual service
                choices: [valueString]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 67
              valueString:
                short: Session Key required by the virtual service
                type: string
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 68
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Appointment.virtualService'}
    index: 69
  value:
    base: {max: '1', min: 0, path: 'Extension.value[x]'}
    choices: []
    index: 71
package_version: 0.1.0
extensions:
  _datatype:
    url: http://hl7.org/fhir/StructureDefinition/_datatype
    base: {max: '*', min: 0, path: Extension.extension}
    short: DataType slice for a FHIR R5 `VirtualServiceDetail` value
    _required: true
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        pattern: {type: String, value: VirtualServiceDetail}
        choices: [valueString]
        index: 4
      valueString:
        type: string
        pattern: {type: String, value: VirtualServiceDetail}
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 5
    required: [url, valueString, value]
  channelType:
    url: channelType
    short: 'R5: Channel Type (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: channelType}
        index: 7
      value:
        short: Channel Type
        choices: [valueCoding]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 9
      valueCoding:
        short: Channel Type
        type: Coding
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 10
    required: [url]
  address:
    url: address
    short: 'R5: Contact address/number (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 11
    extensions:
      _datatype:
        url: http://hl7.org/fhir/StructureDefinition/_datatype
        base: {max: '*', min: 0, path: Extension.extension}
        short: DataType slice for a FHIR R5 `ExtendedContactDetail` value
        _required: true
        index: 13
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
            index: 14
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            pattern: {type: String, value: ExtendedContactDetail}
            choices: [valueString]
            index: 16
          valueString:
            type: string
            pattern: {type: String, value: ExtendedContactDetail}
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 17
        required: [url, valueString, value]
      purpose:
        url: purpose
        short: 'R5: The type of contact (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 18
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: purpose}
            index: 19
          value:
            short: The type of contact
            choices: [valueCodeableConcept]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 21
          valueCodeableConcept:
            short: The type of contact
            type: CodeableConcept
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 22
        required: [url]
      name:
        url: name
        short: 'R5: Name of an individual to contact (new)'
        array: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 23
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: name}
            index: 24
          value:
            short: Name of an individual to contact
            choices: [valueHumanName]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 26
          valueHumanName:
            short: Name of an individual to contact
            type: HumanName
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 27
        required: [url]
      telecom:
        url: telecom
        short: 'R5: Contact details (e.g.phone/fax/url) (new)'
        array: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 28
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: telecom}
            index: 29
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Contact details (e.g.phone/fax/url)
            choices: [valueContactPoint]
            index: 31
          valueContactPoint:
            short: Contact details (e.g.phone/fax/url)
            type: ContactPoint
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 32
        required: [url]
      address:
        url: address
        short: 'R5: Address for the contact (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 33
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: address}
            index: 34
          value:
            short: Address for the contact
            choices: [valueAddress]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 36
          valueAddress:
            short: Address for the contact
            type: Address
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 37
        required: [url]
      organization:
        url: organization
        short: 'R5: This contact detail is handled/monitored by a specific organization (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 38
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: organization}
            index: 39
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: This contact detail is handled/monitored by a specific organization
            choices: [valueReference]
            index: 41
          valueReference:
            short: This contact detail is handled/monitored by a specific organization
            refers: ['http://hl7.org/fhir/5.0/StructureDefinition/profile-Organization|0.1.0', 'http://hl7.org/fhir/StructureDefinition/Organization|4.0.1']
            type: Reference
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 42
        required: [url]
      period:
        url: period
        short: 'R5: Period that this contact was valid for usage (new)'
        base: {max: '*', min: 0, path: Extension.extension}
        index: 43
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: period}
            index: 44
          value:
            short: Period that this contact was valid for usage
            choices: [valuePeriod]
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            index: 46
          valuePeriod:
            short: Period that this contact was valid for usage
            type: Period
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 47
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        index: 12
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            _datatype:
              match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: DataType slice for a FHIR R5 `ExtendedContactDetail` value
                _required: true
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                    index: 14
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: ExtendedContactDetail}
                    choices: [valueString]
                    index: 16
                  valueString:
                    type: string
                    pattern: {type: String, value: ExtendedContactDetail}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 17
                required: [url, valueString, value]
            purpose:
              match: {url: purpose}
              schema:
                short: 'R5: The type of contact (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 18
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: purpose}
                    index: 19
                  value:
                    short: The type of contact
                    choices: [valueCodeableConcept]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 21
                  valueCodeableConcept:
                    short: The type of contact
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 22
                required: [url]
            name:
              match: {url: name}
              schema:
                short: 'R5: Name of an individual to contact (new)'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 23
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 24
                  value:
                    short: Name of an individual to contact
                    choices: [valueHumanName]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 26
                  valueHumanName:
                    short: Name of an individual to contact
                    type: HumanName
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 27
                required: [url]
            telecom:
              match: {url: telecom}
              schema:
                short: 'R5: Contact details (e.g.phone/fax/url) (new)'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 28
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: telecom}
                    index: 29
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Contact details (e.g.phone/fax/url)
                    choices: [valueContactPoint]
                    index: 31
                  valueContactPoint:
                    short: Contact details (e.g.phone/fax/url)
                    type: ContactPoint
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 32
                required: [url]
            address:
              match: {url: address}
              schema:
                short: 'R5: Address for the contact (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 33
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: address}
                    index: 34
                  value:
                    short: Address for the contact
                    choices: [valueAddress]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 36
                  valueAddress:
                    short: Address for the contact
                    type: Address
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 37
                required: [url]
            organization:
              match: {url: organization}
              schema:
                short: 'R5: This contact detail is handled/monitored by a specific organization (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 38
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: organization}
                    index: 39
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: This contact detail is handled/monitored by a specific organization
                    choices: [valueReference]
                    index: 41
                  valueReference:
                    short: This contact detail is handled/monitored by a specific organization
                    refers: ['http://hl7.org/fhir/5.0/StructureDefinition/profile-Organization|0.1.0', 'http://hl7.org/fhir/StructureDefinition/Organization|4.0.1']
                    type: Reference
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 42
                required: [url]
            period:
              match: {url: period}
              schema:
                short: 'R5: Period that this contact was valid for usage (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 43
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: period}
                    index: 44
                  value:
                    short: Period that this contact was valid for usage
                    choices: [valuePeriod]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 46
                  valuePeriod:
                    short: Period that this contact was valid for usage
                    type: Period
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 47
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: address}
        index: 48
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Contact address/number
        choices: [valueUrl, valueString, valueContactPoint]
        index: 50
      valueUrl:
        short: Contact address/number
        type: url
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 51
      valueString:
        short: Contact address/number
        type: string
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 52
      valueContactPoint:
        short: Contact address/number
        type: ContactPoint
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 53
    required: [url]
  additionalInfo:
    url: additionalInfo
    short: 'R5: Address to see alternative connection details (new)'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 54
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: additionalInfo}
        index: 55
      value:
        short: Address to see alternative connection details
        choices: [valueUrl]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 57
      valueUrl:
        short: Address to see alternative connection details
        type: url
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 58
    required: [url]
  maxParticipants:
    url: maxParticipants
    short: 'R5: Maximum number of participants supported by the virtual service (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 59
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: maxParticipants}
        index: 60
      value:
        short: Maximum number of participants supported by the virtual service
        choices: [valuePositiveInt]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 62
      valuePositiveInt:
        short: Maximum number of participants supported by the virtual service
        type: positiveInt
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 63
    required: [url]
  sessionKey:
    url: sessionKey
    short: 'R5: Session Key required by the virtual service (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 64
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: sessionKey}
        index: 65
      value:
        short: Session Key required by the virtual service
        choices: [valueString]
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        index: 67
      valueString:
        short: Session Key required by the virtual service
        type: string
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 68
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Appointment.virtualService
base: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
version: 0.1.0
required: [url]