# 微信就医助手消息能力
微信就医助手是为医院和医疗机构提供的定制化消息能力,它能够满足公立医院在微信中下发各就医场景全流程消息的需求,触达用户更高效,同时还有更丰富的扩展能力和接口。
# 就医助手介绍
微信就医助手功能,依托微信消息能力,为医院提供在服务通知中下发就医流程消息的能力,同时支持生成就诊流程可视化页面。
# 开通就医助手
# 可以开通就医助手的主体
目前,就医助手支持主体类型为事业单位的公立医院,主体类型为政府的卫健委的公众号与小程序开通使用。
# 开通路径
医院公众号:登陆「公众号公众平台」,选择侧边栏功能中的「广告与服务」-「城市服务」-「行业能力」-「就医助手」,点击“开通功能”即可,开通后,医院公众号即有就医助手所有接口调用权限。如果未找到城市服务入口,请在侧边栏「新的功能」中先寻找「城市服务」并添加。
医院小程序:需要同主体的公众号按照上述流程开通,开通后即可使用小程序用户openid下发消息
# 就医助手能力说明
# 模版申请与使用
微信公众平台账号,开通就医助手能力后, 可使用就医助手模版库内的所有模版,无需额外申请。
# 消息接收
就医助手消息将下发至每位用户的微信服务通知中,以医院主体下发,且可以在微信对话栏中显示通知条数。
# 就医助手落地页各项目配置方式
顶部就医场景配置
如果同一个order_id下的消息
全部为status“15010xx”的门诊就医流程消息(该order_id内可添加“15050xx”的诊后提醒,不影响就医场景判断),则此时会顶部展示此次就医为“本次门诊流程”
全部为status“15020xx”的住院就医流程消息(该order_id内可添加“15050xx”的诊后提醒,不影响就医场景判断),则此时会顶部展示此次就医为“本次住院流程”
全部为status“15030xx”的体检就医流程消息(该order_id内可添加“15050xx”的诊后提醒,不影响就医场景判断),则此时会顶部展示此次就医为“本次体检流程”
全部为status“15040xx”的体检就医流程消息(该order_id内可添加“15050xx”的诊后提醒,不影响就医场景判断),则此时会顶部展示此次就医为“本次线上问诊流程”
除上述order_id内的status组合外,其他组合方式,由于无法确定本次就医场景,均会展示为“本次就医流程”
姓名与就诊卡号
用户姓名与就诊卡号来自于同一个order_id下status接口参数中的传参
门诊流程中就医节点及其顺序
每一个新的order_id下的可视化页面,如果是门诊流程,门诊流程预设默认展示 挂号——诊前准备——门诊缴费——检验检查——诊后提醒 几个模块。每个status所属模块的对应关系请查看 https://docs.qq.com/sheet/DQVFRd1N0VUtyVGtX?tab=BB08J2
页面底部公众号与小程序跳转位
默认展示公众号,如果需要展示小程序跳转,则需要在通用消息接口的参数pageinfo中传入小程序的appid与路径,系统自动识别后展示该小程序的跳转位。公众号和小程序的跳转位均只有一个。
# 开发方式
# 接口调用方式
文档所有接口请求方式均为HTTPS-POST请求,UTF-8编码,请求和相应参数仅支持JSON数据格式,所有接口的调用均需要获取access_token授权。
服务商获取access_token,走微信开放平台-第三方平台的模式,由医院为第三方服务商授权[22城市服务]+[113就医助手]权限集,授权流程操作指引点击这里查看。
# 消息推送接口
就医助手消息下发接口请求,由 通用消息接口+子状态status 的参数组合而成,通用消息接口是调用每种消息都必须填写的接口参数,子状态status是调用每种不同业务流程消息所需要填写的接口参数
# 通用消息接口规则
请求地址:
https://api.weixin.qq.com/cityservice/sendchannelmsg?access_token=ACCESS_TOKEN
请求参数名
字段 | 字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|---|
status | 现在的子状态 | uint32 | 是 | 如1501001-预约挂号成功通知 |
open_id | 用户openid | string | 是 | 用户公众号/小程序openid(如果是小程序,需要是与公众号关联的小程序) |
order_id | 订单id | string | 是 | 业务方(医院)生成的唯一id,等同于一次门诊/住院订单号(重要:同一次就医流程使用同一个order_id,否则无法使当次就医消息展示在同一个可视化页面,且影响就医记录生成) |
msg_id | 消息唯一id | string | 是 | 业务方(医院)保证同一用户同一order下msg_id唯一,可用于去重、对账等 |
app_id | 业务方appid | string | 是 | 医院开通就医助手时使用的公众号appid,用于校验业务方appid是否有权限(此处不可填写小程序app_id,而是填写开通了就医助手的同主体公众号appid) |
business_id | 业务id | uint32 | 是 | 就医助手业务,填写150 |
testonly_is_trial | 控制跳转落地页版本 | uint32 | 否 | 不用传(测试用参数) |
business_info | 业务字段 | JsonObj | 否 | 根据不同的status有不同的结构,详见2.2 |
PageInfo
PageInfo是business_info.redirect_page和business_info.elder_redirect_page字段的json结构定义,用于控制落地页内,每个消息节点跳转医院页面的路径。
字段 | 字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|---|
page_type | 页面路径类型 | string | 如果有redirect_page字段需要填,则必填page_type; 否则不用填 | web - 网页mini_program - 小程序 |
url | 网页网址 | string | page_type为web类型时必填 | web类型时,url需为业务域名 |
app_id | 小程序appid | string | page_type为小程序时必填 | 小程序类型时需与当前账号关联主体 |
fullpath | 小程序路径 | string | page_type为小程序时必填 |
# 子状态status参数规则
示例:status = "1501001-预约挂号成功通知" 的时候,business_info里的字段如下:
business_info里的业务字段 | 字段名 | 类型 | 是否必填 | 备注 |
---|---|---|---|---|
pat_hospital_id | 用户就诊卡号 | string | 是 | 在该医院就诊卡号 |
pat_name | 用户姓名utf8 | string | 是 | |
doc_name | 医生姓名utf8 | string | 否 | 如果暂无具体分配的医生,则填医生级别(如主治医生) |
department_name | 科室名称 | string | 是 | 含楼栋楼层(如果有) |
department_location | 科室位置 | string | 否 | |
appointment_time | 预约时间 | string | 是 | 2023-06-07 10:30-11:00 |
memo | 就医须知 | string | 否 | |
redirect_page | 医院跳转页面信息 | JsonObj | 否 | 详见2.1中PageInfo的定义 |
elder_redirect_page | 医院适老化页面的跳转信息 | JsonObj | 否 | 详见2.1中PageInfo的定义 |
请求参数示例
{
"status": 1501001,
"open_id": "ksdjgkjslkgvjlsakdfj",
"order_id": "order1",
"app_id": "wx23dde3xd34569cba",
"msg_id": "msg1",
"business_id": 150,
"business_info": {
"pat_name": "李*龙",
"doc_name": "王小二",
"pat_hospital_id": "a123456",
"department_name": "门诊3楼五官科",
"appointment_time": "2023-06-07 10:30-11:00",
"redirect_page": {
"page_type": "web",
"url": "https:zhongshanyi.com/guahao?order_id=order1"
}
}
}
查看所有status参数,请查看微信就医助手开发文档。