Class PersonNameAttribute

    • Field Detail

      • MAX_LENGTH_SINGLE_VALUE

        protected static final int MAX_LENGTH_SINGLE_VALUE
        See Also:
        Constant Field Values
    • Constructor Detail

      • PersonNameAttribute

        public PersonNameAttribute​(AttributeTag t)

        Construct an (empty) attribute.

        Parameters:
        t - the tag of the attribute
      • PersonNameAttribute

        public PersonNameAttribute​(AttributeTag t,
                                   SpecificCharacterSet specificCharacterSet)

        Construct an (empty) attribute.

        Parameters:
        t - the tag of the attribute
        specificCharacterSet - the character set to be used for the text
      • PersonNameAttribute

        public PersonNameAttribute​(AttributeTag t,
                                   long vl,
                                   DicomInputStream i,
                                   SpecificCharacterSet specificCharacterSet)
                            throws java.io.IOException,
                                   DicomException

        Read an attribute from an input stream.

        Parameters:
        t - the tag of the attribute
        vl - the value length of the attribute
        i - the input stream
        specificCharacterSet - the character set to be used for the text
        Throws:
        java.io.IOException
        DicomException
      • PersonNameAttribute

        public PersonNameAttribute​(AttributeTag t,
                                   java.lang.Long vl,
                                   DicomInputStream i,
                                   SpecificCharacterSet specificCharacterSet)
                            throws java.io.IOException,
                                   DicomException

        Read an attribute from an input stream.

        Parameters:
        t - the tag of the attribute
        vl - the value length of the attribute
        i - the input stream
        specificCharacterSet - the character set to be used for the text
        Throws:
        java.io.IOException
        DicomException
    • Method Detail

      • getVR

        public byte[] getVR()

        Get the value representation of this attribute (PN).

        Overrides:
        getVR in class Attribute
        Returns:
        'P','N' in ASCII as a two byte array; see ValueRepresentation
      • getCanonicalForm

        public static java.lang.String getCanonicalForm​(java.lang.String value)

        Get a canonical form of the supplied person name value.

        Parameters:
        value - a single person name value
        Returns:
        a canonical form of the person name value
      • getCanonicalForm

        public static java.lang.String getCanonicalForm​(java.lang.String value,
                                                        boolean forQuery)

        Get a canonical form of the supplied person name value.

        For queries, wildcard characters for queries are left untouched; if a component is empty then a '*' is inserted instead of zero length.

        Parameters:
        value - a single person name value
        forQuery - if application is query and wildcards need to be handled
        Returns:
        a canonical form of the person name value
      • getNameComponentGroups

        public static java.util.Vector<java.lang.String> getNameComponentGroups​(java.lang.String value)

        Get the name component groups from a DICOM delimited form of Person Name.

        Parameters:
        value - a single person name value
        Returns:
        a Vector of String containing the name component groups
      • getNameComponents

        public static java.util.Vector<java.lang.String> getNameComponents​(java.lang.String value)

        Get the name components from a DICOM delimited form of Person Name.

        Parameters:
        value - a single person name value
        Returns:
        a Vector of String containing the name components
      • swap

        public static java.lang.String swap​(java.lang.String name)

        Get the family and given name components of a DICOM delimited form of Person Name and swap them.

        Parameters:
        name - a single person name value with family and given name components
        Returns:
        a DICOM delimited form of name with the family and given name components swapped, or the supplied value if not two componenbts
      • getPhoneticName

        public static java.lang.String getPhoneticName​(java.lang.String name)

        Get a phonetic encoding name of the family and given name components of a DICOM delimited form of Person Name.

        Parameters:
        name - a single person name value with family and given name components
        Returns:
        a DICOM delimited form of name with phonetic equivalents substituted for family and given name components
      • getPhoneticName

        public static java.lang.String getPhoneticName​(java.lang.String name,
                                                       boolean forQuery)

        Get a phonetic encoding name of the family and given name components of a DICOM delimited form of Person Name.

        Note that wildcards used in queries are removed by the encoding process, though initial and terminal wildcard characters are restored in each component if present.

        Parameters:
        name - a single person name value with family and given name components
        forQuery - if application is query and wildcards need to be handled
        Returns:
        a DICOM delimited form of name with phonetic equivalents substituted for family and given name components
      • main

        public static void main​(java.lang.String[] arg)

        Test read the DICOM files listed on the command line, get the patient name and make canonical form.

        Parameters:
        arg - a list of DICOM file names or directories to search for such