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
Page standards status: Trial-use | Maturity Level: 3 |
JSON representation of the sdc-questionnaire-enableWhenExpression extension.
{
"resourceType" : "StructureDefinition",
"id" : "sdc-questionnaire-enableWhenExpression",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">Placeholder</div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
"valueInteger" : 3,
"_valueInteger" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueCanonical" : "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc"
}
]
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode" : "trial-use",
"_valueCode" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueCanonical" : "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc"
}
]
}
}
],
"url" : "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression",
"version" : "3.0.0",
"name" : "EnableWhenExpressionExtension",
"title" : "Enable when expression",
"status" : "draft",
"experimental" : false,
"date" : "2023-09-21T07:17:21+00:00",
"publisher" : "HL7 International - FHIR Infrastructure Work Group",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "http://hl7.org/Special/committees/fiwg"
}
]
}
],
"description" : "An expression that returns a boolean value for whether to enable the item. If the expression does not resolve to a boolean, it is considered an error in the design of the Questionnaire. Form renderer behavior is undefined. Some tools may attempt to force the value to be a boolean (e.g. is it a non-empty collection, non-null, non-zero - if so, then true). Systems SHOULD present a warning to the user if a non-boolean valued expression result does not trigger an all-out error.",
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001",
"display" : "World"
}
]
}
],
"fhirVersion" : "4.0.1",
"mapping" : [
{
"identity" : "rim",
"uri" : "http://hl7.org/v3",
"name" : "RIM Mapping"
}
],
"kind" : "complex-type",
"abstract" : false,
"context" : [
{
"type" : "element",
"expression" : "Questionnaire.item"
},
{
"type" : "element",
"expression" : "ElementDefinition"
}
],
"type" : "Extension",
"baseDefinition" : "http://hl7.org/fhir/StructureDefinition/Extension",
"derivation" : "constraint",
"snapshot" : {
"element" : [
{
"id" : "Extension",
"path" : "Extension",
"short" : "Expression for when to enable the item",
"definition" : "An expression that returns a boolean value for whether to enable the item.",
"comment" : "This is only permitted when the containing item does NOT have any enableWhen elements.\r\n\r\nIf the expression involves comparisons between elements that have different precisions but are otherwise equal, FHIRPath will resolve the expression to an empty set, which will in turn evaluate to false (meaning the item won't be enabled). If this is not the desired behavior, the author should add a `.allTrue()` to the end of the expression, which will result in an indeterminate outcome because of precision differences being handled as 'true' and the item being enabled. Questionnaires SHOULD be designed to take into account challenges around varying precision to minimize non-deterministic situations by setting constraints around expected precision, etc.\r\n\r\nIf the expression evaluates to something other than a boolean true or false, the Form Filler SHOULD still display the form, and if it does so, SHOULD treat the element as 'enabled' and display a warning to the user that the questionnaire logic was faulty and it's possible that the item shouldn't be enabled.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Extension",
"min" : 0,
"max" : "*"
},
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source" : "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier" : false
},
{
"id" : "Extension.id",
"path" : "Extension.id",
"representation" : [
"xmlAttr"
],
"short" : "Unique id for inter-element referencing",
"definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl" : "string"
}
],
"code" : "http://hl7.org/fhirpath/System.String"
}
],
"isModifier" : false,
"isSummary" : false,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Extension.extension",
"path" : "Extension.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "open"
},
"short" : "Extension",
"definition" : "An Extension",
"min" : 0,
"max" : "0",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source" : "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier" : false,
"isSummary" : false
},
{
"id" : "Extension.url",
"path" : "Extension.url",
"representation" : [
"xmlAttr"
],
"short" : "identifies the meaning of the extension",
"definition" : "Source of the definition for the extension code - a logical name or a URL.",
"comment" : "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.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "Extension.url",
"min" : 1,
"max" : "1"
},
"type" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl" : "uri"
}
],
"code" : "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri" : "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression",
"isModifier" : false,
"isSummary" : false,
"mapping" : [
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Extension.value[x]",
"path" : "Extension.value[x]",
"short" : "Value of extension",
"definition" : "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Extension.value[x]",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "Expression"
}
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key" : "inv-1",
"severity" : "error",
"human" : "FHIR query language not allowed.",
"expression" : "language!='application/x-fhir-query'",
"xpath" : "not(f:language/@value='application/x-fhir-query')",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier" : false,
"isSummary" : false,
"mapping" : [
{
"identity" : "rim",
"map" : "N/A"
}
]
}
]
},
"differential" : {
"element" : [
{
"id" : "Extension",
"path" : "Extension",
"short" : "Expression for when to enable the item",
"definition" : "An expression that returns a boolean value for whether to enable the item.",
"comment" : "This is only permitted when the containing item does NOT have any enableWhen elements.\r\n\r\nIf the expression involves comparisons between elements that have different precisions but are otherwise equal, FHIRPath will resolve the expression to an empty set, which will in turn evaluate to false (meaning the item won't be enabled). If this is not the desired behavior, the author should add a `.allTrue()` to the end of the expression, which will result in an indeterminate outcome because of precision differences being handled as 'true' and the item being enabled. Questionnaires SHOULD be designed to take into account challenges around varying precision to minimize non-deterministic situations by setting constraints around expected precision, etc.\r\n\r\nIf the expression evaluates to something other than a boolean true or false, the Form Filler SHOULD still display the form, and if it does so, SHOULD treat the element as 'enabled' and display a warning to the user that the questionnaire logic was faulty and it's possible that the item shouldn't be enabled.",
"max" : "1"
},
{
"id" : "Extension.extension",
"path" : "Extension.extension",
"max" : "0"
},
{
"id" : "Extension.url",
"path" : "Extension.url",
"fixedUri" : "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression"
},
{
"id" : "Extension.value[x]",
"path" : "Extension.value[x]",
"type" : [
{
"code" : "Expression"
}
],
"constraint" : [
{
"key" : "inv-1",
"severity" : "error",
"human" : "FHIR query language not allowed.",
"expression" : "language!='application/x-fhir-query'",
"xpath" : "not(f:language/@value='application/x-fhir-query')",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
}
]
}
]
}
}
IG © 2022+ HL7 International - FHIR Infrastructure Work Group. Package hl7.fhir.uv.sdc#3.0.0 based on FHIR 4.0.1. Generated 2023-09-21
Links: Table of Contents |
QA Report
| Version History |
|
Propose a change