ocr/medical_invoice
1.接口描述
该 API 用于识别提取医疗发票上的文字信息。
- 图片要求:
- 格式为 JPG(JPEG),PNG
- 宽和高大于 128px,小于等于 6000px
- 小于等于 5 MB
请求方式
POST
请求 URL
https://cloudapi.deepfinch.com/ocr/medical_invoice
调试工具
Debugging Tool
2.请求参数
2.1 请求头域
字段 |
类型 |
必需 |
描述 |
X-DF-API-ID |
string |
是 |
API调用凭证信息,详细信息请参考API调用 |
X-DF-API-SECRET |
string |
是 |
API调用凭证信息,详细信息请参考API调用 |
2.2 请求体
字段 |
类型 |
是否必需 |
描述 |
file |
file |
见下方注释 |
需上传的图片文件,上传本地图片进行检测时选取此参数 |
url |
string |
见下方注释 |
图片网络地址,采用抓取网络图片方式时需选取此参数 |
auto_rotate |
boolean |
否 |
自动旋转图片,true开启,false不开启;默认不开启 |
请求参数 file
与 url
二选一。
url 中若含有特殊字符,则需要对这些字符进行转义,所有中文和特殊字符必需以UTF-8编码转义。
目前支持 http/https 协议的网络地址。下载限时 5s,超时后仍未下载完成则属于失败。
参数 file
需把图片文件以 multipart/form-data 的形式放到 POST 消息体中。
3.返回参数
字段 |
类型 |
说明 |
request_id |
string |
本次请求的id |
status |
string |
状态,正常为 OK |
degree |
int |
图片旋转角度 |
medical_result |
object |
票据关键信息提取结果 |
3.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 |
病例号 |
3.1.1 `checksum` 字段的参数:
字段 |
类型 |
说明 |
total_cost |
boolean |
总金额 |
total_check_payment |
boolean |
个人支付金额、个人账户支付、统筹支付 |
cost_categories |
boolean |
大类项目 |
3.1.2 `cost_categories` 字段的参数:
字段 |
类型 |
说明 |
name |
string |
大类单项名称 |
cost |
float |
大类单项花费 |
3.1.3 `cost_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 |
规格 |
3.1.4 `fund_payments` 字段的参数:
字段 |
类型 |
说明 |
name |
string |
统筹支付单项名称 |
cost |
float |
统筹支付单项花费 |
3.1.5 `person_assume_situation` 字段的参数:
字段 |
类型 |
说明 |
name |
string |
患者承担费用信息名称 |
cost |
float |
对应金额 |
3.1.6 `person_payment_situation` 字段的参数:
字段 |
类型 |
说明 |
name |
string |
患者支付费用信息名称 |
cost |
float |
对应金额 |
3.1.7 `supplement_payment_situation` 字段的参数:
字段 |
类型 |
说明 |
name |
string |
医保信息名称 |
cost |
float |
对应金额 |
3.1.7.1 `supplement_payment_situation` 中name包含字段:
字段 |
当年账户结余 |
历年账户结余 |
预缴金额 |
补缴金额 |
退费金额 |
分类自负 |
自负 |
自费 |
3.1.8 `cash_payment_situation` 字段的参数:
字段 |
类型 |
说明 |
name |
string |
个人现金支付名称 |
cost |
float |
对应金额 |
3.1.9 `else_payment_situation` 字段的参数:
字段 |
类型 |
说明 |
name |
string |
其他医保支付名称 |
cost |
float |
对应金额 |
3.1.10 `fund_subitem_situation` 字段的参数:
字段 |
类型 |
说明 |
name |
string |
医保统筹分项名称 |
cost |
float |
对应金额 |
返回结果示例
{
"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
}
}
4.错误码
状态码 |
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"
}
5.输入示例