PackagesCanonicalsLogsProblems
    Packages
    ca.infoway.io.erec@1.1.0-dft
    http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ext-AppointmentVirtualService
description: The extension is used to represent the Appointment R5 virtual service element which is of the new type VirtualServiceDetail.
package_name: ca.infoway.io.erec
derivation: constraint
name: AppointmentVirtualService
type: Extension
elements:
  extension:
    short: Channel Type
    mustSupport: true
    index: 0
    slicing:
      slices:
        channelType:
          match: {}
          schema:
            short: Channel Type
            mustSupport: true
            index: 0
            elements:
              url:
                pattern: {type: Uri, value: channelType}
                index: 1
              value:
                short: Channel Type
                choices: [valueCoding]
                index: 3
              valueCoding: {type: Coding, short: Channel Type, choiceOf: value, index: 4}
        address[x]:
          match: {}
          schema:
            short: Contact address/number
            mustSupport: true
            index: 5
            extensions:
              purpose:
                url: null
                short: The type of contact
                index: 6
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The type of contact
                    choices: [valueCodeableConcept]
                    index: 8
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The type of contact
                    choiceOf: value
                    index: 9
              name:
                url: null
                short: Name of an individual to contact
                array: true
                index: 10
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Name of an individual to contact
                    choices: [valueHumanName]
                    index: 12
                  valueHumanName:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: HumanName
                    short: Name of an individual to contact
                    choiceOf: value
                    index: 13
              telecom:
                url: null
                short: Contact details (e.g.phone/fax/url)
                array: true
                index: 14
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Contact details (e.g.phone/fax/url)
                    choices: [valueContactPoint]
                    index: 16
                  valueContactPoint:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: ContactPoint
                    short: Contact details (e.g.phone/fax/url)
                    choiceOf: value
                    index: 17
              address:
                url: null
                short: Address for the contact
                index: 18
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Address for the contact
                    choices: [valueAddress]
                    index: 20
                  valueAddress:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Address
                    short: Address for the contact
                    choiceOf: value
                    index: 21
              organization:
                url: null
                short: This contact detail is handled/monitored by a specific organization
                index: 22
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: This contact detail is handled/monitored by a specific organization
                    choices: [valueReference]
                    index: 24
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: This contact detail is handled/monitored by a specific organization
                    choiceOf: value
                    refers: ['http://hl7.org/fhir/StructureDefinition/Organization']
                    index: 25
              period:
                url: null
                short: Period that this contact was valid for usage
                index: 26
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Period that this contact was valid for usage
                    choices: [valuePeriod]
                    index: 28
                  valuePeriod:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Period
                    short: Period that this contact was valid for usage
                    choiceOf: value
                    index: 29
            elements:
              extension:
                short: The type of contact
                index: 6
                slicing:
                  slices:
                    purpose:
                      match: {}
                      schema:
                        short: The type of contact
                        index: 6
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The type of contact
                            choices: [valueCodeableConcept]
                            index: 8
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: The type of contact
                            choiceOf: value
                            index: 9
                    name:
                      match: {}
                      schema:
                        short: Name of an individual to contact
                        array: true
                        index: 10
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Name of an individual to contact
                            choices: [valueHumanName]
                            index: 12
                          valueHumanName:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: HumanName
                            short: Name of an individual to contact
                            choiceOf: value
                            index: 13
                    telecom:
                      match: {}
                      schema:
                        short: Contact details (e.g.phone/fax/url)
                        array: true
                        index: 14
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Contact details (e.g.phone/fax/url)
                            choices: [valueContactPoint]
                            index: 16
                          valueContactPoint:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: ContactPoint
                            short: Contact details (e.g.phone/fax/url)
                            choiceOf: value
                            index: 17
                    address:
                      match: {}
                      schema:
                        short: Address for the contact
                        index: 18
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Address for the contact
                            choices: [valueAddress]
                            index: 20
                          valueAddress:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Address
                            short: Address for the contact
                            choiceOf: value
                            index: 21
                    organization:
                      match: {}
                      schema:
                        short: This contact detail is handled/monitored by a specific organization
                        index: 22
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: This contact detail is handled/monitored by a specific organization
                            choices: [valueReference]
                            index: 24
                          valueReference:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Reference
                            short: This contact detail is handled/monitored by a specific organization
                            choiceOf: value
                            refers: ['http://hl7.org/fhir/StructureDefinition/Organization']
                            index: 25
                    period:
                      match: {}
                      schema:
                        short: Period that this contact was valid for usage
                        index: 26
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Period that this contact was valid for usage
                            choices: [valuePeriod]
                            index: 28
                          valuePeriod:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: Period
                            short: Period that this contact was valid for usage
                            choiceOf: value
                            index: 29
              url:
                pattern: {type: Uri, value: address}
                index: 30
              value:
                short: Contact address/number
                choices: [valueUrl, valueString, valueContactPoint]
                index: 32
              valueUrl: {type: url, short: Contact address/number, choiceOf: value, index: 33}
              valueString: {type: string, short: Contact address/number, choiceOf: value, index: 34}
              valueContactPoint: {type: ContactPoint, short: Contact address/number, choiceOf: value, index: 35}
        additionalInfo:
          match: {}
          schema:
            short: Address to see alternative connection details
            array: true
            index: 36
            elements:
              url:
                pattern: {type: Uri, value: additionalInfo}
                index: 37
              value:
                short: Address to see alternative connection details
                choices: [valueUrl]
                index: 39
              valueUrl: {type: url, short: Address to see alternative connection details, choiceOf: value, index: 40}
        maxParticipants:
          match: {}
          schema:
            short: Maximum number of participants supported by the virtual service
            index: 41
            elements:
              url:
                pattern: {type: Uri, value: maxParticipants}
                index: 42
              value:
                short: Maximum number of participants supported by the virtual service
                choices: [valuePositiveInt]
                index: 44
              valuePositiveInt: {type: positiveInt, short: Maximum number of participants supported by the virtual service, choiceOf: value, index: 45}
        sessionKey:
          match: {}
          schema:
            short: Session Key required by the virtual service
            index: 46
            elements:
              url:
                pattern: {type: Uri, value: sessionKey}
                index: 47
              value:
                short: Session Key required by the virtual service
                choices: [valueString]
                index: 49
              valueString: {type: string, short: Session Key required by the virtual service, choiceOf: value, index: 50}
  url:
    pattern: {type: Uri, value: 'http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ext-AppointmentVirtualService'}
    index: 51
  value:
    choices: []
    index: 53
package_version: 1.1.0-dft
extensions:
  channelType:
    url: null
    short: Channel Type
    mustSupport: true
    index: 0
    elements:
      url:
        pattern: {type: Uri, value: channelType}
        index: 1
      value:
        short: Channel Type
        choices: [valueCoding]
        index: 3
      valueCoding: {type: Coding, short: Channel Type, choiceOf: value, index: 4}
  address[x]:
    url: null
    short: Contact address/number
    mustSupport: true
    index: 5
    extensions:
      purpose:
        url: null
        short: The type of contact
        index: 6
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The type of contact
            choices: [valueCodeableConcept]
            index: 8
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: The type of contact
            choiceOf: value
            index: 9
      name:
        url: null
        short: Name of an individual to contact
        array: true
        index: 10
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Name of an individual to contact
            choices: [valueHumanName]
            index: 12
          valueHumanName:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: HumanName
            short: Name of an individual to contact
            choiceOf: value
            index: 13
      telecom:
        url: null
        short: Contact details (e.g.phone/fax/url)
        array: true
        index: 14
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Contact details (e.g.phone/fax/url)
            choices: [valueContactPoint]
            index: 16
          valueContactPoint:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: ContactPoint
            short: Contact details (e.g.phone/fax/url)
            choiceOf: value
            index: 17
      address:
        url: null
        short: Address for the contact
        index: 18
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Address for the contact
            choices: [valueAddress]
            index: 20
          valueAddress:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Address
            short: Address for the contact
            choiceOf: value
            index: 21
      organization:
        url: null
        short: This contact detail is handled/monitored by a specific organization
        index: 22
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: This contact detail is handled/monitored by a specific organization
            choices: [valueReference]
            index: 24
          valueReference:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Reference
            short: This contact detail is handled/monitored by a specific organization
            choiceOf: value
            refers: ['http://hl7.org/fhir/StructureDefinition/Organization']
            index: 25
      period:
        url: null
        short: Period that this contact was valid for usage
        index: 26
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Period that this contact was valid for usage
            choices: [valuePeriod]
            index: 28
          valuePeriod:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: Period
            short: Period that this contact was valid for usage
            choiceOf: value
            index: 29
    elements:
      extension:
        short: The type of contact
        index: 6
        slicing:
          slices:
            purpose:
              match: {}
              schema:
                short: The type of contact
                index: 6
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The type of contact
                    choices: [valueCodeableConcept]
                    index: 8
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: The type of contact
                    choiceOf: value
                    index: 9
            name:
              match: {}
              schema:
                short: Name of an individual to contact
                array: true
                index: 10
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Name of an individual to contact
                    choices: [valueHumanName]
                    index: 12
                  valueHumanName:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: HumanName
                    short: Name of an individual to contact
                    choiceOf: value
                    index: 13
            telecom:
              match: {}
              schema:
                short: Contact details (e.g.phone/fax/url)
                array: true
                index: 14
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Contact details (e.g.phone/fax/url)
                    choices: [valueContactPoint]
                    index: 16
                  valueContactPoint:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: ContactPoint
                    short: Contact details (e.g.phone/fax/url)
                    choiceOf: value
                    index: 17
            address:
              match: {}
              schema:
                short: Address for the contact
                index: 18
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Address for the contact
                    choices: [valueAddress]
                    index: 20
                  valueAddress:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Address
                    short: Address for the contact
                    choiceOf: value
                    index: 21
            organization:
              match: {}
              schema:
                short: This contact detail is handled/monitored by a specific organization
                index: 22
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: This contact detail is handled/monitored by a specific organization
                    choices: [valueReference]
                    index: 24
                  valueReference:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Reference
                    short: This contact detail is handled/monitored by a specific organization
                    choiceOf: value
                    refers: ['http://hl7.org/fhir/StructureDefinition/Organization']
                    index: 25
            period:
              match: {}
              schema:
                short: Period that this contact was valid for usage
                index: 26
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Period that this contact was valid for usage
                    choices: [valuePeriod]
                    index: 28
                  valuePeriod:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: Period
                    short: Period that this contact was valid for usage
                    choiceOf: value
                    index: 29
      url:
        pattern: {type: Uri, value: address}
        index: 30
      value:
        short: Contact address/number
        choices: [valueUrl, valueString, valueContactPoint]
        index: 32
      valueUrl: {type: url, short: Contact address/number, choiceOf: value, index: 33}
      valueString: {type: string, short: Contact address/number, choiceOf: value, index: 34}
      valueContactPoint: {type: ContactPoint, short: Contact address/number, choiceOf: value, index: 35}
  additionalInfo:
    url: null
    short: Address to see alternative connection details
    array: true
    index: 36
    elements:
      url:
        pattern: {type: Uri, value: additionalInfo}
        index: 37
      value:
        short: Address to see alternative connection details
        choices: [valueUrl]
        index: 39
      valueUrl: {type: url, short: Address to see alternative connection details, choiceOf: value, index: 40}
  maxParticipants:
    url: null
    short: Maximum number of participants supported by the virtual service
    index: 41
    elements:
      url:
        pattern: {type: Uri, value: maxParticipants}
        index: 42
      value:
        short: Maximum number of participants supported by the virtual service
        choices: [valuePositiveInt]
        index: 44
      valuePositiveInt: {type: positiveInt, short: Maximum number of participants supported by the virtual service, choiceOf: value, index: 45}
  sessionKey:
    url: null
    short: Session Key required by the virtual service
    index: 46
    elements:
      url:
        pattern: {type: Uri, value: sessionKey}
        index: 47
      value:
        short: Session Key required by the virtual service
        choices: [valueString]
        index: 49
      valueString: {type: string, short: Session Key required by the virtual service, choiceOf: value, index: 50}
class: extension
kind: complex-type
url: http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ext-AppointmentVirtualService
base: http://hl7.org/fhir/StructureDefinition/Extension
version: null