This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). 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
FHIR Infrastructure Work Group | Maturity Level: 1 | Informative | Use Context: Any |
Summary
Defining URL: | http://hl7.org/fhir/StructureDefinition/questionnaire-constraint |
Version: | 5.0.0-ballot |
Name: | constraint |
Title: | null |
Modifier: | This extension is not a modifier extension |
Status: | draft |
Definition: | An invariant that must be satisfied before responses to the questionnaire can be considered "complete". |
Committee: | FHIR Infrastructure Work Group |
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. See additional guidance and examples in the SDC implementation guide.
Context of Use: Use on Element ID Questionnaire, Element ID Questionnaire.item or Element ID ElementDefinition
Summary
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
constraint | 0..* | Extension | URL = 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 ElementDefinition | |
key | 1..1 | id | Unique id for the constraint within the questionnaire. | |
requirements | 0..1 | string | An explanation of why this extension is required (for documentation purposes). | |
severity | 1..1 | code | Indicates how serious violating the invariant is. | |
expression | 1..1 | string | The FHIRPath expression of the rule for computable interpretation. | |
human | 1..1 | string | 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. | |
Documentation for this format |
Full Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
extension | 0..* | Extension | URL = 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 ElementDefinition | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
extension:key | 1..1 | Extension | Unique identifier | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "key" | |
value[x] | 1..1 | id | Value of extension | |
extension:requirements | 0..1 | Extension | Why needed | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "requirements" | |
value[x] | 1..1 | string | Value of extension | |
extension:severity | 1..1 | Extension | error|warning | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "severity" | |
value[x] | 1..1 | code | Value of extension Binding: ConstraintSeverity (required): How important the invariant is. | |
extension:expression | 1..1 | Extension | Formal rule | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "expression" | |
value[x] | 1..1 | string | Value of extension | |
extension:human | 1..1 | Extension | Human-readable rule | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "human" | |
value[x] | 1..1 | string | Value of extension | |
extension:location | 0..* | Extension | Relative path to elements | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "location" | |
value[x] | 1..1 | string | Value of extension | |
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint" | |
value[x] | 0..0 | |||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCanonical | canonical(Any) | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueInteger64 | integer64 | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueUrl | url | |||
valueUuid | uuid | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCodeableReference | CodeableReference | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueRatioRange | RatioRange | |||
valueReference | Reference(Any) | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueContactDetail | ContactDetail | |||
valueDataRequirement | DataRequirement | |||
valueExpression | Expression | |||
valueParameterDefinition | ParameterDefinition | |||
valueRelatedArtifact | RelatedArtifact | |||
valueTriggerDefinition | TriggerDefinition | |||
valueUsageContext | UsageContext | |||
valueAvailability | Availability | |||
valueExtendedContactDetail | ExtendedContactDetail | |||
valueDosage | Dosage | |||
valueMeta | Meta | |||
Documentation for this format |
XML Template
<!-- constraint --> <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"> I 1..1 Extension <!-- I 1..1 Unique identifier --> <valueId value="[id]"/><!-- I 1..1 Value of extension --> </extension> <extension url="requirements"> I 0..1 Extension <!-- I 0..1 Why needed --> <valueString value="[string]"/><!-- I 1..1 Value of extension --> </extension> <extension url="severity"> I 1..1 Extension <!-- I 1..1 error|warning --> <valueCode value="[code]"/><!-- I 1..1 Value of extension --> </extension> <extension url="expression"> I 1..1 Extension <!-- I 1..1 Formal rule --> <valueString value="[string]"/><!-- I 1..1 Value of extension --> </extension> <extension url="human"> I 1..1 Extension <!-- I 1..1 Human-readable rule --> <valueString value="[string]"/><!-- I 1..1 Value of extension --> </extension> <extension url="location"> I 0..* Extension <!-- I 0..* Relative path to elements --> <valueString value="[string]"/><!-- I 1..1 Value of extension --> </extension> </extension>
JSON Template
{ // constraint "extension" : [ // sliced by value:url in the specified order, Open { // Unique identifier // I R! // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "key", // R! "valueId" : "<id>" // I R! Value of extension }, { // Why needed // I // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "requirements", // R! "valueString" : "<string>" // I R! Value of extension }, { // error|warning // I R! // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "severity", // R! "valueCode" : "<code>" // I R! Value of extension }, { // Formal rule // I R! // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "expression", // R! "valueString" : "<string>" // I R! Value of extension }, { // Human-readable rule // I R! // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "human", // R! "valueString" : "<string>" // I R! Value of extension }, { // Relative path to elements // I // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "location", // R! "valueString" : "<string>" // I R! Value of extension } ], "extension" : [{ Extension }], // IAdditional content defined by implementations "extension" : { Extension }, // I R! Unique identifier "extension" : { Extension }, // IWhy needed "extension" : { Extension }, // I R! error|warning "extension" : { Extension }, // I R! Formal rule "extension" : { Extension }, // I R! Human-readable rule "extension" : [{ Extension }], // IRelative path to elements "url" : "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint" // R! // value[x]: Value of extension: Prohibited }
Summary
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
constraint | 0..* | Extension | URL = 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 ElementDefinition | |
key | 1..1 | id | Unique id for the constraint within the questionnaire. | |
requirements | 0..1 | string | An explanation of why this extension is required (for documentation purposes). | |
severity | 1..1 | code | Indicates how serious violating the invariant is. | |
expression | 1..1 | string | The FHIRPath expression of the rule for computable interpretation. | |
human | 1..1 | string | 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. | |
Documentation for this format |
Full Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
extension | 0..* | Extension | URL = 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 ElementDefinition | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
extension:key | 1..1 | Extension | Unique identifier | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "key" | |
value[x] | 1..1 | id | Value of extension | |
extension:requirements | 0..1 | Extension | Why needed | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "requirements" | |
value[x] | 1..1 | string | Value of extension | |
extension:severity | 1..1 | Extension | error|warning | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "severity" | |
value[x] | 1..1 | code | Value of extension Binding: ConstraintSeverity (required): How important the invariant is. | |
extension:expression | 1..1 | Extension | Formal rule | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "expression" | |
value[x] | 1..1 | string | Value of extension | |
extension:human | 1..1 | Extension | Human-readable rule | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "human" | |
value[x] | 1..1 | string | Value of extension | |
extension:location | 0..* | Extension | Relative path to elements | |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "location" | |
value[x] | 1..1 | string | Value of extension | |
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint" | |
value[x] | 0..0 | |||
valueBase64Binary | base64Binary | |||
valueBoolean | boolean | |||
valueCanonical | canonical(Any) | |||
valueCode | code | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueDecimal | decimal | |||
valueId | id | |||
valueInstant | instant | |||
valueInteger | integer | |||
valueInteger64 | integer64 | |||
valueMarkdown | markdown | |||
valueOid | oid | |||
valuePositiveInt | positiveInt | |||
valueString | string | |||
valueTime | time | |||
valueUnsignedInt | unsignedInt | |||
valueUri | uri | |||
valueUrl | url | |||
valueUuid | uuid | |||
valueAddress | Address | |||
valueAge | Age | |||
valueAnnotation | Annotation | |||
valueAttachment | Attachment | |||
valueCodeableConcept | CodeableConcept | |||
valueCodeableReference | CodeableReference | |||
valueCoding | Coding | |||
valueContactPoint | ContactPoint | |||
valueCount | Count | |||
valueDistance | Distance | |||
valueDuration | Duration | |||
valueHumanName | HumanName | |||
valueIdentifier | Identifier | |||
valueMoney | Money | |||
valuePeriod | Period | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueRatioRange | RatioRange | |||
valueReference | Reference(Any) | |||
valueSampledData | SampledData | |||
valueSignature | Signature | |||
valueTiming | Timing | |||
valueContactDetail | ContactDetail | |||
valueDataRequirement | DataRequirement | |||
valueExpression | Expression | |||
valueParameterDefinition | ParameterDefinition | |||
valueRelatedArtifact | RelatedArtifact | |||
valueTriggerDefinition | TriggerDefinition | |||
valueUsageContext | UsageContext | |||
valueAvailability | Availability | |||
valueExtendedContactDetail | ExtendedContactDetail | |||
valueDosage | Dosage | |||
valueMeta | Meta | |||
Documentation for this format |
XML Template
<!-- constraint --> <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"> I 1..1 Extension <!-- I 1..1 Unique identifier --> <valueId value="[id]"/><!-- I 1..1 Value of extension --> </extension> <extension url="requirements"> I 0..1 Extension <!-- I 0..1 Why needed --> <valueString value="[string]"/><!-- I 1..1 Value of extension --> </extension> <extension url="severity"> I 1..1 Extension <!-- I 1..1 error|warning --> <valueCode value="[code]"/><!-- I 1..1 Value of extension --> </extension> <extension url="expression"> I 1..1 Extension <!-- I 1..1 Formal rule --> <valueString value="[string]"/><!-- I 1..1 Value of extension --> </extension> <extension url="human"> I 1..1 Extension <!-- I 1..1 Human-readable rule --> <valueString value="[string]"/><!-- I 1..1 Value of extension --> </extension> <extension url="location"> I 0..* Extension <!-- I 0..* Relative path to elements --> <valueString value="[string]"/><!-- I 1..1 Value of extension --> </extension> </extension>
JSON Template
{ // constraint "extension" : [ // sliced by value:url in the specified order, Open { // Unique identifier // I R! // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "key", // R! "valueId" : "<id>" // I R! Value of extension }, { // Why needed // I // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "requirements", // R! "valueString" : "<string>" // I R! Value of extension }, { // error|warning // I R! // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "severity", // R! "valueCode" : "<code>" // I R! Value of extension }, { // Formal rule // I R! // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "expression", // R! "valueString" : "<string>" // I R! Value of extension }, { // Human-readable rule // I R! // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "human", // R! "valueString" : "<string>" // I R! Value of extension }, { // Relative path to elements // I // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "url" : "location", // R! "valueString" : "<string>" // I R! Value of extension } ], "extension" : [{ Extension }], // IAdditional content defined by implementations "extension" : { Extension }, // I R! Unique identifier "extension" : { Extension }, // IWhy needed "extension" : { Extension }, // I R! error|warning "extension" : { Extension }, // I R! Formal rule "extension" : { Extension }, // I R! Human-readable rule "extension" : [{ Extension }], // IRelative path to elements "url" : "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint" // R! // value[x]: Value of extension: Prohibited }
Constraints
Search
No Search Extensions defined for this resource |
Examples of this extension
No examples found.