OFFIS DCMTK  Version 3.6.0
dsrdoc.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: DSRDocument
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:32 $
23  * CVS/RCS Revision: $Revision: 1.53 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 
31 #ifndef DSRDOC_H
32 #define DSRDOC_H
33 
34 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
35 
36 #include "dcmtk/dcmsr/dsrdoctr.h"
37 #include "dcmtk/dcmsr/dsrsoprf.h"
38 #include "dcmtk/dcmsr/dsrcsidl.h"
39 
40 #include "dcmtk/ofstd/ofstream.h"
41 
42 
43 /*---------------------*
44  * class declaration *
45  *---------------------*/
46 
53  : protected DSRTypes
54 {
55 
56  public:
57 
58  // --- constructors and destructor ---
59 
64  DSRDocument(const E_DocumentType documentType = DT_BasicTextSR);
65 
68  virtual ~DSRDocument();
69 
70 
71  // --- misc routines ---
72 
75  void clear();
76 
82  OFBool isValid();
83 
91  OFBool isFinalized() const;
92 
93 
94  // --- input and output ---
95 
102  OFCondition print(STD_NAMESPACE ostream &stream,
103  const size_t flags = 0);
104 
123  OFCondition read(DcmItem &dataset,
124  const size_t flags = 0);
125 
139  OFCondition write(DcmItem &dataset,
140  DcmStack *markedItems = NULL);
141 
152  OFCondition readXML(const OFString &filename,
153  const size_t flags = 0);
154 
162  OFCondition writeXML(STD_NAMESPACE ostream &stream,
163  const size_t flags = 0);
164 
172  OFCondition renderHTML(STD_NAMESPACE ostream &stream,
173  const size_t flags = 0,
174  const char *styleSheet = NULL);
175 
176 
177  // --- get/set misc attributes ---
178 
183 
188  {
189  return DocumentTree;
190  }
191 
200 
206 
212 
218 
223  const char *getCompletionFlagDescription() const;
224 
230  const OFString &getCompletionFlagDescription(OFString &description) const;
231 
237 
246 
261  OFCondition getVerifyingObserver(const size_t idx,
262  OFString &dateTime,
263  OFString &observerName,
264  OFString &organization);
265 
282  OFCondition getVerifyingObserver(const size_t idx,
283  OFString &dateTime,
284  OFString &observerName,
285  DSRCodedEntryValue &observerCode,
286  OFString &organization);
287 
301 
316 
332 
342 
349 
350 
351  // --- get DICOM string attributes (C string) ---
352  // --- (these functions return the whole string value,
353  // --- i.e. all components of multi-valued attributes)
354 
358  const char *getModality() const;
359 
363  const char *getSOPClassUID() const;
364 
368  const char *getStudyInstanceUID() const;
369 
373  const char *getSeriesInstanceUID() const;
374 
378  const char *getSOPInstanceUID() const;
379 
383  const char *getInstanceCreatorUID() const;
384 
388  const char *getSpecificCharacterSet() const;
389 
393  const char *getPatientName() const;
394 
398  const char *getPatientBirthDate() const;
399 
403  const char *getPatientSex() const;
404 
408  const char *getReferringPhysicianName() const;
409 
413  const char *getStudyDescription() const;
414 
418  const char *getSeriesDescription() const;
419 
423  const char *getManufacturer() const;
424 
428  const char *getManufacturerModelName() const;
429 
433  const char *getDeviceSerialNumber() const;
434 
438  const char *getSoftwareVersions() const;
439 
443  const char *getStudyDate() const;
444 
448  const char *getStudyTime() const;
449 
453  const char *getInstanceCreationDate() const;
454 
458  const char *getInstanceCreationTime() const;
459 
463  const char *getContentDate() const;
464 
468  const char *getContentTime() const;
469 
473  const char *getStudyID() const;
474 
478  const char *getPatientID() const;
479 
483  const char *getSeriesNumber() const;
484 
488  const char *getInstanceNumber() const;
489 
493  const char *getAccessionNumber() const;
494 
495 
496  // --- get DICOM string attributes (C++ string) ---
497  // --- (these functions return only the first
498  // --- component of multi-valued attributes)
499 
504  const OFString &getModality(OFString &value) const;
505 
510  const OFString &getSOPClassUID(OFString &value) const;
511 
516  const OFString &getStudyInstanceUID(OFString &value) const;
517 
522  const OFString &getSeriesInstanceUID(OFString &value) const;
523 
528  const OFString &getSOPInstanceUID(OFString &value) const;
529 
534  const OFString &getInstanceCreatorUID(OFString &value) const;
535 
540  const OFString &getSpecificCharacterSet(OFString &value) const;
541 
546  const OFString &getPatientName(OFString &value) const;
547 
552  const OFString &getPatientBirthDate(OFString &value) const;
553 
558  const OFString &getPatientSex(OFString &value) const;
559 
564  const OFString &getReferringPhysicianName(OFString &value) const;
565 
570  const OFString &getStudyDescription(OFString &value) const;
571 
576  const OFString &getSeriesDescription(OFString &value) const;
577 
582  const OFString &getManufacturer(OFString &value) const;
583 
588  const OFString &getManufacturerModelName(OFString &value) const;
589 
594  const OFString &getDeviceSerialNumber(OFString &value) const;
595 
600  const OFString &getSoftwareVersions(OFString &value) const;
601 
606  const OFString &getStudyDate(OFString &value) const;
607 
612  const OFString &getStudyTime(OFString &value) const;
613 
618  const OFString &getInstanceCreationDate(OFString &value) const;
619 
624  const OFString &getInstanceCreationTime(OFString &value) const;
625 
630  const OFString &getContentDate(OFString &value) const;
631 
636  const OFString &getContentTime(OFString &value) const;
637 
642  const OFString &getStudyID(OFString &value) const;
643 
648  const OFString &getPatientID(OFString &value) const;
649 
654  const OFString &getSeriesNumber(OFString &value) const;
655 
660  const OFString &getInstanceNumber(OFString &value) const;
661 
666  const OFString &getAccessionNumber(OFString &value) const;
667 
668 
669  // --- set DICOM string attributes ---
670 
678 
686 
694 
700  OFCondition setPatientName(const OFString &value);
701 
708 
714  OFCondition setPatientSex(const OFString &value);
715 
722 
729 
736 
742  OFCondition setManufacturer(const OFString &value);
743 
750 
757 
764 
772  OFCondition setContentDate(const OFString &value);
773 
781  OFCondition setContentTime(const OFString &value);
782 
788  OFCondition setStudyID(const OFString &value);
789 
795  OFCondition setPatientID(const OFString &value);
796 
804  OFCondition setSeriesNumber(const OFString &value);
805 
813  OFCondition setInstanceNumber(const OFString &value);
814 
821 
822 
823  // --- document management functions ---
824 
830  void createNewStudy();
831 
837  void createNewSeries();
838 
847 
859  void createNewSOPInstance();
860 
867 
874  OFCondition createNewDocument(const E_DocumentType documentType);
875 
893  OFCondition createRevisedVersion(const OFBool clearList = OFTrue);
894 
903 
913  OFCondition completeDocument(const OFString &description);
914 
927  OFCondition verifyDocument(const OFString &observerName,
928  const OFString &organization);
929 
940  OFCondition verifyDocument(const OFString &observerName,
941  const OFString &organization,
942  const OFString &dateTime /*= ""*/);
943 
957  OFCondition verifyDocument(const OFString &observerName,
958  const DSRCodedEntryValue &observerCode,
959  const OFString &organization);
960 
972  OFCondition verifyDocument(const OFString &observerName,
973  const DSRCodedEntryValue &observerCode,
974  const OFString &organization,
975  const OFString &dateTime /*= ""*/);
976 
984  void removeVerification();
985 
1000 
1001 
1002  protected:
1003 
1011  DSRXMLCursor cursor,
1012  const size_t flags);
1013 
1021  DSRXMLCursor cursor,
1022  const size_t flags);
1023 
1031  DSRXMLCursor cursor,
1032  const size_t flags);
1033 
1041  DSRXMLCursor cursor,
1042  const size_t flags);
1043 
1051  DSRXMLCursor cursor,
1052  const size_t flags);
1053 
1061  DSRXMLCursor cursor,
1062  const size_t flags);
1063 
1071  DSRXMLCursor cursor,
1072  const size_t flags);
1073 
1078  void renderHTMLPatientData(STD_NAMESPACE ostream &stream,
1079  const size_t flags);
1080 
1086  void renderHTMLReferenceList(STD_NAMESPACE ostream &stream,
1087  DSRSOPInstanceReferenceList &refList,
1088  const size_t flags);
1089 
1099  E_DocumentType &documentType);
1100 
1106  void updateAttributes(const OFBool updateAll = OFTrue);
1107 
1108 
1109  private:
1110 
1113 
1124 
1125  // DICOM attributes are listed ordered by module.
1126  // The comments for each attribute describe "Name: (VR, VM, Type)".
1127  // Please note that for particular SR documents (e.g. Key Object Selection)
1128  // other rules might apply. See DICOM standard for further reference.
1129 
1130  // --- SOP Common Module (M) ---
1131  // (see SR Document General Module)
1132 
1147 
1148  // --- General Study Module (M) ---
1149 
1164 
1165  // --- Patient Module (M) ---
1166 
1175 
1176  // --- General Equipment Module (M) ---
1177 
1186 
1187  // --- Enhanced General Equipment Module (M - for some IODs) ---
1188 
1189  // Manufacturer: (LO, 1, 1)
1190  // - see 'General Equipment Module'
1192  // - see 'General Equipment Module'
1194  // - see 'General Equipment Module'
1196  // - see 'General Equipment Module'
1197 
1198  // --- Frame of Reference (C) ---
1199 
1200  // tbd: conditional module for X-Ray Radiation Dose SR not yet supported
1201 
1202  // --- SR Document Series Module (M) ---
1203 
1214 
1215  // --- SR Document General Module (M) ---
1216 
1237  // Referenced Request Sequence: (SQ, 1, 1C)
1238  // -- not yet supported --
1245 
1246  // --- declaration of copy constructor and assignment operator ---
1247 
1248  DSRDocument(const DSRDocument &);
1249  DSRDocument &operator=(const DSRDocument &);
1250 };
1251 
1252 
1253 #endif
1254 
1255 
1256 /*
1257  * CVS/RCS Log:
1258  * $Log: dsrdoc.h,v $
1259  * Revision 1.53 2010-10-14 13:16:32 joergr
1260  * Updated copyright header. Added reference to COPYRIGHT file.
1261  *
1262  * Revision 1.52 2010-09-30 08:49:40 joergr
1263  * Fixed incomplete comment.
1264  *
1265  * Revision 1.51 2010-09-29 15:07:06 joergr
1266  * Enhanced comments on attributes from Enhanced General Equipment Module.
1267  *
1268  * Revision 1.50 2010-09-29 10:07:12 joergr
1269  * Added support for the recently introduced, optional PreliminaryFlag.
1270  *
1271  * Revision 1.49 2010-09-28 16:26:43 joergr
1272  * Added support for Enhanced General Equipment Module which is required for
1273  * both X-Ray Radiation Dose SR and Colon CAD SR.
1274  *
1275  * Revision 1.48 2010-08-09 13:26:25 joergr
1276  * Updated data dictionary to 2009 edition of the DICOM standard. From now on,
1277  * the official "keyword" is used for the attribute name which results in a
1278  * number of minor changes (e.g. "PatientsName" is now called "PatientName").
1279  *
1280  * Revision 1.47 2010-07-01 13:40:33 joergr
1281  * Moved SeriesDescription (0008,103E) from General Series to SR Document Series
1282  * Module (according to CP 703).
1283  *
1284  * Revision 1.46 2009-10-13 14:57:50 uli
1285  * Switched to logging mechanism provided by the "new" oflog module.
1286  *
1287  * Revision 1.45 2009-04-21 08:32:38 joergr
1288  * Fixed typo.
1289  *
1290  * Revision 1.44 2007/11/15 16:33:30 joergr
1291  * Added support for output in XHTML 1.1 format.
1292  *
1293  * Revision 1.43 2006/12/06 11:50:42 joergr
1294  * Updated various citations according to the latest version of the DICOM
1295  * standard (incl. CP 584). Removed references to a particular edition of the
1296  * standard.
1297  *
1298  * Revision 1.42 2006/08/15 16:40:03 meichel
1299  * Updated the code in module dcmsr to correctly compile when
1300  * all standard C++ classes remain in namespace std.
1301  *
1302  * Revision 1.41 2006/07/25 13:19:53 joergr
1303  * Renamed member variable "ReferencedPerformedProcedureStepSequence" to
1304  * "ReferencedPerformedProcedureStep" for consistency reasons.
1305  *
1306  * Revision 1.40 2006/06/01 15:23:14 joergr
1307  * Removed explicit reference to a particular edition of the DICOM standard.
1308  *
1309  * Revision 1.39 2006/05/11 09:18:21 joergr
1310  * Moved containsExtendedCharacters() from dcmsr to dcmdata module.
1311  *
1312  * Revision 1.38 2005/12/08 16:04:59 meichel
1313  * Changed include path schema for all DCMTK header files
1314  *
1315  * Revision 1.37 2005/11/30 12:00:24 joergr
1316  * Added support for X-Ray Radiation Dose SR documents.
1317  *
1318  * Revision 1.36 2005/07/27 16:41:55 joergr
1319  * Updated reference to DICOM standard edition.
1320  *
1321  * Revision 1.35 2004/11/22 16:39:09 meichel
1322  * Added method that checks if the SR document contains non-ASCII characters
1323  * in any of the strings affected by SpecificCharacterSet.
1324  *
1325  * Revision 1.34 2004/04/16 13:24:07 joergr
1326  * Restructured code to avoid default parameter values for "complex types" like
1327  * OFString. Required for Sun CC 2.0.1.
1328  *
1329  * Revision 1.33 2004/01/05 14:36:02 joergr
1330  * Removed acknowledgements with e-mail addresses from CVS log.
1331  *
1332  * Revision 1.32 2003/10/30 17:53:23 joergr
1333  * Added full support for the ContentTemplateSequence (read/write, get/set
1334  * template identification). Template constraints are not checked yet.
1335  *
1336  * Revision 1.31 2003/10/09 13:18:16 joergr
1337  * Added text from Supplement 66 to getCurrentRequestedProcedureEvidence() API
1338  * comment.
1339  *
1340  * Revision 1.30 2003/09/10 13:16:13 joergr
1341  * Replaced PrivateCodingSchemeUID by new CodingSchemeIdentificationSequence as
1342  * required by CP 324.
1343  *
1344  * Revision 1.29 2003/08/07 18:01:42 joergr
1345  * Removed libxml dependency from header files.
1346  *
1347  * Revision 1.28 2003/08/07 12:31:46 joergr
1348  * Added readXML functionality.
1349  * Updated documentation to get rid of doxygen warnings.
1350  * Made method isFinalized() const.
1351  * Added new option to createRevisedVersion() which allows to keep the current
1352  * list of predecessor documents.
1353  * Changed interface to access the list of predecessor documents. Now using the
1354  * existing class DSRSOPInstanceReferenceList.
1355  * Added preliminary support for the Identical Documents Sequence.
1356  * Renamed parameters/variables "string" to avoid name clash with STL class.
1357  *
1358  * Revision 1.27 2002/05/14 08:15:24 joergr
1359  * Updated comments.
1360  *
1361  * Revision 1.26 2002/05/07 12:49:31 joergr
1362  * Added support for the Current Requested Procedure Evidence Sequence and the
1363  * Pertinent Other Evidence Sequence to the dcmsr module.
1364  *
1365  * Revision 1.25 2002/04/16 13:50:52 joergr
1366  * Added configurable support for C++ ANSI standard includes (e.g. streams).
1367  *
1368  * Revision 1.24 2001/11/09 16:10:48 joergr
1369  * Added preliminary support for Mammography CAD SR.
1370  *
1371  * Revision 1.23 2001/09/26 13:04:06 meichel
1372  * Adapted dcmsr to class OFCondition
1373  *
1374  * Revision 1.22 2001/04/03 08:24:01 joergr
1375  * Added new command line option: ignore relationship content constraints
1376  * specified for each SR document class.
1377  *
1378  * Revision 1.21 2001/01/29 17:37:14 joergr
1379  * Added methods to support a new state of finalized and unfinalized documents.
1380  *
1381  * Revision 1.20 2001/01/25 11:48:43 joergr
1382  * Corrected typos / enhanced comments.
1383  *
1384  * Revision 1.19 2001/01/18 15:53:33 joergr
1385  * Added support for digital signatures.
1386  *
1387  * Revision 1.18 2000/12/08 13:42:40 joergr
1388  * Renamed createNewSeries(studyUID) to createNewSeriesInStudy(studyUID).
1389  *
1390  * Revision 1.17 2000/11/16 13:31:27 joergr
1391  * Corrected behaviour of updateDicomAttributes().
1392  *
1393  * Revision 1.16 2000/11/14 17:27:25 joergr
1394  * Added method to remove verification information.
1395  *
1396  * Revision 1.15 2000/11/14 16:36:21 joergr
1397  * Added methods to set the content date/time.
1398  *
1399  * Revision 1.14 2000/11/14 11:45:50 joergr
1400  * Corrected behaviour of method createRevisedVersion().
1401  *
1402  * Revision 1.13 2000/11/13 14:19:06 joergr
1403  * Updated comments.
1404  *
1405  * Revision 1.12 2000/11/13 10:26:21 joergr
1406  * Added output of optional observation datetime to rendered HTML page.
1407  *
1408  * Revision 1.11 2000/11/10 18:10:20 joergr
1409  * Corrected behaviour of createNewSOPInstance() and createRevisedDocument().
1410  *
1411  * Revision 1.10 2000/11/10 17:44:49 joergr
1412  * Added new methods to set the completion flag description, create new study/
1413  * series UIDs. Added missing type 2 sequence to dataset. Corrected wrong format
1414  * of predecessor documents sequence. Changed behaviour of completion/verification
1415  * flags. Improved HTML and print/dump output.
1416  *
1417  * Revision 1.9 2000/11/09 20:32:07 joergr
1418  * Added support for non-ASCII characters in HTML 3.2 (use numeric value).
1419  *
1420  * Revision 1.8 2000/11/07 18:12:25 joergr
1421  * Enhanced rendered HTML output of date, time, datetime and pname.
1422  *
1423  * Revision 1.7 2000/11/01 16:16:33 joergr
1424  * Added support for conversion to XML.
1425  * Added support for Cascading Style Sheet (CSS) used optionally for HTML
1426  * rendering.
1427  * Enhanced support for specific character sets.
1428  *
1429  * Revision 1.6 2000/10/26 14:17:06 joergr
1430  * Added support for "Comprehensive SR".
1431  *
1432  * Revision 1.5 2000/10/18 17:01:47 joergr
1433  * Made some functions inline.
1434  *
1435  * Revision 1.4 2000/10/17 12:35:05 joergr
1436  * Added methods to retrieve information on predecessor documents and
1437  * verifying observers.
1438  *
1439  * Revision 1.3 2000/10/16 16:30:23 joergr
1440  * Added missing get/setSeriesDescription() methods.
1441  * Updated comments.
1442  *
1443  * Revision 1.2 2000/10/16 11:59:04 joergr
1444  * Made method creating a new SOP instance public. Added check for correct SOP
1445  * instance UID and SOP class UID to validity check.
1446  *
1447  * Revision 1.1 2000/10/13 07:49:25 joergr
1448  * Added new module 'dcmsr' providing access to DICOM structured reporting
1449  * documents (supplement 23). Doc++ documentation not yet completed.
1450  *
1451  *
1452  */
const char * getStudyDate() const
get study date
OFCondition writeXML(STD_NAMESPACE ostream &stream, const size_t flags=0)
write current SR document in XML format.
a class representing the DICOM value representation 'Integer String' (IS)
Definition: dcvris.h:39
DSRCodingSchemeIdentificationList CodingSchemeIdentification
Coding Scheme Identification Sequence: (SQ, 1, 3)
Definition: dsrdoc.h:1146
const char * getModality() const
get modality
DcmIntegerString SeriesNumber
Series Number: (IS, 1, 1)
Definition: dsrdoc.h:1209
a class representing a list of DICOM elements in which each element has a different tag and elements ...
Definition: dcitem.h:51
DcmSequenceOfItems ReferencedPerformedProcedureStep
Referenced Performed Procedure Step Sequence: (SQ, 1, 2)
Definition: dsrdoc.h:1213
OFCondition getVerifyingObserver(const size_t idx, OFString &dateTime, OFString &observerName, OFString &organization)
get information about a verifying observer.
DcmCodeString CompletionFlag
Completion Flag: (CS, 1, 1)
Definition: dsrdoc.h:1222
DcmCodeString PatientSex
Patient's Sex: (CS, 1, 2)
Definition: dsrdoc.h:1174
const char * getSeriesInstanceUID() const
get series instance UID
const char * getSeriesDescription() const
get series description
Class for XML documents.
Definition: dsrxmld.h:63
DcmPersonName ReferringPhysicianName
ReferringPhysicianName: (PN, 1, 2)
Definition: dsrdoc.h:1157
DSRSOPInstanceReferenceList & getPertinentOtherEvidence()
get list of referenced SOP instances (Pertinent Other Evidence).
OFCondition setDeviceSerialNumber(const OFString &value)
set device serial number.
a class representing the DICOM value representation 'Unique Identifier' (UI)
Definition: dcvrui.h:39
OFCondition setManufacturerModelName(const OFString &value)
set manufacturer's model name.
DSRSOPInstanceReferenceList CurrentRequestedProcedureEvidence
Current Requested Procedure Evidence Sequence: (SQ, 1, 1C)
Definition: dsrdoc.h:1242
a class representing the DICOM value representation 'Person Name' (PN)
Definition: dcvrpn.h:40
class representing a DICOM Sequence of Items (SQ).
Definition: dcsequen.h:47
E_CharacterSet SpecificCharacterSetEnum
defined term: see class DSRTypes
Definition: dsrdoc.h:1123
OFCondition setSpecificCharacterSetType(const E_CharacterSet characterSet)
set specific character set type.
const char * getSoftwareVersions() const
get software version(s)
OFCondition setInstanceNumber(const OFString &value)
set instance number.
DcmTime ContentTime
Content Time: (TM, 1, 1)
Definition: dsrdoc.h:1230
const char * getStudyDescription() const
get study description
OFCondition setPreliminaryFlag(const E_PreliminaryFlag flag)
set document preliminary flag.
OFCondition setAccessionNumber(const OFString &value)
set accession number.
DcmLongString SeriesDescription
Series Description: (LO, 1, 3)
Definition: dsrdoc.h:1211
OFCondition setSoftwareVersions(const OFString &value)
set software version(s).
OFCondition readXMLDocumentData(const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags)
read XML "document" data
OFCondition readXMLInstanceData(const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags)
read XML "instance" data
const char * getPatientID() const
get patient ID
OFBool isFinalized() const
check whether the document is finalized.
E_CompletionFlag
SR document completion flag.
Definition: dsrtypes.h:561
const char * getSOPClassUID() const
get SOP class UID
OFCondition readXML(const OFString &filename, const size_t flags=0)
read SR document from XML file.
const char * getInstanceCreationTime() const
get instance creation time
DcmCodeString Modality
Manufacturer's Model Name: (LO, 1, 1)
Definition: dsrdoc.h:1205
E_PreliminaryFlag getPreliminaryFlag() const
get document preliminary flag.
DICOM IOD: Basic Text SR.
Definition: dsrtypes.h:364
OFCondition finalizeDocument()
finalize the current state of the document.
Class managing the SR document tree.
Definition: dsrdoctr.h:56
DcmTime InstanceCreationTime
Instance Creation Time: (TM, 1, 3)
Definition: dsrdoc.h:1142
Class that maps Coding Scheme Designators to an external coding system registration, or to a private or local coding scheme.
Definition: dsrcsidl.h:49
DSRSOPInstanceReferenceList & getCurrentRequestedProcedureEvidence()
get list of referenced SOP instances (Current Requested Procedure Evidence).
DcmDate ContentDate
Content Date: (DA, 1, 1)
Definition: dsrdoc.h:1228
E_CharacterSet
Specific character set.
Definition: dsrtypes.h:589
OFCondition setPatientSex(const OFString &value)
set patient's sex.
const char * getPatientName() const
get patient's name
OFCondition readXMLPatientData(const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags)
read XML "patient" data
size_t getNumberOfVerifyingObservers()
get number of verifying observers.
a class representing the DICOM value representation 'Date' (DA)
Definition: dcvrda.h:40
OFCondition print(STD_NAMESPACE ostream &stream, const size_t flags=0)
print current SR document to specified output stream.
const char * getCompletionFlagDescription() const
get document completion flag description.
DSRDocument(const E_DocumentType documentType=DT_BasicTextSR)
(default) constructor.
DcmShortString StudyID
Study ID: (SH, 1, 2)
Definition: dsrdoc.h:1159
OFBool isValid()
check whether the current internal state is valid.
DcmIntegerString InstanceNumber
Instance Number: (IS, 1, 1)
Definition: dsrdoc.h:1218
OFCondition setStudyDescription(const OFString &value)
set study description.
const char * getInstanceNumber() const
get instance number
OFCondition setSpecificCharacterSet(const OFString &value)
set specific character set.
E_DocumentType getDocumentType() const
get the current SR document type
OFCondition checkDatasetForReading(DcmItem &dataset, E_DocumentType &documentType)
check the given dataset before reading.
void removeVerification()
remove verification information.
E_PreliminaryFlag PreliminaryFlagEnum
enumerated value: preliminary, final
Definition: dsrdoc.h:1117
E_CharacterSet getSpecificCharacterSetType() const
get specific character set type.
DcmDate StudyDate
Study Date: (DA, 1, 2)
Definition: dsrdoc.h:1153
void updateAttributes(const OFBool updateAll=OFTrue)
update several DICOM attributes.
OFCondition createRevisedVersion(const OFBool clearList=OFTrue)
create a revised version of the current document.
E_VerificationFlag VerificationFlagEnum
enumerated value: unverified, verified
Definition: dsrdoc.h:1121
const char * getSOPInstanceUID() const
get SOP instance UID
const char * getInstanceCreatorUID() const
get instance creator UID
virtual ~DSRDocument()
destructor
OFBool FinalizedFlag
flag indicating whether is document is finalized or not
Definition: dsrdoc.h:1115
OFCondition readXMLVerifyingObserverData(const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags)
read XML verifying observer data
OFCondition setSeriesDescription(const OFString &value)
set series description.
DcmUniqueIdentifier SeriesInstanceUID
Series Instance Number: (UI, 1, 1)
Definition: dsrdoc.h:1207
a class representing the DICOM value representation 'Long String' (LO)
Definition: dcvrlo.h:40
DSRCodingSchemeIdentificationList & getCodingSchemeIdentification()
get list of coding schemes used (Coding Scheme Identification).
DcmUniqueIdentifier SOPClassUID
SOP Class UID: (UI, 1, 1)
Definition: dsrdoc.h:1134
a class representing the DICOM value representation 'Code String' (CS)
Definition: dcvrcs.h:40
const char * getDeviceSerialNumber() const
get device serial number
DcmLongString ManufacturerModelName
Manufacturer's Model Name: (LO, 1, 3)
Definition: dsrdoc.h:1181
DcmUniqueIdentifier InstanceCreatorUID
Instance Creator UID: (UI, 1, 3)
Definition: dsrdoc.h:1144
Interface class for 'dcmsr' (DICOM Structured Reporting Documents).
Definition: dsrdoc.h:52
void renderHTMLReferenceList(STD_NAMESPACE ostream &stream, DSRSOPInstanceReferenceList &refList, const size_t flags)
render list of referenced SOP instances in HTML/XHTML format
const char * getStudyID() const
get study ID
OFCondition setSeriesNumber(const OFString &value)
set series number.
OFCondition createNewDocument()
create a new document.
E_VerificationFlag getVerificationFlag() const
get document verification flag.
void createNewStudy()
create new study.
DcmDate InstanceCreationDate
Instance Creation Date: (DA, 1, 3)
Definition: dsrdoc.h:1140
E_CompletionFlag CompletionFlagEnum
enumerated value: partial, complete
Definition: dsrdoc.h:1119
DcmUniqueIdentifier SOPInstanceUID
SOP Instance UID: (UI, 1, 1)
Definition: dsrdoc.h:1136
void clear()
clear all internal member variables
E_VerificationFlag
SR document verification flag.
Definition: dsrtypes.h:575
OFCondition readXMLSeriesData(const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags)
read XML "series" data
OFCondition setManufacturer(const OFString &value)
set manufacturer.
this class manages a stack of pointers to DcmObject instances.
Definition: dcstack.h:77
DSRDocumentTree & getTree()
get document tree
Definition: dsrdoc.h:187
Class for coded entry values.
Definition: dsrcodvl.h:47
DSRSOPInstanceReferenceList PertinentOtherEvidence
Pertinent Other Evidence Sequence: (SQ, 1, 1C)
Definition: dsrdoc.h:1244
DcmLongString StudyDescription
Study Description: (LO, 1, 3)
Definition: dsrdoc.h:1163
a class representing the DICOM value representation 'Time' (TM)
Definition: dcvrtm.h:41
E_CompletionFlag getCompletionFlag() const
get document completion flag.
DcmLongString CompletionFlagDescription
Completion Flag Description: (LO, 1, 3)
Definition: dsrdoc.h:1224
a class representing the DICOM value representation 'Short String' (SH)
Definition: dcvrsh.h:40
void createNewSeries()
create a new series.
const char * getReferringPhysicianName() const
get referring physicians name
const char * getPatientBirthDate() const
get patient's birth date
OFCondition setContentDate(const OFString &value)
set content date.
OFCondition setReferringPhysicianName(const OFString &value)
set referring physicians name.
OFCondition setCompletionFlagDescription(const OFString &value)
set document completion flag description.
OFCondition readXMLDocumentHeader(DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags)
read XML document header
DcmSequenceOfItems PerformedProcedureCode
Performed Procedure Code Sequence: (SQ, 1, 2)
Definition: dsrdoc.h:1240
DcmTime StudyTime
StudyTime: (TM, 1, 2)
Definition: dsrdoc.h:1155
DcmLongString SoftwareVersions
Software Version(s): (LO, 1-n, 3)
Definition: dsrdoc.h:1185
DcmShortString AccessionNumber
Accession Number: (SH, 1, 2)
Definition: dsrdoc.h:1161
OFCondition setPatientID(const OFString &value)
set patient ID.
DcmSequenceOfItems VerifyingObserver
Verifying Observer Sequence: (SQ, 1, 1C)
Definition: dsrdoc.h:1232
DcmCodeString VerificationFlag
Verification Flag: (CS, 1, 1)
Definition: dsrdoc.h:1226
const char * getStudyTime() const
get study time
const char * getStudyInstanceUID() const
get study instance UID
OFCondition setStudyID(const OFString &value)
set study ID.
const char * getContentDate() const
get content date
DcmCodeString PreliminaryFlag
Preliminary Flag: (CS, 1, 3)
Definition: dsrdoc.h:1220
DcmPersonName PatientName
Patient's Name: (PN, 1, 2)
Definition: dsrdoc.h:1168
OFCondition completeDocument()
complete the current document.
const char * getSeriesNumber() const
get series number
Class for SOP instance reference lists.
Definition: dsrsoprf.h:53
const char * getSpecificCharacterSet() const
get specific character set
DSRSOPInstanceReferenceList & getPredecessorDocuments()
get list of predecessor documents.
OFCondition verifyDocument(const OFString &observerName, const OFString &organization)
verify the current document by a specific observer.
DSRSOPInstanceReferenceList & getIdenticalDocuments()
get list of identical documents.
OFCondition setContentTime(const OFString &value)
set content time.
OFCondition renderHTML(STD_NAMESPACE ostream &stream, const size_t flags=0, const char *styleSheet=NULL)
render current SR document in HTML/XHTML format.
DcmUniqueIdentifier StudyInstanceUID
Study Instance UID: (UI, 1, 1)
Definition: dsrdoc.h:1151
E_DocumentType
SR document types.
Definition: dsrtypes.h:357
const char * getAccessionNumber() const
get accession number
OFCondition setPatientName(const OFString &value)
set patient's name.
General purpose class hiding global functions, constants and types from the global namespace...
Definition: dsrtypes.h:150
const char * getManufacturerModelName() const
get manufacturer's model name
DcmCodeString SpecificCharacterSet
Specific Character Set: (CS, 1-n, 1C)
Definition: dsrdoc.h:1138
OFCondition read(DcmItem &dataset, const size_t flags=0)
read SR document from DICOM dataset.
a simple string class that implements a subset of std::string.
Definition: ofstring.h:86
DcmLongString Manufacturer
Manufacturer: (LO, 1, 2)
Definition: dsrdoc.h:1179
void renderHTMLPatientData(STD_NAMESPACE ostream &stream, const size_t flags)
render patient name, sex, birthdate and ID in HTML/XHTML format
OFCondition createNewSeriesInStudy(const OFString &studyUID)
create a new series within a given study.
const char * getInstanceCreationDate() const
get instance creation date
DcmLongString PatientID
Patient ID: (LO, 1, 2)
Definition: dsrdoc.h:1170
DSRSOPInstanceReferenceList PredecessorDocuments
Predecessor Documents Sequence: (SQ, 1, 1C)
Definition: dsrdoc.h:1234
Class for XML document cursors.
Definition: dsrxmlc.h:73
DSRSOPInstanceReferenceList IdenticalDocuments
Identical Documents Sequence: (SQ, 1, 1C)
Definition: dsrdoc.h:1236
const char * getManufacturer() const
get manufacturer
void createNewSOPInstance()
create a new SOP instance.
E_PreliminaryFlag
SR document preliminary flag.
Definition: dsrtypes.h:547
OFCondition write(DcmItem &dataset, DcmStack *markedItems=NULL)
write current SR document to DICOM dataset.
OFCondition readXMLStudyData(const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags)
read XML "study" data
OFCondition setPatientBirthDate(const OFString &value)
set patient's birth date.
DSRDocumentTree DocumentTree
SR document tree.
Definition: dsrdoc.h:1112
const char * getContentTime() const
get content time
const char * getPatientSex() const
get patient's sex
DcmDate PatientBirthDate
Patient's Birth Date: (DA, 1, 2)
Definition: dsrdoc.h:1172
General purpose class for condition codes.
Definition: ofcond.h:305
DcmLongString DeviceSerialNumber
Device Serial Number: (LO, 1, 3)
Definition: dsrdoc.h:1183


Generated on Thu Aug 27 2015 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.9.1