public static string DicomAttributeMapTable(DicomAttributeKeyword keyword) => (keyword == DicomAttributeKeyword.StudyDate) ? "StudyDate" : (keyword == DicomAttributeKeyword.AccessionNumber) ? "AccessionNumber" : (keyword == DicomAttributeKeyword.PatientName) ? "PatientName" : (keyword == DicomAttributeKeyword.PatientId) ? "PatientID" : (keyword == DicomAttributeKeyword.StudyInstanceUid) ? "StudyInstanceUID" : (keyword == DicomAttributeKeyword.NumberOfStudyRelatedSeries) ? "NumberOfStudyRelatedSeries" : (keyword == DicomAttributeKeyword.NumberOfStudyRelatedInstances) ? "NumberOfStudyRelatedInstances" : "";
public static object GetValueFromStudyByDicomAttributeByUid(DicomAttributeKeyword keyword, string uid = null) { _StudyInstanceUid = uid ?? exampleStudyInstanceUid; var attribute = StandardObjectMapping.DicomAttributeMapTable(keyword); var response = runApiRequest(Method.GET, baseDicomWeb, $"studies/?StudyInstanceUID={_StudyInstanceUid}"); if (response.IsSuccessful) { var removeFirstPart = response.Content.Substring(response.Content.IndexOf('<')); var stream = new StringReader(removeFirstPart.Substring(0, removeFirstPart.LastIndexOf('>'))); using (var reader = XmlReader.Create(stream)) { while (reader.Read()) { reader.ReadToFollowing("DicomAttribute"); if (reader.GetAttribute("keyword") == attribute) { reader.ReadToFollowing("Value"); return(reader.ReadElementContentAsObject()); } } } } return("error: something went wrong"); }