comparison Core/DicomFormat/DicomTag.cpp @ 961:e53a7e30a137

modules
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 26 Jun 2014 15:42:09 +0200
parents a811bdf8b8eb
children b39c4837966e
comparison
equal deleted inserted replaced
960:abac5c83134f 961:e53a7e30a137
114 if (*this == DICOM_TAG_PATIENT_NAME) 114 if (*this == DICOM_TAG_PATIENT_NAME)
115 return "PatientName"; 115 return "PatientName";
116 116
117 return ""; 117 return "";
118 } 118 }
119
120
121 void DicomTag::GetTagsForModule(std::set<DicomTag>& target,
122 ResourceType module)
123 {
124 // REFERENCE: 11_03pu.pdf, DICOM PS 3.3 2011 - Information Object Definitions
125 target.clear();
126
127 switch (module)
128 {
129 case ResourceType_Patient:
130 // This is Table C.7-1 "Patient Module Attributes" (p. 373)
131 target.insert(DicomTag(0x0010, 0x0010)); // Patient's name
132 target.insert(DicomTag(0x0010, 0x0020)); // Patient ID
133 target.insert(DicomTag(0x0010, 0x0030)); // Patient's birth date
134 target.insert(DicomTag(0x0010, 0x0040)); // Patient's sex
135 target.insert(DicomTag(0x0008, 0x1120)); // Referenced patient sequence
136 target.insert(DicomTag(0x0010, 0x0032)); // Patient's birth time
137 target.insert(DicomTag(0x0010, 0x1000)); // Other patient IDs
138 target.insert(DicomTag(0x0010, 0x1002)); // Other patient IDs sequence
139 target.insert(DicomTag(0x0010, 0x1001)); // Other patient names
140 target.insert(DicomTag(0x0010, 0x2160)); // Ethnic group
141 target.insert(DicomTag(0x0010, 0x4000)); // Patient comments
142 target.insert(DicomTag(0x0010, 0x2201)); // Patient species description
143 target.insert(DicomTag(0x0010, 0x2202)); // Patient species code sequence
144 target.insert(DicomTag(0x0010, 0x2292)); // Patient breed description
145 target.insert(DicomTag(0x0010, 0x2293)); // Patient breed code sequence
146 target.insert(DicomTag(0x0010, 0x2294)); // Breed registration sequence
147 target.insert(DicomTag(0x0010, 0x2297)); // Responsible person
148 target.insert(DicomTag(0x0010, 0x2298)); // Responsible person role
149 target.insert(DicomTag(0x0010, 0x2299)); // Responsible organization
150 target.insert(DicomTag(0x0012, 0x0062)); // Patient identity removed
151 target.insert(DicomTag(0x0012, 0x0063)); // De-identification method
152 target.insert(DicomTag(0x0012, 0x0064)); // De-identification method code sequence
153
154 // Table 10-18 ISSUER OF PATIENT ID MACRO (p. 112)
155 target.insert(DicomTag(0x0010, 0x0021)); // Issuer of Patient ID
156 target.insert(DicomTag(0x0010, 0x0024)); // Issuer of Patient ID qualifiers sequence
157 break;
158
159 case ResourceType_Study:
160 // This is Table C.7-3 "General Study Module Attributes" (p. 378)
161 target.insert(DicomTag(0x0020, 0x000d)); // Study instance UID
162 target.insert(DicomTag(0x0008, 0x0020)); // Study date
163 target.insert(DicomTag(0x0008, 0x0030)); // Study time
164 target.insert(DicomTag(0x0008, 0x0090)); // Referring physician's name
165 target.insert(DicomTag(0x0008, 0x0096)); // Referring physician identification sequence
166 target.insert(DicomTag(0x0020, 0x0010)); // Study ID
167 target.insert(DicomTag(0x0008, 0x0050)); // Accession number
168 target.insert(DicomTag(0x0008, 0x0051)); // Issuer of accession number sequence
169 target.insert(DicomTag(0x0008, 0x1030)); // Study description
170 target.insert(DicomTag(0x0008, 0x1048)); // Physician(s) of record
171 target.insert(DicomTag(0x0008, 0x1049)); // Physician(s) of record identification sequence
172 target.insert(DicomTag(0x0008, 0x1060)); // Name of physician(s) reading study
173 target.insert(DicomTag(0x0008, 0x1062)); // Physician(s) reading study identification sequence
174 target.insert(DicomTag(0x0032, 0x1034)); // Requesting service code sequence
175 target.insert(DicomTag(0x0008, 0x1110)); // Referenced study sequence
176 target.insert(DicomTag(0x0008, 0x1032)); // Procedure code sequence
177 target.insert(DicomTag(0x0040, 0x1012)); // Reason for performed procedure code sequence
178 break;
179
180 case ResourceType_Series:
181 // This is Table C.7-5 "General Series Module Attributes" (p. 385)
182 target.insert(DicomTag(0x , 0x )); //
183 target.insert(DicomTag(0x , 0x )); //
184 target.insert(DicomTag(0x , 0x )); //
185 target.insert(DicomTag(0x , 0x )); //
186 target.insert(DicomTag(0x , 0x )); //
187 target.insert(DicomTag(0x , 0x )); //
188 target.insert(DicomTag(0x , 0x )); //
189 break;
190
191 case ResourceType_Instance:
192 // This is Table C.12-1 "SOP Common Module Attributes" (p. 1207)
193 target.insert(DicomTag(0x , 0x )); //
194 target.insert(DicomTag(0x , 0x )); //
195 target.insert(DicomTag(0x , 0x )); //
196 target.insert(DicomTag(0x , 0x )); //
197 target.insert(DicomTag(0x , 0x )); //
198 target.insert(DicomTag(0x , 0x )); //
199 target.insert(DicomTag(0x , 0x )); //
200 break;
201
202 default:
203 throw OrthancException(ErrorCode_ParameterOutOfRange);
204 }
205 }
119 } 206 }