medical_settlement
1.接口描述
该 API 用于识别并提取医保结算单(分割单)上的文字信息。
- 图片要求:
- 格式为 JPG(JPEG),PNG
- 宽和高大于 128px,小于等于 6000px
- 小于等于 5 MB
请求方式
POST
请求URL
2.请求参数
2.1 请求体
字段 |
类型 |
是否必需 |
描述 |
image_file |
file |
见下方注释 |
需上传的图片文件,上传本地图片进行检测时选取此参数 |
image_base64 |
string |
见下方注释 |
base64编码的图片内容 |
org_code |
string |
否 |
组织机构代码;根据填写机构码匹配对应地区医保库;不填写会默认匹配国家甲类药品库 |
request_id |
string |
否 |
本次请求的唯一标记,不指定服务端会自动生成 |
auto_rotate |
boolean |
否 |
是否自动旋转图片,true开启,false不开启 |
请求参数 image_file
,image_base64
二选一。
url 中若含有特殊字符,则需要对这些字符进行转义,所有中文和特殊字符必需以UTF-8编码转义。
参数 image_file
需把图片文件以 multipart/form-data 的形式放到 POST 消息体中。
组织机构代码:
城市 |
组织机构 |
潍坊市 |
863401 |
枣庄市 |
860612 |
烟台市 |
860603 |
济南市 |
860601 |
泰安市 |
860605 |
日照市 |
860613 |
临沂市 |
860609 |
济宁市 |
860604 |
聊城市 |
860610 |
菏泽市 |
860614 |
德州市 |
860602 |
淄博市 |
860608 |
东营市 |
860607 |
威海市 |
860611 |
青岛市 |
862001 |
3.返回参数
字段 |
类型 |
说明 |
status |
string |
状态,正常为 OK |
degree |
int |
图片旋转角度 |
medical_result |
object |
票据信息提取结果 |
3.1 medical_result 字段的参数:
字段 |
类型 |
说明 |
note_title |
string |
票据标题 |
patient_name |
string |
患者姓名 |
patient_gender |
int |
性别:0-未知,1-男, 2-女 |
billing_date |
string |
发票日期 |
catalog_pays |
float |
医保内支付 |
checksum |
object |
票据内校验结果:-1-无法校验,0-校验不通过,1-校验通过,根据票内逻辑关系校验 |
cost_categories |
object |
大类项目花费 |
fund_payments |
object |
统筹支付 |
start_hospital_date |
string |
入院日期 |
end_hospital_date |
string |
出院日期 |
hospital_days |
float |
住院天数 |
hospital_name |
string |
医院名称 |
out_catalog_pays |
float |
医保外支付 |
total_cost |
float |
总金额 |
total_fund_payment |
float |
统筹总额项 |
total_part_self_pays |
float |
自负总额 |
total_self_pays |
float |
自费总额 |
text_regions |
object |
提取信息的坐标 |
confidence |
object |
提取信息的置信度 |
3.1.1 checksum 字段的参数:
字段 |
类型 |
说明 |
total_cost |
int |
总金额校验是否通过 |
total_fund_payment |
int |
大类项目花费校验是否通过 |
part_self_pay |
int |
自负金额校验是否通过 |
self_pay |
int |
自费金额校验是否通过 |
3.1.2 cost_categories 字段的参数:
字段 |
类型 |
说明 |
is_drug |
int |
是否是药品:1-是,0-否 |
name |
string |
大类项目名称 |
part_self_pay |
float |
自负金额 |
self_pay |
float |
自费金额 |
3.1.3 fund_payments 字段的参数:
字段 |
类型 |
说明 |
name |
string |
统筹支付单项名称 |
cost |
float |
统筹支付单项花费 |
3.1.5 confidence 的取值:
字段 |
类型 |
说明 |
note_title |
float |
票据标题 |
patient_name |
float |
患者姓名 |
patient_gender |
float |
性别 |
catalog_pays |
float |
医保内支付 |
billing_date |
float |
发票日期 |
start_hospital_date |
float |
入院日期 |
end_hospital_date |
float |
出院日期 |
hospital_name |
float |
医院名称 |
out_catalog_pays |
float |
医保外支付 |
total_cost |
float |
总金额 |
total_fund_payment |
float |
统筹总额项 |
total_part_self_pays |
float |
自负总额 |
total_self_pays |
float |
自费总额 |
fund_payments |
array |
统筹支付列表置信度。数组单个元素表示一组金额信息 ,数组元素与提取内容排列顺序相同,单个元素顺序:[金额名称,金额] |
cost_categories |
array |
大类项目列表置信度。数组单个元素表示一组大类信息,数组元素与提取内容排列顺序相同,单个元素顺序:[大类名称,自费金额,自负金额]。置信度单个字段为float类型,无置信度则输出为-1 |
3.1.6 text_regions的取值:
坐标输出格式
: [左上角x, 左上角y, 右下角x, 右下角y]
字段 |
类型 |
说明 |
note_title |
float |
票据标题 |
patient_name |
float |
病人姓名 |
patient_gender |
float |
性别 |
catalog_pays |
float |
医保内支付 |
billing_date |
float |
发票日期 |
start_hospital_date |
float |
入院日期 |
end_hospital_date |
float |
出院日期 |
hospital_name |
float |
医院名称 |
out_catalog_pays |
float |
医保外支付 |
total_cost |
float |
总金额 |
total_fund_payment |
float |
统筹总额项 |
total_part_self_pays |
float |
自负总额 |
total_self_pays |
float |
自费总额 |
fund_payments |
array |
统筹支付列表坐标.数组单个元素表示一组金额信息,数组元素与提取内容排列顺序相同,单个元素顺序:[金额名称,金额] |
cost_categories |
array |
大类项目列表坐标.数组单个元素表示一组大类信息,数组元素与提取内容排列顺序相同,单个元素顺序:[大类名称,自费金额,自负金额],无坐标则输出为[] |
返回结果示例
{
"degree": 0,
"medical_result": {
"billing_date": null,
"catalog_pays": null,
"checksum": {
"part_self_pay": -1,
"self_pay": -1,
"total_cost": -1,
"total_fund_payment": -1
},
"confidence": {
"billing_date": -1,
"catalog_pays": -1,
"cost_categories": [
[
0.9991,
0.9991,
0.9991,
],
[
0.9991,
0,
0.9963
],
[
0.9982,
0.9911,
0
]
],
"end_hospital_date": 0.9945,
"fund_payments": [
[
0.9821,
0.9968
],
[
0.9588,
0
]
],
"hospital_days": 0.6584,
"hospital_name": 0.9996,
"note_title": -1,
"out_catalog_pays": -1,
"patient_gender": 0.9812,
"patient_name": 0.9992,
"start_hospital_date": 0.6584,
"total_cost": 0.4209,
"total_fund_payment": 0.9969,
"total_part_self_pays": -1,
"total_self_pays": -1
},
"cost_categories": [
{
"is_drug": 1,
"name": "药品",
"part_self_pay": 53.27,
"self_pay": 20.36
},
{
"is_drug": 0,
"name": "检验",
"part_self_pay": 24,
"self_pay": null
},
{
"is_drug": 0,
"name": "服务设施",
"part_self_pay": null,
"self_pay": 150
}
],
"end_hospital_date": "2020-09-12",
"fund_payments": [
{
"cost": 79.94,
"name": "统筹"
},
{
"cost": null,
"name": "统筹支付"
}
],
"hospital_days": 5,
"hospital_name": "济南市第三人民医院",
"note_title": "济南市居民基本医疗保险参保人住院费用结算单",
"out_catalog_pays": null,
"patient_gender": 1,
"patient_name": "XXX",
"start_hospital_date": "2020-09-07",
"text_regions": {
"billing_date": [],
"catalog_pays": [],
"cost_categories": [
[
[
308.1732,
1076.4814,
397.5481,
1130.1135
],
[
1744.1368,
1066.1118,
1854.4685,
1113.8935
],
[
1429.1448,
1068.3537,
1539.4765,
1116.1353
]
],
[
[
308.6998,
1150.4795,
398.0677,
1203.1116
],
[],
[
1429.707,
1147.3517,
1540.0032,
1190.1335
]
],
[
[
311.383,
1526.9077,
479.7132,
1575.1022
],
[
1731.3826,
1522.1002,
1857.6783,
1564.9959
],
[]
]
],
"end_hospital_date": [
1404.9355,
616.8028,
1615.2718,
666.2962
],
"fund_payments": [
[
[
993.6006,
993.0388,
1161.9665,
1046.2331
],
[
1115.1527,
1070.5884,
1225.4844,
1118.3701
]
],
[
[
1099.9751,
1887.856,
1331.3749,
1946.4986
],
[]
]
],
"hospital_days": [],
"hospital_name": [
1402.2274,
375.6844,
1771.7091,
447.3089
],
"note_title": [],
"out_catalog_pays": [],
"patient_gender": [
1009.2623,
243.8051,
1051.5957,
291.1028
],
"patient_name": [
569.309,
251.3031,
700.6402,
299.2342
],
"start_hospital_date": [
1404.3803,
538.8048,
1614.7095,
587.2982
],
"total_cost": [
1763.0082,
766.5571,
1931.3029,
809.7517
],
"total_fund_payment": [
1115.1527,
1070.5884,
1225.4844,
1118.3701
],
"total_part_self_pays": [],
"total_self_pays": []
},
"total_cost": 2827.63,
"total_fund_payment": 79.94,
"total_part_self_pays": null,
"total_self_pays": null
},
"status": "OK"
}
4.错误码
状态码 |
status 字段 |
说明 |
400 |
INVALID_ARGUMENT |
请求参数错误 |
400 |
DETETION_FAILED |
图片检测失败 |
403 |
NO_PERMISSION |
无调用权限 |
403 |
OUT_OF_QUOTA |
调用次数超出限额 |
404 |
NOT_FOUND |
请求路径错误 |
500 |
INTERNAL_ERROR |
服务器内部错误 |
备注: 以上40X系列错误描述请参考error
字段
输出样例
{
"status": "PARAMETER_ERROR",
"error": "image_file、image_base64 or image_url required",
}
5.示例代码