description: This cross-version extension represents Appointment.virtualService from http://hl7.org/fhir/StructureDefinition/Appointment|5.0.0 for use in FHIR R4B. package_name: hl7.fhir.uv.xver-r5.r4b derivation: constraint name: Ext_R5_Appointment_virtualService 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: channelType: match: {url: channelType} schema: short: Channel Type base: {max: '*', min: 0, path: Extension.extension} index: 1 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: channelType} index: 2 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Channel Type choices: [valueCoding] index: 4 valueCoding: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: Coding short: Channel Type choiceOf: value index: 5 required: [url] address[x]: match: {url: 'address[x]'} schema: short: Contact address/number base: {max: '*', min: 0, path: Extension.extension} index: 6 extensions: purpose: url: purpose short: The type of contact base: {max: '*', min: 0, path: Extension.extension} index: 8 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: purpose} index: 9 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of contact choices: [valueCodeableConcept] index: 11 valueCodeableConcept: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: CodeableConcept short: The type of contact choiceOf: value index: 12 required: [url] name: url: name short: Name of an individual to contact array: true base: {max: '*', min: 0, path: Extension.extension} index: 13 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 14 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Name of an individual to contact choices: [valueHumanName] index: 16 valueHumanName: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: HumanName short: Name of an individual to contact choiceOf: value index: 17 required: [url] telecom: url: telecom short: Contact details (e.g.phone/fax/url) array: true base: {max: '*', min: 0, path: Extension.extension} index: 18 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: telecom} index: 19 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Contact details (e.g.phone/fax/url) choices: [valueContactPoint] index: 21 valueContactPoint: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: ContactPoint short: Contact details (e.g.phone/fax/url) choiceOf: value index: 22 required: [url] address: url: address base: {max: '*', min: 0, path: Extension.extension} short: Address for the contact index: 23 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: address} index: 24 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Address for the contact choices: [valueAddress] index: 26 valueAddress: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: Address short: Address for the contact choiceOf: value index: 27 required: [url] organization: url: organization short: This contact detail is handled/monitored by a specific organization base: {max: '*', min: 0, path: Extension.extension} index: 28 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: organization} index: 29 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: This contact detail is handled/monitored by a specific organization choices: [valueReference] index: 31 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 index: 32 required: [url] period: url: period base: {max: '*', min: 0, path: Extension.extension} short: Period that this contact was valid for usage index: 33 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: period} index: 34 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Period that this contact was valid for usage choices: [valuePeriod] index: 36 valuePeriod: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: Period short: Period that this contact was valid for usage choiceOf: value index: 37 required: [url] _datatype: url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0 type: Extension short: Data type name for VirtualServiceDetail.address[x] from FHIR R5 index: 38 elements: value: base: {max: '1', min: 0, path: 'Extension.value[x]'} pattern: {type: String, value: ExtendedContactDetail} choices: [valueString] index: 40 valueString: type: string pattern: {type: String, value: ExtendedContactDetail} base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 41 required: [valueString, value] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true index: 7 slicing: rules: closed ordered: false discriminator: - {path: url, type: value} min: 0 slices: purpose: match: {url: purpose} schema: short: The type of contact base: {max: '*', min: 0, path: Extension.extension} index: 8 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: purpose} index: 9 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of contact choices: [valueCodeableConcept] index: 11 valueCodeableConcept: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: CodeableConcept short: The type of contact choiceOf: value index: 12 required: [url] name: match: {url: name} schema: short: Name of an individual to contact array: true base: {max: '*', min: 0, path: Extension.extension} index: 13 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 14 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Name of an individual to contact choices: [valueHumanName] index: 16 valueHumanName: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: HumanName short: Name of an individual to contact choiceOf: value index: 17 required: [url] telecom: match: {url: telecom} schema: short: Contact details (e.g.phone/fax/url) array: true base: {max: '*', min: 0, path: Extension.extension} index: 18 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: telecom} index: 19 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Contact details (e.g.phone/fax/url) choices: [valueContactPoint] index: 21 valueContactPoint: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: ContactPoint short: Contact details (e.g.phone/fax/url) choiceOf: value index: 22 required: [url] address: match: {url: address} schema: base: {max: '*', min: 0, path: Extension.extension} short: Address for the contact index: 23 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: address} index: 24 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Address for the contact choices: [valueAddress] index: 26 valueAddress: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: Address short: Address for the contact choiceOf: value index: 27 required: [url] organization: match: {url: organization} schema: short: This contact detail is handled/monitored by a specific organization base: {max: '*', min: 0, path: Extension.extension} index: 28 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: organization} index: 29 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: This contact detail is handled/monitored by a specific organization choices: [valueReference] index: 31 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 index: 32 required: [url] period: match: {url: period} schema: base: {max: '*', min: 0, path: Extension.extension} short: Period that this contact was valid for usage index: 33 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: period} index: 34 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Period that this contact was valid for usage choices: [valuePeriod] index: 36 valuePeriod: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: Period short: Period that this contact was valid for usage choiceOf: value index: 37 required: [url] _datatype: match: {url: null} schema: type: Extension short: Data type name for VirtualServiceDetail.address[x] from FHIR R5 url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0 index: 38 elements: value: base: {max: '1', min: 0, path: 'Extension.value[x]'} pattern: {type: String, value: ExtendedContactDetail} choices: [valueString] index: 40 valueString: type: string pattern: {type: String, value: ExtendedContactDetail} base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 41 required: [valueString, value] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: 'address[x]'} index: 42 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Contact address/number choices: [valueUrl, valueString, valueContactPoint] index: 44 valueUrl: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: url short: Contact address/number choiceOf: value index: 45 valueString: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: string short: Contact address/number choiceOf: value index: 46 valueContactPoint: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: ContactPoint short: Contact address/number choiceOf: value index: 47 required: [url] additionalInfo: match: {url: additionalInfo} schema: base: {max: '*', min: 0, path: Extension.extension} short: Address to see alternative connection details array: true index: 48 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: additionalInfo} index: 49 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Address to see alternative connection details choices: [valueUrl] index: 51 valueUrl: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: url short: Address to see alternative connection details choiceOf: value index: 52 required: [url] maxParticipants: match: {url: maxParticipants} schema: base: {max: '*', min: 0, path: Extension.extension} short: Maximum number of participants supported by the virtual service index: 53 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: maxParticipants} index: 54 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Maximum number of participants supported by the virtual service choices: [valuePositiveInt] index: 56 valuePositiveInt: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: positiveInt short: Maximum number of participants supported by the virtual service choiceOf: value index: 57 required: [url] sessionKey: match: {url: sessionKey} schema: base: {max: '*', min: 0, path: Extension.extension} short: Session Key required by the virtual service index: 58 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: sessionKey} index: 59 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Session Key required by the virtual service choices: [valueString] index: 61 valueString: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: string short: Session Key required by the virtual service choiceOf: value index: 62 required: [url] _datatype: match: {url: null} schema: type: Extension short: Data type name for Appointment.virtualService from FHIR R5 url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0 index: 63 elements: value: base: {max: '1', min: 0, path: 'Extension.value[x]'} pattern: {type: String, value: VirtualServiceDetail} choices: [valueString] index: 65 valueString: type: string pattern: {type: String, value: VirtualServiceDetail} base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 66 required: [valueString, value] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Appointment.virtualService'} index: 67 package_version: 0.0.1-snapshot-2 extensions: channelType: url: channelType short: Channel Type base: {max: '*', min: 0, path: Extension.extension} index: 1 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: channelType} index: 2 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Channel Type choices: [valueCoding] index: 4 valueCoding: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: Coding short: Channel Type choiceOf: value index: 5 required: [url] address[x]: url: address[x] short: Contact address/number base: {max: '*', min: 0, path: Extension.extension} index: 6 extensions: purpose: url: purpose short: The type of contact base: {max: '*', min: 0, path: Extension.extension} index: 8 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: purpose} index: 9 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of contact choices: [valueCodeableConcept] index: 11 valueCodeableConcept: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: CodeableConcept short: The type of contact choiceOf: value index: 12 required: [url] name: url: name short: Name of an individual to contact array: true base: {max: '*', min: 0, path: Extension.extension} index: 13 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 14 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Name of an individual to contact choices: [valueHumanName] index: 16 valueHumanName: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: HumanName short: Name of an individual to contact choiceOf: value index: 17 required: [url] telecom: url: telecom short: Contact details (e.g.phone/fax/url) array: true base: {max: '*', min: 0, path: Extension.extension} index: 18 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: telecom} index: 19 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Contact details (e.g.phone/fax/url) choices: [valueContactPoint] index: 21 valueContactPoint: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: ContactPoint short: Contact details (e.g.phone/fax/url) choiceOf: value index: 22 required: [url] address: url: address base: {max: '*', min: 0, path: Extension.extension} short: Address for the contact index: 23 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: address} index: 24 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Address for the contact choices: [valueAddress] index: 26 valueAddress: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: Address short: Address for the contact choiceOf: value index: 27 required: [url] organization: url: organization short: This contact detail is handled/monitored by a specific organization base: {max: '*', min: 0, path: Extension.extension} index: 28 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: organization} index: 29 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: This contact detail is handled/monitored by a specific organization choices: [valueReference] index: 31 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 index: 32 required: [url] period: url: period base: {max: '*', min: 0, path: Extension.extension} short: Period that this contact was valid for usage index: 33 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: period} index: 34 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Period that this contact was valid for usage choices: [valuePeriod] index: 36 valuePeriod: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: Period short: Period that this contact was valid for usage choiceOf: value index: 37 required: [url] _datatype: url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0 type: Extension short: Data type name for VirtualServiceDetail.address[x] from FHIR R5 index: 38 elements: value: base: {max: '1', min: 0, path: 'Extension.value[x]'} pattern: {type: String, value: ExtendedContactDetail} choices: [valueString] index: 40 valueString: type: string pattern: {type: String, value: ExtendedContactDetail} base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 41 required: [valueString, value] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true index: 7 slicing: rules: closed ordered: false discriminator: - {path: url, type: value} min: 0 slices: purpose: match: {url: purpose} schema: short: The type of contact base: {max: '*', min: 0, path: Extension.extension} index: 8 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: purpose} index: 9 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: The type of contact choices: [valueCodeableConcept] index: 11 valueCodeableConcept: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: CodeableConcept short: The type of contact choiceOf: value index: 12 required: [url] name: match: {url: name} schema: short: Name of an individual to contact array: true base: {max: '*', min: 0, path: Extension.extension} index: 13 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 14 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Name of an individual to contact choices: [valueHumanName] index: 16 valueHumanName: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: HumanName short: Name of an individual to contact choiceOf: value index: 17 required: [url] telecom: match: {url: telecom} schema: short: Contact details (e.g.phone/fax/url) array: true base: {max: '*', min: 0, path: Extension.extension} index: 18 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: telecom} index: 19 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Contact details (e.g.phone/fax/url) choices: [valueContactPoint] index: 21 valueContactPoint: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: ContactPoint short: Contact details (e.g.phone/fax/url) choiceOf: value index: 22 required: [url] address: match: {url: address} schema: base: {max: '*', min: 0, path: Extension.extension} short: Address for the contact index: 23 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: address} index: 24 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Address for the contact choices: [valueAddress] index: 26 valueAddress: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: Address short: Address for the contact choiceOf: value index: 27 required: [url] organization: match: {url: organization} schema: short: This contact detail is handled/monitored by a specific organization base: {max: '*', min: 0, path: Extension.extension} index: 28 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: organization} index: 29 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: This contact detail is handled/monitored by a specific organization choices: [valueReference] index: 31 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 index: 32 required: [url] period: match: {url: period} schema: base: {max: '*', min: 0, path: Extension.extension} short: Period that this contact was valid for usage index: 33 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: period} index: 34 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Period that this contact was valid for usage choices: [valuePeriod] index: 36 valuePeriod: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: Period short: Period that this contact was valid for usage choiceOf: value index: 37 required: [url] _datatype: match: {url: null} schema: type: Extension short: Data type name for VirtualServiceDetail.address[x] from FHIR R5 url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0 index: 38 elements: value: base: {max: '1', min: 0, path: 'Extension.value[x]'} pattern: {type: String, value: ExtendedContactDetail} choices: [valueString] index: 40 valueString: type: string pattern: {type: String, value: ExtendedContactDetail} base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 41 required: [valueString, value] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: 'address[x]'} index: 42 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Contact address/number choices: [valueUrl, valueString, valueContactPoint] index: 44 valueUrl: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: url short: Contact address/number choiceOf: value index: 45 valueString: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: string short: Contact address/number choiceOf: value index: 46 valueContactPoint: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: ContactPoint short: Contact address/number choiceOf: value index: 47 required: [url] additionalInfo: url: additionalInfo base: {max: '*', min: 0, path: Extension.extension} short: Address to see alternative connection details array: true index: 48 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: additionalInfo} index: 49 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Address to see alternative connection details choices: [valueUrl] index: 51 valueUrl: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: url short: Address to see alternative connection details choiceOf: value index: 52 required: [url] maxParticipants: url: maxParticipants base: {max: '*', min: 0, path: Extension.extension} short: Maximum number of participants supported by the virtual service index: 53 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: maxParticipants} index: 54 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Maximum number of participants supported by the virtual service choices: [valuePositiveInt] index: 56 valuePositiveInt: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: positiveInt short: Maximum number of participants supported by the virtual service choiceOf: value index: 57 required: [url] sessionKey: url: sessionKey base: {max: '*', min: 0, path: Extension.extension} short: Session Key required by the virtual service index: 58 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: sessionKey} index: 59 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Session Key required by the virtual service choices: [valueString] index: 61 valueString: base: {max: '1', min: 0, path: 'Extension.value[x]'} type: string short: Session Key required by the virtual service choiceOf: value index: 62 required: [url] _datatype: url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0 type: Extension short: Data type name for Appointment.virtualService from FHIR R5 index: 63 elements: value: base: {max: '1', min: 0, path: 'Extension.value[x]'} pattern: {type: String, value: VirtualServiceDetail} choices: [valueString] index: 65 valueString: type: string pattern: {type: String, value: VirtualServiceDetail} base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 66 required: [valueString, value] class: extension kind: complex-type url: http://hl7.org/fhir/5.0/StructureDefinition/extension-Appointment.virtualService base: http://hl7.org/fhir/StructureDefinition/Extension|4.3.0 version: 0.0.1-snapshot-2 required: [url]