comparison OrthancServer/OrthancRestApi.cpp @ 342:a58a8be26aff

generation of random uid in the rest api
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 18 Jan 2013 10:17:11 +0100
parents 47a709e22d1f
children cd6749e53a03
comparison
equal deleted inserted replaced
341:b51c67f28b33 342:a58a8be26aff
313 { 313 {
314 RETRIEVE_CONTEXT(call); 314 RETRIEVE_CONTEXT(call);
315 Json::Value result = Json::objectValue; 315 Json::Value result = Json::objectValue;
316 context.GetIndex().ComputeStatistics(result); 316 context.GetIndex().ComputeStatistics(result);
317 call.GetOutput().AnswerJson(result); 317 call.GetOutput().AnswerJson(result);
318 }
319
320 static void GenerateUid(RestApi::GetCall& call)
321 {
322 std::string level = call.GetArgument("level", "");
323 if (level == "patient")
324 {
325 call.GetOutput().AnswerBuffer(FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel_Patient), "text/plain");
326 }
327 else if (level == "study")
328 {
329 call.GetOutput().AnswerBuffer(FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel_Study), "text/plain");
330 }
331 else if (level == "series")
332 {
333 call.GetOutput().AnswerBuffer(FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel_Series), "text/plain");
334 }
335 else if (level == "instance")
336 {
337 call.GetOutput().AnswerBuffer(FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel_Instance), "text/plain");
338 }
318 } 339 }
319 340
320 341
321 // List all the patients, studies, series or instances ---------------------- 342 // List all the patients, studies, series or instances ----------------------
322 343
1439 Register("/studies/{id}/modify", ModifyStudyInplace); 1460 Register("/studies/{id}/modify", ModifyStudyInplace);
1440 1461
1441 Register("/instances/{id}/anonymize", AnonymizeInstance); 1462 Register("/instances/{id}/anonymize", AnonymizeInstance);
1442 Register("/series/{id}/anonymize", AnonymizeSeriesInplace); 1463 Register("/series/{id}/anonymize", AnonymizeSeriesInplace);
1443 Register("/studies/{id}/anonymize", AnonymizeStudyInplace); 1464 Register("/studies/{id}/anonymize", AnonymizeStudyInplace);
1465
1466 Register("/tools/generate-uid", GenerateUid);
1444 } 1467 }
1445 } 1468 }