江苏门诊发票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_jiangsu

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 字段的参数:
字段 类型 说明
type int 票据类型:0-未知,1-门诊票据,2-住院票据
note_no string 发票号
patient_name string 患者姓名
patient_gender int 患者性别:0-未知,1-男, 2-女
billing_date string 开票日期
cost_categories array 大类项目
cost_detail_list array 细类项目
hospital_name string 医院名称
hospital_dates array 入出院日期,[入院日期, 出院日期],日期格式为YYYY-MM-DD
hospital_days float 住院天数
total_cost float 发票总金额
medical_insurance_type string 医保类型;根据票面内容提取
medical_organization_type string 医疗机构类型
service_serial_number string 业务流水号
social_security_card_number string 社会保障号码
payments_info array 支付信息项
checksum object 票据内校验结果:-1-无法校验,0-校验不通过,1-校验通过
charging_units string 收款单位
hospital_no string 住院号/门诊号
payee string 收款人

1.1 checksum 字段的参数:

字段 类型 说明
total_cost int 总金额
cost_categories int 大类项目金额

1.2 cost_categories 字段的参数:

字段 类型 说明
name string 大类单项名称
cost float 大类单项花费

1.3 cost_detail_list 字段的参数:

字段 类型 说明
amount float 数量
medical_type int 项目类型:0-未知,1-西药,2-中药,3-诊疗项目
name string 通过细目名称匹配的医保库名称
class string 细目所属大类;根据票面内容提取
level string 医保等级;根据票面内容提取
ocr_name string 结合医保库修正的细目名称 ;建议细目名称用此条
origin_ocr_name string 票面上原始打印的细目名称
price float 细目金额
selfpay float 自付金额;从票面提取或通过细目金额*自付比例 计算
selfpay_ratio float 自付比例,取值范围[0-1],从票面提取或通过细目名称查询医保库获取
spec string 规格
unit_price float 单价
check_info int 整个条目(含细目名称、细目金额、规格、单价、数量、自付金额)校验是否通过:-1-无法校验,0-校验不通过,1-校验通过
check_info_price int 细目金额校验是否通过:-1-无法校验,0-校验不通过,1-校验通过
check_name_info int 细目名称和细目金额校验是否通过:-1-无法校验,0-校验不通过,1-校验通过

1.4 payments_info 的字段:

字段 类型 说明
name string 名称
amount float 金额
check_info int 金额校验是否通过: -1-无法校验,0-校验不通过,1-校验通过

1.4.1 payments_infoname的取值:

以下字段如票面中不包含或未提取到,不做输出

字段
个人支付金额
个人账户支付
医保统筹支付
其他医保支付
自费
自付一
自付二

2.返回示例

返回结果示例
{
    "request_id": "TIDa0f74432e2134772a8974cb086e9ae6b",
    "degree": 0,
    "medical_result": {
        "billing_date": "2017-02-06",
        "charging_units": null,
        "checksum": {
            "cost_categories": 0,
            "total_cost": 1
        },
        "cost_categories": [],
        "cost_detail_list": [
            {
                "amount": 1.0,
                "check_info": 0,
                "check_info_price": 0,
                "check_name_info": 0,
                "medical_type": null,
                "name": null,
                "ocr_name": "磁卡工本费",
                "origin_ocr_name": "磁卡工本费",
                "price": 1.0,
                "selfpay": null,
                "selfpay_ratio": null,
                "spec": null,
                "unit_price": null
            },
            {
                "amount": 1.0,
                "check_info": 0,
                "check_info_price": 0,
                "check_name_info": 0,
                "medical_type": null,
                "name": null,
                "ocr_name": "诊疗费",
                "origin_ocr_name": "诊疗费",
                "price": 9.0,
                "selfpay": null,
                "selfpay_ratio": null,
                "spec": null,
                "unit_price": null
            }
        ],
        "hospital_dates": [],
        "hospital_days": null,
        "hospital_name": null,
        "hospital_no": null,
        "medical_insurance_type": null,
        "medical_organization_type": null,
        "note_no": "40182040****",
        "patient_gender": 0,
        "patient_name": "张三",
        "payee": null,
        "payments_info": [],
        "service_serial_number": null,
        "social_security_card_number": null,
        "total_cost": 2965.62,
        "type": 1
    },
    "status": "OK"
}

四、错误码信息

状态码 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 ""