Exemple #1
0
        public string GetEmrForNLP(string patientVisitId)
        {
            var emrList = new List <PatientEMRModel>();
            var result  = string.Empty;

            if (_hostingEnvironment.IsProduction() && !string.IsNullOrWhiteSpace(patientVisitId))
            {
                string sql = GetSqlText("home-patient-EMR-full-sql.txt");
                sql = string.Format(sql, patientVisitId);
                using (var reader = dbgp.Ado.GetDataReader(sql))
                {
                    while (reader.Read())
                    {
                        var data = new PatientEMRModel();
                        data.Detail = reader["emr_text"] == DBNull.Value ? "" : reader["emr_text"].ToString();
                        data.Type   = reader["emr_type"] == DBNull.Value ? "" : reader["emr_type"].ToString();
                        emrList.Add(data);
                    }
                }
                // emrList = emrList.Where(x => x.Detail.Length > 20).ToList();
                var mainemr = emrList.FirstOrDefault(x => x.Type == "主诉");
                if (mainemr != null)
                {
                    emrList.Remove(mainemr);
                    emrList.Insert(0, mainemr);
                }
                var currentemr = emrList.FirstOrDefault(x => x.Type == "现病史");
                if (currentemr != null)
                {
                    emrList.Remove(currentemr);
                    emrList.Insert(0, currentemr);
                }
                foreach (var r in emrList)
                {
                    if (result.Length < 500000)
                    {
                        result += r.Detail;
                    }
                }
            }
            else
            {
                result = @"患者李**,男性,67岁,主因“右侧肢体抖动、僵硬、动作不灵活7年,累及左侧5年”,来我院门诊就诊。患者7年前无明显诱因出现右手不自主抖动,以安静状态下明显,紧张、激动时加重,平静放松后减轻,睡眠后消失;伴右侧肢体活动不灵活、僵硬,如写字慢、越写越小。症状逐渐加重,波及右下肢。5年前左侧肢体亦出现上述症状,切菜、系扣等动作慢。走路慢,小碎步,起床迈步转身费力,呈弯腰驼背姿势,症状缓慢加重。5年前开始口服美多巴,上述症状明显改善。但2年前因逐渐出现药效减退,患者自行将药量逐渐增加250mg 4id。约半年前开始出现服药2-3小时后肢体不自主扭动表现,且一天之中上述症状波动明显。发病以来便秘明显,睡眠差。发病以来否认站立头晕、吞咽困难、饮水呛咳、平衡障碍。既往:无构音障碍、CO中毒史、脑炎病史、重金属中毒史、农药中毒史、脑出血脑梗塞病史,家族中有类似疾病患者,可能有常染色体隐性遗传,无长期大量应用D2受体阻滞剂、多巴胺耗竭剂病史。专科查体:体温:36.5℃,呼吸:18次/分,脉搏:76次/分。神志清楚,面具脸,流涎较多、颜面躯干皮脂分泌增多。平卧血压120/ 80 mmHg,立位血压120/ 80mmHg。颅神经检查:双眼各向活动无障碍,无复视。面部感觉对称正常,咬肌、颞肌有力,张口下颌不偏。双侧闭目有力、示齿口角无偏斜。伸舌居中。躯体深浅感觉对称正常。慌张步态,行走时躯干前屈,双上臂无伴随动作。四肢肌力V级,四肢肌张力高,呈齿轮样强直,右侧重于右侧。肌肉无明显萎缩。双侧肢体3~5Hz粗大搓丸样静止性震颤,小写征明显。指鼻试验、跟膝胫试验稳准。肱二头肌、膝腱反射无明显亢进,双侧Hoffmann征、Babinski征阴性。颈部僵硬。双侧Kernig’ s sign (-) 。辅助检查:头颅MRI平扫未见明显异常。" + "\n\n";
            }
            return(result);
        }
Exemple #2
0
        public string GetFullEmrAll(string patientVisitId)
        {
            var emrList = new List <PatientEMRModel>();
            var result  = string.Empty;

            if (!string.IsNullOrWhiteSpace(patientVisitId))
            {
                string sql = GetSqlText("home-patient-EMR-full-sql.txt");
                sql = string.Format(sql, patientVisitId);
                using (var reader = dbgp.Ado.GetDataReader(sql))
                {
                    while (reader.Read())
                    {
                        var data = new PatientEMRModel();
                        data.Detail = reader["emr_text"] == DBNull.Value ? "" : reader["emr_text"].ToString();
                        data.Type   = reader["emr_type"] == DBNull.Value ? "" : reader["emr_type"].ToString();
                        emrList.Add(data);
                    }
                }
            }

            var mainemr = emrList.FirstOrDefault(x => x.Type == "主诉");

            if (mainemr != null)
            {
                emrList.Remove(mainemr);
                emrList.Insert(0, mainemr);
            }
            var currentemr = emrList.FirstOrDefault(x => x.Type == "现病史");

            if (currentemr != null)
            {
                emrList.Remove(currentemr);
                emrList.Insert(0, currentemr);
            }
            foreach (var r in emrList)
            {
                result += r.Detail;
            }
            return(result);
        }