Exemplo n.º 1
0
        public void FillStructReport(T_TBS_BG tbs, StructReport structReport)
        {
            StructHelper.FillCommonResult(tbs, structReport);

//            if (!string.IsNullOrEmpty(tbs.F_TBS_WSW1.Trim()))
//                structReport.UnStructItems.Add(new UNStructItem
//                {
//                    ItemName = "HER2基因扩增",
//                    Result = tbs.F_TBS_WSW1
//                });
            //连续计数浸润性癌 30 个肿瘤细胞
            if (!string.IsNullOrEmpty(tbs.F_TBS_WSW2.Trim()))
            {
                structReport.StructItems.Add(new StructItem
                {
                    ItemName   = "连续计数浸润性癌",
                    Result     = T_TBS_BG.SubStringBetween(tbs.F_TBS_WSW2, "连续计数浸润性癌", "个肿瘤细胞").Trim(),
                    ResultUnit = "个"
                });
            }
            //平均HER2基因拷贝数/细胞=3.52
            if (!string.IsNullOrEmpty(tbs.F_TBS_WSW3.Trim()))
            {
                structReport.StructItems.Add(new StructItem
                {
                    ItemName   = "平均HER2基因拷贝数",
                    Result     = tbs.F_TBS_WSW3.Replace("平均HER2基因拷贝数/细胞=", "").Trim(),
                    ResultUnit = "拷贝数/细胞"
                });
            }
            //平均CEP17拷贝数/细胞=2.02
            if (!string.IsNullOrEmpty(tbs.F_TBS_WSW4.Trim()))
            {
                structReport.StructItems.Add(new StructItem
                {
                    ItemName   = "平均CEP17拷贝数",
                    Result     = tbs.F_TBS_WSW4.Replace("平均CEP17拷贝数/细胞=", "").Trim(),
                    ResultUnit = "拷贝数/细胞"
                });
            }
            //HER2/CEP17比值=1.06
            if (!string.IsNullOrEmpty(tbs.F_TBS_WSW5.Trim()))
            {
                structReport.StructItems.Add(new StructItem
                {
                    ItemName   = "HER2/CEP17比值",
                    Result     = tbs.F_TBS_WSW5.Replace("HER2/CEP17比值=", "").Trim(),
                    ResultUnit = ""
                });
            }
        }
Exemplo n.º 2
0
        public void FillStructReport(T_TBS_BG tbs, StructReport structReport)
        {
            StructHelper.FillCommonResult(tbs, structReport);

//            //2.63E+05 copy/mL
//            if (!string.IsNullOrEmpty(tbs.F_TBS_XBXM1.Trim()))
//                structReport.StructItems.Add(new StructItem
//                {
//                    ItemName = tbs.F_FZ_JCXM,
//                    Result = tbs.F_TBS_XBXM1.Replace("IU/mL","").Trim(),
//                    ResultUnit = "IU/mL",
//                    Reference = tbs.F_TBS_XBXM2.Replace("IU/mL", "").Trim(),
//                    RefernceUnit = "IU/mL",
//                });
        }
Exemplo n.º 3
0
        /// <summary>
        /// 根据结构化数据和报告格式,解析tbs并返回结构化xml
        /// </summary>
        /// <param name="blh"></param>
        /// <param name="bggs"></param>
        /// <returns></returns>
        public string GetXml(T_TBS_BG tbs, string bggs)
        {
            //初始化格式解析接口
            var assembly = Assembly.GetAssembly(GetType());

            bggs = bggs.Replace("-", "_");
            ITbsAnalyzier ta = assembly.CreateInstance("PathHISZGQJK.Zllyjgh." + bggs) as ITbsAnalyzier;

            if (ta == null)
            {
                return(GetXml());
            }
            //解析tbs
            ta.FillStructReport(tbs, this);
            //返回xml
            return(GetXml());
        }
Exemplo n.º 4
0
 public static void FillCommonResult(T_TBS_BG tbs, StructReport structReport)
 {
     structReport.ItemName   = tbs.F_FZ_JCXM;
     structReport.Result     = tbs.F_FZ_BLZD;
     structReport.Explain    = tbs.F_FZ_SYDZ;
     structReport.NDAND      = T_TBS_BG.SubStringBetween(tbs.F_DNAZK, "浓度" + "ug/ml", @"ug/ml");
     structReport.NDA260     = T_TBS_BG.SubStringBetween(tbs.F_DNAZK, @"260/280=", @"。");
     structReport.BLZKJX     = tbs.F_RNAZK;
     structReport.BLZKZLXBHL = T_TBS_BG.SubStringBetween(tbs.F_RNAZK, "肿瘤细胞含量比例约为", "%");
     if (string.IsNullOrEmpty(structReport.BLZKZLXBHL))
     {
         structReport.BLZKZLXBHL = T_TBS_BG.SubStringBetween(tbs.F_RNAZK, "肿瘤细胞含量", "%").Trim('为');
     }
     if (!string.IsNullOrEmpty(structReport.BLZKZLXBHL))
     {
         structReport.BLZKZLXBHL = structReport.BLZKZLXBHL + "%";
     }
 }
Exemplo n.º 5
0
        public void FillStructReport(T_TBS_BG tbs, StructReport structReport)
        {
            StructHelper.FillCommonResult(tbs, structReport);
//            //检测项目
//            if (!string.IsNullOrEmpty(tbs.F_FZ_JCXM.Trim()))
//                structReport.UnStructItems.Add(new UNStructItem
//                {
//                    ItemName = "检测项目",
//                    Result = tbs.F_FZ_JCXM
//                });
//            //判读标准
//            if (!string.IsNullOrEmpty(tbs.F_FZ_SYDZ.Trim()))
//                structReport.UnStructItems.Add(new UNStructItem
//                {
//                    ItemName = "判读标准",
//                    Result = tbs.F_FZ_SYDZ
//                });
        }
Exemplo n.º 6
0
        public void GetXmlTest()
        {
            var aa   = new odbcdb("DSN=pathnet;UID=pathnet;PWD=4s3c2a1p", "", "");
            var bggs = "测序";
            var blh  = "1709187413-2";

            var dtTbsReport = aa.GetDataTable($" select * from t_tbs_bg t where t.f_blh='{blh}' ", "table1");

            if (dtTbsReport == null || dtTbsReport.Rows.Count == 0)
            {
                Assert.Fail("没有找到tbs报告");
            }

            var tbs = T_TBS_BG.DataRowToModel(dtTbsReport.Rows[0]);
            var r   = new StructReport();

            var xml = r.GetXml(tbs, bggs);

            Console.WriteLine(xml);
        }
Exemplo n.º 7
0
        public void FillStructReport(T_TBS_BG tbs, StructReport structReport)
        {
            StructHelper.FillCommonResult(tbs, structReport);

//            if (!string.IsNullOrEmpty(tbs.F_TBS_WSW1.Trim()))
//                structReport.UnStructItems.Add(new UNStructItem
//                {
//                    ItemName = "MET基因扩增",
//                    Result = tbs.F_TBS_WSW1
//                });
            //平均MET基因拷贝数/细胞=3.52
            if (!string.IsNullOrEmpty(tbs.F_TBS_WSW3.Trim()))
            {
                structReport.StructItems.Add(new StructItem
                {
                    ItemName   = "平均MET基因拷贝数",
                    Result     = tbs.F_TBS_WSW3.Replace("平均MET基因拷贝数/细胞=", "").Trim(),
                    ResultUnit = "拷贝数/细胞"
                });
            }
            //平均CEP7拷贝数/细胞=2.16
            if (!string.IsNullOrEmpty(tbs.F_TBS_WSW4.Trim()))
            {
                structReport.StructItems.Add(new StructItem
                {
                    ItemName   = "平均CEP7拷贝数",
                    Result     = tbs.F_TBS_WSW4.Replace("平均CEP7拷贝数/细胞=", "").Trim(),
                    ResultUnit = "拷贝数/细胞"
                });
            }
            //MET/CEP7比值=1.62
            if (!string.IsNullOrEmpty(tbs.F_TBS_WSW5.Trim()))
            {
                structReport.StructItems.Add(new StructItem
                {
                    ItemName = "MET/CEP7比值",
                    Result   = tbs.F_TBS_WSW5.Replace("MET/CEP7比值=", "").Trim(),
                });
            }
        }
Exemplo n.º 8
0
 public void SubStringBetweenTest()
 {
     var s = T_TBS_BG.SubStringBetween("符合检测标准,浓度37.2ug/ml,260/280=2.02。", "浓度", @"ug/ml");
 }
Exemplo n.º 9
0
 public void FillStructReport(T_TBS_BG tbs, StructReport structReport)
 {
     StructHelper.FillCommonResult(tbs, structReport);
 }
Exemplo n.º 10
0
 public void FillStructReport(T_TBS_BG tbs, StructReport structReport)
 {
     StructHelper.FillCommonResult(tbs, structReport);
     structReport.NDA260 = T_TBS_BG.SubStringBetween(tbs.F_DNAZK, @"260/280=", @"正常标本浓度").Trim();
 }
Exemplo n.º 11
0
        public void FillStructReport(T_TBS_BG tbs, StructReport structReport)
        {
            StructHelper.FillCommonResult(tbs, structReport);
            structReport.Explain = @"采用BIOMED-2标准化基因重排克隆性分析系统,通过多重PCR技术检测免疫球蛋白(Ig)及T细胞抗原受体(TCR)克隆
性基因重排。用于淋巴组织增殖性疾病的辅助诊断。最终诊断结果需结合形态学、免疫表型及临床。";
        }