Ejemplo n.º 1
0
        public void Discard(ServerEntityKey itemKey)
        {
            ReconcileDiscardImagesDescriptor command = new ReconcileDiscardImagesDescriptor();
            InconsistentDataSIQRecord        record  = new InconsistentDataSIQRecord(StudyIntegrityQueue.Load(itemKey));

            command.UserName = ServerHelper.CurrentUserName;

            command.Automatic     = false;
            command.ExistingStudy = record.ExistingStudyInfo;
            command.ImageSetData  = record.ConflictingImageDescriptor;
            String xml = XmlUtils.SerializeAsString(command);

            ReconcileStudy(xml, record.QueueItem);
        }
Ejemplo n.º 2
0
        public void IgnoreDifferences(ServerEntityKey key)
        {
            ReconcileProcessAsIsDescriptor command = new ReconcileProcessAsIsDescriptor();
            InconsistentDataSIQRecord      record  = new InconsistentDataSIQRecord(StudyIntegrityQueue.Load(key));

            command.UserName      = ServerHelper.CurrentUserName;
            command.Automatic     = false;
            command.Description   = "Ignore the differences";
            command.ExistingStudy = record.ExistingStudyInfo;
            command.ImageSetData  = record.ConflictingImageDescriptor;

            String xml = XmlUtils.SerializeAsString(command);

            ReconcileStudy(xml, record.QueueItem);
        }
Ejemplo n.º 3
0
        public void CreateNewStudy(ServerEntityKey itemKey)
        {
            InconsistentDataSIQRecord      record  = new InconsistentDataSIQRecord(StudyIntegrityQueue.Load(itemKey));
            ReconcileCreateStudyDescriptor command = new ReconcileCreateStudyDescriptor
            {
                Automatic     = false,
                UserName      = ServerHelper.CurrentUserName,
                ExistingStudy = record.ExistingStudyInfo,
                ImageSetData  = record.ConflictingImageDescriptor
            };

            command.Commands.Add(new SetTagCommand(DicomTags.StudyInstanceUid, record.ExistingStudyInfo.StudyInstanceUid, DicomUid.GenerateUid().UID));
            String xml = XmlUtils.SerializeAsString(command);

            ReconcileStudy(xml, record.QueueItem);
        }
Ejemplo n.º 4
0
        public void MergeStudy(ServerEntityKey itemKey, Boolean useExistingStudy)
        {
            InconsistentDataSIQRecord record = new InconsistentDataSIQRecord(StudyIntegrityQueue.Load(itemKey));
            ReconcileMergeToExistingStudyDescriptor command = new ReconcileMergeToExistingStudyDescriptor
            {
                UserName      = ServerHelper.CurrentUserName,
                Automatic     = false,
                ExistingStudy = record.ExistingStudyInfo,
                ImageSetData  = record.ConflictingImageDescriptor
            };

            if (useExistingStudy)
            {
                command.Description = "Merge using existing study information.";
                String xml = XmlUtils.SerializeAsString(command);
                ReconcileStudy(xml, record.QueueItem);
            }
            else
            {
                command.Description = "Using study information from the conflicting images.";

                if (record.ConflictingImageDetails != null)
                {
                    // The conflicting study data is stored in Details column
                    string newPatientName = record.ConflictingImageDetails.StudyInfo.PatientInfo.Name;
                    if (!String.IsNullOrEmpty(newPatientName))
                    {
                        string acceptableName = PatientNameRules.GetAcceptableName(newPatientName);
                        if (!acceptableName.Equals(newPatientName))
                        {
                            //override the value
                            newPatientName = acceptableName;
                        }
                    }
                    command.Commands.Add(new SetTagCommand(DicomTags.PatientsName, record.ExistingStudyInfo.PatientInfo.Name, newPatientName));
                    command.Commands.Add(new SetTagCommand(DicomTags.PatientId, record.ExistingStudyInfo.PatientInfo.PatientId, record.ConflictingImageDetails.StudyInfo.PatientInfo.PatientId));
                    command.Commands.Add(new SetTagCommand(DicomTags.PatientsBirthDate, record.ExistingStudyInfo.PatientInfo.PatientsBirthdate, record.ConflictingImageDetails.StudyInfo.PatientInfo.PatientsBirthdate));
                    command.Commands.Add(new SetTagCommand(DicomTags.PatientsSex, record.ExistingStudyInfo.PatientInfo.Sex, record.ConflictingImageDetails.StudyInfo.PatientInfo.Sex));
                    command.Commands.Add(new SetTagCommand(DicomTags.IssuerOfPatientId, record.ExistingStudyInfo.PatientInfo.IssuerOfPatientId, record.ConflictingImageDetails.StudyInfo.PatientInfo.IssuerOfPatientId));
                    command.Commands.Add(new SetTagCommand(DicomTags.AccessionNumber, record.ExistingStudyInfo.AccessionNumber, record.ConflictingImageDetails.StudyInfo.AccessionNumber));
                }
                else
                {
                    // The conflicting study data is stored in StudyData column
                    String patientName = record.ConflictingImageDescriptor[DicomTags.PatientsName] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.PatientsName].Value
                                             : null;

                    if (!String.IsNullOrEmpty(patientName))
                    {
                        string acceptableName = PatientNameRules.GetAcceptableName(patientName);
                        if (!acceptableName.Equals(patientName))
                        {
                            //override the value
                            patientName = acceptableName;
                        }
                    }

                    if (patientName != null)
                    {
                        command.Commands.Add(new SetTagCommand(DicomTags.PatientsName, record.ExistingStudyInfo.PatientInfo.Name, patientName));
                    }

                    String patientId = record.ConflictingImageDescriptor[DicomTags.PatientId] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.PatientId].Value
                                             : null;
                    if (patientId != null)
                    {
                        command.Commands.Add(new SetTagCommand(DicomTags.PatientId, record.ExistingStudyInfo.PatientInfo.PatientId, patientId));
                    }

                    String patientsBirthDate = record.ConflictingImageDescriptor[DicomTags.PatientsBirthDate] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.PatientsBirthDate].Value
                                             : null;
                    if (patientsBirthDate != null)
                    {
                        command.Commands.Add(new SetTagCommand(DicomTags.PatientsBirthDate, record.ExistingStudyInfo.PatientInfo.PatientsBirthdate, patientsBirthDate));
                    }

                    String patientsSex = record.ConflictingImageDescriptor[DicomTags.PatientsSex] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.PatientsSex].Value
                                             : null;
                    if (patientsSex != null)
                    {
                        command.Commands.Add(new SetTagCommand(DicomTags.PatientsSex, record.ExistingStudyInfo.PatientInfo.Sex, patientsSex));
                    }

                    String issuerOfPatientId = record.ConflictingImageDescriptor[DicomTags.IssuerOfPatientId] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.IssuerOfPatientId].Value
                                             : null;
                    if (issuerOfPatientId != null)
                    {
                        command.Commands.Add(new SetTagCommand(DicomTags.IssuerOfPatientId, record.ExistingStudyInfo.PatientInfo.IssuerOfPatientId, issuerOfPatientId));
                    }

                    String accessionNumber = record.ConflictingImageDescriptor[DicomTags.AccessionNumber] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.AccessionNumber].Value
                                             : null;
                    if (accessionNumber != null)
                    {
                        command.Commands.Add(new SetTagCommand(DicomTags.AccessionNumber, record.ExistingStudyInfo.AccessionNumber, accessionNumber));
                    }
                }

                String xml = XmlUtils.SerializeAsString(command);
                ReconcileStudy(xml, record.QueueItem);
            }
        }
Ejemplo n.º 5
0
 public void IgnoreDifferences(ServerEntityKey key)
 {
     ReconcileProcessAsIsDescriptor command = new ReconcileProcessAsIsDescriptor();
     InconsistentDataSIQRecord record = new InconsistentDataSIQRecord(StudyIntegrityQueue.Load(key));
     command.UserName = ServerHelper.CurrentUserName;
     command.Automatic = false;
     command.Description = "Ignore the differences";
     command.ExistingStudy = record.ExistingStudyInfo;
     command.ImageSetData = record.ConflictingImageDescriptor;
     
     String xml = XmlUtils.SerializeAsString(command);
     ReconcileStudy(xml, record.QueueItem);
 }
Ejemplo n.º 6
0
 public void Discard(ServerEntityKey itemKey)
 {
     ReconcileDiscardImagesDescriptor command = new ReconcileDiscardImagesDescriptor();
     InconsistentDataSIQRecord record = new InconsistentDataSIQRecord(StudyIntegrityQueue.Load(itemKey));
     command.UserName = ServerHelper.CurrentUserName;
     
     command.Automatic = false;
     command.ExistingStudy = record.ExistingStudyInfo;
     command.ImageSetData = record.ConflictingImageDescriptor;
     String xml = XmlUtils.SerializeAsString(command);
     ReconcileStudy(xml, record.QueueItem);
 }
Ejemplo n.º 7
0
	    public void MergeStudy(ServerEntityKey itemKey, Boolean useExistingStudy)
        {
            InconsistentDataSIQRecord record = new InconsistentDataSIQRecord(StudyIntegrityQueue.Load(itemKey));
            ReconcileMergeToExistingStudyDescriptor command = new ReconcileMergeToExistingStudyDescriptor
                                                              	{
                                                              		UserName = ServerHelper.CurrentUserName,
                                                              		Automatic = false,
                                                              		ExistingStudy = record.ExistingStudyInfo,
                                                              		ImageSetData = record.ConflictingImageDescriptor
                                                              	};

	    	if(useExistingStudy)
            {
                command.Description = "Merge using existing study information.";
                String xml = XmlUtils.SerializeAsString(command);
                ReconcileStudy(xml, record.QueueItem);    
            }
            else
            {
                command.Description = "Using study information from the conflicting images.";

                if (record.ConflictingImageDetails!=null)
                {
                    // The conflicting study data is stored in Details column
                    string newPatientName = record.ConflictingImageDetails.StudyInfo.PatientInfo.Name;
                    if (!String.IsNullOrEmpty(newPatientName))
                    {
                        string acceptableName = PatientNameRules.GetAcceptableName(newPatientName);
                        if (!acceptableName.Equals(newPatientName))
                        {
                            //override the value
                            newPatientName = acceptableName;
                        }
                    }
                    command.Commands.Add(new SetTagCommand(DicomTags.PatientsName, record.ExistingStudyInfo.PatientInfo.Name, newPatientName));
                    command.Commands.Add(new SetTagCommand(DicomTags.PatientId, record.ExistingStudyInfo.PatientInfo.PatientId, record.ConflictingImageDetails.StudyInfo.PatientInfo.PatientId));
                    command.Commands.Add(new SetTagCommand(DicomTags.PatientsBirthDate, record.ExistingStudyInfo.PatientInfo.PatientsBirthdate, record.ConflictingImageDetails.StudyInfo.PatientInfo.PatientsBirthdate));
                    command.Commands.Add(new SetTagCommand(DicomTags.PatientsSex, record.ExistingStudyInfo.PatientInfo.Sex, record.ConflictingImageDetails.StudyInfo.PatientInfo.Sex));
                    command.Commands.Add(new SetTagCommand(DicomTags.IssuerOfPatientId, record.ExistingStudyInfo.PatientInfo.IssuerOfPatientId, record.ConflictingImageDetails.StudyInfo.PatientInfo.IssuerOfPatientId));
                    command.Commands.Add(new SetTagCommand(DicomTags.AccessionNumber, record.ExistingStudyInfo.AccessionNumber, record.ConflictingImageDetails.StudyInfo.AccessionNumber));
    
                }
                else
                {
                	// The conflicting study data is stored in StudyData column
                    String patientName = record.ConflictingImageDescriptor[DicomTags.PatientsName] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.PatientsName].Value
                                             : null;

                    if (!String.IsNullOrEmpty(patientName))
                    {
                        string acceptableName = PatientNameRules.GetAcceptableName(patientName);
                        if (!acceptableName.Equals(patientName))
                        {
                            //override the value
                            patientName = acceptableName;
                        }
                    }
                    
                    if (patientName != null)
                        command.Commands.Add(new SetTagCommand(DicomTags.PatientsName, record.ExistingStudyInfo.PatientInfo.Name, patientName));

                    String patientId = record.ConflictingImageDescriptor[DicomTags.PatientId] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.PatientId].Value
                                             : null;
                    if (patientId != null)
                        command.Commands.Add(new SetTagCommand(DicomTags.PatientId,record.ExistingStudyInfo.PatientInfo.PatientId, patientId));

                    String patientsBirthDate = record.ConflictingImageDescriptor[DicomTags.PatientsBirthDate] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.PatientsBirthDate].Value
                                             : null;
                    if (patientsBirthDate != null)
                        command.Commands.Add(new SetTagCommand(DicomTags.PatientsBirthDate, record.ExistingStudyInfo.PatientInfo.PatientsBirthdate, patientsBirthDate));

                    String patientsSex = record.ConflictingImageDescriptor[DicomTags.PatientsSex] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.PatientsSex].Value
                                             : null;
                    if (patientsSex != null)
                        command.Commands.Add(new SetTagCommand(DicomTags.PatientsSex, record.ExistingStudyInfo.PatientInfo.Sex, patientsSex));

                    String issuerOfPatientId = record.ConflictingImageDescriptor[DicomTags.IssuerOfPatientId] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.IssuerOfPatientId].Value
                                             : null;
                    if (issuerOfPatientId != null)
                        command.Commands.Add(new SetTagCommand(DicomTags.IssuerOfPatientId, record.ExistingStudyInfo.PatientInfo.IssuerOfPatientId, issuerOfPatientId));

                    String accessionNumber = record.ConflictingImageDescriptor[DicomTags.AccessionNumber] != null
                                             ? record.ConflictingImageDescriptor[DicomTags.AccessionNumber].Value
                                             : null;
                    if (accessionNumber != null)
                        command.Commands.Add(new SetTagCommand(DicomTags.AccessionNumber, record.ExistingStudyInfo.AccessionNumber, accessionNumber));

                }
                
                String xml = XmlUtils.SerializeAsString(command);
                ReconcileStudy(xml, record.QueueItem); 
            }
        }
Ejemplo n.º 8
0
	    public void CreateNewStudy(ServerEntityKey itemKey)
	    {
            InconsistentDataSIQRecord record = new InconsistentDataSIQRecord(StudyIntegrityQueue.Load(itemKey));
            ReconcileCreateStudyDescriptor command = new ReconcileCreateStudyDescriptor
                                                     	{
                                                     		Automatic = false,
                                                     		UserName = ServerHelper.CurrentUserName,
                                                     		ExistingStudy = record.ExistingStudyInfo,
                                                     		ImageSetData = record.ConflictingImageDescriptor
                                                     	};
	    	command.Commands.Add(new SetTagCommand(DicomTags.StudyInstanceUid, record.ExistingStudyInfo.StudyInstanceUid, DicomUid.GenerateUid().UID));
            String xml = XmlUtils.SerializeAsString(command);
            ReconcileStudy(xml, record.QueueItem);
	    }