OFFIS DCMTK  Version 3.6.0
dsrnumvl.h
1 /*
2  *
3  * Copyright (C) 2000-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmsr
15  *
16  * Author: Joerg Riesmeier
17  *
18  * Purpose:
19  * classes: DSRNumericMeasurementValue
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:32 $
23  * CVS/RCS Revision: $Revision: 1.15 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 
31 #ifndef DSRNUMVL_H
32 #define DSRNUMVL_H
33 
34 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
35 
36 #include "dcmtk/dcmsr/dsrcodvl.h"
37 
38 #include "dcmtk/ofstd/ofstring.h"
39 
40 
41 /*---------------------*
42  * class declaration *
43  *---------------------*/
44 
48 {
49  // allow access to getValuePtr()
50  friend class DSRContentItem;
51 
52  public:
53 
57 
64  DSRNumericMeasurementValue(const OFString &numericValue,
65  const DSRCodedEntryValue &measurementUnit);
66 
74  DSRNumericMeasurementValue(const OFString &numericValue,
75  const DSRCodedEntryValue &measurementUnit,
76  const DSRCodedEntryValue &valueQualifier);
77 
81  DSRNumericMeasurementValue(const DSRNumericMeasurementValue &numericMeasurement);
82 
86 
92 
96  virtual void clear();
97 
103  virtual OFBool isValid() const;
104 
109  virtual OFBool isEmpty() const;
110 
119  virtual OFCondition print(STD_NAMESPACE ostream &stream,
120  const size_t flags) const;
121 
127  virtual OFCondition readXML(const DSRXMLDocument &doc,
128  DSRXMLCursor cursor);
129 
135  virtual OFCondition writeXML(STD_NAMESPACE ostream &stream,
136  const size_t flags) const;
137 
145  virtual OFCondition readSequence(DcmItem &dataset);
146 
153  virtual OFCondition writeSequence(DcmItem &dataset) const;
154 
163  virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
164  STD_NAMESPACE ostream &annexStream,
165  size_t &annexNumber,
166  const size_t flags) const;
167 
171  inline const DSRNumericMeasurementValue &getValue() const
172  {
173  return *this;
174  }
175 
180  OFCondition getValue(DSRNumericMeasurementValue &numericMeasurement) const;
181 
185  inline const OFString &getNumericValue() const
186  {
187  return NumericValue;
188  }
189 
194  {
195  return MeasurementUnit;
196  }
197 
202  {
203  return ValueQualifier;
204  }
205 
210  OFCondition getMeasurementUnit(DSRCodedEntryValue &measurementUnit) const;
211 
218  OFCondition setValue(const DSRNumericMeasurementValue &numericMeasurement);
219 
227  OFCondition setValue(const OFString &numericValue,
228  const DSRCodedEntryValue &measurementUnit);
229 
239  OFCondition setValue(const OFString &numericValue,
240  const DSRCodedEntryValue &measurementUnit,
241  const DSRCodedEntryValue &valueQualifier);
242 
249  OFCondition setNumericValue(const OFString &numericValue);
250 
257  OFCondition setMeasurementUnit(const DSRCodedEntryValue &measurementUnit);
258 
268 
269 
270  protected:
271 
276  {
277  return this;
278  }
279 
284  virtual OFCondition readItem(DcmItem &dataset);
285 
290  virtual OFCondition writeItem(DcmItem &dataset) const;
291 
298  virtual OFBool checkNumericValue(const OFString &numericValue) const;
299 
305  virtual OFBool checkMeasurementUnit(const DSRCodedEntryValue &measurementUnit) const;
306 
314  virtual OFBool checkNumericValueQualifier(const DSRCodedEntryValue &valueQualifier) const;
315 
316 
317  private:
318 
325 };
326 
327 
328 #endif
329 
330 
331 /*
332  * CVS/RCS Log:
333  * $Log: dsrnumvl.h,v $
334  * Revision 1.15 2010-10-14 13:16:32 joergr
335  * Updated copyright header. Added reference to COPYRIGHT file.
336  *
337  * Revision 1.14 2009-10-13 14:57:50 uli
338  * Switched to logging mechanism provided by the "new" oflog module.
339  *
340  * Revision 1.13 2007-11-15 16:33:30 joergr
341  * Added support for output in XHTML 1.1 format.
342  *
343  * Revision 1.12 2006/08/15 16:40:03 meichel
344  * Updated the code in module dcmsr to correctly compile when
345  * all standard C++ classes remain in namespace std.
346  *
347  * Revision 1.11 2006/05/11 09:18:21 joergr
348  * Moved containsExtendedCharacters() from dcmsr to dcmdata module.
349  *
350  * Revision 1.10 2005/12/08 16:05:11 meichel
351  * Changed include path schema for all DCMTK header files
352  *
353  * Revision 1.9 2004/11/22 16:39:09 meichel
354  * Added method that checks if the SR document contains non-ASCII characters
355  * in any of the strings affected by SpecificCharacterSet.
356  *
357  * Revision 1.8 2003/08/07 12:43:44 joergr
358  * Added readXML functionality.
359  *
360  * Revision 1.7 2002/12/10 13:20:07 joergr
361  * Added support for the Numeric Value Qualifier Code Sequence (introduced with
362  * CP 260).
363  *
364  * Revision 1.6 2001/09/26 13:04:09 meichel
365  * Adapted dcmsr to class OFCondition
366  *
367  * Revision 1.5 2001/06/01 15:51:02 meichel
368  * Updated copyright header
369  *
370  * Revision 1.4 2000/11/06 11:17:40 joergr
371  * Moved some protected methods to public part.
372  *
373  * Revision 1.3 2000/11/01 16:23:22 joergr
374  * Added support for conversion to XML.
375  *
376  * Revision 1.2 2000/10/18 17:05:12 joergr
377  * Added methods allowing direct access to certain content item values.
378  * Added doc++ comments.
379  * Made some functions inline.
380  *
381  * Revision 1.1 2000/10/13 07:49:29 joergr
382  * Added new module 'dcmsr' providing access to DICOM structured reporting
383  * documents (supplement 23). Doc++ documentation not yet completed.
384  *
385  *
386  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2