<?xml version=“1.0” encoding=“UTF-8”?>

<Conformance xmlns=“hl7.org/fhir”>

<id value="conformance-sdc-form-filler"/>
<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&#39;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 &#39;favorites&#39; 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 &#39;favorites&#39; 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 &#39;&#39;SDC Form Filler&#39;&#39; role when conforming to the S&amp;I Framework&#39;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 &#39;&#39;Form Filler&#39;&#39; 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 &#39;favorites&#39; 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>
<!--    Do we want to define what search criteria must be supported?    -->
  <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>
<!--    Do we want to define what search criteria must be supported?    -->
  <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>
<!--    Do we want to define what search criteria must be supported?    -->
  <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>