diff OrthancServer/OrthancRestApi.cpp @ 440:23e5b35e3c5c

statistics for patient/studies/series/instances
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 15 May 2013 17:44:15 +0200
parents 7bbe77cb9e12
children be93b666ed79
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi.cpp	Wed May 15 17:10:52 2013 +0200
+++ b/OrthancServer/OrthancRestApi.cpp	Wed May 15 17:44:15 2013 +0200
@@ -1573,6 +1573,16 @@
   }
 
 
+  static void GetResourceStatistics(RestApi::GetCall& call)
+  {
+    RETRIEVE_CONTEXT(call);
+    std::string publicId = call.GetUriComponent("id", "");
+    Json::Value result;
+    context.GetIndex().GetStatistics(result, publicId);
+    call.GetOutput().AnswerJson(result);
+  }
+
+
 
   // Registration of the various REST handlers --------------------------------
 
@@ -1608,6 +1618,11 @@
     Register("/studies/{id}/archive", GetArchive<ResourceType_Study>);
     Register("/series/{id}/archive", GetArchive<ResourceType_Series>);
 
+    Register("/instances/{id}/statistics", GetResourceStatistics);
+    Register("/patients/{id}/statistics", GetResourceStatistics);
+    Register("/studies/{id}/statistics", GetResourceStatistics);
+    Register("/series/{id}/statistics", GetResourceStatistics);
+
     Register("/instances/{id}/metadata", ListMetadata);
     Register("/instances/{id}/metadata/{name}", DeleteMetadata);
     Register("/instances/{id}/metadata/{name}", GetMetadata);