Structured Data Capture, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 4.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/sdc/ and changes regularly. See the Directory of published versions
IG Change History
This provides a list of changes to the SDC specification since its initial release
2024-12-20 v4.0.0-ballot - SDC R4 ballot
- A large number of non-substantive clarifications and corrections, plus the following substantive changes:
- General changes:
- FHIR-49002 - Created common abstract parents for Questionnaire and QuestionnaireResponse shared across 'adaptive' and 'regular' versions
- FHIR-43153 - ReferencesContained extension replaced core extension
- FHIR-49000 - Add interversion extensions to support R5 elements
- FHIR-49001 - Require versionAlgorithm to be declared
- FHIR-48949 - Made 'property' in CodeSystem and ValueSet mustSupport
- FHIR-31077 - Clarified expectations for enableWhen elements in a QuestionnaireResponse
- FHIR-32898 - Introduced the various workflow instantiates extensions on QuestionnaireResponse
- FHIR-44979 - Allow weight extension on QuestionnaireResponse
- FHIR-23977 - Changed preferredTerminologyServer extension to core extension
- FHIR-39693 - Softened expectations on handling signatures
- Adaptive forms changes:
- FHIR-48761 - Made the adaptive extension 1..* on search and 0..* on the contained Questionnaire
- FHIR-49004 - Generified subject to be optional and allow any resource, not just Patient
- FHIR-35886 - Enforce that Questionnaires valid against the profile must always be contained within a QuestionnaireResponse and documented security considerations
- Advanced behavior changes:
- FHIR-42970 - Dropped the use of the regex extension and replaced with the constraint extension
- FHIR-31992 - dropped cqf-calculatedValue for min and maxOccurs
- FHIR-48807 - Tighened rules on 'page' extension to prohibit non-page/header/footer siblings
- FHIR-42990 - deprecated styleSensitive and added rendering-critical extension (and moved it to the base Questionnaire profile)
- FHIR-33675 - Added an extension to support indicating keyboard type
- FHIR-28611, FHIR-46056 - Changed ordinalValue to itemWeight and moved it to answer
- FHIR-37362 - Replaced constraint extension with core extension
- Modular form changes:
- FHIR-40454 - Allow $assemble to be passed the Questionnaire in the same manner as $populate
- FHIR-40452, FHIR-40554 - Corrected statement about url and version to indicate that they don't change between unassembled and assembled representations
- Extraction changes:
- Handling Expressions changes:
- FHIR-41331 - Allow user in launchContext to be Device or Organization
- FHIR-48678 - Added a 'clinical' launchContext code and set rules for other contexts about allowed number of repetitions
- FHIR-48334 - Allow $extract to be passed in the Questionnaire
- FHIR-37508 - Dropped the answers() FHIRPath function and clarified that answerExpression always returns a Coding, plus additional guidance on how InitialExpression and CalculatedExpression handle non-Coding codes. Also explain how to implement weight.
- FHIR-43083 - Added guidance on handling colliding names
- Population changes:
- FHIR-48652 - Made ObservationLinkperiod required somewhere for observation population profile, allow it on the root
- FHIR-48983 - Add subject as an operation parameter to $populate-html and $populate-link
- FHIR-39462 - Collapsed the canonial, reference and resource Questionnaire parameters into a single polymorphic parameter on the populate operations
- FHIR-44578 - Corrected cardinalities on context property and sub-properties for populate operations
- FHIR-48670 - Corrected $populate launchContext parameter type and cardinality
- FHIR-39445 - Collapsed launchContext and context in the populate operations, allowed Resource as a value for context, and allowed source queries as a type of context
- FHIR-46197 - Allow populate operations to be called without a subject
- FHIR-37341 - Explain handling of code type when populating
- Advanced rendering changes
- FHIR-21023 - Dropped 'prompt' as a code for itemControl
- FHIR-37466 - Introduced columnCount extension
2021-10-31 v3.0.0 - SDC R3 Official Publication based on FHIR R4 (STU)
- Updated to reflect FHIR version 4.0.1, including new publishing framework and template (with specific template version)
- To support this template change, numerous other changes are performed
- Converted profiles, extensions, and other structure definitions to XML format
- Added a 'credits' section and provided differentiation with IHE
- Replaced sdc-questionnaire-extract with three profiles for each extraction mechanism:
- sdc-questionnaire-extr-obsn (Observation-based)
- sdc-questionnaire-extr-defn (Definition-based), and
- sdc-questionnaire-extr-smap (StructureMap-based)
- Created three profiles for each population mechanism:
- sdc-questionnaire-pop-obsn (Observation-based)
- sdc-questionnaire-pop-exp (Expression-based), and
- sdc-questionnaire-pop-smap (StructureMap-based)
- Other new profiles created are:
- sdc-task to define how Task is used to ask for a Questionnaire to be completed
- sdc-servicerequest to define how ServiceRequest is used to ask for a Questionnaire to be completed
- sdc-library that defines how a Library is used as a logic computable library within the ONC's Structured Data Capture standard
- Clarified approaches for population and extraction mechanisms
- Added new section on modular questionnaires
- Created various new extensions, some of them are explained as follows:
- sdc-questionnaire-performerType to indicate the types of resources that can record answers to a Questionnaire
- Two extensions for the inclusive upper and lower bound on the range of allowed values for a ‘quantity’ type question
- An extension to indicate if a questionnaire is adaptive
- Migrated two image extensions from CPG specification to support associating images with question and responses
- Added two extensions to support observation-based extraction
- Updated many profiles, clarified the scope and usage of the profiles, and added new examples to the profiles (based on submitted Change requests)
- Several updates or enhancements to the documentation text to improve clarity
2019-03-29 v2.7.0 - SDC R3 (STU ballot 1) Ballot Candidate based on FHIR R4 (STU) ballot candidate
- Updated to reflect final version of R4, including migration of a number of extensions from core to the SDC specification
- Introduction of several new extensions to support population and extraction
- Clean-up of the specification and completion of description of the rendering and flow control pages
- Numerous other changes based on submitted Change requests
2018-08-31 v2.5.0 - SDC Edition 3 (Draft) Ballot Candidate based on FHIR R4 (STU) ballot candidate
- Updated to reflect changes to the Questionnaire, QuestionnaireResponse and ValueSet resources including alignment of data elements and search criteria. Significant changes include:
- Renaming of option and options to answerOption and answerValueSet
- revamping enableWhen to have an operator
- Additional metadata elements have been added to Questionnaire and a few elements have been renamed
- The deReference extension has been replaced by Questionnaire.item.definition
- Sort order of elements has shifted in all resources to better align with other definitional resources
- Removed the data element profile and the focus on using independently maintained data elements as a mechanism for population, including the use of the deMap extension
- Changed the realm from 'us' to 'uv' as there are no longer any US-specific constraints
- Revamped population mechanisms to focus on FHIR-based population leveraging mechanisms found useful in existing production systems
- Added support for extracting information from a QuestionnaireResponse into FHIR resources including a new operation
- Added support for adaptive questionnaires, including a new operation and new profiles for Questionnaire and QuestionnaireResponse
- Split the sdc-questionnaire profile into multiple profiles:
- sdc-questionnaire which focuses on base capabilities, discoverability and core workflow
- sdc-questionaire-render which focuses on advanced rendering and formatting control
- sdc-questionaire-behave which focuses on advanced behavioral controls and calculations
- sdc-questionaire-populate which focuses on elements supporting questionnaire population
- sdc-questionaire-extract which focuses on elements supporting data extraction
- Added new extensions to support form population
- Reorganized the implementation guide such that each set of behavior is described in a separate section
2017-03-20 v2.0 - SDC R2 (STU) Official Publication based on FHIR R3 (STU)
- Updated to reflect changes to the Questionnaire, QuestionnaireResponse and ValueSet resources including alignment of data elements and search criteria. Significant changes include:
- Questionnaire.item.linkId is now mandatory on all elements (including display items)
- Additional metadata elements have been added to Questionnaire and a few elements have been renamed
- The deReference extension has been replaced by Questionnaire.item.definition
- Sort order of elements has shifted in all resources to better align with other definitional resources
- Revamped the look & feel of the profiles to make them easier to navigate and place descriptive text "in context" and changed the menu to make it easier to access IG content
- Renamed the sdc-response profile to sdc-questionnaireresponse and sdc-element to sdc-dataelement to be clearer and avoid confusion
- Renamed the conformance resources to no longer start with "conformance-" to avoid unnecessary redundancy
- Clarified and revamped the Form Archiver and Form Receiver to more closely align with the equivalent IHE roles. Specifically, clarified that archiver is write-only. Changed receiver from exposing QuestionnaireResponses as read-write to only consuming responses via a new operation - process-response
- Introduced a new capability statement called SDC Form Response Manager that builds on SDC Form Manager to provide read/write support for QuestionnaireResponses.
- Added additional optional populate and terminology operations to the Form Filler and Form Manager
- Changed DataElement.element to 1..* instead of 1..1 to support the use of Questionnaires with complex data types (e.g. addresses)
- Changed DataElement.element.definition from 1..1 to 0..1
- Added a rule that the reference from a Questionnaire to a QuestionnaireResponse must be version-specific
- Various changes to the documentation text to improve clarity and add implementation guidance
- Re-organized pages to have table of contents as the root (which resulted in renumbering of sections)
2016-08-11 v1.6 - SDC R2 (STU) Ballot Candidate based on FHIR R3 (STU) ballot candidate
- Updated to reflect changes to the Questionnaire, QuestionnaireResponse and ValueSet resources including alignment of data elements and search criteria. Significant changes include:
- Migrated the previous questionnaire-enableWhen, questionnaire-defaultValue (became initialValue), questionnaire-label (became prefix), questionnaire-readOnly,
questionnaire-maxLength and questionnaire-category (now 0..*) extensions to be part of the Questionnaire resource's core elements
- Refactored Questionnaire to allow both groups and questions to be treated as "items" and introduced the notion of "text" items. This allows for a number of Questionnaire
designs to be simplified, allows new capabilities and altered which extensions were needed. (questionnaire-questionControl ->
questionnaire-itemControl, and questionnaire-instruction, -security, -help, -tooltip, -trailing,
-units, -lowRangeLabel and -highRangeLabel all become items of type "text" with a corresponding questionnaire-itemControl code to differentiate them)
- Added support for additional data types for Questionnaire.item.options
- Questionnaire now has a mandatory "url" to capture the canonical URL for the Questionnaire
- Added support for two new "populate" operations - populatehtml and populatelink operations
- Added a profile for the new CodeSystem resource which has now been split out from
ValueSet. The new profile reflects the constraints and extensions that have been moved over from the SDC Valueset profile
- In the SDC Base Questionnaire profile, Item.required and Item.repeats are no longer 1..1, so they can be omitted if their value is the default
- false
- Added references to a number of new extensions:
- questionnaire-supportLink - allows linking a questionnaire item to a web page, PDF or other artifact that gives supporting information
- questionnaire-sourceStructureMap - allows linking a questionnaire to a
StructureMap that provides a computable mapping between a data source and QuestionnaireResponses for that Questionnaire
- questionnaire-usageMode - allows flagging a questionnaire item to indicate whether it should be
displayed only when capturing data, when displaying a completed questionnaire or both
- questionnaire-studyProtocolIdentifier - allows linking a Questionnaire to the study protocol it's associated with
- questionnaire-allowedProfile - allows questions of type Reference to identify a FHIR profile that must be satisfied by any referenced resource
- questionnaire-ordinalValue - allows capturing a numeric value associated with a code allowed as the answer to a question
- questionnaire-optionPrefix - allows capturing the label (e.g. "(a)", "(ii)", etc.) for an option in a list of options for a question
- questionnaire-unit - allows capturing the computable units associated with a question whose answer is asimple decimal or integer
- questionnaire-referenceFilter - allows specifying a query to use when looking up allowed answers for a question of type Reference
2015-10-24 v1.0 - SDC R2 (DSTU) Official Publication based on FHIR R2 (DSTU) publication