全面解析:就诊预约应如何设计?

2024-03-14 08:40

本文主要是介绍全面解析:就诊预约应如何设计?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、设计背景

刚跳槽到一家互联网医疗公司,所在部门做诊所线上管理软件,主要功能:预约、医生看诊、随访、健康管理、患者维护等。我们的目标是:让医生以最便捷的方式完成患者的看诊,数字化管理诊所,做好患者维护和定向营销,实现诊所的收益提升。

那么,我们就拆解到小模块去看功能的实现吧。

今天就来谈谈预约。

其实,预约一点都不好做,它是我们讨论最多的,但也是争议最大的,直至最后,也没有完美的方案,只能说是满足大部分诊所的需求。

二、为什么要做预约呢?

原因只有一个:人多!人多!人多!

三、产品闭环

大家都有过预约的体验吧,我们会通过电话、微信公众号、小程序、直接线下预约等方式去预约。

预约完整的闭环应该是:

四、常见模型

不管是哪种方式的预约,底层模型都是一样的,下面我们来看看市面上有哪几种模型。

1. 从预约对象看:可以是医生、科室、项目

图一 预约到科室和医生

图2 预约到项目

2. 从预约的时间来看:有时间段预约、具体时间点预约、号数预约

图3 时间段预约

图4 时间点和号数预约

存在便合理,这些模式都有客户提出过,但我们必须集中精力去做大部分的场景,预约项目先不考虑,预约时间段先不考虑。但后面发现,其实通过一些简单的方法,这2者都能实现。

五、模型构建

我们选取最基础的预约,满足下面2种场景:

  1. 患者可不指定医生预约,只需预约到科室。这种情况医生水平差不多,可以线下灵活调配患者,遇上医生轮班情况也不用管。
  2. 患者指定医生预约,一般专家坐诊的诊所就需要了,患者是冲着医生来的。

看上去很简单,但诊所和医院是有区别的,最大的区别是:一个医生可以坐诊多个科室。

这很好理解嘛,诊所的医生有些是多才型的,主打儿科,但是妇科也能看,有生意不可能不做的。这就出现了一个问题:每个科室的看诊时间不一定相同。比如说:儿科门诊和儿童体检,就能差上三四十分钟,假定医生上班时间是固定的,那么医生一天可看诊的患者数却是一个不确定值。在预约占用号源时,还需要联动计算其他科室。

回归到这个模型,我画的设置界面是这样的:

这里面的问题是:

  1. 普通门诊的医生数量是否包含下面的专家,不管包不包括,客户是否可以简单的理解?
  2. 如果儿科普通门诊里面有医生可以看妇科,怎么办?
  3. 如果儿科的专家在妇科出诊普通门诊,怎么办?

我假定普通门诊的医生只能看该科室,那么实际上,一个诊所也就几个医生,普通门诊多个医生+多个专家的情况不是很多。那索性就把数据落到底层的医生上,全部预约到医生,如果诊所不想显示医生姓名,可以使用虚拟的名字,普通门诊1、普通门诊2。

虽然这也不是一个完美的方案,但从我们系统上来说,能简单很多,客户设置起来也相对容易,只需要医生排班+科室看诊时间。如果这个时间段有人约了儿科,那么其他科室就不能约了。

这时模型就简化到预约到医生了!

六、号数的设计

最初我们并没有想在预约时就给号,原因就是上面的模式号数是不确定的。但客户需求真的很强烈,无法合并模型,只能再增一个。

这就很简单了,让客户自己设置医生看诊的间隔时间,号码投放在哪里,自动生成排号表,这时就不管是不是他在多科室了。

七、变相实现

上面说到的预约到项目和时间段的先不考虑,这时稍微变通下就能实现了。

  1. 预约到项目:将医生的姓名写成项目名称
  2. 预约到时间段:客户自己设置时间段间隔,比如说:1小时,那么将这1小时内的号数加和下就可以了。界面就只显示时间段和有几个号了,可见图3。

八、预约限制

为了避免乱预约,医院都会想方设法的去做一定程度的限制。搜集了下,限制规则真是五花八门。

图5 挂号限制

图6 挂号限制

总结一下:

  1. 当日的预约限制:每人每天同科室只能预约一次。/每日只能预约x次。
  2. 时间间隔限制:预约后x分钟内不可再预约。(比较少见)
  3. 违约限制:取消/违约x次,M日内不可再预约,相当于黑名单。

从本质上来讲,这些只能减少乱预约的现象,如果有人存心恶搞,完全可以用多个账号来占用号源。我们就采取限制1,毕竟流量不及医院那么大,而且恶搞的人也没那么多,如果真需要加强,再做3也可以。

九、后台预约查看

不管采用哪种预约形式,数据落到了后台,诊所医护人员要看到数据,高端诊所还会打电话去和客户确认。查看方式一般就是日表和周表,加上详细的记录。鉴于本系统未上线,找了网络图片来说明。

1. 周表

可以直观看到本周的预约情况,如果有患者打电话来预约,也能快速的告诉患者哪天还有空位。

图7 预约周表(网络图片)

2. 日表

直观看到今日预约者的预约信息,快速确认到诊情况。

图8 预约日表(网络图片)

3. 详情

这是必不可少的,可以查看到详细的数据。

图9 预约详情(网络图片)

十、预约提醒

不确定是不是预约提醒不到位,导致一些客户忘记了预约,预约提醒是一个很重要的环节。

一般采取方式:电话、短信、微信推送。

  1. 电话:高端诊所才有时间和精力去做,也不是我们可以控制的。
  2. 短信:需要费用,部分会采取。
  3. 公众号:便宜好用,是重点方式,虽说效果不及电话、短信。

我们重点就做好公众号提醒:

  1. 预约提交后推送消息,提醒客户预约成功,需要准备哪些资料,体检的注意事项也可在此说明。
  2. 就诊前一天定时推送:如果时间间隔长,可以提醒下患者明天预约了,别忘了就诊啊,再强调下需要的材料。
  3. 配合电话:诊所打完电话后,可以再推送一个微信,确保一些患者没听清的事项。
  4. 当天:预约时间点前一段时间,告诉患者前面有几位等候,合理安排时间。
  5. 就诊提醒:轮到患者时,提醒就诊。

后面2个我们暂时没有做,因为前面有几个人候诊很不确定,VIP是可以插队的!

十一、预约核销

最后一步了,患者到诊了,预约记录要被核销。一般就是在前台登记时确认下到诊就可以了,预约状态变为到诊。

这里也有2种做法:

  1. 登记表为主:就是说患者以实际到店为准,表里面记录的都是已经登记的患者,预约未登记的不会显示。这种就适合线上线下一起接待患者的诊所。
  2. 预约表为主:患者都是要预约才可以就诊的,预约后,来的没来的都显示。哪怕现场有人来了加号,也作为预约补充上去。这种适合高端,仅预约的诊所。

我们就采取的第一种。

总结

在设计预约时,我也给很多的诊所打电话,问他们的模式,回顾来看,主要步骤就是:

  1. 明确需求:一般来说问5家,就可以大概知道模式了。后面设计完后,可以再找几家验证下模型。
  2. 构建产品闭环:这样不容易遗漏一些环节,使得产品更加完整。
  3. 构建模型:想好后和团队一起讨论,很容易考虑不周,团队力量还是很强的。
  4. 原型落实:可以拿着原型去找诊所问问,能不能理解,是不是可以有更好的操作,这一步我还在持续中。

希望后面可以继续更新,把实战的数据拿出来想一想,哪些可以做的更好。

这篇关于全面解析:就诊预约应如何设计?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/807851

相关文章

Python中配置文件的全面解析与使用

《Python中配置文件的全面解析与使用》在Python开发中,配置文件扮演着举足轻重的角色,它们允许开发者在不修改代码的情况下调整应用程序的行为,下面我们就来看看常见Python配置文件格式的使用吧... 目录一、INI配置文件二、YAML配置文件三、jsON配置文件四、TOML配置文件五、XML配置文件

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的