<book xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" version="5.0">
    <title>CP-1698</title>
  <subtitle>Remove ETag requirement in Non-Patient Instance Restful service</subtitle>
    <chapter>
        <title/>
        <informaltable rules="all" frame="box">
            <tr>
                <td rowspan="1" colspan="1" valign="top"><para>Status</para></td>
                <td rowspan="1" colspan="1" valign="top"><para>Assigned</para></td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top"><para>Date of Last Update</para></td>
                <td rowspan="1" colspan="1" valign="top"><para>2017/03/26</para></td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top"><para>Person Assigned</para></td>
                <td rowspan="1" colspan="1" valign="top"><para>David Clunie</para><para><link xl:href="mailto:dclunie@dclunie.com"/></para></td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top"><para>Submitter Name</para></td>
              <td rowspan="1" colspan="1" valign="top"><para>David Clunie</para><para><link xl:href="mailto:dclunie@dclunie.com"/></para></td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top"><para>Submission Date</para></td>
              <td rowspan="1" colspan="1" valign="top"><para>2017/02/22</para></td>
            </tr>
        </informaltable>
        <informaltable rules="all" frame="box">
            <tr>
               <td rowspan="1" colspan="1" valign="top"><para>Correction Number CP-1698</para></td>
            </tr>
            <tr>
               <td rowspan="1" colspan="1" valign="top"><para>Log Summary: Remove ETag requirement in Non-Patient Instance Restful service</para></td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top">
                    <para>Name of Standard</para>
                    <para>PS3.18</para>
                </td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top"><para>Rationale for Correction:</para>
                  <para>Sup 194 introduced a requirement to send an ETag with a successful response.</para>
                  <para>This is inappropriate since ETags may be used to imply versioning, which needs to be handled at a DICOM payload level or at the very least consistently across all services (RESTful or not). In addition, they may pose a privacy risk and be abused (like Cookies). Further, they may be removed or modified by proxies and caches over which the origin-server has no control.</para>
                   <para>Remove the requirement.</para>
                   <para>If ETags are ever going to be used in the standard, extensive discussion of the details is required.</para>
               <para>This does not prevent the optional use of ETags if they are deemed appropriate for a specific deployment.</para>
                </td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top">Correction Wording:</td>
            </tr>
        </informaltable>
    </chapter>
  <chapter>
    <title/>

    <informaltable rules="all" frame="box">
      <tr>
        <td>
          <para><emphasis role="italic">Amend DICOM PS3.18 as follows (changes to existing text are bold and <emphasis role="bold"><emphasis role="underline">underlined</emphasis></emphasis> for additions and <emphasis role="bold"><emphasis role="strikethrough">struckthrough</emphasis></emphasis> for removals):</emphasis></para>
        </td>
      </tr>
    </informaltable>
     
     <section xml:id="sect_6.10.3.1" label="6.10.3.1" status="4">
        <title>Retrieve Capabilities Transaction</title>
        <section xml:id="sect_6.10.3.1.3" label="6.10.3.1.3" status="5">
           <title>Response</title>
           <section xml:id="sect_6.10.3.1.3.2" label="6.10.3.1.3.2" status="6">
              <title>Response Header Fields</title>
              <table frame="box" label="6.10.3.1.3.2-1" rules="all" xml:id="table_6.10.3.1.3.2-1">
                 <caption>Response Header Fields</caption>
                 <thead>
                    <tr valign="top">
                       <th align="center" colspan="1" rowspan="1">
                          <para>Header Field</para>
                       </th>
                       <th align="center" colspan="1" rowspan="1">
                          <para>Value</para>
                       </th>
                       <th align="center" colspan="1" rowspan="1">
                          <para>Usage</para>
                       </th>
                       <th align="center" colspan="1" rowspan="1">
                          <para>Requirements</para>
                       </th>
                    </tr>
                 </thead>
                 <tbody>
                    <tr valign="top">
                       <td align="left" colspan="1" rowspan="1">
                          <para>Content-Type</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para>media-type</para>
                       </td>
                       <td align="center" colspan="1" rowspan="1">
                          <para>M</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1"/>
                    </tr>
                    <tr valign="top">
                       <td align="left" colspan="1" rowspan="1">
                          <para>Content-Length</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para>uint</para>
                       </td>
                       <td align="center" colspan="1" rowspan="1">
                          <para>C</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para>Shall be present if no transfer coding has been applied. Shall be absent otherwise.</para>
                       </td>
                    </tr>
                    <tr valign="top">
                       <td align="left" colspan="1" rowspan="1">
                          <para>Transfer-Encoding</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para>encoding</para>
                       </td>
                       <td align="center" colspan="1" rowspan="1">
                          <para>C</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para>Shall be present if a transfer coding has been applied. Shall be absent otherwise.</para>
                       </td>
                    </tr>
                    <tr valign="top">
                       <td align="left" colspan="1" rowspan="1">
                          <para><emphasis role="bold"><emphasis role="strikethrough">ETag</emphasis></emphasis></para>
                              </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para><emphasis role="bold"><emphasis role="strikethrough">entity-tag</emphasis></emphasis></para>
                       </td>
                       <td align="center" colspan="1" rowspan="1">
                          <para><emphasis role="bold"><emphasis role="strikethrough">C</emphasis></emphasis></para>
                              </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para><emphasis role="bold"><emphasis role="strikethrough">Shall be present if the response status code is 200.</emphasis></emphasis></para>
                       </td>
                    </tr>
                 </tbody>
              </table>
           </section>
        </section>
     </section>
     
     <section xml:id="sect_6.10.3.2" label="6.10.3.2" status="4">
        <title>Retrieve Transaction</title>
        <section xml:id="sect_6.10.3.2.3" label="6.10.3.2.3" status="5">
           <title>Response</title>
           <section xml:id="sect_6.10.3.2.3.2" label="6.10.3.2.3.2" status="6">
              <title>Response Header Fields</title>
              <table frame="box" label="6.10.3.2.3.2-1" rules="all" xml:id="table_6.10.3.2.3.2-1">
                 <caption>Request Header Fields</caption>
                 <thead>
                    <tr valign="top">
                       <th align="center" colspan="1" rowspan="1">
                          <para>Header Field</para>
                       </th>
                       <th align="center" colspan="1" rowspan="1">
                          <para>Value</para>
                       </th>
                       <th align="center" colspan="1" rowspan="1">
                          <para>Usage</para>
                       </th>
                       <th align="center" colspan="1" rowspan="1">
                          <para>Requirements</para>
                       </th>
                    </tr>
                 </thead>
                 <tbody>
                    <tr valign="top">
                       <td align="left" colspan="1" rowspan="1">
                          <para>Content-Type</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para>dicom-media-type</para>
                       </td>
                       <td align="center" colspan="1" rowspan="1">
                          <para>M</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1"/>
                    </tr>
                    <tr valign="top">
                       <td align="left" colspan="1" rowspan="1">
                          <para>Content-Length</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para>uint</para>
                       </td>
                       <td align="center" colspan="1" rowspan="1">
                          <para>C</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para>Shall be present if no transfer coding has been applied. Shall be absent otherwise.</para>
                       </td>
                    </tr>
                    <tr valign="top">
                       <td align="left" colspan="1" rowspan="1">
                          <para>Transfer-Encoding</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para>encoding</para>
                       </td>
                       <td align="center" colspan="1" rowspan="1">
                          <para>C</para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para>Shall be present if a transfer coding has been applied. Shall be absent otherwise.</para>
                       </td>
                    </tr>
                    <tr valign="top">
                       <td align="left" colspan="1" rowspan="1">
                          <para><emphasis role="bold"><emphasis role="strikethrough">ETag</emphasis></emphasis></para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para><emphasis role="bold"><emphasis role="strikethrough">entity-tag</emphasis></emphasis></para>
                       </td>
                       <td align="center" colspan="1" rowspan="1">
                          <para><emphasis role="bold"><emphasis role="strikethrough">C</emphasis></emphasis></para>
                       </td>
                       <td align="left" colspan="1" rowspan="1">
                          <para><emphasis role="bold"><emphasis role="strikethrough">Shall be present if the response status code is 200 or 204.</emphasis></emphasis></para>
                       </td>
                    </tr>
                 </tbody>
              </table>
           </section>
        </section>
     </section>
    
  </chapter>
</book>
