47 lines
1.3 KiB
C#
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;
|
|
}
|
|
|
|
}
|
|
}
|