private void CalculateOneMatch(MatchOfPatiendBasedDataAndStandarizedID currentMatch) { IDCriteraiEnable = false; readPBD(currentMatch.patientBasedData.path); if (currentMatch.IDincludeCriteria != null) { IDCriteraiEnable = true; readIDCriteria(currentMatch.IDincludeCriteria.path); } readSID(currentMatch.standarizedID.path); }
public void generateMatchResult() { string result = "no match"; var patientBasedDataFileList = parentWindow.patientBasedDataFolderSelector.FileList; var standardIDFileList = parentWindow.standarizedIDFolderSelector.FileList; var IDincludeCriteriaFileList = parentWindow.IDIncludeCrieteriaFolderSelector.FileList; bool isIDCriteriaEnable = parentWindow.IDIncludeCrieteriaFolderSelector.IsCriteriaChecked; matchOfPatiendBasedDataAndStandarizedID = new List<MatchOfPatiendBasedDataAndStandarizedID>(); if (patientBasedDataFileList != null && standardIDFileList != null && (!isIDCriteriaEnable || IDincludeCriteriaFileList != null)) { result = "PBD count = " + patientBasedDataFileList.Count + "\nstarndarizeID count = " + standardIDFileList.Count + "\n"; foreach (var PBDfile in patientBasedDataFileList) { var matchedGroupQueryForSID = from q in standardIDFileList where q.@group == PBDfile.@group && q.hashGroup == PBDfile.hashGroup select q; IEnumerable<File> matchedGroupQueryForIDCriteria = new List<File>(); if (isIDCriteriaEnable) { matchedGroupQueryForIDCriteria = from q in IDincludeCriteriaFileList where q.@group == PBDfile.@group && q.hashGroup == PBDfile.hashGroup select q; } if (matchedGroupQueryForSID.Count() == 1) { var toADD = new MatchOfPatiendBasedDataAndStandarizedID() { patientBasedData = PBDfile, standarizedID = matchedGroupQueryForSID.First() }; if (isIDCriteriaEnable) { toADD.IDincludeCriteria = matchedGroupQueryForIDCriteria.First(); } matchOfPatiendBasedDataAndStandarizedID.Add(toADD); } else if (matchedGroupQueryForSID.Count() > 1) { result += PBDfile.name + " has more than 1 match. \n"; } else if (matchedGroupQueryForSID.Count() == 0) { result += PBDfile.name + " has no match. \n"; } } } matchResult = $"Total {matchOfPatiendBasedDataAndStandarizedID.Count} mached: \n" + result; parentWindow.UpdateLayout(); }