//最难的一部分,可以与超说明书共享,其他超限部分的计算:下面这些是补充部分,把作用功效与典型病例合并,如果每一种疾病都无法被包含,则定义为违规
var cx_qtcx = from aa in sjklj.病员信息大全
where aa.机构编号 == yybm && !(aa.限医保使用限制说明.Contains("支付不超过") || aa.限医保使用限制说明.Contains("二级"))
select aa;
var cx_cxml = from aa in sjklj.超限项目
where aa.类别 == "超限"
select aa;
var gl_cx = from aa in cx_qtcx
join
bb in cx_cxml on aa.医药机构目录名称 equals bb.药品名称
select new
{
aa,
bb
};
//错误的比较多,需要自己去删除不匹配的,超限部分,已有的限二级,加上不超过。。。月,再加上数据库表匹配(药品名称,获取每一个疾病,长度不足4个字符的取全部 超过的取前4个,
//依次与数据库表中典型疾病或作用疗效中所有字符匹配,如果一个都匹配不上,则超限。超说明书类似,只是药品名称不同,取消限二级,限。。。月)
foreach (var kk in gl_cx)
{
if (kk.aa.医药机构目录名称 == kk.bb.药品名称)
{
string 疾病集 = kk.aa.疾病名称.Trim();
string jbdq = kk.bb.作用功效 + kk.bb.典型病例+kk.bb.限制条件;
// bool iswg = true;//初始化判断是否用药违规,默认违规
var cx = 疾病集.Intersect(jbdq);//查找两个字符串中的相同字符
string mn = string.Join("", cx);//相同字符全部整合到一起
if (mn == string.Empty)//超限目录表中不包含任何疾病,认为不可以治疗那种疾病,违规
{
|