DSL生产一直比较重复,目前针对诊断相关变量重复生产的情况,进行优化,有两种方案

1、按照原来DSL生产逻辑

python代码如下:

import pandas as pd
 import numpy as np
 import os
 os.chdir(r'D:\工作内容\工作内容\评级\2020.0703儿科新增内容术语')
     
 logit=pd.read_excel(r'D:\工作内容\工作内容\评级\2020.0703儿科新增内容术语\评级七级儿科新增内容\儿科汇总.xlsx')

这块可以根据需求整合成函数

for i in range(len(logit['标准命名'])):
     if '_诊断_本次_不限_是否' in str(logit['标准命名'][i]):
         with open ('评级儿科新增变量DSL.txt','a+',encoding="utf-8") as f:
             f.write('\n' + 'def var '+str(logit['英文名'][i])+' type bool <=case when count(select sql(fmop.diag.patient_diagnose.diag_sycode_set) where sql(fmop.diag.patient_diagnose.diag_sycode_set) similar_to \''
                                         + str(logit['DSL'][i])+'\' and sql(fmop.diag.patient_diagnose.is_valid)==true end)>0 then true else false end;')


        

以上代码功能为将取数逻辑中 中文名包含‘_诊断_本次_不限_是否’的变量生产诊断相关的DSL

 

第二种实现方式,为了减轻系统压力,将变量重复判断的内容,一次性予以取出,再进行判断,这块还需和架构那块沟通