Structured Data Capture
3.0.0 - STU 3

Structured Data Capture, published by HL7 International - FHIR Infrastructure Work Group. This is not an authorized publication; it is the continuous build for version 3.0.0). This version is based on the current content of https://github.com/HL7/sdc/ and changes regularly. See the Directory of published versions

Extension: Answer Options Toggle Expression

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. Any options not listed by one of the answerOptionsToggleExpression occurrences are presumed to be ‘enabled’

The official URL for this extension is:

http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression

Status: draft
Extension maintained by: HL7 International - FHIR Infrastructure Work Group

Context of Use

This extension may be used on the following element(s):

  • Questionnaire.item
  • ElementDefinition

Additional details on the use of this extension can be found on the Form Behavior page.

Usage info

Usage:

Formal Views of Extension Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

This structure is derived from Extension

Summary

Mandatory: 4 elements
Fixed Value: 3 elements
Prohibited: 1 element

Maturity: 0

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..*ExtensionExpression constraining allowed answers
... id 0..1stringUnique id for inter-element referencing
... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:option 1..*ExtensionOption(s) to toggle
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1uriidentifies the meaning of the extension
..... value[x] 0..1Value of extension
...... valueBase64Binarybase64Binary
...... valueBooleanboolean
...... valueCanonicalcanonical(Any)
...... valueCodecode
...... valueDatedate
...... valueDateTimedateTime
...... valueDecimaldecimal
...... valueIdid
...... valueInstantinstant
...... valueIntegerinteger
...... valueMarkdownmarkdown
...... valueOidoid
...... valuePositiveIntpositiveInt
...... valueStringstring
...... valueTimetime
...... valueUnsignedIntunsignedInt
...... valueUriuri
...... valueUrlurl
...... valueUuiduuid
...... valueAddressAddress
...... valueAgeAge
...... valueAnnotationAnnotation
...... valueAttachmentAttachment
...... valueCodeableConceptCodeableConcept
...... valueCodingCoding
...... valueContactPointContactPoint
...... valueCountCount
...... valueDistanceDistance
...... valueDurationDuration
...... valueHumanNameHumanName
...... valueIdentifierIdentifier
...... valueMoneyMoney
...... valuePeriodPeriod
...... valueQuantityQuantity
...... valueRangeRange
...... valueRatioRatio
...... valueReferenceReference(Any)
...... valueSampledDataSampledData
...... valueSignatureSignature
...... valueTimingTiming
...... valueContactDetailContactDetail
...... valueContributorContributor
...... valueDataRequirementDataRequirement
...... valueExpressionExpression
...... valueParameterDefinitionParameterDefinition
...... valueRelatedArtifactRelatedArtifact
...... valueTriggerDefinitionTriggerDefinition
...... valueUsageContextUsageContext
...... valueDosageDosage
...... valueMetaMeta
.... url 1..1uri"option"
.... value[x] 1..1The option value to control
..... valueBase64Binarybase64Binary
..... valueBooleanboolean
..... valueCanonicalcanonical(Any)
..... valueCodecode
..... valueDatedate
..... valueDateTimedateTime
..... valueDecimaldecimal
..... valueIdid
..... valueInstantinstant
..... valueIntegerinteger
..... valueMarkdownmarkdown
..... valueOidoid
..... valuePositiveIntpositiveInt
..... valueStringstring
..... valueTimetime
..... valueUnsignedIntunsignedInt
..... valueUriuri
..... valueUrlurl
..... valueUuiduuid
..... valueAddressAddress
..... valueAgeAge
..... valueAnnotationAnnotation
..... valueAttachmentAttachment
..... valueCodeableConceptCodeableConcept
..... valueCodingCoding
..... valueContactPointContactPoint
..... valueCountCount
..... valueDistanceDistance
..... valueDurationDuration
..... valueHumanNameHumanName
..... valueIdentifierIdentifier
..... valueMoneyMoney
..... valuePeriodPeriod
..... valueQuantityQuantity
..... valueRangeRange
..... valueRatioRatio
..... valueReferenceReference(Any)
..... valueSampledDataSampledData
..... valueSignatureSignature
..... valueTimingTiming
..... valueContactDetailContactDetail
..... valueContributorContributor
..... valueDataRequirementDataRequirement
..... valueExpressionExpression
..... valueParameterDefinitionParameterDefinition
..... valueRelatedArtifactRelatedArtifact
..... valueTriggerDefinitionTriggerDefinition
..... valueUsageContextUsageContext
..... valueDosageDosage
..... valueMetaMeta
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1uriidentifies the meaning of the extension
..... value[x] 0..1Value of extension
...... valueBase64Binarybase64Binary
...... valueBooleanboolean
...... valueCanonicalcanonical(Any)
...... valueCodecode
...... valueDatedate
...... valueDateTimedateTime
...... valueDecimaldecimal
...... valueIdid
...... valueInstantinstant
...... valueIntegerinteger
...... valueMarkdownmarkdown
...... valueOidoid
...... valuePositiveIntpositiveInt
...... valueStringstring
...... valueTimetime
...... valueUnsignedIntunsignedInt
...... valueUriuri
...... valueUrlurl
...... valueUuiduuid
...... valueAddressAddress
...... valueAgeAge
...... valueAnnotationAnnotation
...... valueAttachmentAttachment
...... valueCodeableConceptCodeableConcept
...... valueCodingCoding
...... valueContactPointContactPoint
...... valueCountCount
...... valueDistanceDistance
...... valueDurationDuration
...... valueHumanNameHumanName
...... valueIdentifierIdentifier
...... valueMoneyMoney
...... valuePeriodPeriod
...... valueQuantityQuantity
...... valueRangeRange
...... valueRatioRatio
...... valueReferenceReference(Any)
...... valueSampledDataSampledData
...... valueSignatureSignature
...... valueTimingTiming
...... valueContactDetailContactDetail
...... valueContributorContributor
...... valueDataRequirementDataRequirement
...... valueExpressionExpression
...... valueParameterDefinitionParameterDefinition
...... valueRelatedArtifactRelatedArtifact
...... valueTriggerDefinitionTriggerDefinition
...... valueUsageContextUsageContext
...... valueDosageDosage
...... valueMetaMeta
.... url 1..1uri"expression"
.... value[x] 1..1ExpressionExpression value
... url 1..1uri"http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression"

doco Documentation for this format

This structure is derived from Extension

Summary

Mandatory: 4 elements
Fixed Value: 3 elements
Prohibited: 1 element

Maturity: 0

Differential View

This structure is derived from Extension

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..*ExtensionExpression constraining allowed answers
... id 0..1stringUnique id for inter-element referencing
... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:option 1..*ExtensionOption(s) to toggle
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1uriidentifies the meaning of the extension
..... value[x] 0..1Value of extension
...... valueBase64Binarybase64Binary
...... valueBooleanboolean
...... valueCanonicalcanonical(Any)
...... valueCodecode
...... valueDatedate
...... valueDateTimedateTime
...... valueDecimaldecimal
...... valueIdid
...... valueInstantinstant
...... valueIntegerinteger
...... valueMarkdownmarkdown
...... valueOidoid
...... valuePositiveIntpositiveInt
...... valueStringstring
...... valueTimetime
...... valueUnsignedIntunsignedInt
...... valueUriuri
...... valueUrlurl
...... valueUuiduuid
...... valueAddressAddress
...... valueAgeAge
...... valueAnnotationAnnotation
...... valueAttachmentAttachment
...... valueCodeableConceptCodeableConcept
...... valueCodingCoding
...... valueContactPointContactPoint
...... valueCountCount
...... valueDistanceDistance
...... valueDurationDuration
...... valueHumanNameHumanName
...... valueIdentifierIdentifier
...... valueMoneyMoney
...... valuePeriodPeriod
...... valueQuantityQuantity
...... valueRangeRange
...... valueRatioRatio
...... valueReferenceReference(Any)
...... valueSampledDataSampledData
...... valueSignatureSignature
...... valueTimingTiming
...... valueContactDetailContactDetail
...... valueContributorContributor
...... valueDataRequirementDataRequirement
...... valueExpressionExpression
...... valueParameterDefinitionParameterDefinition
...... valueRelatedArtifactRelatedArtifact
...... valueTriggerDefinitionTriggerDefinition
...... valueUsageContextUsageContext
...... valueDosageDosage
...... valueMetaMeta
.... url 1..1uri"option"
.... value[x] 1..1The option value to control
..... valueBase64Binarybase64Binary
..... valueBooleanboolean
..... valueCanonicalcanonical(Any)
..... valueCodecode
..... valueDatedate
..... valueDateTimedateTime
..... valueDecimaldecimal
..... valueIdid
..... valueInstantinstant
..... valueIntegerinteger
..... valueMarkdownmarkdown
..... valueOidoid
..... valuePositiveIntpositiveInt
..... valueStringstring
..... valueTimetime
..... valueUnsignedIntunsignedInt
..... valueUriuri
..... valueUrlurl
..... valueUuiduuid
..... valueAddressAddress
..... valueAgeAge
..... valueAnnotationAnnotation
..... valueAttachmentAttachment
..... valueCodeableConceptCodeableConcept
..... valueCodingCoding
..... valueContactPointContactPoint
..... valueCountCount
..... valueDistanceDistance
..... valueDurationDuration
..... valueHumanNameHumanName
..... valueIdentifierIdentifier
..... valueMoneyMoney
..... valuePeriodPeriod
..... valueQuantityQuantity
..... valueRangeRange
..... valueRatioRatio
..... valueReferenceReference(Any)
..... valueSampledDataSampledData
..... valueSignatureSignature
..... valueTimingTiming
..... valueContactDetailContactDetail
..... valueContributorContributor
..... valueDataRequirementDataRequirement
..... valueExpressionExpression
..... valueParameterDefinitionParameterDefinition
..... valueRelatedArtifactRelatedArtifact
..... valueTriggerDefinitionTriggerDefinition
..... valueUsageContextUsageContext
..... valueDosageDosage
..... valueMetaMeta
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1uriidentifies the meaning of the extension
..... value[x] 0..1Value of extension
...... valueBase64Binarybase64Binary
...... valueBooleanboolean
...... valueCanonicalcanonical(Any)
...... valueCodecode
...... valueDatedate
...... valueDateTimedateTime
...... valueDecimaldecimal
...... valueIdid
...... valueInstantinstant
...... valueIntegerinteger
...... valueMarkdownmarkdown
...... valueOidoid
...... valuePositiveIntpositiveInt
...... valueStringstring
...... valueTimetime
...... valueUnsignedIntunsignedInt
...... valueUriuri
...... valueUrlurl
...... valueUuiduuid
...... valueAddressAddress
...... valueAgeAge
...... valueAnnotationAnnotation
...... valueAttachmentAttachment
...... valueCodeableConceptCodeableConcept
...... valueCodingCoding
...... valueContactPointContactPoint
...... valueCountCount
...... valueDistanceDistance
...... valueDurationDuration
...... valueHumanNameHumanName
...... valueIdentifierIdentifier
...... valueMoneyMoney
...... valuePeriodPeriod
...... valueQuantityQuantity
...... valueRangeRange
...... valueRatioRatio
...... valueReferenceReference(Any)
...... valueSampledDataSampledData
...... valueSignatureSignature
...... valueTimingTiming
...... valueContactDetailContactDetail
...... valueContributorContributor
...... valueDataRequirementDataRequirement
...... valueExpressionExpression
...... valueParameterDefinitionParameterDefinition
...... valueRelatedArtifactRelatedArtifact
...... valueTriggerDefinitionTriggerDefinition
...... valueUsageContextUsageContext
...... valueDosageDosage
...... valueMetaMeta
.... url 1..1uri"expression"
.... value[x] 1..1ExpressionExpression value
... url 1..1uri"http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression"

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Constraints

IdGradePathDetailsRequirements
ele-1errorExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorExtension.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorExtension.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorExtension.extension:optionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorExtension.extension:optionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorExtension.extension:option.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorExtension.extension:option.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorExtension.extension:option.extension.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorExtension.extension:option.extension.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorExtension.extension:option.extension.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorExtension.extension:option.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorExtension.extension:expressionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorExtension.extension:expressionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorExtension.extension:expression.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorExtension.extension:expression.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorExtension.extension:expression.extension.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorExtension.extension:expression.extension.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorExtension.extension:expression.extension.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorExtension.extension:expression.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())