DcmPersonName Class Reference

a class representing the DICOM value representation 'Person Name' (PN) More...

Inheritance diagram for DcmPersonName:

DcmCharString DcmByteString DcmElement DcmObject List of all members.

Public Member Functions

 DcmPersonName (const DcmTag &tag, const Uint32 len=0)
 constructor.
 DcmPersonName (const DcmPersonName &old)
 copy constructor
virtual ~DcmPersonName ()
 destructor
DcmPersonNameoperator= (const DcmPersonName &obj)
 assignment operator
virtual DcmObjectclone () const
 clone method
virtual OFCondition copyFrom (const DcmObject &rhs)
 Virtual object copying.
virtual DcmEVR ident () const
 get element type identifier
virtual OFCondition checkValue (const OFString &vm="1-n", const OFBool oldFormat=OFFalse)
 check whether stored value conforms to the VR and to the specified VM
virtual OFCondition getOFString (OFString &stringVal, const unsigned long pos, OFBool normalize=OFTrue)
 get a copy of a particular string component
OFCondition getNameComponents (OFString &lastName, OFString &firstName, OFString &middleName, OFString &namePrefix, OFString &nameSuffix, const unsigned long pos=0, const unsigned int componentGroup=0)
 get name components from the element value.
OFCondition getFormattedName (OFString &formattedName, const unsigned long pos=0, const unsigned int componentGroup=0)
 get current element value as a formatted/readable name.
OFCondition putNameComponents (const OFString &lastName, const OFString &firstName, const OFString &middleName, const OFString &namePrefix, const OFString &nameSuffix)
 put element value from specified name components.

Static Public Member Functions

static OFCondition getNameComponentsFromString (const OFString &dicomName, OFString &lastName, OFString &firstName, OFString &middleName, OFString &namePrefix, OFString &nameSuffix, const unsigned int componentGroup=0)
 get name components from specified DICOM person name.
static OFCondition getFormattedNameFromString (const OFString &dicomName, OFString &formattedName, const unsigned int componentGroup=0)
 get specified DICOM person name as a formatted/readable name.
static OFCondition getFormattedNameFromComponents (const OFString &lastName, const OFString &firstName, const OFString &middleName, const OFString &namePrefix, const OFString &nameSuffix, OFString &formattedName)
 get formatted/readable name from specified name components.
static OFCondition getStringFromNameComponents (const OFString &lastName, const OFString &firstName, const OFString &middleName, const OFString &namePrefix, const OFString &nameSuffix, OFString &dicomName)
 get DICOM Person Name (PN) from specified name components.
static OFCondition checkStringValue (const OFString &value, const OFString &vm="1-n", const OFBool oldFormat=OFTrue)
 check whether given string value conforms to the VR "PN" (Person Name) and to the specified VM.

Detailed Description

a class representing the DICOM value representation 'Person Name' (PN)

Definition at line 40 of file dcvrpn.h.


Constructor & Destructor Documentation

DcmPersonName::DcmPersonName ( const DcmTag tag,
const Uint32  len = 0 
)

constructor.

Create new element from given tag and length.

Parameters:
tag DICOM tag for the new element
len value length for the new element

Referenced by clone().

DcmPersonName::DcmPersonName ( const DcmPersonName old  ) 

copy constructor

Parameters:
old element to be copied


Member Function Documentation

DcmPersonName& DcmPersonName::operator= ( const DcmPersonName obj  ) 

assignment operator

Parameters:
obj element to be assigned/copied
Returns:
reference to this object

virtual DcmObject* DcmPersonName::clone (  )  const [inline, virtual]

clone method

Returns:
deep copy of this object

Reimplemented from DcmCharString.

Definition at line 72 of file dcvrpn.h.

References DcmPersonName().

virtual OFCondition DcmPersonName::copyFrom ( const DcmObject rhs  )  [virtual]

Virtual object copying.

This method can be used for DcmObject and derived classes to get a deep copy of an object. Internally the assignment operator is called if the given DcmObject parameter is of the same type as "this" object instance. If not, an error is returned. This function permits copying an object by value in a virtual way which therefore is different to just calling the assignment operator of DcmElement which could result in slicing the object.

Parameters:
rhs - [in] The instance to copy from. Has to be of the same class type as "this" object
Returns:
EC_Normal if copying was successful, error otherwise

Reimplemented from DcmCharString.

virtual DcmEVR DcmPersonName::ident (  )  const [virtual]

get element type identifier

Returns:
type identifier of this class (EVR_PN)

Reimplemented from DcmByteString.

virtual OFCondition DcmPersonName::checkValue ( const OFString vm = "1-n",
const OFBool  oldFormat = OFFalse 
) [virtual]

check whether stored value conforms to the VR and to the specified VM

Parameters:
vm value multiplicity (according to the data dictionary) to be checked for. (valid values: "1", "1-2", "1-3", "1-8", "1-99", "1-n", "2", "2-n", "2-2n", "3", "3-n", "3-3n", "4", "6", "9", "16", "32")
oldFormat support old ACR/NEMA format if OFTrue (no '^' separator)
Returns:
status of the check, EC_Normal if value is correct, an error code otherwise

Reimplemented from DcmElement.

virtual OFCondition DcmPersonName::getOFString ( OFString stringVal,
const unsigned long  pos,
OFBool  normalize = OFTrue 
) [virtual]

get a copy of a particular string component

Parameters:
stringVal variable in which the result value is stored
pos index of the value in case of multi-valued elements (0..vm-1)
normalize delete leading and trailing spaces if OFTrue
Returns:
status, EC_Normal if successful, an error code otherwise

Reimplemented from DcmByteString.

OFCondition DcmPersonName::getNameComponents ( OFString lastName,
OFString firstName,
OFString middleName,
OFString namePrefix,
OFString nameSuffix,
const unsigned long  pos = 0,
const unsigned int  componentGroup = 0 
)

get name components from the element value.

The DICOM PN consists of up to three component groups separated by a "=". The supported format is "[CG0][=CG1][=CG2]" where the brackets enclose optional parts and CG0 is a single-byte character representation, CG1 an ideographic representation, and CG2 a phonetic representation of the name. Each component group may consist of up to five components separated by a "^". The format is "[lastName[^firstName[^middleName[^namePrefix[^nameSuffix]]]]"; each component might be empty. If this function fails the result variables are cleared automatically. If the format is valid but does not comply with the above described scheme ("=" and "^") the full person name is returned in the 'lastName' variable.

Parameters:
lastName reference to string variable where the "last name" is stored
firstName reference to string variable where the "first name" is stored
middleName reference to string variable where the "middle name" is stored
namePrefix reference to string variable where the "name prefix" is stored
nameSuffix reference to string variable where the "name suffix" is stored
pos index of the element component in case of value multiplicity (0..vm-1)
componentGroup index of the component group (0..2) to be used, see above
Returns:
EC_Normal upon success, an error code otherwise

OFCondition DcmPersonName::getFormattedName ( OFString formattedName,
const unsigned long  pos = 0,
const unsigned int  componentGroup = 0 
)

get current element value as a formatted/readable name.

The current element value is expected to be in DICOM PN format as described above. The output format is "[namePrefix][ firstName][ middleName][ lastName][, nameSuffix]"; the delimiters (" " and ", ") are only inserted if required. If this function fails the result variable 'formattedName' is cleared automatically.

Parameters:
formattedName reference to string variable where the result is stored
pos index of the element component in case of value multiplicity (0..vm-1)
componentGroup index of the component group (0..2) to be used, see above
Returns:
EC_Normal upon success, an error code otherwise

OFCondition DcmPersonName::putNameComponents ( const OFString lastName,
const OFString firstName,
const OFString middleName,
const OFString namePrefix,
const OFString nameSuffix 
)

put element value from specified name components.

The stored format is "[lastName[^firstName[^middleName[^namePrefix[^nameSuffix]]]]]", i.e. a DICOM Person Name (PN). Component groups are not (yet) supported. If this function fails the currently stored value is not modified.

Parameters:
lastName reference to string variable where the "last name" is stored
firstName reference to string variable where the "first name" is stored
middleName reference to string variable where the "middle name" is stored
namePrefix reference to string variable where the "name prefix" is stored
nameSuffix reference to string variable where the "name suffix" is stored
Returns:
EC_Normal upon success, an error code otherwise

static OFCondition DcmPersonName::getNameComponentsFromString ( const OFString dicomName,
OFString lastName,
OFString firstName,
OFString middleName,
OFString namePrefix,
OFString nameSuffix,
const unsigned int  componentGroup = 0 
) [static]

get name components from specified DICOM person name.

The DICOM PN consists of up to three component groups separated by a "=". The supported format is "[CG0][=CG1][=CG2]" where the brackets enclose optional parts and CG0 is a single-byte character representation, CG1 an ideographic representation, and CG2 a phonetic representation of the name. Each component group may consist of up to five components separated by a "^". The format is "[lastName[^firstName[^middleName[^namePrefix[^nameSuffix]]]]"; each component might be empty. If this function fails the result variables are cleared automatically. If the format is valid but does not comply with the above described scheme ("=" and "^") the full person name is returned in the 'lastName' variable.

Parameters:
dicomName string value in DICOM PN format to be split into components
lastName reference to string variable where the "last name" is stored
firstName reference to string variable where the "first name" is stored
middleName reference to string variable where the "middle name" is stored
namePrefix reference to string variable where the "name prefix" is stored
nameSuffix reference to string variable where the "name suffix" is stored
componentGroup index of the component group (0..2) to be used, see above
Returns:
EC_Normal upon success, an error code otherwise

static OFCondition DcmPersonName::getFormattedNameFromString ( const OFString dicomName,
OFString formattedName,
const unsigned int  componentGroup = 0 
) [static]

get specified DICOM person name as a formatted/readable name.

The specified 'dicomName' is expected to be in DICOM PN format as described above. The output format is "[namePrefix][ firstName][ middleName][ lastName][, nameSuffix]"; the delimiters (" " and ", ") are only inserted if required. If this function fails the result variable 'formattedName' is cleared automatically.

Parameters:
dicomName string value in DICOM PN format to be converted to readable format
formattedName reference to string variable where the result is stored
componentGroup index of the component group (0..2) to be used, see above
Returns:
EC_Normal upon success, an error code otherwise

static OFCondition DcmPersonName::getFormattedNameFromComponents ( const OFString lastName,
const OFString firstName,
const OFString middleName,
const OFString namePrefix,
const OFString nameSuffix,
OFString formattedName 
) [static]

get formatted/readable name from specified name components.

The output format is "[namePrefix][ firstName][ middleName][ lastName][, nameSuffix]"; the delimiters (" " and ", ") are only inserted if required. If this function fails the result variable 'formattedName' is cleared automatically.

Parameters:
lastName reference to string variable where the "last name" is stored
firstName reference to string variable where the "first name" is stored
middleName reference to string variable where the "middle name" is stored
namePrefix reference to string variable where the "name prefix" is stored
nameSuffix reference to string variable where the "name suffix" is stored
formattedName reference to string variable where the result is stored
Returns:
always returns EC_Normal

static OFCondition DcmPersonName::getStringFromNameComponents ( const OFString lastName,
const OFString firstName,
const OFString middleName,
const OFString namePrefix,
const OFString nameSuffix,
OFString dicomName 
) [static]

get DICOM Person Name (PN) from specified name components.

The output format is "[lastName[^firstName[^middleName[^namePrefix[^nameSuffix]]]]]". Component groups are not (yet) supported. If this function fails the result variable 'dicomName' is cleared automatically.

Parameters:
lastName reference to string variable where the "last name" is stored
firstName reference to string variable where the "first name" is stored
middleName reference to string variable where the "middle name" is stored
namePrefix reference to string variable where the "name prefix" is stored
nameSuffix reference to string variable where the "name suffix" is stored
dicomName reference to string variable where the result is stored
Returns:
always returns EC_Normal

static OFCondition DcmPersonName::checkStringValue ( const OFString value,
const OFString vm = "1-n",
const OFBool  oldFormat = OFTrue 
) [static]

check whether given string value conforms to the VR "PN" (Person Name) and to the specified VM.

Parameters:
value string value to be checked (possibly multi-valued)
vm value multiplicity (according to the data dictionary) to be checked for. (valid values: "1", "1-2", "1-3", "1-8", "1-99", "1-n", "2", "2-n", "2-2n", "3", "3-n", "3-3n", "4", "6", "9", "16", "32")
oldFormat support old ACR/NEMA name format if OFTrue (i.e. without "^" delimiters)
Returns:
status of the check, EC_Normal if value is correct, an error code otherwise


The documentation for this class was generated from the following file:


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1