Smart Forms is based on FHIR R4. The checklist below is a summary of the Questionnaire item types and SDC extensions supported by Smart Forms.
For specific details of each item types/extensions, refer to the docs.
The list can be found here: http://hl7.org/fhir/R4/valueset-item-type.html
- group
- display
- boolean
- decimal
- integer
- date
- dateTime
- time
- string
- text
- url (partial implementation - using string UI component currently)
- choice
- open-choice
- attachment
- reference (partial implementation - using string UI component currently)
- quantity (partial implementation - using decimal UI component currently)
View the source here: http://hl7.org/fhir/uv/sdc/expressions.html
- variable
- answerExpression
- initialExpression
- candidateExpression
- contextExpression
- calculatedExpression
- enableWhenExpression
- answerOptionToggleExpression
- itemPopulationContext
- itemExtractionContext
- constraint
- library
- launchContext
- x-fhir-query
View the source here: http://hl7.org/fhir/uv/sdc/rendering.html
- rendering-style
- rendering-xhtml
- displayCategory
- openLabel
- hidden
- itemMedia
- itemAnswerMedia
- 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
- supportLink
- choiceColumn
- optionPrefix
- valueset-label
- entryFormat
- shortText
- required
- repeats
- readOnly
- rendering-styleSensitive
- optionalDisplay
View the source here: http://hl7.org/fhir/uv/sdc/behavior.html
- maxLength
- minLength
- regex
- minValue
- maxValue
- minQuantity
- maxQuantity
- maxDecimalPlaces
- mimeType
- maxSize
- answerOption
- answerValueSet
- answerValueSet with Expression
- answerExpression
- answerOptionToggleExpression
- required
- repeats
- readOnly
- minOccurs
- maxOccurs
- optionExclusive
- unitOption
- unitValueSet
- unitOpen
- unitSupplementalSystem
- referenceResource
- referenceProfile
- candidateExpression
- lookupQuestionnaire
- cqf-library
- launchContext
- variable
- initialExpression
- calculatedExpression
- cqf-calculatedValue
- cqf-expression
- entryMode
- initial
- enableWhen
- enableBehavior
- enableWhenExpression
- usageMode
- constraint
- endpoint
- signatureRequired
- ordinalValue
- text
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.
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.
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.
View the page here: http://hl7.org/fhir/uv/sdc/adaptive.html
This is not something on our radar at the moment :(