description: 'STU3: `TestScript.ruleset` (new:BackboneElement)' package_name: hl7.fhir.uv.xver-r3.r4 derivation: constraint name: ExtensionTestScript_Ruleset type: Extension elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true min: 2 index: 0 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 2 slices: resource: match: {url: resource} schema: short: 'STU3: Assert ruleset resource reference (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 1 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: resource} index: 2 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Assert ruleset resource reference choices: [valueReference] index: 4 valueReference: short: Assert ruleset resource reference refers: ['http://hl7.org/fhir/3.0/StructureDefinition/profile-Resource|0.1.0', 'http://hl7.org/fhir/StructureDefinition/Resource|4.0.1'] type: Reference base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 5 required: [url, valueReference, value] rule: match: {url: rule} schema: min: 1 short: 'STU3: The referenced rule within the ruleset (new)' index: 6 array: true elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true min: 1 index: 7 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 1 slices: ruleId: match: {url: ruleId} schema: short: 'STU3: Id of referenced rule within the ruleset (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 8 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: ruleId} index: 9 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Id of referenced rule within the ruleset choices: [valueId] index: 11 valueId: short: Id of referenced rule within the ruleset type: id base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 12 required: [url, value, valueId] param: match: {url: param} schema: short: 'STU3: Ruleset rule parameter template (new)' array: true base: {max: '*', min: 0, path: Extension.extension} index: 13 extensions: name: url: name short: 'STU3: Parameter name matching external assert ruleset rule parameter (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 15 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 16 value: short: Parameter name matching external assert ruleset rule parameter choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 18 valueString: short: Parameter name matching external assert ruleset rule parameter type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 19 required: [url, valueString, value] value: url: value short: 'STU3: Parameter value defined either explicitly or dynamically (new)' base: {max: '*', min: 0, path: Extension.extension} index: 20 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: value} index: 21 value: short: Parameter value defined either explicitly or dynamically choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 23 valueString: short: Parameter value defined either explicitly or dynamically type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 24 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true min: 1 index: 14 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 1 slices: name: match: {url: name} schema: short: 'STU3: Parameter name matching external assert ruleset rule parameter (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 15 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 16 value: short: Parameter name matching external assert ruleset rule parameter choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 18 valueString: short: Parameter name matching external assert ruleset rule parameter type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 19 required: [url, valueString, value] value: match: {url: value} schema: short: 'STU3: Parameter value defined either explicitly or dynamically (new)' base: {max: '*', min: 0, path: Extension.extension} index: 20 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: value} index: 21 value: short: Parameter value defined either explicitly or dynamically choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 23 valueString: short: Parameter value defined either explicitly or dynamically type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 24 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: param} index: 25 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 27 required: [url, extension] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: rule} index: 28 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 30 _required: true extensions: ruleId: url: ruleId short: 'STU3: Id of referenced rule within the ruleset (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 8 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: ruleId} index: 9 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Id of referenced rule within the ruleset choices: [valueId] index: 11 valueId: short: Id of referenced rule within the ruleset type: id base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 12 required: [url, value, valueId] param: url: param short: 'STU3: Ruleset rule parameter template (new)' array: true base: {max: '*', min: 0, path: Extension.extension} index: 13 extensions: name: url: name short: 'STU3: Parameter name matching external assert ruleset rule parameter (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 15 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 16 value: short: Parameter name matching external assert ruleset rule parameter choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 18 valueString: short: Parameter name matching external assert ruleset rule parameter type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 19 required: [url, valueString, value] value: url: value short: 'STU3: Parameter value defined either explicitly or dynamically (new)' base: {max: '*', min: 0, path: Extension.extension} index: 20 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: value} index: 21 value: short: Parameter value defined either explicitly or dynamically choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 23 valueString: short: Parameter value defined either explicitly or dynamically type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 24 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true min: 1 index: 14 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 1 slices: name: match: {url: name} schema: short: 'STU3: Parameter name matching external assert ruleset rule parameter (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 15 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 16 value: short: Parameter name matching external assert ruleset rule parameter choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 18 valueString: short: Parameter name matching external assert ruleset rule parameter type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 19 required: [url, valueString, value] value: match: {url: value} schema: short: 'STU3: Parameter value defined either explicitly or dynamically (new)' base: {max: '*', min: 0, path: Extension.extension} index: 20 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: value} index: 21 value: short: Parameter value defined either explicitly or dynamically choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 23 valueString: short: Parameter value defined either explicitly or dynamically type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 24 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: param} index: 25 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 27 required: [url, extension] base: {max: '*', min: 0, path: Extension.extension} required: [url, extension] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: 'http://hl7.org/fhir/3.0/StructureDefinition/extension-TestScript.ruleset'} index: 31 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 33 package_version: 0.1.0 extensions: resource: url: resource short: 'STU3: Assert ruleset resource reference (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 1 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: resource} index: 2 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Assert ruleset resource reference choices: [valueReference] index: 4 valueReference: short: Assert ruleset resource reference refers: ['http://hl7.org/fhir/3.0/StructureDefinition/profile-Resource|0.1.0', 'http://hl7.org/fhir/StructureDefinition/Resource|4.0.1'] type: Reference base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 5 required: [url, valueReference, value] rule: min: 1 short: 'STU3: The referenced rule within the ruleset (new)' index: 6 array: true elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true min: 1 index: 7 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 1 slices: ruleId: match: {url: ruleId} schema: short: 'STU3: Id of referenced rule within the ruleset (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 8 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: ruleId} index: 9 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Id of referenced rule within the ruleset choices: [valueId] index: 11 valueId: short: Id of referenced rule within the ruleset type: id base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 12 required: [url, value, valueId] param: match: {url: param} schema: short: 'STU3: Ruleset rule parameter template (new)' array: true base: {max: '*', min: 0, path: Extension.extension} index: 13 extensions: name: url: name short: 'STU3: Parameter name matching external assert ruleset rule parameter (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 15 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 16 value: short: Parameter name matching external assert ruleset rule parameter choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 18 valueString: short: Parameter name matching external assert ruleset rule parameter type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 19 required: [url, valueString, value] value: url: value short: 'STU3: Parameter value defined either explicitly or dynamically (new)' base: {max: '*', min: 0, path: Extension.extension} index: 20 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: value} index: 21 value: short: Parameter value defined either explicitly or dynamically choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 23 valueString: short: Parameter value defined either explicitly or dynamically type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 24 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true min: 1 index: 14 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 1 slices: name: match: {url: name} schema: short: 'STU3: Parameter name matching external assert ruleset rule parameter (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 15 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 16 value: short: Parameter name matching external assert ruleset rule parameter choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 18 valueString: short: Parameter name matching external assert ruleset rule parameter type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 19 required: [url, valueString, value] value: match: {url: value} schema: short: 'STU3: Parameter value defined either explicitly or dynamically (new)' base: {max: '*', min: 0, path: Extension.extension} index: 20 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: value} index: 21 value: short: Parameter value defined either explicitly or dynamically choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 23 valueString: short: Parameter value defined either explicitly or dynamically type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 24 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: param} index: 25 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 27 required: [url, extension] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: rule} index: 28 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 30 _required: true extensions: ruleId: url: ruleId short: 'STU3: Id of referenced rule within the ruleset (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 8 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: ruleId} index: 9 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} short: Id of referenced rule within the ruleset choices: [valueId] index: 11 valueId: short: Id of referenced rule within the ruleset type: id base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 12 required: [url, value, valueId] param: url: param short: 'STU3: Ruleset rule parameter template (new)' array: true base: {max: '*', min: 0, path: Extension.extension} index: 13 extensions: name: url: name short: 'STU3: Parameter name matching external assert ruleset rule parameter (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 15 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 16 value: short: Parameter name matching external assert ruleset rule parameter choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 18 valueString: short: Parameter name matching external assert ruleset rule parameter type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 19 required: [url, valueString, value] value: url: value short: 'STU3: Parameter value defined either explicitly or dynamically (new)' base: {max: '*', min: 0, path: Extension.extension} index: 20 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: value} index: 21 value: short: Parameter value defined either explicitly or dynamically choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 23 valueString: short: Parameter value defined either explicitly or dynamically type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 24 required: [url] elements: extension: base: {max: '*', min: 0, path: Extension.extension} array: true min: 1 index: 14 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 1 slices: name: match: {url: name} schema: short: 'STU3: Parameter name matching external assert ruleset rule parameter (new)' _required: true base: {max: '*', min: 0, path: Extension.extension} index: 15 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: name} index: 16 value: short: Parameter name matching external assert ruleset rule parameter choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 18 valueString: short: Parameter name matching external assert ruleset rule parameter type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 19 required: [url, valueString, value] value: match: {url: value} schema: short: 'STU3: Parameter value defined either explicitly or dynamically (new)' base: {max: '*', min: 0, path: Extension.extension} index: 20 elements: url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: value} index: 21 value: short: Parameter value defined either explicitly or dynamically choices: [valueString] base: {max: '1', min: 0, path: 'Extension.value[x]'} index: 23 valueString: short: Parameter value defined either explicitly or dynamically type: string base: {max: '1', min: 0, path: 'Extension.value[x]'} choiceOf: value index: 24 required: [url] url: base: {max: '1', min: 1, path: Extension.url} pattern: {type: Uri, value: param} index: 25 value: base: {max: '1', min: 0, path: 'Extension.value[x]'} choices: [] index: 27 required: [url, extension] url: rule base: {max: '*', min: 0, path: Extension.extension} required: [url, extension] class: extension kind: complex-type url: http://hl7.org/fhir/3.0/StructureDefinition/extension-TestScript.ruleset base: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1 version: 0.1.0 required: [url]