Ejemplo n.º 1
0
 /// <summary>
 /// Find all the studies for a specific patient
 /// <param name="patientId">The id of the patient</param>
 /// <param name="patientName">The name of the patient</param>
 /// </summary>
 public IList<DataSet> CFindStudy(string patientId, string patientName)
 {
     string queryKey = _aAssociateRequest.ApplicationEntityTitle + _port + _hostName + patientId + patientName;
     if (_cacheManager.ContainsKey(queryKey))
     {
         return _cacheManager[queryKey];
     }
     const string sopClassUniqueId = UIDs.StudyRootQueryRetrieveInformationModelFIND;
     var dataset = new DataSet();
     dataset.FileMetaInfo = GenerateFileMetaInfo(sopClassUniqueId);
     dataset.PutDA(Tags.StudyDate);
     dataset.PutTM(Tags.StudyTime);
     dataset.PutSH(Tags.AccessionNumber);
     dataset.PutCS(Tags.QueryRetrieveLevel, "STUDY");
     dataset.PutCS(Tags.ModalitiesInStudy);
     dataset.PutLO(Tags.InstitutionName);
     dataset.PutPN(Tags.PerformingPhysicianName);
     dataset.PutPN(Tags.ReferringPhysicianName);
     dataset.PutLO(Tags.StudyDescription);
     dataset.PutPN(Tags.PatientName, patientName);
     dataset.PutLO(Tags.PatientID, patientId);
     dataset.PutDA(Tags.PatientBirthDate);
     dataset.PutCS(Tags.PatientSex);
     dataset.PutAS(Tags.PatientAge);
     dataset.PutUI(Tags.StudyInstanceUniqueId);
     dataset.PutSH(Tags.StudyID);
     List<DataSet> datasets = RetrieveDatasetsFromServiceClassProvider(dataset, sopClassUniqueId);
     if (datasets.Any())
     {
         _cacheManager.Add(queryKey, datasets);
     }
     return datasets;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Find all the studies for the studies Instance UniqueIds
 /// <param name="studyInstanceUniqueIds">The studies' instance UniqueIds</param>
 /// </summary>
 public IList<DataSet> CFindStudies(IEnumerable<string> studyInstanceUniqueIds)
 {
     const string sopClassUniqueId = UIDs.StudyRootQueryRetrieveInformationModelFIND;
     var dataset = new DataSet();
     dataset.FileMetaInfo = GenerateFileMetaInfo(sopClassUniqueId);
     dataset.PutDA(Tags.StudyDate);
     dataset.PutTM(Tags.StudyTime);
     dataset.PutSH(Tags.AccessionNumber);
     dataset.PutCS(Tags.QueryRetrieveLevel, "STUDY");
     dataset.PutCS(Tags.ModalitiesInStudy);
     dataset.PutLO(Tags.InstitutionName);
     dataset.PutPN(Tags.ReferringPhysicianName);
     dataset.PutLO(Tags.StudyDescription);
     dataset.PutPN(Tags.PatientName);
     dataset.PutLO(Tags.PatientID);
     dataset.PutDA(Tags.PatientBirthDate);
     dataset.PutCS(Tags.PatientSex);
     dataset.PutAS(Tags.PatientAge);
     dataset.PutUI(Tags.StudyInstanceUniqueId, studyInstanceUniqueIds.ToArray());
     dataset.PutSH(Tags.StudyID);
     return studyInstanceUniqueIds.Any() ? RetrieveDatasetsFromServiceClassProvider(dataset, sopClassUniqueId) : new List<DataSet>();
 }