Airdoc对接方案介绍-HIS

用户在医院系统登记,并通过相机管理软件启动相机

一、 流程图

二、 业务流程描述

  1. 用户在医院系统中进行登记;
  2. his系统会产生一个条形码或者二维码,由医院操作人员通过相机管理软件,扫条形码或者二维码启动相机,进行拍摄眼底影像;
  3. 眼底相机自动将眼底影像上传至鹰瞳Airdoc系统;
  4. 鹰瞳Airdoc系统将拿眼底影像中带有的体检号去his查询基础信息,并将和眼底影像进行匹配,生成评估报告;
  5. 鹰瞳Airdoc系统推送报告到his系统中;
  6. his系统展示报告。

三、接口

接口1:接收用户信息推送(鹰瞳Airdoc系统)

场景和说明

鹰瞳Airdoc系统,将通过体检号去his或体软系统系统查询用户的基础信息

接口地址

请求方式

HTTP METHOD:POST

HEADERS: "Content-Type: application/json"

参数说明(JSON)

字段名 类型 是否必填 默认值 描述
uuid string 申请单号
name string 姓名
gender int 1:男;2:女
birthday int 生日
id_number int 身份证号
security_number int 社保卡号
medical_history string 多个病史用英文逗号分隔,比如:“1,2"表示有糖尿病和高血压病史
height int 身高,单位厘米
weight float 体重,公斤
phone string 比如:13800000000
病史
medical_history 描述
0
1 糖尿病
2 高血压
3 高血脂
4 肾病
5 风湿免疫病
6 肿瘤
7 高眼压史/青光眼
8 白内障

返回结果(JSON)

    {
        error_code: 0,
        message: "获取成功",
        data: {
            "uuid":"1234",
            "name":"测试",
            "gender":"1",
            "birthday":"1999-01-01",
            "id_number":"230121199901010898",
            "security_number":"230121199901010898",
            "medical_history":"1,2,3,4",
            "height":"185",
            "weight":"90",
            "phone":"18178721114"
        }
    }
{
    "error_code": 10001,
    "message": "获取数据失败",
    "data": ""
}

接口2:接收Airdoc推送H5报告(合作伙伴系统)

描述

合作伙伴系统中用来接收Airdoc系统推送过来的报告的接口,Airdoc会配置到自身系统中,并在报告生成后调用。接口是的基于http协议的 (支持https),请区分测试环境和生产环境。签名验证成功表示推送来源(Airdoc)可信任。

请求方式

HTTP METHOD:POST

HEADERS: "Content-Type: application/json"

参数说明(JSON)

字段名 类型 是否必填 默认值 描述
sign_type string sha1
timestamp int 时间戳(10位)
signature string 签名
pdf string pdf报告链接(三天有效期)
uuid string 申请单号
right_result string 右眼结果
left_result string 左眼结果
suggestion string 综合建议
suggestion_level string 综合建议等级
image_qc string 0正常,1左眼不可读, 2右眼不可读, 3双眼不可读
综合建议等级
suggestion_level 综合建议
0 目前情况良好,建议定期复查。
1 目前暂无需就医治疗,定期复查。
2 如有视力下降、眼胀眼痛、视物模糊变形等症状,请及时就诊。
2.5 如有青光眼家族史、高度近视,或有眼痛、眼胀、虹视等症状,建议进一步眼科检查。否则暂无需就医,可定期复查。
3 建议进一步眼科检查。
4 视网膜存在严重病变高风险,视力可能受到严重影响,建议立即到医院眼科就诊。

参数示例(JSON)

{
    "sign_type": "sha1",
    "timestamp": 1603356013,
    "signature": "4b41ad96b4e7e55b34f760b4490e977cb48065ae",
    "pdf": URL2, 
    "uuid": "", 
    "right_result": "右眼结果", 
    "left_result": "左眼结果", 
    "suggestion": "综合建议 。", 
    "image_qc": 0, 
    "suggestion_level": 1
}

签名方法:

sha1(secret_key + timestamp + medical_record_no)

签名举例

secret_key = "94a1b8563f08a8b9c65189161fb61aaa";  // 同接口1
timestamp = 1603356013;  // 来自于推送参数, 当前unix时间戳,单位到秒
medical_record_no = "445678";
signature_string = "94a1b8563f08a8b9c65189161fb61aaa1603356013445678"
signature  = sha1(signature_string)

返回

{
    "error_code": 0,
    "message": "success"
}

{
    "error_code": 1001,
    "message": "签名验证失败"
}

{
    "error_code": 1003,
    "message": "其他情况的失败都归到1003"
}