public static Dictionary <string, PcsOrderTxtLineData> GetOrderLineData(string filename) { return(TextFiles.ReadFileLines(filename) .Select((line) => new PcsOrderTxtLineData(line)) .OrderBy((line) => line.Code) .ToDictionary((line) => line.Code)); }
public static IEnumerable <IcdLinkedTitle> GetLinkedTitlesNoGem(string filename, string forType) { if (!String.IsNullOrWhiteSpace(filename)) { if (System.IO.File.Exists(filename)) { var icd10Lines = TextFiles.ReadFileLines(filename); foreach (var line in icd10Lines) { var codeSplit = SplitByFirstWhitespace(line); var codeTitles = GetIndexTitle(codeSplit.Item2); foreach (var title in codeTitles) { yield return(new IcdLinkedTitle() { Id = null, Code = codeSplit.Item1.Trim(), Title = title.Trim(), Type = forType.Trim() }); } } } } }
public static Dictionary <string, List <string> > GetGemsDictionary(string file, bool addPeriodToCode) { var ret = new Dictionary <string, List <string> >(StringComparer.CurrentCultureIgnoreCase); if (!String.IsNullOrWhiteSpace(file)) { if (System.IO.File.Exists(file)) { var icd9Lines = TextFiles.ReadFileLines(file); foreach (var line in icd9Lines) { var firstSplit = SplitByFirstWhitespace(line); var secondSplit = SplitByFirstWhitespace(firstSplit.Item2); if (!NoGemEquiv.Contains(secondSplit.Item1)) { List <string> workGem = null; var code = secondSplit.Item1; if ((code.Length > 3) && addPeriodToCode) { code = code.Insert(3, "."); } if (ret.TryGetValue(firstSplit.Item1, out workGem)) { workGem.Add(code); } else { ret.Add(firstSplit.Item1, new List <string>() { code }); } } } } } return(ret); }
public static IEnumerable <IcdLinkedTitle> GetLinkedTitles(string filename, Dictionary <string, List <string> > gemsDict, string forType) { if (!String.IsNullOrWhiteSpace(filename) && (gemsDict.Count > 0)) { if (System.IO.File.Exists(filename)) { var icd9Lines = TextFiles.ReadFileLines(filename); foreach (var line in icd9Lines) { var codeSplit = SplitByFirstWhitespace(line); var codeTitles = GetIndexTitle(codeSplit.Item2); List <string> workGem = null; if (gemsDict.TryGetValue(codeSplit.Item1, out workGem)) { if (workGem == null) { continue; } foreach (var code in workGem) { foreach (var title in codeTitles) { yield return(new IcdLinkedTitle() { Id = null, Code = code.Trim(), Title = title.Trim(), Type = forType.Trim() }); } } } else if (!String.IsNullOrWhiteSpace(codeSplit.Item1)) { var matchingCodes = (from term in gemsDict where term.Key.StartsWith(codeSplit.Item1) from matchCode in term.Value select matchCode) .Distinct() .ToList(); var trimmedMatches = from match in matchingCodes let trueMatch = match.Replace(".", "") where !matchingCodes.Any(s => trueMatch.Substring(0, trueMatch.Length - 1).StartsWith(s.Replace(".", ""))) select match; foreach (var code in trimmedMatches) { foreach (var title in codeTitles) { yield return(new IcdLinkedTitle() { Id = null, Code = code.Trim(), Title = title.Trim(), Type = forType.Trim() }); } } } } } } }