1 /** 2 * Orthanc - A Lightweight, RESTful DICOM Store 3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics 4 * Department, University Hospital of Liege, Belgium 5 * Copyright (C) 2017-2020 Osimis S.A., Belgium 6 * 7 * This program is free software: you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License as 9 * published by the Free Software Foundation, either version 3 of the 10 * License, or (at your option) any later version. 11 * 12 * In addition, as a special exception, the copyright holders of this 13 * program give permission to link the code of its release with the 14 * OpenSSL project's "OpenSSL" library (or with modified versions of it 15 * that use the same license as the "OpenSSL" library), and distribute 16 * the linked executables. You must obey the GNU General Public License 17 * in all respects for all of the code used other than "OpenSSL". If you 18 * modify file(s) with this exception, you may extend this exception to 19 * your version of the file(s), but you are not obligated to do so. If 20 * you do not wish to do so, delete this exception statement from your 21 * version. If you delete this exception statement from all source files 22 * in the program, then also delete it here. 23 * 24 * This program is distributed in the hope that it will be useful, but 25 * WITHOUT ANY WARRANTY; without even the implied warranty of 26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 27 * General Public License for more details. 28 * 29 * You should have received a copy of the GNU General Public License 30 * along with this program. If not, see <http://www.gnu.org/licenses/>. 31 **/ 32 33 34 #include "PrecompiledHeadersServer.h" 35 #include "ExportedResource.h" 36 37 #include "../../OrthancFramework/Sources/OrthancException.h" 38 39 namespace Orthanc 40 { Format(Json::Value & item) const41 void ExportedResource::Format(Json::Value& item) const 42 { 43 item = Json::objectValue; 44 item["Seq"] = static_cast<int>(seq_); 45 item["ResourceType"] = EnumerationToString(resourceType_); 46 item["ID"] = publicId_; 47 item["Path"] = GetBasePath(resourceType_, publicId_); 48 item["RemoteModality"] = modality_; 49 item["Date"] = date_; 50 51 // WARNING: Do not add "break" below and do not reorder the case items! 52 switch (resourceType_) 53 { 54 case ResourceType_Instance: 55 item["SOPInstanceUID"] = sopInstanceUid_; 56 57 case ResourceType_Series: 58 item["SeriesInstanceUID"] = seriesInstanceUid_; 59 60 case ResourceType_Study: 61 item["StudyInstanceUID"] = studyInstanceUid_; 62 63 case ResourceType_Patient: 64 item["PatientID"] = patientId_; 65 break; 66 67 default: 68 throw OrthancException(ErrorCode_InternalError); 69 } 70 } 71 } 72