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-ballot 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 found here
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..? |
[x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
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 found here
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: 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 |
[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 found here
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: 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 |
[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()) ) |