FHIR specification support
There are two specifications that serve as requirements for the library:
In this section, we will provide details on how each requirement in these two specifications is supported by the library.
The following table summarizes the library's support for the key fields in the questionnaire item element .
Support
Notes
linkId
✅
definition
✅
See Definition-based extraction
code
⛔️
prefix
✅
text
✅
type
✅
See Questionnaire item type
enableWhen
✅
enableBehavior
✅
required
✅
repeats
✅
readOnly
✅
maxLength
✅
For text only
answerConstraint
⛔️
answerValueSet
✅
answerOption
✅
initial
✅
item
⚠️
Items nested under group are supported (see #726 ); items nested under non-group questions are not yet supported (see #910 ).
The following table summarizes the library's support for questionnaire item types .
Item type
Support
Example
Notes
Group
✅
Display
✅
Question
✅
See sub-types below
Boolean
✅
JSON
Decimal
✅
Integer
✅
Date
✅
JSON
Date time
✅
JSON
Time
⛔️
String
✅
Rendered as single-line text box
Text
✅
Rendered as multi-line text box
Url
⛔️
Choice
✅
Open Choice
✅
Deprecated in R5. Use answerConstraint
instead.
Attachment
✅
JSON
Reference
⛔️
Quantity
✅
Structured Data Capture Specification
This section summarizes the library's support for advanced form rendering .
Code
Support
Example
Notes
rendering-style
⛔️
rendering-xhtml
⛔️
displayCatagory
⚠️
instructions
code only
openLabel
⛔️
hidden
✅
itemMedia
✅
JSON
itemAnswerMedia
✅
Control appearance
Support
Notes
itemControl
✅
See below
choiceOrientation
✅
sliderStepValue
✅
width
⛔️
collapsible
⛔️
The itemControl
extension allows for the selection of a specific control widget for questionnaire items. See example usage . Item controls are only compatible with certain questionnaire item types (e.g. drop down item control cannot be applied to boolean type questions). This is listed in the Compatible item type
column in the following table. Unsupported item controls are omitted in the table below.
Item control
Compatible item type
Example
Notes
Image
Page
Group
JSON
Fly-over
Display
Help-Button
Display
JSON
Auto-complete
Choice
JSON
Filter-forward based on inlined answerOptions
Drop down
Choice
JSON
Default for 4 or more answer options
Check-box
Choice
JSON
Default for repeat answers
Radio Button
Choice
JSON
Default for less than 4 answer options
Slider
Integer
JSON
Additional display content
Code
Support
Notes
supportLink
⛔️
choiceColumn
⛔️
optionPrefix
⛔️
valueset-label
⛔️
entryFormat
⚠️
Used in SDC for user guidance, not for validation. However, we use it to validate date where appropriate. See #1850 .
shortText
⛔️
Code
Support
Notes
required
✅
repeats
✅
readOnly
✅
rendering-styleSensitive
⛔️
optionalDisplay
⛔️
This section summarizes the library's support for form behavior and calculation .
The library supports the following value constraints which limit the allowed values for answers.
Value constraint
Support
Notes
maxLength
✅
For text only
minLength
✅
For text only
regex
✅
minValue
✅
maxValue
✅
minQuantity
⛔️
maxQuantity
⛔️
maxDecimalPlaces
✅
mimeType
⛔️
maxSize
⛔️
The library supports the following choice restrictions . Note some of these are already covered in Questionnaire item support.
Choice restriction
Support
Notes
answerOption
✅
answerValueSet
✅
answerExpression
✅
required
✅
repeats
✅
readOnly
✅
minOccurs
⛔️
maxOccurs
⛔️
optionExclusive
✅
unitOption
⛔️
unitValueSet
⛔️
referenceResource
⛔️
referenceProfile
⛔️
candidateExpression
✅
lookupQuestionnaire
⛔️
Code
Support
Example
Notes
cqf-library
⛔️
launchContext
✅
variable
✅
initialExpression
✅
calculatedExpression
✅
JSON
cqf-calculatedValue
⛔️
cqf-expression
⚠️
JSON
text
only
Code
Support
Notes
entryMode
✅
intial
✅
enableWhen
✅
enableWhenBehavior
✅
enableWhenExpression
✅
usageMode
⛔️
constraint
⛔️
endpoint
⛔️
signatureRequired
⛔️
ordinalValue
⛔️
text
⛔️
This section summarizes the library's support for expressions .
Name
Support
Example
Notes
variable
✅
answerExpression
✅
initialExpression
✅
candidateExpression
⚠️
#1038
contextExpression
⛔️
calculatedExpression
✅
JSON
enableWhenExpression
✅
JSON
answerOptionToggleExpression
⛔️
itemPopulationContext
⛔️
itemExtractionContext
⛔️
constraint
⛔️
library
⛔️
#1060
launchContext
✅