医疗发票OCR识别

一、接口描述

1. 功能描述

该 API 用于识别提取医疗发票上的文字信息。

2. 接口数据要求:

  1. 编码格式:UTF-8

  2. 图片要求:

    • 格式为 JPG(JPEG), PNG
    • 宽和高大于 128px,小于等于 6000px
    • 小于等于 5 MB

3. 接口使用:

平台为每个API提供试用体验服务,您在AI市场选择“免费试用”规格下单后,即可开始体验业内领先的人工智能API服务。 免费试用服务具有调用量、QPS限制,如需更高性能的API服务,可以提交咨询工单,联系京东AI扩容购买。

在获得使用权限后,您可使用已经封装好的SDK/参照接口鉴权规则进行相应开发,整体流程详见 接入流程
用户需要使用图片base64编码去做请求,使用其他图片的base64编码请求成功时也会加入计费。

二、请求说明

1. 接口地址 :

https://aiapi.jd.com/deepfinch/ocr_medical_invoice

2. 请求方式:

 post

3. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey String 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获取
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign String 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey+timestamp)

(2)header请求参数

业务请求参数

名称 类型 必填 示例值 描述
Content-Type String application/json 标准编码格式

(3)body请求参数

业务请求参数

名称 类型 必填 描述
image_base64 String 图片的base64格式数据
body输入示例:
{
   "image_base64": "xxxxxx"
}

三、返回说明

1.返回参数

(1)公共返回参数

名称 类型 示例值 描述
code string 1000 参见下方错误码-系统级错误码
charge boolean false 或 true false:不扣费, true:扣费
remainTimes long 1305 剩余调用次数;免费api:每天剩余调用次数;收费api:剩余次数;无限制时为-1
remainSeconds long 1223456 剩余调用时间(s);免费api:-1;收费api:剩余调用时间;无限制时为-1
msg string 查询成功 参见下方错误码-系统级错误码
result object {...} 查询结果

(2)业务返回参数

字段 类型 说明
request_id string 本次请求的id
status string 状态,正常为 OK
degree int 图片旋转角度
medical_result object 票据关键信息提取结果
1.medical_result 字段的参数:
字段 类型 说明
average_prob float 识别结果的平均置信度
billing_date string 开票日期
checksum object 票据内校验结果,true指通过校验,false指未通过校验
cost_categories array 大类项目
cost_detail_list array 细类项目,仅门诊发票包含
fund_payments array 医保统筹支付;医保赔付金额用此项,根据票面内容提取;
hospital_dates array 出入院日期,[入院日期, 出院日期],日期格式为YYYY-MM-DD
hospital_days float 住院天数
hospital_name string 医院名称
medical_insurance_type string 医保类型
medical_organization_type string 医疗机构类型
note_no string 发票号
patient_gender int 患者性别:0-未知,1-男, 2-女
patient_name string 患者姓名
person_assume_situation array 患者承担费用信息,预留字段,一般不输出
person_payment_situation array 个人账户支付金额
service_serial_number string 交易流水号
social_security_card_number string 社会保障号码
supplement_payment_situation array 医保信息,支持北京门诊发票
total_cost float 发票总金额
type int 票据类型:0-未知, 1-门诊票据, 2-住院票据
cash_payment_situation array 个人现金支付
else_payment_situation array 其他医保支付;第三方支付金额,一般无输出
fund_subitem_situation array 医保统筹分项 ,仅北京有
charging_units string 收款单位
hospital_no string 住院号/门诊号
payee string 收款人
medical_record_no string 病例号
1.1checksum 字段的参数:
字段 类型 说明
total_cost boolean 总金额
total_check_payment boolean 个人支付金额、个人账户支付、统筹支付
cost_categories boolean 大类项目
1.1.1cost_categories 字段的参数:
字段 类型 说明
name string 大类单项名称
cost float 大类单项花费
1.2cost_detail_list 字段的参数:
字段 类型 说明
amount float 数量
check_info string 校验情况,预留字段
medical_type int 项目类型:0-未知,1-西药,2-中药,3-诊疗项目
name string 通过细目名称匹配的医保库名称
ocr_name string 结合医保库修正的细目名称 ;建议细目名称用此条
price float 细目金额
selfpay float 自付金额;从票面提取或通过细目金额*自付比例 计算
selfpay_ratio float 自付比例,取值范围[0-1],从票面提取或通过细目名称查询医保库获取
unit_price float 单价
spec string 规格
1.3fund_payments 字段的参数:
字段 类型 说明
name string 统筹支付单项名称
cost float 统筹支付单项花费
1.4person_assume_situation 字段的参数:
字段 类型 说明
name string 患者承担费用信息名称
cost float 对应金额
1.5person_payment_situation 字段的参数:
字段 类型 说明
name string 患者支付费用信息名称
cost float 对应金额
1.6supplement_payment_situation 字段的参数:
字段 类型 说明
name string 医保信息名称
cost float 对应金额
1.6.1supplement_payment_situation 中name包含字段:
字段
当年账户结余
历年账户结余
预缴金额
补缴金额
退费金额
分类自负
自负
自费
1.7cash_payment_situation 字段的参数:
字段 类型 说明
name string 个人现金支付名称
cost float 对应金额
1.8else_payment_situation 字段的参数:
字段 类型 说明
name string 其他医保支付名称
cost float 对应金额
1.9fund_subitem_situation 字段的参数:
字段 类型 说明
name string 医保统筹分项名称
cost float 对应金额

2.返回示例

返回结果示例
{
    "request_id": "TID829be1cdd7974c4fafdd8a86943980cd",
    "status": "OK",
    "degree": 0,
    "medical_result": {
        "average_prob": 0.7799552732899758,
        "billing_date": "2018-03-27",
        "cash_payment_situation": [{
            "cost": 211.58,
            "name": "个人支付金额"
        }],
        "checksum": {
            "cost_categories": true,
            "total_check_payment": true,
            "total_cost": true
        },
        "cost_categories": [{
            "cost": 200.5,
            "name": "治疗费"
        }, {
            "cost": 7.0,
            "name": "西药费"
        }, {
            "cost": 4.08,
            "name": "卫生材料费"
        }],
        "cost_detail_list": [{
            "amount": 90.00001,
            "check_info": null,
            "medical_type": 3,
            "name": null,
            "ocr_name": "神经阴润麻醉/",
            "price": 90.0,
            "selfpay": null,
            "selfpay_ratio": null,
            "spec": null,
            "unit_price": 0.9999998888889012
        }, {
            "amount": 1.0,
            "check_info": null,
            "medical_type": 3,
            "name": null,
            "ocr_name": "专科综合治疗合/",
            "price": 4.0,
            "selfpay": null,
            "selfpay_ratio": null,
            "spec": null,
            "unit_price": 4.0
        }],
        "else_payment_situation": [],
        "fund_payments": [{
            "cost": 0.0,
            "name": "基金支付"
        }],
        "fund_subitem_situation": [{
            "cost": 0.0,
            "name": "退休补充支付"
        }, {
            "cost": 0.0,
            "name": "门诊大额支付"
        }, {
            "cost": 0.0,
            "name": "残军补助支付"
        }, {
            "cost": 0.0,
            "name": "单位补充险[原公疗]支付"
        }],
        "hospital_name":"北京市朝阳医院",
        "medical_insurance_type": "城镇职工",
        "medical_organization_type": "专科医院",
        "note_no": "1701410255",
        "patient_gender": 1,
        "patient_name": "张三",
        "person_assume_situation": [],
        "person_payment_situation": [{
            "cost": 0.0,
            "name": "个人账户支付"
        }],
        "social_security_card_number": "110751190002",
        "supplement_payment_situation": [],
        "total_cost": 211.58,
        "type": 1
    }
}

四、错误码信息

状态码 status 字段 说明
400 INVALID_ARGUMENT 请求参数错误
400 DETETION_FAILED 图片检测失败
400 DOWNLOAD_ERROR 网络地址图片获取失败
401 UNAUTHORIZED 未授权或授权失败
401 KEY_EXPIRED 账号过期
403 NO_PERMISSION 无调用权限
403 OUT_OF_QUOTA 调用次数超出限额
403 RATE_LIMIT_EXCEEDED 调用频率超出限额
404 NOT_FOUND 请求路径错误
500 INTERNAL_ERROR 服务器内部错误

备注: 以上40X系列错误描述请参考reason字段

输出样例
{
  "status": "INVALID_ARGUMENT",
  "reason": "must specify 'file' or 'url' argument",
  "request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e"
}
Copyright © JD AI Platform all right reserved,powered by GitbookFile Modify: 2021-05-21 22:10:38

results matching ""

    No results matching ""