fw4spl
core/fwMedData/include/fwMedData/Study.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2018.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #pragma once
8 
9 #include "fwMedData/config.hpp"
10 #include "fwMedData/types.hpp"
11 
12 #include <fwData/factory/new.hpp>
13 #include <fwData/Object.hpp>
14 
15 fwCampAutoDeclareDataMacro((fwMedData)(Study), FWMEDDATA_API);
16 
17 namespace fwMedData
18 {
19 
23 class FWMEDDATA_CLASS_API Study : public ::fwData::Object
24 {
25 
26 public:
27  fwCoreClassDefinitionsWithFactoryMacro( (Study)(::fwData::Object), (()), ::fwData::factory::New< Study >);
28 
29  fwCampMakeFriendDataMacro((fwMedData)(Study));
30 
35  FWMEDDATA_API Study(::fwData::Object::Key key);
36 
38  FWMEDDATA_API virtual ~Study();
39 
41  FWMEDDATA_API void shallowCopy( const ::fwData::Object::csptr& _source ) override;
42 
44  FWMEDDATA_API void cachedDeepCopy( const ::fwData::Object::csptr& _source, DeepCopyCacheType& cache ) override;
45 
53  const DicomValueType& getInstanceUID () const;
54  void setInstanceUID (const DicomValueType& val);
55 
61  const DicomValueType& getDate () const;
62  void setDate (const DicomValueType& val);
69  const DicomValueType& getTime () const;
70  void setTime (const DicomValueType& val);
71 
77  const DicomValueType& getReferringPhysicianName () const;
78  void setReferringPhysicianName (const DicomValueType& val);
84  const DicomValueType& getDescription () const;
85  void setDescription (const DicomValueType& val);
91  const DicomValueType& getPatientAge () const;
92  void setPatientAge (const DicomValueType& val);
97 protected:
98 
100  DicomValueType m_instanceUID;
101 
103  DicomValueType m_date;
104 
106  DicomValueType m_time;
107 
109  DicomValueType m_referringPhysicianName;
110 
112  DicomValueType m_description;
113 
115  DicomValueType m_patientAge;
116 };
117 
118 //-----------------------------------------------------------------------------
119 
120 inline const DicomValueType& Study::getInstanceUID () const
121 {
122  return m_instanceUID;
123 }
124 
125 //-----------------------------------------------------------------------------
126 
127 inline void Study::setInstanceUID (const DicomValueType& val)
128 {
129  m_instanceUID = val;
130 }
131 
132 //-----------------------------------------------------------------------------
133 
134 inline const DicomValueType& Study::getDate () const
135 {
136  return m_date;
137 }
138 
139 //-----------------------------------------------------------------------------
140 
141 inline void Study::setDate (const DicomValueType& val)
142 {
143  m_date = val;
144 }
145 
146 //-----------------------------------------------------------------------------
147 
148 inline const DicomValueType& Study::getTime () const
149 {
150  return m_time;
151 }
152 
153 //-----------------------------------------------------------------------------
154 
155 inline void Study::setTime (const DicomValueType& val)
156 {
157  m_time = val;
158 }
159 
160 //-----------------------------------------------------------------------------
161 
162 inline const DicomValueType& Study::getReferringPhysicianName () const
163 {
164  return m_referringPhysicianName;
165 }
166 
167 //-----------------------------------------------------------------------------
168 
169 inline void Study::setReferringPhysicianName (const DicomValueType& val)
170 {
171  m_referringPhysicianName = val;
172 }
173 
174 //-----------------------------------------------------------------------------
175 
176 inline const DicomValueType& Study::getDescription () const
177 {
178  return m_description;
179 }
180 
181 //-----------------------------------------------------------------------------
182 
183 inline void Study::setDescription (const DicomValueType& val)
184 {
185  m_description = val;
186 }
187 
188 //-----------------------------------------------------------------------------
189 
190 inline const DicomValueType& Study::getPatientAge () const
191 {
192  return m_patientAge;
193 }
194 
195 //-----------------------------------------------------------------------------
196 
197 inline void Study::setPatientAge (const DicomValueType& val)
198 {
199  m_patientAge = val;
200 }
201 
202 //-----------------------------------------------------------------------------
203 
204 } //end namespace fwMedData
const DicomValueType & getInstanceUID() const
Unique identifier of the Study (0020,000D)
void setPatientAge(const DicomValueType &val)
Age of the Patient (0010,1010)
Namespace containing medical data.
Key class used to restrict access to Object construction. See http://www.drdobbs.com/184402053.
DicomValueType m_instanceUID
Study unique identifier.
const DicomValueType & getDescription() const
Institution-generated description or classification of the Study (component) performed (0008...
void setReferringPhysicianName(const DicomValueType &val)
Name of the patient&#39;s referring physician (0008,0090)
DicomValueType m_referringPhysicianName
Referring physician name.
void setTime(const DicomValueType &val)
Time the Study started (0008,0030)
#define fwCoreClassDefinitionsWithFactoryMacro(_classinfo_, _parameters_, _factory_)
Generate common construction methods for classes with one factory.
DicomValueType m_description
Description.
Base class for each data object.
void setInstanceUID(const DicomValueType &val)
Unique identifier of the Study (0020,000D)
void setDate(const DicomValueType &val)
Date the Study started (0008,0020)
DicomValueType m_patientAge
Patient age.
const DicomValueType & getReferringPhysicianName() const
Name of the patient&#39;s referring physician (0008,0090)
void setDescription(const DicomValueType &val)
Institution-generated description or classification of the Study (component) performed (0008...
const DicomValueType & getPatientAge() const
Age of the Patient (0010,1010)
const DicomValueType & getTime() const
Time the Study started (0008,0030)
const DicomValueType & getDate() const
Date the Study started (0008,0020)