From 16ab4c78d5ac8d33e1edf74d85876641660fe698 Mon Sep 17 00:00:00 2001 From: liuyebo <1515783401@qq.com> Date: Wed, 22 Jan 2025 16:19:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=90=84=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=95=BF=E5=BA=A6=E9=99=90=E5=88=B6=EF=BC=8C=E4=B8=8E=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E8=A1=A8=E9=95=BF=E5=BA=A6=E4=BF=9D=E6=8C=81=E4=B8=80?= =?UTF-8?q?=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/mysql.py | 18 +++++++++--------- docker-compose.yml | 2 +- photo_review/auto_photo_review.py | 8 ++++---- util/data_util.py | 19 ++++++++++++++----- 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/db/mysql.py b/db/mysql.py index 8a9adab..dc01ed8 100644 --- a/db/mysql.py +++ b/db/mysql.py @@ -57,7 +57,7 @@ class ZxIeCost(Base): pk_ie_cost = Column(INTEGER(11), primary_key=True, comment='费用明细信息抽取主键') pk_phhd = Column(INTEGER(11), nullable=False, unique=True, comment='报销案子主键') content = Column(Text, comment='详细内容') - name = Column(String(30), comment='患者姓名') + name = Column(String(20), comment='患者姓名') admission_date_str = Column(String(255), comment='入院日期字符串') admission_date = Column(Date, comment='入院日期') discharge_date_str = Column(String(255), comment='出院日期字符串') @@ -98,18 +98,18 @@ class ZxIeDischarge(Base): pk_ie_discharge = Column(INTEGER(11), primary_key=True, comment='出院记录信息抽取主键') pk_phhd = Column(INTEGER(11), nullable=False, unique=True, comment='报销案子主键') content = Column(Text, comment='详细内容') - hospital = Column(String(255), comment='医院') + hospital = Column(String(200), comment='医院') pk_yljg = Column(INTEGER(11), comment='医院主键') - department = Column(String(255), comment='科室') + department = Column(String(200), comment='科室') pk_ylks = Column(INTEGER(11), comment='科室主键') - name = Column(String(30), comment='患者姓名') + name = Column(String(20), comment='患者姓名') age = Column(INTEGER(3), comment='年龄') admission_date_str = Column(String(255), comment='入院日期字符串') admission_date = Column(Date, comment='入院日期') discharge_date_str = Column(String(255), comment='出院日期字符串') discharge_date = Column(Date, comment='出院日期') doctor = Column(String(20), comment='主治医生') - admission_id = Column(String(50), comment='住院号') + admission_id = Column(String(20), comment='住院号') create_time = Column(DateTime, server_default=text("CURRENT_TIMESTAMP"), comment='创建时间') creator = Column(String(255), comment='创建人') update_time = Column(DateTime, server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"), @@ -141,7 +141,7 @@ class ZxIeSettlement(Base): pk_ie_settlement = Column(INTEGER(11), primary_key=True, comment='结算清单信息抽取主键') pk_phhd = Column(INTEGER(11), nullable=False, unique=True, comment='报销案子主键') - name = Column(String(30), comment='患者姓名') + name = Column(String(20), comment='患者姓名') admission_date_str = Column(String(255), comment='入院日期字符串') admission_date = Column(Date, comment='入院日期') discharge_date_str = Column(String(255), comment='出院日期字符串') @@ -155,9 +155,9 @@ class ZxIeSettlement(Base): personal_funded_amount_str = Column(String(255), comment='自费金额字符串') personal_funded_amount = Column(DECIMAL(18, 2), comment='自费金额') medical_insurance_type_str = Column(String(255), comment='医保类型字符串') - medical_insurance_type = Column(String(40), comment='医保类型') - admission_id = Column(String(50), comment='住院号') - settlement_id = Column(String(50), comment='医保结算单号码') + medical_insurance_type = Column(String(10), comment='医保类型') + admission_id = Column(String(20), comment='住院号') + settlement_id = Column(String(30), comment='医保结算单号码') create_time = Column(DateTime, server_default=text("CURRENT_TIMESTAMP"), comment='创建时间') creator = Column(String(255), comment='创建人') update_time = Column(DateTime, server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"), diff --git a/docker-compose.yml b/docker-compose.yml index 0a5f9e5..6a1002f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ x-env: &template - image: fcb_photo_review:1.14.13 + image: fcb_photo_review:1.14.14 restart: always x-review: diff --git a/photo_review/auto_photo_review.py b/photo_review/auto_photo_review.py index 5773081..02a40af 100644 --- a/photo_review/auto_photo_review.py +++ b/photo_review/auto_photo_review.py @@ -25,8 +25,8 @@ from photo_review import PATIENT_NAME, ADMISSION_DATE, DISCHARGE_DATE, MEDICAL_E from ucloud import ufile from util import image_util, util, html_util 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, \ - parse_hospital, handle_doctor, handle_text + handle_insurance_type, handle_original_data, handle_hospital, handle_department, handle_age, parse_money, \ + parse_hospital, handle_doctor, handle_text, handle_admission_id, handle_settlement_id # 合并信息抽取结果 @@ -389,8 +389,8 @@ def settlement_task(pk_phhd, settlement_list, identity): get_best_value_in_keys(settlement_list_ie_result, PERSONAL_FUNDED_AMOUNT)), "medical_insurance_type_str": handle_original_data( get_best_value_in_keys(settlement_list_ie_result, MEDICAL_INSURANCE_TYPE)), - "admission_id": handle_id(get_best_value_in_keys(settlement_list_ie_result, ADMISSION_ID)), - "settlement_id": handle_id(get_best_value_in_keys(settlement_list_ie_result, SETTLEMENT_ID)), + "admission_id": handle_admission_id(get_best_value_in_keys(settlement_list_ie_result, ADMISSION_ID)), + "settlement_id": handle_settlement_id(get_best_value_in_keys(settlement_list_ie_result, SETTLEMENT_ID)), } settlement_data["admission_date"] = handle_date(settlement_data["admission_date_str"]) settlement_data["admission_date"] = handle_date(settlement_data["admission_date_str"]) diff --git a/util/data_util.py b/util/data_util.py index 637ade6..faea57e 100644 --- a/util/data_util.py +++ b/util/data_util.py @@ -91,7 +91,7 @@ def handle_hospital(string): return "" # 只允许汉字、数字 string = re.sub(r'[^⺀-鿿0-9]', '', string) - return string[:255] + return string[:200] def handle_department(string): @@ -99,7 +99,7 @@ def handle_department(string): return "" # 只允许汉字 string = re.sub(r'[^⺀-鿿]', '', string) - return string[:255] + return string[:200] def parse_department(string): @@ -123,7 +123,7 @@ def parse_department(string): def handle_name(string): if not string: return "" - return re.sub(r'[^⺀-鿿·]', '', string)[:30] + return re.sub(r'[^⺀-鿿·]', '', string)[:20] def handle_doctor(string): @@ -160,13 +160,22 @@ def handle_original_data(string): # 处理id类数据 -def handle_id(string): +def handle_admission_id(string): if not string: return "" # 只允许字母和数字 string = re.sub(r'[^0-9a-zA-Z]', '', string) # 防止过长存入数据库失败 - return string[:50] + return string[:20] + + +def handle_settlement_id(string): + if not string: + return "" + # 只允许字母和数字 + string = re.sub(r'[^0-9a-zA-Z]', '', string) + # 防止过长存入数据库失败 + return string[:30] # 处理年龄类数据