Release 4B

This page is part of the FHIR Specification (v4.3.0: R4B - STU). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4B R4

Extension: constraint

URL for this extension:

http://hl7.org/fhir/StructureDefinition/questionnaire-constraint

Status: draft. Extension maintained by: HL7

An invariant that must be satisfied before responses to the questionnaire can be considered "complete".

Comment:

This maps to the ElementDefinition.constraint element.

Context of Use: Use on Element ID Questionnaire, Element ID Questionnaire.item or Element ID Questionnaire.item.item

Extension Content

Summary

Name Flags Card. Type Description & Constraints doco
.. constraint 0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/questionnaire-constraint
constraint: An invariant that must be satisfied before responses to the questionnaire can be considered "complete".


Use on Element ID Questionnaire, Element ID Questionnaire.item or Element ID Questionnaire.item.item
... key 1..1id Unique id for the constraint within the questionnaire.

... requirements 0..1string An explanation of why this extension is required (for documentation purposes).

... severity 1..1code Indicates how serious violating the invariant is.

... human 1..1string A free text expression of the rule to display to the user if the rule is violated.

... location 0..*string Relative paths to the questions this rule is enforced against.


doco Documentation for this format

Full Structure

Name Flags Card. Type Description & Constraints doco
.. extension 0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/questionnaire-constraint
constraint: An invariant that must be satisfied before responses to the questionnaire can be considered "complete".


Use on Element ID Questionnaire, Element ID Questionnaire.item or Element ID Questionnaire.item.item
... Slices for extension 0..*Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... extension:key 1..1Extension Unique identifier
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "key"
.... value[x] 1..1id Value of extension
... extension:requirements 0..1Extension Why needed
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "requirements"
.... value[x] 1..1string Value of extension
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "severity"
.... value[x] 1..1code Value of extension
Binding: ConstraintSeverity (required): How important the invariant is.

... extension:expression 1..1Extension Formal rule
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "expression"
.... value[x] 1..1string Value of extension
... extension:human 1..1Extension Human-readable rule
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "human"
.... value[x] 1..1string Value of extension
... extension:location 0..*Extension Relative path to elements
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "location"
.... value[x] 1..1string Value of extension
... url 1..1uri "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint"
... value[x]0..0
.... 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
.... valueCodeableReferenceCodeableReference
.... valueCodingCoding
.... valueContactPointContactPoint
.... valueCountCount
.... valueDistanceDistance
.... valueDurationDuration
.... valueHumanNameHumanName
.... valueIdentifierIdentifier
.... valueMoneyMoney
.... valuePeriodPeriod
.... valueQuantityQuantity
.... valueRangeRange
.... valueRatioRatio
.... valueRatioRangeRatioRange
.... valueReferenceReference(Any)
.... valueSampledDataSampledData
.... valueSignatureSignature
.... valueTimingTiming
.... valueContactDetailContactDetail
.... valueContributorContributor
.... valueDataRequirementDataRequirement
.... valueExpressionExpression
.... valueParameterDefinitionParameterDefinition
.... valueRelatedArtifactRelatedArtifact
.... valueTriggerDefinitionTriggerDefinition
.... valueUsageContextUsageContext
.... valueDosageDosage

doco Documentation for this format

XML Template

<!-- constraint -->doco 
<extension xmlns="http://hl7.org/fhir"
 url="http://hl7.org/fhir/StructureDefinition/questionnaire-constraint" >
 <-- extension sliced by value:url in the specified orderOpen-->
 <extension url="key"> ?? 1..1 Extension  <!-- ?? 1..1 Unique identifier -->
 <valueId value="[id ]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="requirements"> ?? 0..1 Extension  <!-- ?? 0..1 Why needed -->
 <valueString value="[string ]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="severity"> ?? 1..1 Extension  <!-- ?? 1..1 error|warning -->
 <valueCode value="[code ]"/><!-- ?? 1..1 Value of extension  -->
 </extension>
 <extension url="expression"> ?? 1..1 Extension  <!-- ?? 1..1 Formal rule -->
 <valueString value="[string ]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="human"> ?? 1..1 Extension  <!-- ?? 1..1 Human-readable rule -->
 <valueString value="[string ]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="location"> ?? 0..* Extension  <!-- ?? 0..* Relative path to elements -->
 <valueString value="[string ]"/><!-- ?? 1..1 Value of extension -->
 </extension>
</extension>

JSON Template

{ // constraint
 "extension" : [ //  sliced by value:url in the specified order, Open 
 { // Unique identifier // C? R! 
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "key", // R! 
 "valueId" : "<id >" // C? R! Value of extension
 },
 { // Why needed // C?
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "requirements", // R! 
 "valueString" : "<string >" // C? R! Value of extension
 },
 { // error|warning // C? R! 
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "severity", // R! 
 "valueCode" : "<code >" // C? R! Value of extension 
 },
 { // Formal rule // C? R! 
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "expression", // R! 
 "valueString" : "<string >" // C? R! Value of extension
 },
 { // Human-readable rule // C? R! 
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "human", // R! 
 "valueString" : "<string >" // C? R! Value of extension
 },
 { // Relative path to elements // C?
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "location", // R! 
 "valueString" : "<string >" // C? R! Value of extension
 }
 ],
 "url" : "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint", // R! 
// value[x]: Value of extension. One of these 51:
 }

Summary

Name Flags Card. Type Description & Constraints doco
.. constraint 0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/questionnaire-constraint
constraint: An invariant that must be satisfied before responses to the questionnaire can be considered "complete".


Use on Element ID Questionnaire, Element ID Questionnaire.item or Element ID Questionnaire.item.item
... key 1..1id Unique id for the constraint within the questionnaire.

... requirements 0..1string An explanation of why this extension is required (for documentation purposes).

... severity 1..1code Indicates how serious violating the invariant is.

... human 1..1string A free text expression of the rule to display to the user if the rule is violated.

... location 0..*string Relative paths to the questions this rule is enforced against.


doco Documentation for this format

Full Structure

Name Flags Card. Type Description & Constraints doco
.. extension 0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/questionnaire-constraint
constraint: An invariant that must be satisfied before responses to the questionnaire can be considered "complete".


Use on Element ID Questionnaire, Element ID Questionnaire.item or Element ID Questionnaire.item.item
... Slices for extension 0..*Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... extension:key 1..1Extension Unique identifier
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "key"
.... value[x] 1..1id Value of extension
... extension:requirements 0..1Extension Why needed
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "requirements"
.... value[x] 1..1string Value of extension
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "severity"
.... value[x] 1..1code Value of extension
Binding: ConstraintSeverity (required): How important the invariant is.

... extension:expression 1..1Extension Formal rule
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "expression"
.... value[x] 1..1string Value of extension
... extension:human 1..1Extension Human-readable rule
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "human"
.... value[x] 1..1string Value of extension
... extension:location 0..*Extension Relative path to elements
.... id 0..1id Unique id for inter-element referencing
.... extension 0..0
.... url 1..1uri "location"
.... value[x] 1..1string Value of extension
... url 1..1uri "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint"
... value[x]0..0
.... 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
.... valueCodeableReferenceCodeableReference
.... valueCodingCoding
.... valueContactPointContactPoint
.... valueCountCount
.... valueDistanceDistance
.... valueDurationDuration
.... valueHumanNameHumanName
.... valueIdentifierIdentifier
.... valueMoneyMoney
.... valuePeriodPeriod
.... valueQuantityQuantity
.... valueRangeRange
.... valueRatioRatio
.... valueRatioRangeRatioRange
.... valueReferenceReference(Any)
.... valueSampledDataSampledData
.... valueSignatureSignature
.... valueTimingTiming
.... valueContactDetailContactDetail
.... valueContributorContributor
.... valueDataRequirementDataRequirement
.... valueExpressionExpression
.... valueParameterDefinitionParameterDefinition
.... valueRelatedArtifactRelatedArtifact
.... valueTriggerDefinitionTriggerDefinition
.... valueUsageContextUsageContext
.... valueDosageDosage

doco Documentation for this format

XML Template

<!-- constraint -->doco 
<extension xmlns="http://hl7.org/fhir"
 url="http://hl7.org/fhir/StructureDefinition/questionnaire-constraint" >
 <-- extension sliced by value:url in the specified orderOpen-->
 <extension url="key"> ?? 1..1 Extension  <!-- ?? 1..1 Unique identifier -->
 <valueId value="[id ]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="requirements"> ?? 0..1 Extension  <!-- ?? 0..1 Why needed -->
 <valueString value="[string ]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="severity"> ?? 1..1 Extension  <!-- ?? 1..1 error|warning -->
 <valueCode value="[code ]"/><!-- ?? 1..1 Value of extension  -->
 </extension>
 <extension url="expression"> ?? 1..1 Extension  <!-- ?? 1..1 Formal rule -->
 <valueString value="[string ]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="human"> ?? 1..1 Extension  <!-- ?? 1..1 Human-readable rule -->
 <valueString value="[string ]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="location"> ?? 0..* Extension  <!-- ?? 0..* Relative path to elements -->
 <valueString value="[string ]"/><!-- ?? 1..1 Value of extension -->
 </extension>
</extension>

JSON Template

{ // constraint
 "extension" : [ //  sliced by value:url in the specified order, Open 
 { // Unique identifier // C? R! 
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "key", // R! 
 "valueId" : "<id >" // C? R! Value of extension
 },
 { // Why needed // C?
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "requirements", // R! 
 "valueString" : "<string >" // C? R! Value of extension
 },
 { // error|warning // C? R! 
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "severity", // R! 
 "valueCode" : "<code >" // C? R! Value of extension 
 },
 { // Formal rule // C? R! 
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "expression", // R! 
 "valueString" : "<string >" // C? R! Value of extension
 },
 { // Human-readable rule // C? R! 
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "human", // R! 
 "valueString" : "<string >" // C? R! Value of extension
 },
 { // Relative path to elements // C?
 // from Element: extension
 "extension" : [ //  sliced by value:url in the specified order, Open ]
 "url" : "location", // R! 
 "valueString" : "<string >" // C? R! Value of extension
 }
 ],
 "url" : "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint", // R! 
// value[x]: Value of extension. One of these 51:
 }

Constraints

  • ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource (xpath: @value|f:*|h:div|self::f:Parameters)
  • ext-1: Must have either extensions or value[x], not both (xpath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]))
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.value[x]: @value|f:*|h:div)

AltStyle によって変換されたページ (->オリジナル) /