comparison OrthancServer/OrthancRestApi/OrthancRestModalities.cpp @ 2059:8e67325eaa3f

fix
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 30 Jun 2016 20:02:21 +0200
parents a0bd8cd55da7
children 02c543c42e61
comparison
equal deleted inserted replaced
2058:43cd2ab060c7 2059:8e67325eaa3f
176 176
177 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle(); 177 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle();
178 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 178 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
179 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote); 179 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote);
180 180
181 DicomFindAnswers answers; 181 DicomFindAnswers answers(false);
182 FindPatient(answers, locker.GetConnection(), fields); 182 FindPatient(answers, locker.GetConnection(), fields);
183 183
184 Json::Value result; 184 Json::Value result;
185 answers.ToJson(result, true); 185 answers.ToJson(result, true);
186 call.GetOutput().AnswerJson(result); 186 call.GetOutput().AnswerJson(result);
206 206
207 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle(); 207 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle();
208 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 208 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
209 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote); 209 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote);
210 210
211 DicomFindAnswers answers; 211 DicomFindAnswers answers(false);
212 FindStudy(answers, locker.GetConnection(), fields); 212 FindStudy(answers, locker.GetConnection(), fields);
213 213
214 Json::Value result; 214 Json::Value result;
215 answers.ToJson(result, true); 215 answers.ToJson(result, true);
216 call.GetOutput().AnswerJson(result); 216 call.GetOutput().AnswerJson(result);
237 237
238 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle(); 238 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle();
239 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 239 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
240 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote); 240 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote);
241 241
242 DicomFindAnswers answers; 242 DicomFindAnswers answers(false);
243 FindSeries(answers, locker.GetConnection(), fields); 243 FindSeries(answers, locker.GetConnection(), fields);
244 244
245 Json::Value result; 245 Json::Value result;
246 answers.ToJson(result, true); 246 answers.ToJson(result, true);
247 call.GetOutput().AnswerJson(result); 247 call.GetOutput().AnswerJson(result);
269 269
270 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle(); 270 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle();
271 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 271 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
272 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote); 272 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote);
273 273
274 DicomFindAnswers answers; 274 DicomFindAnswers answers(false);
275 FindInstance(answers, locker.GetConnection(), fields); 275 FindInstance(answers, locker.GetConnection(), fields);
276 276
277 Json::Value result; 277 Json::Value result;
278 answers.ToJson(result, true); 278 answers.ToJson(result, true);
279 call.GetOutput().AnswerJson(result); 279 call.GetOutput().AnswerJson(result);
306 306
307 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle(); 307 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle();
308 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 308 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
309 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote); 309 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote);
310 310
311 DicomFindAnswers patients; 311 DicomFindAnswers patients(false);
312 FindPatient(patients, locker.GetConnection(), m); 312 FindPatient(patients, locker.GetConnection(), m);
313 313
314 // Loop over the found patients 314 // Loop over the found patients
315 Json::Value result = Json::arrayValue; 315 Json::Value result = Json::arrayValue;
316 for (size_t i = 0; i < patients.GetSize(); i++) 316 for (size_t i = 0; i < patients.GetSize(); i++)
324 return; 324 return;
325 } 325 }
326 326
327 CopyTagIfExists(m, patients.GetAnswer(i), DICOM_TAG_PATIENT_ID); 327 CopyTagIfExists(m, patients.GetAnswer(i), DICOM_TAG_PATIENT_ID);
328 328
329 DicomFindAnswers studies; 329 DicomFindAnswers studies(false);
330 FindStudy(studies, locker.GetConnection(), m); 330 FindStudy(studies, locker.GetConnection(), m);
331 331
332 patient["Studies"] = Json::arrayValue; 332 patient["Studies"] = Json::arrayValue;
333 333
334 // Loop over the found studies 334 // Loop over the found studies
344 } 344 }
345 345
346 CopyTagIfExists(m, studies.GetAnswer(j), DICOM_TAG_PATIENT_ID); 346 CopyTagIfExists(m, studies.GetAnswer(j), DICOM_TAG_PATIENT_ID);
347 CopyTagIfExists(m, studies.GetAnswer(j), DICOM_TAG_STUDY_INSTANCE_UID); 347 CopyTagIfExists(m, studies.GetAnswer(j), DICOM_TAG_STUDY_INSTANCE_UID);
348 348
349 DicomFindAnswers series; 349 DicomFindAnswers series(false);
350 FindSeries(series, locker.GetConnection(), m); 350 FindSeries(series, locker.GetConnection(), m);
351 351
352 // Loop over the found series 352 // Loop over the found series
353 study["Series"] = Json::arrayValue; 353 study["Series"] = Json::arrayValue;
354 for (size_t k = 0; k < series.GetSize(); k++) 354 for (size_t k = 0; k < series.GetSize(); k++)
977 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle(); 977 const std::string& localAet = context.GetDefaultLocalApplicationEntityTitle();
978 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 978 RemoteModalityParameters remote = Configuration::GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
979 979
980 std::auto_ptr<ParsedDicomFile> query(ParsedDicomFile::CreateFromJson(json, static_cast<DicomFromJsonFlags>(0))); 980 std::auto_ptr<ParsedDicomFile> query(ParsedDicomFile::CreateFromJson(json, static_cast<DicomFromJsonFlags>(0)));
981 981
982 DicomFindAnswers answers; 982 DicomFindAnswers answers(true);
983 983
984 { 984 {
985 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote); 985 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), localAet, remote);
986 locker.GetConnection().FindWorklist(answers, *query); 986 locker.GetConnection().FindWorklist(answers, *query);
987 } 987 }