添加医院名的分析处理

This commit is contained in:
2024-08-14 10:35:33 +08:00
parent 3496f92380
commit d897bf089f
2 changed files with 22 additions and 6 deletions

View File

@@ -19,7 +19,8 @@ from photo_review import PATIENT_NAME, ADMISSION_DATE, DISCHARGE_DATE, MEDICAL_E
from ucloud import ufile from ucloud import ufile
from util import image_util, util from util import image_util, util
from util.data_util import handle_date, handle_decimal, parse_department, handle_name, \ from util.data_util import handle_date, handle_decimal, parse_department, handle_name, \
handle_insurance_type, handle_original_data, handle_hospital, handle_department, handle_id, handle_age, parse_money handle_insurance_type, handle_original_data, handle_hospital, handle_department, handle_id, handle_age, parse_money, \
parse_hospital
# 合并信息抽取结果 # 合并信息抽取结果
@@ -242,11 +243,13 @@ def discharge_task(pk_phhd, discharge_record, identity):
if hospitals: if hospitals:
hospital_like_conditions = [] hospital_like_conditions = []
for hospital in hospitals: for hospital in hospitals:
if hospital in HOSPITAL_ALIAS: parsed_hospitals = parse_hospital(hospital)
for hospital_alias in HOSPITAL_ALIAS[hospital]: for parsed_hospital in parsed_hospitals:
if parsed_hospital in HOSPITAL_ALIAS:
for hospital_alias in HOSPITAL_ALIAS[parsed_hospital]:
hospital_like_conditions.append(BdYljg.name.like(f'%{hospital_alias}%')) hospital_like_conditions.append(BdYljg.name.like(f'%{hospital_alias}%'))
else: else:
hospital_like_conditions.append(BdYljg.name.like(f'%{hospital}%')) hospital_like_conditions.append(BdYljg.name.like(f'%{parsed_hospital}%'))
session = MysqlSession() session = MysqlSession()
yljg = session.query(BdYljg.pk_yljg, BdYljg.name).filter(or_(*hospital_like_conditions)).limit(1).one_or_none() yljg = session.query(BdYljg.pk_yljg, BdYljg.name).filter(or_(*hospital_like_conditions)).limit(1).one_or_none()
session.close() session.close()

View File

@@ -173,3 +173,16 @@ def handle_age(string):
string = string.split("")[0] string = string.split("")[0]
num = re.sub(r'\D', '', string) num = re.sub(r'\D', '', string)
return num[-3:] return num[-3:]
# 分析医院
def parse_hospital(string):
result = []
if not string:
return result
string_without_brackets = string.replace(")", "").replace("", "").replace("(", " ").replace("", " ")
string_without_company = string_without_brackets.replace("有限公司", "")
simple_chinese_string = string_without_company.replace("", "")
result += simple_chinese_string.split(" ")
return result