医疗路由的工作方式-我们以DOC +应用程序为例

每个智能手机都具有GPS传感器,传感器和Internet连接-它们大大降低了解决物流问题的技术门槛。 现在我们几乎每天都要面对复杂的路由系统,即使我们自己没有注意到它。 在他们的帮助下,我们到处堵车,订购出租车,送餐。 这些用例都有各自的特点-路线应在更新数据时重建,驾驶员必须找到乘客,食物必须保持高温。

我们还面临DOC +路由的任务-我们必须保证来访医生的有效性。 这就是我们解决的方法。


“如果您生病了,则不必去诊所-DOC +医生会来您家”

开始时:我们打电话给医生


我们不只是按照Uber原则“带”医生来。 我们是一家成熟的医疗公司,拥有医生和有限的人力资源。 接到电话时,我们首先确定如何为客户提供帮助:在某些情况下,我们的专家可以远程提供咨询,在其他情况下(如果事件太严重),我们解释说我们的服务不能完全替代救护车或紧急护理。 如果有什么威胁您的生命,我们将告诉您应该与谁联系。

在所有其他情况下,该申请均视为有效且已由调度员确认。 该应用程序的用户可以致电具有必要专业知识的任何可用医生,也可以致电他所爱的医生(如果他当天工作并且有机会在方便的时候联系他)。 紧急呼叫时,医生将在接下来的两个小时内到达。 在常规通话中,医生会在通话后的四个小时内到达,或者-如果患者提前选择了检查时间-在客户选择的时间间隔内(在这种情况下,间隔时间可以缩短为两个小时-系统会根据您的医生负担来帮助您选择特定时间段)

通往病人的道路


对于医生和患者来说,时间都是宝贵的资源,明智地使用它很重要。 因此,为了使差旅费用和约会之间的间隔最小化,正在为医生的每个班次构建一条完整的移动和工作路线。 该路线的起点和终点是家里的专家,并在收到订单后自动更改。 同时,我们尝试计算路线,以使移动尽可能方便,而地图上远点之间不会突然移动。 粗略地讲,只有在有人特别订购他或她的服务时(这说明了这种选择的优等性质),或者出现了其他人都无法接受的紧急电话,医生才被派往莫斯科的另一端。

医生在换班之初便决定了一种方便的方式在城市中移动。 驾驶员可以使用自己的汽车,汽车共享或公司的汽车,其余的-公共交通工具或出租车。

我们的MIRA自动调度系统可以计算出医生的等待时间。 系统中的所有应用程序都显示在城市地图上,并用不同的标记标记。 状态可以如下:

  • 医生被任命;
  • 接受了申请;
  • 在途中
  • 领导接待;
  • 完成了招待会。

医生会在其应用程序中独立更改这些状态​​,并且MIRA会进行监控,并在重建其他专家的路线时将其考虑在内。

从技术上讲,MIRA(轻度智能路由算法)系统解决了“ 旅行推销员问题 ”,您需要选择最佳的访问城市顺序,然后返回原始城市,但要有所不同。

特别是,我们有一个以上的业务员,但有很多医生(每个医生都有自己的班次,起点和终点),而且一天之初的所有挑战都不明-情况正在动态变化(新医生出来了,新要求不断涌现或变化)。

同样在我们的情况下,引入了其他限制,例如,医生必须在某个时间窗口到达应用程序,此外,您还必须考虑患者和医生本身的意愿。

科学文献中遇到的最接近我们的任务称为“考虑时间间隔的车队动态路由问题”( PDF )。 其实质是在计算具有不断变化的参数的汽车路线时的总运输成本最小化:时间窗,轨道长度,汽车数量和目的地的停车位数量。

我们的MIRA系统还具有将在不断变化的环境中拨打所有电话的成本降至最低的任务。 在解决该问题时,系统会考虑所有医生调动(包括回家旅行)的成本,医生的薪水,迟到的成本和不打电话的医生的停机时间,客户等待时间。 在这种情况下,MIRA必须处理无法预料的情况(例如,患者在通话中遇到紧急情况)–在这种情况下,操作员输入新数据,系统会重新计算所有内容。

在计算医生的路线时,将医生的家庭住址选为起点和终点。 剩下的就是病人地址 。 在白天,系统会定期计算和更新每条路线。 为了评估医生可以到达患者的时间,请考虑以下因素:

  • 有些患者需要比其他患者更多的关注。 有时医生自己会遇到不可抗力的情况。 这可能会导致首先考虑的延迟。
  • 将增加医生准备出发的时间。 由于外部因素不会影响此任务的执行,因此所有员工的时间相同。
  • 出租车或公共交通工具的等待时间与实验确定的平均指标相同,随着您离开莫斯科环城路而增加。
  • 使用OpenStreetMap和OSM路由机的数据,可以计算出所需路线在没有交通拥堵的情况下所花费的时间。
  • 经过历史数据训练的机器学习模型会根据医生的位置,预计的交通状况,一年中的时间和一天中的时间来更正此数字。 该模型使用了我们的医生乘坐出租车的旅行历史。
  • 最后,为此增加了固定的时间,医生可以将其花费在寻找患者的公寓上。

考虑到新数据,新呼叫和取消,通过元启发式算法每分钟一次优化“到达”时间的估计。

我们使用元启发法,因为我们的任务是NP完全的,并且在合理的时间内寻找精确的解决方案仍然不是解决的问题。 元启发式算法使您可以搜索(但不是穷举)并找到也许不是最好的而是“好的”解决方案。

作为一种算法,我们选择TabuSearch是因为它具有良好的速度。 在搜索最佳路径时,TabuSearch会考虑搜索的背景,而不考虑曾经浏览过且认为次优的路线。

为了不打扰客户,我们会预测医生的到诊时间。 如果出于不可预见的原因,我们没有按时完成任务,我们将提前通知客户(如果呼叫被列为紧急呼叫,则在呼叫后两小时内没有时间到达的情况下,我们不收取紧急附加费)。


我们的“ Just Ask ”博客中的插图

医生旅行时...


调度员负责在医生到达之前与客户进行沟通。 它们是医生与患者之间的连接纽带。 联络中心的一半员工接受了医学教育,其余的则学习了社会学科。 他们的工作受严格的内部标准约束,没有算法可以替代它们。 这是医生在探视您时所做的事情:

  • 调度员与顾问医生合作,对客户病情的严重程度进行初步评估。 同时,他们不仅会采访客户,还会在必要时尝试为他提供心理支持。
  • 当医生在路上时,他们会提出医疗方面的问题,并将其转介给医疗部门的工作人员。 他们可能会请副主任医师或现在免费接听电话的医生。
  • 如果客户需要联系将要去看医生的医生,调度员会在监视医生工作量的情况下组织回电。
  • 如果系统负担沉重,并且根本没有足够的专家,例如在流行病期间,调度员将邀请非调度的医生进行课外轮班。

但是,也许最重要的是,他们负责“解决”在制定医疗计划时可能出现的最棘手的情况。

紧急情况


如果一切顺利,医生会准时到达,填写病历,检查病人,然后转到新的服务对象。 但是,为了大胆地向人们保证这种精简的服务,您需要具有提供该服务的系统。

在服务的初期,调度员只是在地图上看着医生。 可以看到谁在哪里以及他在做什么-他有一个客户,在路上或者什么都不做。 当前的负载不允许这样做,因此可以自动解决大多数问题情况。

由于调度员团队和数据分析团队的努力,超过90%的约会是使用自动化系统进行的。 在其余情况下(客户紧急要求更改保留时间,不可抗力的医生,严重的计划外交通堵塞),操作员本人会亲自进行预约。

以下情况是紧急情况的一个示例:

医生的班次是从8点到20点。他预定了早上从8点到10点的预约。早上8点,医生没有打开班次。 系统理解了这一点,并在8:05创建了相应的票证。 操作员应与医生联系,并决定是要转移一点还是将其从医生身上移开。 如果在8:15之前没有采取任何措施,并且医生尚未更换,则在构建路线时,MIRA会指望他(直到医生更换班次或操作员手动进行调整)。

会自动检测到影响申请截止日期的情况,并将其转换为标准票证。 运营商手动允许这些票证。 例如,如果延误了医生的安排,那么他的其他患者甚至可以在释放之前就知道这一点。 如果医生做错了事-他上班迟到,“免费赠品”,或者不监视急救箱的内容和表格的可用性,调度员会立即收到相应的报告表格。

特别是,我们有一个命令来标准化安装的组成-医生急救箱中的设备和检查表的数量-在每个班次开始时,医生都必须遵循。 为了补充款式,医生应该每周打电话到办公室一次。 所有这些都由基于1C的ERP系统控制。

如果由于某种原因员工轮班而没有必要的设备,则操作员将其从生产线上移开并发送到办公室。 尽管我们还没有一个案例,医生在客户门前宣布消耗品的销毁。



乍看之下,急救箱中的物品等细微差别不会影响“从A点到B点的路径的构造”。 但是,它们直接关系到医生的动向,因此也关系到他们的路线。 因此,对于我们来说,路由是一组相当复杂的后勤任务。

我们的服务工作既由技术 (应用程序,人工智能系统和机器学习)提供,也由能够说和听的专家提供:只有当所有这些要素协同工作时,服务才能达到最佳状态。



我们有一个主题杂志“ Just Ask ”-在这里我们讨论有关现代医学的最受欢迎的问题:

Source: https://habr.com/ru/post/zh-CN433032/


All Articles