Structured Data Capture, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 4.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/sdc/ and changes regularly. See the Directory of published versions
| Page standards status: Trial-use | Maturity Level: 4 | 
Definitions for the sdc-questionnaire-answerOptionsToggleExpression extension
Guidance on how to interpret the contents of this table can be foundhere
| 0. Extension | |
| Definition | A complex expression that provides a list of the allowed options that should be enabled or disabled based on the evaluation of a provided expression. It allows toggling of allowed answers based on context, including the answers provided to other expressions. Optional Extension Element - found in all resources.  | 
| Short | Expression constraining allowed answersOptional Extensions Element | 
| Comments | For example, this allows a list of conditions to be modified based on the gender of the patient  | 
| Control | 0..* This element is affected by the following invariants: ele-1  | 
| Is Modifier | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists())ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())  | 
| 2. Extension.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.  | 
| Short | ExtensionAdditional content defined by implementations | 
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.  | 
| Control | 20..* | 
| Type | Extension | 
| Is Modifier | false | 
| Summary | false | 
| Alternate Names | extensions, user content | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())  | 
| Slicing | This element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: | 
| 4. Extension.extension:option | |
| Slice Name | option | 
| Definition | Each repetition is an option to toggle based on the expression  | 
| Short | Option(s) to toggleAdditional content defined by implementations | 
| Control | 10..* | 
| Type | Extension | 
| Is Modifier | false | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())  | 
| 6. Extension.extension:option.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.  | 
| Short | ExtensionAdditional content defined by implementations | 
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.  | 
| Control | 0..0* | 
| Type | Extension | 
| Is Modifier | false | 
| Summary | false | 
| Alternate Names | extensions, user content | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())  | 
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: | 
| 8. Extension.extension:option.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL.  | 
| Short | identifies the meaning of the extension | 
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.  | 
| Control | 1..1 | 
| Type | uri | 
| Is Modifier | false | 
| XML Format | In the XML format, this property is represented as an attribute. | 
| Summary | false | 
| Fixed Value | option | 
| 10. Extension.extension:option.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).  | 
| Short | The option value to controlValue of extension | 
| Control | 10..1 | 
| Type | Choice of: date, dateTime, decimal, integer, string, time, uri, Coding, Quantity(SimpleQuantity), Reference, Meta, Address, Attachment, Count, DataRequirement, Dosage, uuid, Identifier, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, CodeableConcept, ParameterDefinition, code, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, TriggerDefinition, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt | 
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] | 
| Is Modifier | false | 
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) | 
| 12. Extension.extension:expression | |
| Slice Name | expression | 
| Definition | If this expression evaluate's to 'true', then the specified options should be enabled, otherwise they should be disabled.  | 
| Short | The expression to toggle onAdditional content defined by implementations | 
| Control | 10..1* | 
| Type | Extension | 
| Is Modifier | false | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())  | 
| 14. Extension.extension:expression.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.  | 
| Short | ExtensionAdditional content defined by implementations | 
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.  | 
| Control | 0..0* | 
| Type | Extension | 
| Is Modifier | false | 
| Summary | false | 
| Alternate Names | extensions, user content | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())  | 
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: | 
| 16. Extension.extension:expression.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL.  | 
| Short | identifies the meaning of the extension | 
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.  | 
| Control | 1..1 | 
| Type | uri | 
| Is Modifier | false | 
| XML Format | In the XML format, this property is represented as an attribute. | 
| Summary | false | 
| Fixed Value | expression | 
| 18. Extension.extension:expression.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).  | 
| Short | Expression valueValue of extension | 
| Control | 10..1 | 
| Type | Expression, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Signature, unsignedInt, time | 
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] | 
| Is Modifier | false | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) | 
| 20. Extension.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL.  | 
| Short | identifies the meaning of the extension | 
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.  | 
| Control | 1..1 | 
| Type | uri | 
| Is Modifier | false | 
| XML Format | In the XML format, this property is represented as an attribute. | 
| Summary | false | 
| Fixed Value | http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression | 
| 22. Extension.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).  | 
| Short | Value of extension | 
| Control | 0..01 | 
| Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta | 
| Is Modifier | false | 
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) | 
Guidance on how to interpret the contents of this table can be foundhere
| 0. Extension | |
| Definition | A complex expression that provides a list of the allowed options that should be enabled or disabled based on the evaluation of a provided expression. It allows toggling of allowed answers based on context, including the answers provided to other expressions.  | 
| Short | Expression constraining allowed answers | 
| Comments | For example, this allows a list of conditions to be modified based on the gender of the patient  | 
| 2. Extension.extension | |
| Control | 2..? | 
| 4. Extension.extension:option | |
| Slice Name | option | 
| Definition | Each repetition is an option to toggle based on the expression  | 
| Short | Option(s) to toggle | 
| Control | 1..* | 
| 6. Extension.extension:option.extension | |
| Control | 0..0 | 
| 8. Extension.extension:option.url | |
| Fixed Value | option | 
| 10. Extension.extension:option.value[x] | |
| Short | The option value to control | 
| Control | 1..? | 
| Type | Choice of: date, dateTime, decimal, integer, string, time, uri, Coding, Quantity(SimpleQuantity), Reference | 
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] | 
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension | 
| 12. Extension.extension:expression | |
| Slice Name | expression | 
| Definition | If this expression evaluate's to 'true', then the specified options should be enabled, otherwise they should be disabled.  | 
| Short | The expression to toggle on | 
| Control | 1..1 | 
| 14. Extension.extension:expression.extension | |
| Control | 0..0 | 
| 16. Extension.extension:expression.url | |
| Fixed Value | expression | 
| 18. Extension.extension:expression.value[x] | |
| Short | Expression value | 
| Control | 1..? | 
| Type | Expression | 
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] | 
| 20. Extension.url | |
| Fixed Value | http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression | 
| 22. Extension.value[x] | |
| Control | 0..0 | 
Guidance on how to interpret the contents of this table can be foundhere
| 0. Extension | |
| Definition | A complex expression that provides a list of the allowed options that should be enabled or disabled based on the evaluation of a provided expression. It allows toggling of allowed answers based on context, including the answers provided to other expressions.  | 
| Short | Expression constraining allowed answers | 
| Comments | For example, this allows a list of conditions to be modified based on the gender of the patient  | 
| Control | 0..* This element is affected by the following invariants: ele-1  | 
| Is Modifier | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) | 
| 2. Extension.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.  | 
| Short | Unique id for inter-element referencing | 
| Control | 0..1 | 
| Type | string | 
| Is Modifier | false | 
| XML Format | In the XML format, this property is represented as an attribute. | 
| Summary | false | 
| 4. Extension.extension | |
| Definition | An Extension  | 
| Short | Extension | 
| Control | 2..* | 
| Type | Extension | 
| Is Modifier | false | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) | 
| Slicing | This element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: | 
| 6. Extension.extension:option | |
| Slice Name | option | 
| Definition | Each repetition is an option to toggle based on the expression  | 
| Short | Option(s) to toggle | 
| Control | 1..* | 
| Type | Extension | 
| Is Modifier | false | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) | 
| 8. Extension.extension:option.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.  | 
| Short | Unique id for inter-element referencing | 
| Control | 0..1 | 
| Type | string | 
| Is Modifier | false | 
| XML Format | In the XML format, this property is represented as an attribute. | 
| Summary | false | 
| 10. Extension.extension:option.extension | |
| Definition | An Extension  | 
| Short | Extension | 
| Control | 0..0 | 
| Type | Extension | 
| Is Modifier | false | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) | 
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: | 
| 12. Extension.extension:option.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL.  | 
| Short | identifies the meaning of the extension | 
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.  | 
| Control | 1..1 | 
| Type | uri | 
| Is Modifier | false | 
| XML Format | In the XML format, this property is represented as an attribute. | 
| Summary | false | 
| Fixed Value | option | 
| 14. Extension.extension:option.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).  | 
| Short | The option value to control | 
| Control | 1..1 | 
| Type | Choice of: date, dateTime, decimal, integer, string, time, uri, Coding, Quantity(SimpleQuantity), Reference | 
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] | 
| Is Modifier | false | 
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) | 
| 16. Extension.extension:expression | |
| Slice Name | expression | 
| Definition | If this expression evaluate's to 'true', then the specified options should be enabled, otherwise they should be disabled.  | 
| Short | The expression to toggle on | 
| Control | 1..1 | 
| Type | Extension | 
| Is Modifier | false | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) | 
| 18. Extension.extension:expression.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.  | 
| Short | Unique id for inter-element referencing | 
| Control | 0..1 | 
| Type | string | 
| Is Modifier | false | 
| XML Format | In the XML format, this property is represented as an attribute. | 
| Summary | false | 
| 20. Extension.extension:expression.extension | |
| Definition | An Extension  | 
| Short | Extension | 
| Control | 0..0 | 
| Type | Extension | 
| Is Modifier | false | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) | 
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: | 
| 22. Extension.extension:expression.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL.  | 
| Short | identifies the meaning of the extension | 
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.  | 
| Control | 1..1 | 
| Type | uri | 
| Is Modifier | false | 
| XML Format | In the XML format, this property is represented as an attribute. | 
| Summary | false | 
| Fixed Value | expression | 
| 24. Extension.extension:expression.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).  | 
| Short | Expression value | 
| Control | 1..1 | 
| Type | Expression | 
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] | 
| Is Modifier | false | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) | 
| 26. Extension.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL.  | 
| Short | identifies the meaning of the extension | 
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.  | 
| Control | 1..1 | 
| Type | uri | 
| Is Modifier | false | 
| XML Format | In the XML format, this property is represented as an attribute. | 
| Summary | false | 
| Fixed Value | http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression | 
| 28. Extension.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).  | 
| Short | Value of extension | 
| Control | 0..0 | 
| Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta | 
| Is Modifier | false | 
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension | 
| Summary | false | 
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |