<Conformance xmlns="http://hl7.org/fhir">
  <id value="core-examples-sdcformfiller2" />
  <meta>
    <versionId value="1" />
    <lastUpdated value="2016-09-08T12:02:56.443+00:00" />
  </meta>
  <text>
    <status value="generated" />
    <div xmlns="http://www.w3.org/1999/xhtml">
      <h2>SDC Form Filler</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 Filler</i> role when conforming to the S&amp;I Framework's 
        <a href="sdc.html">Structured Data Capture FHIR implementation guide</a>.  This role is responsible for retrieving pre-defined forms, requesting pre-population of forms and/or auto-populating forms, guiding the user through verifying populated data and submitting completed or partially-completed forms.
      </p>
      <p>Note that Form Fillers may also take on the role of 
        <a href="conformance-sdc-form-archiver.html">Form Archiver</a> if they have a requirement to retain the completed version of a form (and potentially the source data that was used to complete it).
      </p>
      <h2>General</h2>
      <table>
        <tbody>
          <tr>
            <th>FHIR Version:</th>
            <td>1.0.2</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> and 
        <a href="../valueset.html">ValueSet</a> resources are retrieved to allow the system to guide the user through the entry process.  The 
        <a href="../binary.html">Binary</a> and 
        <a href="../documentreference.html">DocumentReference</a> resources allow the system to find existing clinical documents that can be within the pre-population process.  (Support for retrieval operations on these resources is optional as the relevant CDA or FHIR structures may also be directly generated by the 
        <i>Form Filler</i> itself.)  Finally, the 
        <a href="../questionnaireresponse.html">QuestionnaireResponse</a> resource is used to record the populated form.
      </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>Resource 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>Create</th>
            <th>Update</th>
            <th>Delete</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th>Questionnaire (
              <a href="http://hl7.org/fhir/StructureDefinition/sdc-questionnaire">Profile</a>)
            </th>
            <td>
              <a title="Allows discovery of existing questionnaires to be completed" href="#Questionnaire-search-type">SHALL</a>
            </td>
            <td>
              <a title="Allows retrieval of a specific questionnaire by id.  Allows systems to maintain a 'favorites' list of forms and retrieve them by id." href="#Questionnaire-read">SHOULD</a>
            </td>
            <td>
              <a title="Allows retrieval of a historical version of a questionnaire.  Most systems will make use of the current version only." href="#Questionnaire-vread">MAY</a>
            </td>
            <td>
              <a title="Allows review of changes made to a questionnaire over time.  Of interest to some systems, but probably not most." href="#Questionnaire-history-instance">MAY</a>
            </td>
            <td />
            <td />
            <td />
            <td />
          </tr>
          <tr>
            <th>ValueSet (
              <a href="http://hl7.org/fhir/StructureDefinition/sdc-valueset">Profile</a>)
            </th>
            <td />
            <td>
              <a title="Allows retrieval of a specific value set by id (as referenced in a Questionnaire)" href="#ValueSet-read">SHALL</a>
            </td>
            <td>
              <a title="Allows retrieval of a specific version of a value set (as referenced in a Questionnaire)" href="#ValueSet-vread">SHOULD</a>
            </td>
            <td>
              <a title="Allows review of changes to a value set over time.  Of interest to some systems, but probably not most." href="#ValueSet-history-instance">MAY</a>
            </td>
            <td />
            <td />
            <td />
            <td />
          </tr>
          <tr>
            <th>QuestionnaireResponse (
              <a href="http://hl7.org/fhir/StructureDefinition/sdc-element">Profile</a>)
            </th>
            <td>
              <a title="Allows a user to search for existing completed or partially-completed forms.  Generally used to find partially-completed forms for update." href="#QuestionnaireResponse-search-type">SHALL</a>
            </td>
            <td />
            <td />
            <td>
              <a title="Allows review of prior versions of an answer set - allows reversion to previously recorded versions" href="#QuestionnaireResponse-history-instance">SHOULD</a>
            </td>
            <td />
            <td>
              <a title="Allows recording a completed or partially-completed form" href="#QuestionnaireResponse-create">SHALL</a>
            </td>
            <td>
              <a title="Allows updating an existing completed or partially-completed form.  (Systems may place rules on who can update forms and under what circumstances.)" href="#QuestionnaireResponse-update">SHALL</a>
            </td>
            <td>
              <a title="Allows removal of a completed form from a repository.  Note that the removal may be logical rather than physical.  Some systems may have rules for who can remove a completed form and under what circumstances." href="#QuestionnaireResponse-delete">SHALL</a>
            </td>
          </tr>
          <tr>
            <th>DocumentReference</th>
            <td>
              <a title="Allows discovery of existing documents that may be included in a form pre-population request" href="#DocumentReference-search-type">SHOULD</a>
            </td>
            <td />
            <td />
            <td />
            <td />
            <td />
            <td />
            <td />
          </tr>
          <tr>
            <th>Binary</th>
            <td />
            <td>
              <a title="Allows retrieval of a specific binary (as pointed to by a DocumentReference)" href="#Binary-read">SHOULD</a>
            </td>
            <td>
              <a title="Allows retrieval of a historical version of a binary.  In general, the most recent version would be appropriate, but some may prefer to use the specific version referenced by a DocumentReference." href="#Binary-vread">MAY</a>
            </td>
            <td />
            <td />
            <td />
            <td />
            <td />
          </tr>
        </tbody>
      </table>
      <p>
        <b>Operations:</b>
        <a title="Populate Questionnaire" href="http://hl7.org/fhir/OperationDefinition#questionnaire-populate">populate</a> MAY
      </p>
      <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 to be completed</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="Questionnaire-read"> </a>
              <span>read</span>
            </th>
            <td>SHOULD</td>
            <td>
              <p>Allows retrieval of a specific questionnaire by id.  Allows systems to maintain a 'favorites' list of forms and retrieve them by id.</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="Questionnaire-history-instance"> </a>
              <span>history-instance</span>
            </th>
            <td>MAY</td>
            <td>
              <p>Allows review of changes made to a questionnaire over time.  Of interest to some systems, but probably not most.</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="Questionnaire-vread"> </a>
              <span>vread</span>
            </th>
            <td>MAY</td>
            <td>
              <p>Allows retrieval of a historical version of a questionnaire.  Most systems will make use of the current version only.</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-read"> </a>
              <span>read</span>
            </th>
            <td>SHALL</td>
            <td>
              <p>Allows retrieval of a specific value set by id (as referenced in a Questionnaire)</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="ValueSet-vread"> </a>
              <span>vread</span>
            </th>
            <td>SHOULD</td>
            <td>
              <p>Allows retrieval of a specific version of a value set (as referenced in a Questionnaire)</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="ValueSet-history-instance"> </a>
              <span>history-instance</span>
            </th>
            <td>MAY</td>
            <td>
              <p>Allows review of changes to a value set over time.  Of interest to some systems, but probably not most.</p>
            </td>
          </tr>
        </tbody>
      </table>
      <br />
      <br />
      <h3>
        <a href="../questionnaireresponse.html">QuestionnaireResponse</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="QuestionnaireResponse-search-type"> </a>
              <span>search-type</span>
            </th>
            <td>SHALL</td>
            <td>
              <p>Allows a user to search for existing completed or partially-completed forms.  Generally used to find partially-completed forms for update.</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="QuestionnaireResponse-create"> </a>
              <span>create</span>
            </th>
            <td>SHALL</td>
            <td>
              <p>Allows recording a completed or partially-completed form</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="QuestionnaireResponse-update"> </a>
              <span>update</span>
            </th>
            <td>SHALL</td>
            <td>
              <p>Allows updating an existing completed or partially-completed form.  (Systems may place rules on who can update forms and under what circumstances.)</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="QuestionnaireResponse-delete"> </a>
              <span>delete</span>
            </th>
            <td>SHALL</td>
            <td>
              <p>Allows removal of a completed form from a repository.  Note that the removal may be logical rather than physical.  Some systems may have rules for who can remove a completed form and under what circumstances.</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="QuestionnaireResponse-history-instance"> </a>
              <span>history-instance</span>
            </th>
            <td>SHOULD</td>
            <td>
              <p>Allows review of prior versions of an answer set - allows reversion to previously recorded versions</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="QuestionnaireResponse-validate"> </a>
              <span>validate</span>
            </th>
            <td>SHOULD</td>
            <td>
              <p>Allows checking an answer set for validity against submission rules without persisting any data</p>
            </td>
          </tr>
        </tbody>
      </table>
      <br />
      <br />
      <h3>
        <a href="../documentreference.html">DocumentReference</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="DocumentReference-search-type"> </a>
              <span>search-type</span>
            </th>
            <td>SHOULD</td>
            <td>
              <p>Allows discovery of existing documents that may be included in a form pre-population request</p>
            </td>
          </tr>
        </tbody>
      </table>
      <br />
      <br />
      <h3>
        <a href="../binary.html">Binary</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="Binary-read"> </a>
              <span>read</span>
            </th>
            <td>SHOULD</td>
            <td>
              <p>Allows retrieval of a specific binary (as pointed to by a DocumentReference)</p>
            </td>
          </tr>
          <tr>
            <th>
              <a name="Binary-vread"> </a>
              <span>vread</span>
            </th>
            <td>MAY</td>
            <td>
              <p>Allows retrieval of a historical version of a binary.  In general, the most recent version would be appropriate, but some may prefer to use the specific version referenced by a DocumentReference.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </text>
  <name value="SDC Form Filler" />
  <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 Filler'' role when conforming to the S&amp;I Framework's [[sdc|Structured Data Capture FHIR implementation guide]].  This role is responsible for retrieving pre-defined forms, requesting pre-population of forms and/or auto-populating forms, guiding the user through verifying populated data and submitting completed or partially-completed forms.&lt;br/&gt;Note that Form Fillers may also take on the role of [[conformance-sdc-form-archiver|Form Archiver]] if they have a requirement to retain the completed version of a form (and potentially the source data that was used to complete it)." />
  <kind value="requirements" />
  <fhirVersion value="1.0.2" />
  <acceptUnknown value="extensions" />
  <format value="xml" />
  <format value="json" />
  <rest>
    <mode value="client" />
    <documentation value="The [[Questionnaire]] and [[ValueSet]] resources are retrieved to allow the system to guide the user through the entry process.  The [[Binary]] and [[DocumentReference]] resources allow the system to find existing clinical documents that can be within the pre-population process.  (Support for retrieval operations on these resources is optional as the relevant CDA or FHIR structures may also be directly generated by the ''Form Filler'' itself.)  Finally, the [[QuestionnaireResponse]] resource is used to record the populated form." />
    <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 to be completed" />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="SHOULD" />
        </extension>
        <code value="read" />
        <documentation value="Allows retrieval of a specific questionnaire by id.  Allows systems to maintain a 'favorites' list of forms and retrieve them by id." />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="MAY" />
        </extension>
        <code value="history-instance" />
        <documentation value="Allows review of changes made to a questionnaire over time.  Of interest to some systems, but probably not most." />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="MAY" />
        </extension>
        <code value="vread" />
        <documentation value="Allows retrieval of a historical version of a questionnaire.  Most systems will make use of the current version only." />
      </interaction>
    </resource>
    <resource>
      <type value="ValueSet" />
      <profile>
        <reference value="http://hl7.org/fhir/StructureDefinition/sdc-valueset" />
      </profile>
      <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 (as referenced in a Questionnaire)" />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="SHOULD" />
        </extension>
        <code value="vread" />
        <documentation value="Allows retrieval of a specific version of a value set (as referenced in a Questionnaire)" />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="MAY" />
        </extension>
        <code value="history-instance" />
        <documentation value="Allows review of changes to a value set over time.  Of interest to some systems, but probably not most." />
      </interaction>
    </resource>
    <resource>
      <type value="QuestionnaireResponse" />
      <profile>
        <reference value="http://hl7.org/fhir/StructureDefinition/sdc-element" />
      </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 completed or partially-completed forms.  Generally used to find partially-completed forms for update." />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="SHALL" />
        </extension>
        <code value="create" />
        <documentation value="Allows recording a completed or partially-completed form" />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="SHALL" />
        </extension>
        <code value="update" />
        <documentation value="Allows updating an existing completed or partially-completed form.  (Systems may place rules on who can update forms and under what circumstances.)" />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="SHALL" />
        </extension>
        <code value="delete" />
        <documentation value="Allows removal of a completed form from a repository.  Note that the removal may be logical rather than physical.  Some systems may have rules for who can remove a completed form and under what circumstances." />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="SHOULD" />
        </extension>
        <code value="history-instance" />
        <documentation value="Allows review of prior versions of an answer set - allows reversion to previously recorded versions" />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="SHOULD" />
        </extension>
        <code value="validate" />
        <documentation value="Allows checking an answer set for validity against submission rules without persisting any data" />
      </interaction>
    </resource>
    <resource>
      <type value="DocumentReference" />
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="SHOULD" />
        </extension>
        <code value="search-type" />
        <documentation value="Allows discovery of existing documents that may be included in a form pre-population request" />
      </interaction>
    </resource>
    <resource>
      <type value="Binary" />
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="SHOULD" />
        </extension>
        <code value="read" />
        <documentation value="Allows retrieval of a specific binary (as pointed to by a DocumentReference)" />
      </interaction>
      <interaction>
        <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
          <valueCode value="MAY" />
        </extension>
        <code value="vread" />
        <documentation value="Allows retrieval of a historical version of a binary.  In general, the most recent version would be appropriate, but some may prefer to use the specific version referenced by a DocumentReference." />
      </interaction>
    </resource>
    <operation>
      <extension url="http://hl7.org/fhir/StructureDefinition/conformance-expectation">
        <valueCode value="MAY" />
      </extension>
      <name value="populate" />
      <definition>
        <reference value="http://hl7.org/fhir/OperationDefinition#questionnaire-populate" />
        <display value="Populate Questionnaire" />
      </definition>
    </operation>
  </rest>
</Conformance>