This page is part of the FHIR Specification (v1.0.0: DSTU 2 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
SDC Form authoring system (id = "conformance-sdc-form-designer")
<Conformance xmlns="http://hl7.org/fhir"> <id value="conformance-sdc-form-designer"/> <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"> <h2>SDC Form Designer</h2> <p>(Requirements Definition)</p> <p>Published: 2014-07-06 (draft)</p> <p>Published by: <b>U.S. Office of the National Coordinator (ONC)</b> </p> <p>This profile defines the expected capabilities of the <i>SDC Form Designer</i> role when conforming to the S&I Framework's <a href="sdc.html">Structured Data Capture FHIR implementation guide</a>. This role is responsible for defining forms ( <a href="questionnaire.html">Questionnaire</a> resource instances) that include references to <a href="dataelement.html">DataElement</a> resouces which define the meaning of particular questions and can be used to aid in pre-populating and auto-populating forms. </p> <h2>General</h2> <table> <tbody> <tr> <th>FHIR Version:</th> <td>1.0.0</td> </tr> <tr> <th>Supported formats:</th> <td>xml, json</td> </tr> </tbody> </table> <h2>REST behavior</h2> <p>The <a href="questionnaire.html">Questionnaire</a> resource is used to create and maintain SDC-compliant forms. The <a href="dataelement.html">DataElement</a> resource is used to look-up existing data elements that can be referenced in forms. Optionally, <a href="dataelement.html">DataElement</a>s can also be created and maintained in conjunction with form editing. This is an optional feature as not all environments will provide support for data element definitions from form authors. The <a href="valueset.html">ValueSet</a> resource is used to capture allowed values for questions that are to be answered from a pre-defined list of values. For some forms, some or all of the referenced value sets will be handled as 'contained' resources, meaning the value set exists only in the context of the <a href="questionnaire.html">Questionnaire</a> and cannot be referenced or maintained without also updating the form. However, systems should support value set re-use across questionnaires. (Version-specific referencing can be used to avoid value sets from changing independent of the referencing <a href="questionnaire.html">Questionnaire</a>.) </p> <p> <b>Security:</b> </p> <p>Implementations must meet the general security requirements documented in the <a href="sdc-security.html">SDC implementation guide</a>. </p> <h3>Summary</h3> <table class="grid"> <thead> <tr> <th>Resource</th> <th>Search</th> <th>Read</th> <th>Read Version</th> <th>Instance History</th> <th>Resource History</th> <th>Validate</th> <th>Create</th> <th>Update</th> <th>Delete</th> </tr> </thead> <tbody> <tr> <th>Questionnaire</th> <td> <a href="#Questionnaire-search-type" title="Allows discovery of existing questionnaires for editing">SHALL</a> </td> <td> <a href="#Questionnaire-read" title="Allows retrieval of a specific questionnaire by id">SHALL</a> </td> <td> <a href="#Questionnaire-vread" title="Allows retrieval of a historical version of a questionnaire">SHOULD</a> </td> <td> <a href="#Questionnaire-history-instance" title="Allows review of changes to questionnaire over time">SHOULD</a> </td> <td/> <td> <a href="#Questionnaire-validate" title="Allows verification that form is valid prior to submission - useful for some workflows.">MAY</a> </td> <td> <a href="#Questionnaire-create" title="Allows submission of a new form design">SHALL</a> </td> <td> <a href="#Questionnaire-update" title="Allows revision of an existing form design. Note that certain types of updates may necessitate retiring the existing form and defining a new one.">SHALL</a> </td> <td> <a href="#Questionnaire-delete" title="Not all servers will support deletion of forms. Status change to 'retired' will be more typical, though deletion of draft profiles may keep repositories cleaner.">MAY</a> </td> </tr> <tr> <th>ValueSet</th> <td> <a href="#ValueSet-search-type" title="Allows discovery of existing value sets for use by questions in a form">SHALL</a> </td> <td> <a href="#ValueSet-read" title="Allows retrieval of a specific value set by id">SHALL</a> </td> <td> <a href="#ValueSet-vread" title="Allows retrieval of a historical version of a value set">SHOULD</a> </td> <td> <a href="#ValueSet-history-instance" title="Allows review of changes to a value set over time">SHOULD</a> </td> <td/> <td> <a href="#ValueSet-validate" title="Allows verification that a value set is valid prior to submission - useful for some workflows.">MAY</a> </td> <td> <a href="#ValueSet-create" title="Allows definition of a new value set used by one or more questions">SHALL</a> </td> <td> <a href="#ValueSet-update" title="Allows existing value sets referenced by a form to be maintained. Note that certain types of updates may necessitate retiring the existing value set and defining a new one.">SHALL</a> </td> <td> <a href="#ValueSet-delete" title="Not all servers will support deletion of value sets. Status change to 'retired' will be more typical, though deletion of draft value sets may keep repositories cleaner.">MAY</a> </td> </tr> <tr> <th>DataElement</th> <td> <a href="#DataElement-search-type" title="Allows a user to search for existing data elements for re-use in a form design">SHALL</a> </td> <td> <a href="#DataElement-read" title="Allows retrieval of data elements referenced in an existing form design">SHALL</a> </td> <td> <a href="#DataElement-vread" title="Allows viewing of specific versions of a data element if the form references a specific version">SHOULD</a> </td> <td> <a href="#DataElement-history-instance" title="Allows review of changes to a data element over time">SHOULD</a> </td> <td/> <td> <a href="#DataElement-validate" title="Allows maintaining data elements while creating and editing forms - user can check that proposed data element is valid prior to submission">MAY</a> </td> <td> <a href="#DataElement-create" title="Allows defining new data elements for subsequent re-use while creating and editing forms">MAY</a> </td> <td> <a href="#DataElement-update" title="Allows maintaining data elements while creating and editing forms. Note that certain types of updates may necessitate retiring the existing data element and defining a new one.">MAY</a> </td> <td> <a href="#DataElement-delete" title="Allows maintaining data elements while creating and editing forms. Note that not all servers will support deleting data elements.">MAY</a> </td> </tr> </tbody> </table> <br/> <br/> <h3> <a href="questionnaire.html">Questionnaire</a> </h3> <h4>Interactions</h4> <table class="list"> <thead> <tr> <th>Name</th> <th>Conformance</th> <th>Description</th> </tr> </thead> <tbody> <tr> <th> <a name="Questionnaire-search-type"> </a> <span>search-type</span> </th> <td>SHALL</td> <td> <p>Allows discovery of existing questionnaires for editing</p> </td> </tr> <tr> <th> <a name="Questionnaire-read"> </a> <span>read</span> </th> <td>SHALL</td> <td> <p>Allows retrieval of a specific questionnaire by id</p> </td> </tr> <tr> <th> <a name="Questionnaire-create"> </a> <span>create</span> </th> <td>SHALL</td> <td> <p>Allows submission of a new form design</p> </td> </tr> <tr> <th> <a name="Questionnaire-update"> </a> <span>update</span> </th> <td>SHALL</td> <td> <p>Allows revision of an existing form design. Note that certain types of updates may necessitate retiring the existing form and defining a new one.</p> </td> </tr> <tr> <th> <a name="Questionnaire-history-instance"> </a> <span>history-instance</span> </th> <td>SHOULD</td> <td> <p>Allows review of changes to questionnaire over time</p> </td> </tr> <tr> <th> <a name="Questionnaire-vread"> </a> <span>vread</span> </th> <td>SHOULD</td> <td> <p>Allows retrieval of a historical version of a questionnaire</p> </td> </tr> <tr> <th> <a name="Questionnaire-delete"> </a> <span>delete</span> </th> <td>MAY</td> <td> <p>Not all servers will support deletion of forms. Status change to 'retired' will be more typical, though deletion of draft profiles may keep repositories cleaner.</p> </td> </tr> <tr> <th> <a name="Questionnaire-validate"> </a> <span>validate</span> </th> <td>MAY</td> <td> <p>Allows verification that form is valid prior to submission - useful for some workflows.</p> </td> </tr> </tbody> </table> <br/> <br/> <h3> <a href="valueset.html">ValueSet</a> </h3> <h4>Interactions</h4> <table class="list"> <thead> <tr> <th>Name</th> <th>Conformance</th> <th>Description</th> </tr> </thead> <tbody> <tr> <th> <a name="ValueSet-search-type"> </a> <span>search-type</span> </th> <td>SHALL</td> <td> <p>Allows discovery of existing value sets for use by questions in a form</p> </td> </tr> <tr> <th> <a name="ValueSet-read"> </a> <span>read</span> </th> <td>SHALL</td> <td> <p>Allows retrieval of a specific value set by id</p> </td> </tr> <tr> <th> <a name="ValueSet-create"> </a> <span>create</span> </th> <td>SHALL</td> <td> <p>Allows definition of a new value set used by one or more questions</p> </td> </tr> <tr> <th> <a name="ValueSet-update"> </a> <span>update</span> </th> <td>SHALL</td> <td> <p>Allows existing value sets referenced by a form to be maintained. Note that certain types of updates may necessitate retiring the existing value set and defining a new one.</p> </td> </tr> <tr> <th> <a name="ValueSet-history-instance"> </a> <span>history-instance</span> </th> <td>SHOULD</td> <td> <p>Allows review of changes to a value set over time</p> </td> </tr> <tr> <th> <a name="ValueSet-vread"> </a> <span>vread</span> </th> <td>SHOULD</td> <td> <p>Allows retrieval of a historical version of a value set</p> </td> </tr> <tr> <th> <a name="ValueSet-delete"> </a> <span>delete</span> </th> <td>MAY</td> <td> <p>Not all servers will support deletion of value sets. Status change to 'retired' will be more typical, though deletion of draft value sets may keep repositories cleaner.</p> </td> </tr> <tr> <th> <a name="ValueSet-validate"> </a> <span>validate</span> </th> <td>MAY</td> <td> <p>Allows verification that a value set is valid prior to submission - useful for some workflows.</p> </td> </tr> </tbody> </table> <br/> <br/> <h3> <a href="dataelement.html">DataElement</a> </h3> <h4>Interactions</h4> <table class="list"> <thead> <tr> <th>Name</th> <th>Conformance</th> <th>Description</th> </tr> </thead> <tbody> <tr> <th> <a name="DataElement-search-type"> </a> <span>search-type</span> </th> <td>SHALL</td> <td> <p>Allows a user to search for existing data elements for re-use in a form design</p> </td> </tr> <tr> <th> <a name="DataElement-read"> </a> <span>read</span> </th> <td>SHALL</td> <td> <p>Allows retrieval of data elements referenced in an existing form design</p> </td> </tr> <tr> <th> <a name="DataElement-vread"> </a> <span>vread</span> </th> <td>SHOULD</td> <td> <p>Allows viewing of specific versions of a data element if the form references a specific version</p> </td> </tr> <tr> <th> <a name="DataElement-history-instance"> </a> <span>history-instance</span> </th> <td>SHOULD</td> <td> <p>Allows review of changes to a data element over time</p> </td> </tr> <tr> <th> <a name="DataElement-create"> </a> <span>create</span> </th> <td>MAY</td> <td> <p>Allows defining new data elements for subsequent re-use while creating and editing forms</p> </td> </tr> <tr> <th> <a name="DataElement-update"> </a> <span>update</span> </th> <td>MAY</td> <td> <p>Allows maintaining data elements while creating and editing forms. Note that certain types of updates may necessitate retiring the existing data element and defining a new one.</p> </td> </tr> <tr> <th> <a name="DataElement-delete"> </a> <span>delete</span> </th> <td>MAY</td> <td> <p>Allows maintaining data elements while creating and editing forms. Note that not all servers will support deleting data elements.</p> </td> </tr> <tr> <th> <a name="DataElement-validate"> </a> <span>validate</span> </th> <td>MAY</td> <td> <p>Allows maintaining data elements while creating and editing forms - user can check that proposed data element is valid prior to submission</p> </td> </tr> </tbody> </table> </div> </text> <name value="SDC Form Designer"/> <status value="draft"/> <publisher value="U.S. Office of the National Coordinator (ONC)"/> <contact> <telecom> <system value="other"/> <value value="http://wiki.siframework.org/Structured+Data+Capture+Initiative"/> </telecom> </contact> <date value="2014-07-06"/> <description value="This profile defines the expected capabilities of the ''SDC Form Designer'' role when conforming to the S&I Framework's [[sdc|Structured Data Capture FHIR implementation guide]]. This role is responsible for defining forms ([[Questionnaire]] resource instances) that include references to [[DataElement]] resouces which define the meaning of particular questions and can be used to aid in pre-populating and auto-populating forms."/> <kind value="requirements"/> <fhirVersion value="1.0.0"/> <acceptUnknown value="extensions"/> <format value="xml"/> <format value="json"/> <rest> <mode value="client"/> <documentation value="The [[Questionnaire]] resource is used to create and maintain SDC-compliant forms. The [[DataElement]] resource is used to look-up existing data elements that can be referenced in forms. Optionally, [[DataElement]]s can also be created and maintained in conjunction with form editing. This is an optional feature as not all environments will provide support for data element definitions from form authors. The [[ValueSet]] resource is used to capture allowed values for questions that are to be answered from a pre-defined list of values. For some forms, some or all of the referenced value sets will be handled as 'contained' resources, meaning the value set exists only in the context of the [[Questionnaire]] and cannot be referenced or maintained without also updating the form. However, systems should support value set re-use across questionnaires. (Version-specific referencing can be used to avoid value sets from changing independent of the referencing [[Questionnaire]].)"/> <security> <description value="Implementations must meet the general security requirements documented in the [[sdc-security|SDC implementation guide]]."/> </security> <resource> <type value="Questionnaire"/> <profile> <reference value="http://hl7.org/fhir/StructureDefinition/sdc-questionnaire"/> </profile> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHALL"/> </extension> <code value="search-type"/> <documentation value="Allows discovery of existing questionnaires for editing"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHALL"/> </extension> <code value="read"/> <documentation value="Allows retrieval of a specific questionnaire by id"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHALL"/> </extension> <code value="create"/> <documentation value="Allows submission of a new form design"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHALL"/> </extension> <code value="update"/> <documentation value="Allows revision of an existing form design. Note that certain types of updates may necessitate retiring the existing form and defining a new one."/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHOULD"/> </extension> <code value="history-instance"/> <documentation value="Allows review of changes to questionnaire over time"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHOULD"/> </extension> <code value="vread"/> <documentation value="Allows retrieval of a historical version of a questionnaire"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="MAY"/> </extension> <code value="delete"/> <documentation value="Not all servers will support deletion of forms. Status change to 'retired' will be more typical, though deletion of draft profiles may keep repositories cleaner."/> </interaction> <!-- Should we include this in the conformance statement at all? --> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="MAY"/> </extension> <code value="validate"/> <documentation value="Allows verification that form is valid prior to submission - useful for some workflows."/> </interaction> </resource> <!-- Do we want to define what search criteria must be supported? --> <resource> <type value="ValueSet"/> <profile> <reference value="http://hl7.org/fhir/StructureDefinition/valueset-sdc"/> </profile> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHALL"/> </extension> <code value="search-type"/> <documentation value="Allows discovery of existing value sets for use by questions in a form"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHALL"/> </extension> <code value="read"/> <documentation value="Allows retrieval of a specific value set by id"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHALL"/> </extension> <code value="create"/> <documentation value="Allows definition of a new value set used by one or more questions"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHALL"/> </extension> <code value="update"/> <documentation value="Allows existing value sets referenced by a form to be maintained. Note that certain types of updates may necessitate retiring the existing value set and defining a new one."/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHOULD"/> </extension> <code value="history-instance"/> <documentation value="Allows review of changes to a value set over time"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHOULD"/> </extension> <code value="vread"/> <documentation value="Allows retrieval of a historical version of a value set"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="MAY"/> </extension> <code value="delete"/> <documentation value="Not all servers will support deletion of value sets. Status change to 'retired' will be more typical, though deletion of draft value sets may keep repositories cleaner."/> </interaction> <!-- Should we include this in the conformance statement at all? --> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="MAY"/> </extension> <code value="validate"/> <documentation value="Allows verification that a value set is valid prior to submission - useful for some workflows."/> </interaction> </resource> <!-- Do we want to define what search criteria must be supported? --> <resource> <type value="DataElement"/> <profile> <reference value="http://hl7.org/fhir/StructureDefinition/dataelement-sdc"/> </profile> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHALL"/> </extension> <code value="search-type"/> <documentation value="Allows a user to search for existing data elements for re-use in a form design"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHALL"/> </extension> <code value="read"/> <documentation value="Allows retrieval of data elements referenced in an existing form design"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHOULD"/> </extension> <code value="vread"/> <documentation value="Allows viewing of specific versions of a data element if the form references a specific version"/> </interaction> <!-- Do we need this to be SHALL too? --> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="SHOULD"/> </extension> <code value="history-instance"/> <documentation value="Allows review of changes to a data element over time"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="MAY"/> </extension> <code value="create"/> <documentation value="Allows defining new data elements for subsequent re-use while creating and editing forms"/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="MAY"/> </extension> <code value="update"/> <documentation value="Allows maintaining data elements while creating and editing forms. Note that certain types of updates may necessitate retiring the existing data element and defining a new one."/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="MAY"/> </extension> <code value="delete"/> <documentation value="Allows maintaining data elements while creating and editing forms. Note that not all servers will support deleting data elements."/> </interaction> <interaction> <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation"> <valueCode value="MAY"/> </extension> <code value="validate"/> <documentation value="Allows maintaining data elements while creating and editing forms - user can check that proposed data element is valid prior to submission"/> </interaction> </resource> </rest> </Conformance>
Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.