<book xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" version="5.0">
    <title>CP-1847</title>
  <subtitle>Restrict future VRs to only upper case letters</subtitle>
    <chapter>
        <title></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>Final Text</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>2019/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>Peter Kuzmak</para><para><link
                    xl:href="mailto:Peter.Kuzmak@va.gov"/></para></td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top"><para>Submission Date</para></td>
                <td rowspan="1" colspan="1" valign="top"><para>2018/07/23</para></td>
            </tr>
        </informaltable>
        <informaltable rules="all" frame="box">
            <tr>
                <td rowspan="1" colspan="1" valign="top"><para>Correction Number CP-1847</para></td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top"><para>Log Summary: Restrict future VRs to only upper case letters</para></td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top">
                    <para>Name of Standard</para>
                    <para>PS3.5</para>
                </td>
            </tr>
            <tr>
                <td rowspan="1" colspan="1" valign="top"><para>Rationale for Correction:</para>
                    <para>When parsing DICOM explict VR data sets it is useful to be able to gracefully accept new VRs that may have been added to the standard after the current implementation but still be able to check that the data set is otherwise not malformed; since CP 14, the standard has specified the manner of encoding for all future VRs so this is possible. All current VRs use two upper case letters, and there are plenty of remaining combinations for future VRs without needing to use other characters from the DICOM default character set, such as lower case letters, digits or special characters. This would allow for more rigorous checking since the chances that a random two-byte value consists of two upper case letters is extremely low.</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.5 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 label="6.2" status="2" xml:id="sect_6.2">
      <title>Value Representation (VR)</title>
      <para xml:id="para_3f79e255-1c8e-48b1-811f-97aa468ea546">...</para>
      <para xml:id="para_32d49290-4ed4-45ef-bced-0524398a84c1">All new VRs defined in future versions of DICOM shall be of the same Data Element Structure as defined in <xref linkend="sect_7.1.2" xrefstyle="select: label"/> (i.e., following the format for VRs such as OB, OD, OF, OL, OW, SQ and UN).</para>
      <note>
        <orderedlist>
          <listitem>
            <para xml:id="para_cfdc9e96-676d-40a7-9db2-a0d88179d889">Since all new VRs will be defined as specified in <xref linkend="sect_7.1.2" xrefstyle="select: label"/>, an implementation may choose to ignore VRs not recognized by applying the rules stated in <xref linkend="sect_7.1.2" xrefstyle="select: label"/>.</para>
          </listitem>
          <listitem>
            <para xml:id="para_16976f86-e181-44ed-94cc-f581ed6e3462">...</para>
          </listitem>
        </orderedlist>
      </note>
    </section>
        
        <section label="7.1.1" status="3" xml:id="sect_7.1.1">
            <title>Data Element Fields</title>
            <para xml:id="para_4e420d46-5c25-4919-afe8-ded031408b13">... The definitions of the fields are:</para>
            <variablelist>
                <varlistentry>
                    <term>...</term>
                </varlistentry>
                <varlistentry>
                    <term>Value Representation</term>
                    <listitem>
                        <para xml:id="para_8c6abdc8-2439-4aae-bdd0-98f7c35fd830">Two single byte characters containing the VR of the Data Element. The VR for a given Data Element Tag shall be as defined by the Data Dictionary as specified in PS3.6<!--<olink targetdoc="PS3.6" targetptr="PS3.6" xrefstyle="select: labelnumber"/>-->. The two byte VR shall be encoded using <emphasis role="bold"><emphasis role="strikethrough">characters</emphasis><emphasis role="underline">only upper case letters</emphasis></emphasis> from the DICOM default character set.</para>
                    </listitem>
                </varlistentry>
                <varlistentry>
                    <term>...</term>
                </varlistentry>
            </variablelist>
        </section>
        
        <section label="7.1.2" status="3" xml:id="sect_7.1.2">
            <title>Data Element Structure with Explicit VR</title>
            <para xml:id="para_fdb2bf98-c448-4d0b-bea4-d41171c8b883">When using the Explicit VR structures, the Data Element shall be constructed of four consecutive fields: Data Element Tag, VR, Value Length, and Value. Depending on the VR of the Data Element, the Data Element will be structured in one of two ways:</para>
            <itemizedlist>
                <listitem>
                    <para xml:id="para_5feaf34b-29ce-486d-98f9-5fe7ef4ec0ee">for VRs of OB, OD, OF, OL, OW, SQ and UN the 16 bits following the two byte VR Field are reserved for use by later versions of the DICOM Standard. These reserved bytes shall be set to 0000H and shall not be used or decoded (Table 7.1-1<!--<xref linkend="table_7.1-1" xrefstyle="select: label"/>-->). The Value Length Field is a 32-bit unsigned integer. If the Value Field has an Explicit Length, then the Value Length Field shall contain a value equal to the length (in bytes) of the Value Field. Otherwise, the Value Field has an Undefined Length and a Sequence Delimitation Item marks the end of the Value Field.</para>
                </listitem>
                <listitem>
                    <para xml:id="para_e70550e8-0a4e-40f4-b64b-f82cdf5b1aa8">for VRs of UC, UR and UT the 16 bits following the two byte VR Field are reserved for use by later versions of the DICOM Standard. These reserved bytes shall be set to 0000H and shall not be used or decoded. The Value Length Field is a 32-bit unsigned integer. The Value Field is required to have an Explicit Length, that is the Value Length Field shall contain a value equal to the length (in bytes) of the Value Field.</para>
                    <note>
                        <para xml:id="para_f27d1af5-7ecf-4e2a-9ce6-e2edd366e258">VRs of UC, UR and UT may not have an Undefined Length, i.e.,a Value Length of FFFFFFFFH.</para>
                    </note>
                </listitem>
                <listitem>
                    <para xml:id="para_1dadedad-a61e-4cf1-bafd-ab5efe1d2a85">for all other VRs the Value Length Field is the 16-bit unsigned integer following the two byte VR Field (Table 7.1-2<!--<xref linkend="table_7.1-2" xrefstyle="select: label"/>-->). The value of the Value Length Field shall equal the length of the Value Field.</para>
                </listitem>
            </itemizedlist>
        </section>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
      
        
        
        
    </chapter>
</book>
