影刀RPA 保险理赔自动化:理赔材料审核与状态追踪
影刀RPA 保险理赔自动化理赔材料审核与状态追踪什么情况用什么 → 怎么做 → 有什么坑作者林焱 | 飞行社出品什么情况用什么保险公司每天收到几百份理赔申请人工审核材料真假、完整性再手动录入系统效率低且容易出错。这套方案适合保险公司理赔部门自动化初审保险代理/经纪人跟踪客户理赔进度企业HR部门代员工提交理赔并跟踪核心工具影刀RPA 保险核心系统自动化 OCR发票识别 企微/邮件通知怎么做第一步批量接收理赔材料客户通过邮件/微信公众号/App上传理赔材料发票、诊断证明、出院小结等需要自动下载并分类拼多多店群自动化上架方案importimaplibimportemailimportosfromdatetimeimportdatetimedeffetch_claim_emails(email_user,email_pass,save_dir):从邮箱获取理赔邮件及附件# 连接邮箱IMAP协议mailimaplib.IMAP4_Secure(imap.exmail.qq.com,993)# 腾讯企业邮箱mail.login(email_user,email_pass)mail.select(inbox)# 搜索主题包含理赔的未读邮件status,messagesmail.search(None,SUBJECT 理赔 UNSEEN)email_idsmessages[0].split()results[]foremail_idinemail_ids:status,msg_datamail.fetch(email_id,(RFC822))raw_emailmsg_data[0][1]msgemail.message_from_bytes(raw_email)# 解析邮件内容subjectdecode_header(msg[Subject])[0][0].decode(utf-8,errorsignore)sendermsg.get(From)datemsg.get(Date)# 下载附件attachments[]forpartinmsg.walk():ifpart.get_content_disposition()attachment:filenamepart.get_filename()iffilename:# 保存附件file_pathos.path.join(save_dir,f{email_id.decode()}_{filename})withopen(file_path,wb)asf:f.write(part.get_payload(decodeTrue))attachments.append(file_path)results.append({email_id:email_id.decode(),subject:subject,sender:sender,date:date,attachments:attachments})# 标记为已读mail.store(email_id,FLAGS,\Seen)mail.close()mail.logout()returnresults# 使用emailsfetch_claim_emails(claimscompany.com,password,D:/理赔材料/)print(f获取到{len(emails)}封理赔邮件)第二步用OCR自动识别材料内容importpytesseractfromPILimportImageimportpdfplumberimportredefextract_claim_info(file_path):从理赔材料中提取关键信息textiffile_path.endswith(.pdf):withpdfplumber.open(file_path)aspdf:forpageinpdf.pages:page_textpage.extract_text()ifpage_text:textpage_text\nelse:# 图片文件用OCRimgImage.open(file_path)textpytesseract.image_to_string(img,langchi_sim)# 提取关键信息info{}# 1. 发票号码invoice_nore.search(r发票号码[:]\s*(\d),text)ifinvoice_no:info[发票号码]invoice_no.group(1)# 2. 开票日期invoice_datere.search(r开票日期[:]\s*(\d{4}年\d{1,2}月\d{1,2}日),text)ifinvoice_date:info[开票日期]invoice_date.group(1)# 3. 金额amountre.search(r(?:金额|合计|价税合计)[:]\s*([0-9,]\.?[0-9]*)\s*元?,text)ifamount:info[金额]float(amount.group(1).replace(,,))# 4. 诊断信息如果是诊断证明diagnosisre.search(r诊断[:]\s*([^\n]{2,50}),text)ifdiagnosis:info[诊断]diagnosis.group(1)# 5. 医院名称hospitalre.search(r([\u4e00-\u9fa5]{2,20}医院),text)ifhospital:info[医院]hospital.group(1)returninfo# 批量处理defbatch_extract(files):批量提取理赔材料信息results[]forfileinfiles:infoextract_claim_info(file)info[文件]os.path.basename(file)results.append(info)returnresults第三步自动审核理赔材料完整性defcheck_claim_completeness(claim_info): 检查理赔材料是否完整 返回(是否完整, 缺失项列表) required_docs[发票,诊断证明,出院小结,身份证复印件]missing[]# 检查文件类型是否齐全file_types[os.path.splitext(f)[0]forfinclaim_info.get(files,[])]if发票notin.join(claim_info.get(files,[])):missing.append(医疗费用发票)ifnotany(诊断infforfinclaim_info.get(files,[])):missing.append(诊断证明)ifnotany(出院infor小结infforfinclaim_info.get(files,[])):missing.append(出院小结)ifnotany(身份证infforfinclaim_info.get(files,[])):missing.append(身份证复印件)# 检查金额是否合理ifclaim_info.get(amount,0)50000:missing.append(⚠️ 金额超过5万元需要额外审核材料)is_completelen(missing)0returnis_complete,missingdefvalidate_invoice(invoice_info): 验证发票真伪对接国家税务总局发票查验平台 importrequests# 发票查验API需要申请国家税务总局的接口权限urlhttps://inv-veri.chinatax.gov.cn/data{invoice_code:invoice_info[发票代码],invoice_no:invoice_info[发票号码],invoice_date:invoice_info[开票日期],check_code:invoice_info.get(校验码,),total_amount:str(invoice_info[金额])}# 注意国家税务总局的查验平台有验证码需要OCR识别验证码# 实际落地建议用第三方发票查验服务如百望、航天信息return{valid:True,message:发票查验通过}第四步自动录入保险核心系统definput_to_core_system(claim_data,system_type中科软): 将审核通过的理赔数据录入保险核心系统 system_type: 中科软, Oracle保险云, SAP保险模块 ifsystem_type中科软:# 中科软核心系统通常是Windows桌面客户端# 用影刀的【模拟操作】指令操作界面 影刀流程 1. 【启动程序】打开中科软客户端 2. 【填写】保单号 → claim_data[policy_no] 3. 【填写】理赔金额 → claim_data[amount] 4. 【填写】诊断信息 → claim_data[diagnosis] 5. 【上传文件】附件路径 6. 【点击】提交按钮 7. 【等待元素出现】提交成功提示 passelifsystem_typeweb:# Web版核心系统用影刀网页自动化 影刀流程 1. 【打开网页】https://core.insurance.com/claim 2. 【填写】各种字段 3. 【点击】保存 pass# 记录录入结果log_entry{claim_id:claim_data[claim_id],policy_no:claim_data[policy_no],amount:claim_data[amount],input_time:datetime.now().strftime(%Y-%m-%d %H:%M:%S),status:已录入}save_to_database(claim_inputs,log_entry)returnTrue第五步理赔状态追踪与通知deftrack_claim_status(claim_id):追踪理赔状态定期查询核心系统# 从核心系统查询状态用影刀自动化或APIstatusquery_status_from_core_system(claim_id)status_messages{受理:您的理赔申请已受理正在审核中,审核中:您的理赔申请正在审核预计3个工作日内完成,补充材料:您的理赔申请需要补充材料请查看邮件,审核通过:恭喜您的理赔申请已审核通过赔款将很快到账,拒赔:很抱歉您的理赔申请未通过审核原因{reason}}messagestatus_messages.get(status,状态未知)return{claim_id:claim_id,status:status,message:message,update_time:datetime.now().strftime(%Y-%m-%d %H:%M:%S)}defnotify_claim_status(claim_id,customer_phone,status_info):通知客户理赔状态变化# 1. 发送短信send_sms(customer_phone,status_info[message])# 2. 发送邮件更详细的信息send_email(tocustomer_phoneqq.com,# 假设邮箱是手机号qq.comsubjectf理赔进度更新 -{claim_id},bodyf 尊敬的客户 您的理赔申请{claim_id}状态已更新 当前状态{status_info[status]}状态说明{status_info[message]}如有疑问请拨打客服热线955xx )# 3. 记录通知日志save_notification_log(claim_id,status_info[status])第六步影刀RPA完整流程编排【定时触发】每天早上9点、下午3点各运行一次 ↓ 【Python节点】fetch_claim_emails() → 获取新理赔邮件 ↓ 【循环】遍历每个理赔申请 ↓ 【Python节点】extract_claim_info() → OCR提取材料信息 ↓ 【Python节点】check_claim_completeness() → 检查材料完整性 ↓ 【条件判断】材料是否完整 ├─ 否 → 【邮件通知】要求客户补充材料 └─ 是 → 继续 ↓ 【Python节点】validate_invoice() → 验证发票真伪 ↓ 【影刀操作】input_to_core_system() → 录入核心系统 ↓ 【Python节点】track_claim_status() → 追踪状态 ↓ 【条件判断】状态是否有变化 ├─ 是 → 【Python节点】notify_claim_status() → 通知客户 └─ 否 → 继续 ↓ 【写入Excel】更新理赔进度跟踪表 ↓ 【生成日报】汇总今日理赔处理情况发送给理赔部经理有什么坑坑1OCR识别准确率不稳定发票、诊断证明的OCR识别准确率受图片质量影响很大拍照歪斜 → 识别率低印章盖在文字上 → 干扰识别手写体医生签名→ 几乎无法识别解决方案要求客户上传扫描件不是拍照用发票识别专用API如阿里云OCR、腾讯云OCR比通用OCR准确率高30%关键字段金额、发票号做二次校验# 使用阿里云OCR发票专用defaliyun_invoice_ocr(file_path,access_key_id,access_key_secret):阿里云发票识别fromaliyunsdkcore.clientimportAcsClientfromaliyunsdkocr.request.v20191230importRecognizeInvoiceRequest clientAcsClient(access_key_id,access_key_secret,cn-hangzhou)requestRecognizeInvoiceRequest()request.set_ImageURL(file_path)# 或上传本地图片的base64responseclient.do_action_with_exception(request)resultjson.loads(response)return{发票代码:result[Data][InvoiceCode],发票号码:result[Data][InvoiceNo],金额:float(result[Data][TotalAmount]),开票日期:result[Data][InvoiceDate]}坑2保险核心系统操作复杂影刀难以稳定自动化中科软、Oracle保险云等核心系统界面复杂影刀有时找不到元素。解决方案申请核心系统API如果供应商提供用数据库直连需要DBA授权用图像识别点击最稳定TEMU店群如何管理运营# 用图像识别点击难以捕获的按钮importpyautoguidefclick_by_image(image_path,description,max_attempts3):通过图像识别点击按钮forattemptinrange(max_attempts):try:pospyautogui.locateCenterOnScreen(image_path,confidence0.8)ifpos:pyautogui.click(pos)print(f成功点击{description})returnTrueexcept:passtime.sleep(1)print(f⚠️ 无法找到{description})returnFalse# 用法click_by_image(submit_button.png,提交按钮)坑3发票查验平台有验证码国家税务总局的发票查验平台需要输入验证码OCR识别验证码准确率不高。解决方案用第三方查验服务如百望云、航天信息—— 有API无需验证码人工辅助验证码出现时暂停流程弹出窗口让人工输入验证码后继续# 人工辅助输入验证码defmanual_captcha_input():弹出输入框让人工输入验证码importtkinterastkfromtkinterimportsimpledialog roottk.Tk()root.withdraw()captchasimpledialog.askstring(输入验证码,请查看浏览器中的验证码并输入)root.destroy()returncaptcha坑4理赔数据涉及隐私需要注意合规理赔数据包含客户身份证号、病历信息等敏感数据自动化处理需要注意不在日志里记录完整身份证号脱敏处理附件加密存储访问权限控制# 数据脱敏defmask_id_number(id_number):身份证号脱敏显示前6位和后4位iflen(id_number)18:returnid_number[:6]**8id_number[-4:]returnid_numberdefmask_name(name):姓名脱敏显示姓名用*代替iflen(name)2:returnname[0]**(len(name)-1)returnname*总结步骤自动化方案预计节省时间接收材料邮件自动接收附件下载每单省5分钟材料审核OCR自动提取规则校验每单省10分钟录入系统影刀自动操作核心系统每单省15分钟状态追踪定时查询自动通知每单省5分钟实际落地建议先对接邮件系统实现材料自动接收用商业OCR API阿里云/腾讯云准确率比开源OCR高很多核心系统录入如果做不到全自动化可以做半自动影刀填表人工点提交整体来看理赔自动化能为理赔部门节省60%以上的人工时间同时减少人为错误。