挂号业务技术方案
背景
需求文档:松果健康-挂号
主要是维护公立和民营医院的挂号,挂号最终是通过合作方来完成,目前公立的合作方是微医,民营的合作方是松果。端侧实时拉取合作方的挂号数据,并展现给用户,用户下单后也需要合作方回调同步订单信息。
需求拆分
根据不同的功能划分出不同的接口,接口文档:挂号业务接口说明 ;根据功能和接口的定义,服务端需要实现的需求有:
筛选某个城市所有提供挂号业务的医院列表,并可以按照距离排序
搜索全部挂号资源,目前只有三类结果会召回:医院,科室,医生
获取医院详情页,包含医院的热门科室和普通科室
获取医院某个科室挂号详情页
获取医生挂号详情页,并提供最终挂号跳转链接
获取开通了挂号业务的城市列表
获取搜索页下的热门科室
获取订单详情
获取订单列表
方案

主要模块功能:
挂号服务:与第三方openapi交互,查询指定科室或者医生一段时间内是否有号可挂,返回详细的挂号日历。
搜索服务:定时将医院科室医生等数据导入通用搜索服务,由通用搜索服务提供具体的搜索功能,挂号搜索服务主要提供搜索结果的过滤、重排序、打包。
城市管理:定时拉取第三方的所有医院数据,结合产品策略决定当前可以挂号的城市列表;记录用户查询时使用过的城市,并提供接口查询;提供接口查询用户当前城市以及是否开通了挂号业务。
医院科室医生管理:定时拉取所有第三方的医院、科室、医生数据保存更新到端侧;提供医院列表的筛选接口;提供医院(包括医院有哪些科室)的查询机接口;提供医生信息的查询;统计挂号数据并提供热门科室查询。
订单管理:提供订单生成,列表查询,订单详情查询。
通知:接受三方下单回调,并通知用户挂号成功。

各个模块详细设计
医院科室医生管理
挂号医院科室医生管理
搜索服务
松果健康搜索服务
订单服务
松果健康-挂号订单服务技术方案
方案评审遗留问题
搜索结果放到一个页面聚合展示,减少用户理解成本,解决重名问题
更新挂号优先级,搜索医生,再搜索医院、科室,因为暂时没有发现有医生的名字和医院同名。挂号全局搜索其实只类似平台的一个垂搜,后续有药品等内容可以再单独提供综搜,此时可以将医院、医生、药品等都各自聚合展示到一个页面。
是否可以做抢票逻辑,跳微医h5折损肯定很大
微医不暴露提交挂号,因为跟医院有协议,其他合作方有挂号接口就做本地页面。
小程序入口还不够明显。
后续挂号业务上线后会做引流和小程序位置固定。
微医提供的数据是否可靠,是否需要审核
目前由第三方协议保证,产品再调研下看是否有必要单独审核。
搜索的数据是否可以版本级别回滚。
暂时没有,但可以支持(短时间不行)。
搜索科室是要按照有号排序,需要拉取所有科室号源信息,需要单独设计。
全局搜索更新为:先筛选出本地城市数据,本地数据最高优先级,并按照等级、是否有号、距离排序(这里一个城市相同等级的医院不会太多)。然后外地数据,根据距离、等级、是否有号排序(这里距离排序基本就是最终排序了,因为外地医院距离基本不可能相同)
微医是否可以取消订单,第三方会发取消回调么?
会有回调。
订单加删除功能,包括第三方测也删除。
不提供删除,挂号订单没有太多敏感信息,不会填写病情。









