Mercurial > hg > orthanc
diff OrthancServer/OrthancMoveRequestHandler.cpp @ 1724:7e0b5e413c7c db-changes
C-Move SCP for studies using AccessionNumber tag
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 20 Oct 2015 11:02:06 +0200 |
parents | 3bcb01028107 |
children | 1ae29c5e52fb ec66a16aa398 |
line wrap: on
line diff
--- a/OrthancServer/OrthancMoveRequestHandler.cpp Tue Oct 20 10:45:21 2015 +0200 +++ b/OrthancServer/OrthancMoveRequestHandler.cpp Tue Oct 20 11:02:06 2015 +0200 @@ -108,7 +108,30 @@ ResourceType level, const DicomMap& input) { - DicomTag tag = GetIdentifierTag(level); + DicomTag tag(0, 0); // Dummy initialization + + switch (level) + { + case ResourceType_Patient: + tag = DICOM_TAG_PATIENT_ID; + break; + + case ResourceType_Study: + tag = (input.HasTag(DICOM_TAG_ACCESSION_NUMBER) ? + DICOM_TAG_ACCESSION_NUMBER : DICOM_TAG_STUDY_INSTANCE_UID); + break; + + case ResourceType_Series: + tag = DICOM_TAG_SERIES_INSTANCE_UID; + break; + + case ResourceType_Instance: + tag = DICOM_TAG_SOP_INSTANCE_UID; + break; + + default: + throw OrthancException(ErrorCode_ParameterOutOfRange); + } if (!input.HasTag(tag)) {