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 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
Page standards status: Trial-use |
This page defines the conformance expectations for systems implementing the SDC (Structured Data Capture) Implementation Guide. SDC defines a wide range of features for authoring, rendering, pre-populating, dynamically controlling, and extracting data from FHIR Questionnaires. Obviously SDC IG represents a lot of capabilities and not all systems will necessarily need to take on all of these features. In fact, it is unlikely that any one system will support all of the features defined in this guide. Instead, each downstream implementation guide or implementer will choose the specific subset of SDC features of interest and build those only.
This guide defines a set of CapabilityStatements setting required and suggested RESTful interface capabilities for different types of systems that work with Questionnaires and QuestionnaireResponses. Most implementers of this guide SHOULD conform to at least one of these. The guide also defines profiles. These profiles fall into two categories:
In many cases, when complying with SDC, a system may wish to comply with multiple profiles at once. For example, an implementer may need advanced rendering, advanced behavior, population, and extraction all in a single Questionnaire. When creating a profile, it is not possible to inherit from multiple profiles at once. However, it is possible to use extensions in your profile, either to assert an expectation for compliance with additional profiles or to manually re-assert the same set of constraints and then assert that the elements in the profile meet the requirements of a reference profile.
This IG can also be used as a tool-box of extensions and approaches that an implementation or downstream IG could use as 'inspiration' to their own set of profiles and CapabilityStatements that don't declare conformance with SDC at all. (Though referencing SDC as a source of additional information and to provide credit is still encouraged.)
If you have used SDC in the definition of Questionnaires that are publicly available, we encourage you to provide links to them on our SDC Usage Confluence page. If you don't have edit access to HL7's Confluence site, you can submit a request to add a link with a post to the Questionnaire stream on http://chat.fhir.org.
Future versions of this IG may explore additional mechanisms to support implementers who wish to conform with specific common and useful subsets of SDC and combine them in arbitrary ways, likely using the obligation extension.
This IG pre-adopts the use of the FHIR Application Feature Framework to allow SDC conformant systems to declare what
expression languages they support. This is done by including a 'feature' extension on the CapabilityStatement.rest.resource
element for Questionnaire, and potentially for Library. There are three codes defined:
behaviorExpressionLanguage
populationExpressionLanguage, and
extractionExpressionLanguage.
Additional information about their use can be found here.
As an example, the following asserts support for CQL for behavioral extensions. The extension can repeat multiple times, either to convey multiple supported languages or to convey languages for different contexts (behavior, population, and/or extraction).
"resource" : [{
"extension" : [{
"url" : "http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature",
"extension" : [{
"url" : "code",
"valueCodeableConcept" : {
"coding" : [{
"system" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
"code" : "behaviorExpressionLanguage"
}]
}
}, {
"url" : "value",
"valueCodeableConcept" : {
"coding" : [{
"system" : "urn:ietf:bcp:13",
"code" : "text/cql-expression"
}]
}
}]
}],
"type" : "Questionnaire",
...
},
...
]
<resource>
<extension url="http://hl7.org/fhir/uv/application-feature/StructureDefinition/feature">
<extension url="code">
<valueCodeableConcept>
<coding>
<system value="http://hl7.org/fhir/uv/sdc/CodeSystem/temp"/>
<code value="behaviorExpressionLanguage"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="value">
<valueCodeableConcept>
<coding>
<system value="urn:ietf:bcp:13"/>
<code value="text/cql-expression"/>
</coding>
</valueCodeableConcept>
</extension>
</extension>
<type value="Questionnaire">
...
</resource>