Files

47 lines
1.3 KiB
C#

using Strata.RxNorm.Biz.RxNorm;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Reflection;
namespace Strata.RxNorm.Biz.Test.Unit.Extensions
{
[ExcludeFromCodeCoverage]
public static class RxnConceptExtension
{
public static IEnumerable<RxnConcept> LoadRxnConcepts(this string fileName)
{
var assembly = Assembly.GetExecutingAssembly();
var lines = assembly.LoadRxnNorm(fileName);
return lines.Select(l => l.ConceptCtor()).ToList();
}
public static RxnConcept ConceptCtor(this string line, string separator = "|")
{
var data = line.Split(separator).ToArray();
var r = new RxnConcept();
r.Rxcui = data[0];
r.Lat = data[1];
r.Ts = data[2];
r.Lui = data[3];
r.Stt = data[4];
r.Sui = data[5];
r.IsPref = data[6];
r.Rxaui = data[7];
r.Saui = data[8];
r.Scui = data[9];
r.Sdui = data[10];
r.Sab = data[11];
r.Tty = data[12];
r.Code = data[13];
r.Str = data[14];
r.Srl = data[15];
r.Suppress = data[16];
r.Cvf = data[17];
return r;
}
}
}