Structured Data Capture
Smart Forms is built as a reference implementation of the Structured Data Capture FHIR specification, and is based on R4 FHIR.
The SDC specification provides a set of guidance around the use of Questionnaire and QuestionnaireResponse that support many additional capabilities that provide benefits to providers, patients and other users.
Before diving into this section, it might be worth reading the usage examples guide in the Components section.
Conformance Checklist
The SDC specification is huge, therefore Smart Forms does not cover all of it. Below is a quick conformance checklist of what is supported currently.
To see the detailed list of what is supported by a Questionnaire item type, please refer to the specific item types in Components.
Using Expressions
View the source here: http://hl7.org/fhir/uv/sdc/expressions.html
Expression Extensions
- variable
- answerExpression
- initialExpression
- candidateExpression
- contextExpression
- calculatedExpression
- enableWhenExpression
- answerOptionToggleExpression
- itemPopulationContext
- itemExtractionContext
- constraint
Other extensions
- library
- launchContext
x-fhir-query enhancements
- x-fhir-query
Advanced Form Rendering
View the source here: http://hl7.org/fhir/uv/sdc/rendering.html
Text Appearance
- rendering-style
- rendering-xhtml
- displayCategory
- openLabel
- hidden
- itemMedia
- itemAnswerMedia
Control Appearance
- itemControl
- choiceOrientation
- sliderStepValue
- width
- collapsible
Questionnaire itemControl
Checklist
View the source here: https://hl7.org/fhir/extensions/CodeSystem-questionnaire-item-control.html
- group
- list
- table
- htable
- gtable
- grid
- header
- footer
- page
- tab-container
- display
- inline
- prompt (deprecated - encouraged to use entryFormat)
- unit (deprecated - encouraged to use questionnaire-unit)
- lower
- upper
- flyover
- help
- legal
- question
- autocomplete
- drop-down
- check-box
- lookup
- radio-button
- slider
- spinner
- text-box
Additional Display Content
- supportLink
- choiceColumn
- optionPrefix
- valueset-label
- entryFormat
- shortText
Other
- required
- repeats
- readOnly
- rendering-styleSensitive
- optionalDisplay
Form Behavior and Calculation
View the source here: http://hl7.org/fhir/uv/sdc/behavior.html
Value Constraints
- maxLength
- minLength
- regex
- minValue
- maxValue
- minQuantity
- maxQuantity
- maxDecimalPlaces
- mimeType
- maxSize
Choice Restriction
- answerOption
- answerValueSet
- answerValueSet with Expression
- answerExpression
- answerOptionToggleExpression
- required
- repeats
- readOnly
- minOccurs
- maxOccurs
- optionExclusive
- unitOption
- unitValueSet
- unitOpen
- unitSupplementalSystem
- referenceResource
- referenceProfile
- candidateExpression
- lookupQuestionnaire
Calculations
- cqf-library
- launchContext
- variable
- initialExpression
- calculatedExpression
- cqf-calculatedValue
- cqf-expression
Other Control
- entryMode
- initial
- enableWhen
- enableBehavior
- enableWhenExpression
- usageMode
- constraint
- endpoint
- signatureRequired
- ordinalValue
- text
Form Population
View the page here: http://hl7.org/fhir/uv/sdc/populate.html
Population operations
- $populate
- $populate-html
- $populate-link
Smart Forms only supports full population at the moment, and SMART App Launch is a requirement. Only patient, practitioner and encounter launch contexts are supported.
Population mechanisms
- Observation-based
- Expression-based
- StructureMap-based
While StructuredMap-based population mechanism is not supported, sdc-questionnaire-sourceQueries is supported, using an expression-based approach.
Form Data Extraction
View the page here: http://hl7.org/fhir/uv/sdc/extraction.html
This is something we are super interested in, but haven't quite got to it yet.
Modular Forms
View the page here: http://hl7.org/fhir/uv/sdc/modular.html#modular-questionnaires
Our Forms Server https://smartforms.csiro.au/api/fhir supports the $assemble operation. The implementation is based on http://hl7.org/fhir/uv/sdc/modular.html#modular-questionnaires.
Adaptive Forms
View the page here: http://hl7.org/fhir/uv/sdc/adaptive.html
This is not something on our radar at the moment :(