DcmDataset *dcmDatasetToRetrieve = new DcmDataset();
QString retrieveLevel = "STUDY";
DcmElement *elemSpecificCharacterSet = newDicomElement(DCM_SpecificCharacterSet);
// ISO_IR 100 és Latin1
elemSpecificCharacterSet->putString("ISO_IR 100");
dcmDatasetToRetrieve->insert(elemSpecificCharacterSet, OFTrue);
DcmElement *elem = newDicomElement(DCM_StudyInstanceUID);
elem->putString(qPrintable(studyInstanceUID));
dcmDatasetToRetrieve->insert(elem, OFTrue);
if (!seriesInstanceUID.isEmpty())
{
DcmElement *elem = newDicomElement(DCM_SeriesInstanceUID);
elem->putString(qPrintable(seriesInstanceUID));
dcmDatasetToRetrieve->insert(elem, OFTrue);
retrieveLevel = "SERIES";
}
if (!sopInstanceUID.isEmpty())
{
DcmElement *elem = newDicomElement(DCM_SOPInstanceUID);
elem->putString(qPrintable(sopInstanceUID));
dcmDatasetToRetrieve->insert(elem, OFTrue);
retrieveLevel = "IMAGE";
}
// Especifiquem a quin nivell es fa el QueryRetrieve
DcmElement *elemQueryRetrieveLevel = newDicomElement(DCM_QueryRetrieveLevel);
elemQueryRetrieveLevel->putString(qPrintable(retrieveLevel));
dcmDatasetToRetrieve->insert(elemQueryRetrieveLevel, OFTrue);
QString retrieveLevel = "STUDY";
DcmElement *elemSpecificCharacterSet = newDicomElement(DCM_SpecificCharacterSet);
// ISO_IR 100 és Latin1
elemSpecificCharacterSet->putString("ISO_IR 100");
dcmDatasetToRetrieve->insert(elemSpecificCharacterSet, OFTrue);
DcmElement *elem = newDicomElement(DCM_StudyInstanceUID);
elem->putString(qPrintable(studyInstanceUID));
dcmDatasetToRetrieve->insert(elem, OFTrue);
if (!seriesInstanceUID.isEmpty())
{
DcmElement *elem = newDicomElement(DCM_SeriesInstanceUID);
elem->putString(qPrintable(seriesInstanceUID));
dcmDatasetToRetrieve->insert(elem, OFTrue);
retrieveLevel = "SERIES";
}
if (!sopInstanceUID.isEmpty())
{
DcmElement *elem = newDicomElement(DCM_SOPInstanceUID);
elem->putString(qPrintable(sopInstanceUID));
dcmDatasetToRetrieve->insert(elem, OFTrue);
retrieveLevel = "IMAGE";
}
// Especifiquem a quin nivell es fa el QueryRetrieve
DcmElement *elemQueryRetrieveLevel = newDicomElement(DCM_QueryRetrieveLevel);
elemQueryRetrieveLevel->putString(qPrintable(retrieveLevel));
dcmDatasetToRetrieve->insert(elemQueryRetrieveLevel, OFTrue);