1.本技术涉及数据处理技术领域,具体而言,涉及一种药品数据处理方法、装置及设备。
背景技术:
2.药品采购及库存管理是医院日常管理的重要部分之一,医疗信息系统能够帮助医院相关部门实时准确地记录药品采购、出库及消耗情况,有效提升药品库存管理水平。
3.目前,大部分医院药品采购计划由相关管理人员,结合近期消耗和采购记录,人工确定需要采购药品的列表和数量。然而,由于列举上千种药品的采购方案费时费力,且存在较多药品囤积的情况,加大了药品采购成本。
技术实现要素:
4.本技术的目的在于,针对上述现有技术中的不足,提供一种药品数据处理方法、装置及设备,以自动生成药品采购单,降低了药品采购成本。
5.为实现上述目的,本技术实施例采用的技术方案如下:
6.第一方面,本技术一实施例提供了一种药品数据处理方法,包括:
7.获取目标药品在历史周期内的历史周期消耗数据;
8.采用所述历史周期消耗数据进行预测,得到所述目标药品在预设未来周期内的预测周期消耗数据;
9.根据所述预测周期消耗数据,计算所述预设未来周期内各个子周期内的预测消耗数据;
10.若检测到针对所述目标药品输入的采购单生成服务请求,则根据所述各个子周期内的预测消耗数据、所述目标药品的预设安全库存阈值,生成针对所述目标药品的采购单,所述预设安全库存阈值用于指示所述目标药品对应的预设到货期波动时的安全库存,所述采购单包括:所述目标药品的采购量。
11.可选地,所述采用所述历史周期消耗数据进行预测,得到所述目标药品在预设未来周期内的预测周期消耗数据,包括:
12.采用指数平滑模型,对所述历史周期消耗数据进行预测,得到所述目标药品在所述预设未来周期内的第一预测消耗数据;
13.若所述历史周期消耗数据的时间分布满足第一预设条件,则采用均值预测模型,对所述历史周期消耗数据进行预测,得到所述目标药品在所述预设未来周期内的第二预测消耗数据;
14.根据所述第一预测消耗数据和所述第二预测消耗数据,得到所述预测周期消耗数据。
15.可选地,所述采用所述历史周期消耗数据进行预测,得到所述目标药品在预设未来周期内的预测周期消耗数据,还包括:
16.若所述历史周期消耗数据的时间分布满足第二预设条件,则采用时间序列预测模型,对所述历史周期消耗数据进行预测,得到所述目标药品在所述预设未来周期内的第三预测消耗数据;
17.根据所述第一预测消耗数据和所述第三预测消耗数据,得到所述预测周期消耗数据。
18.可选地,所述根据所述第一预测消耗数据和所述第二预测消耗数据,得到所述预测周期消耗数据,包括:
19.对所述指数平滑模型进行模型校验,得到第一校验指标;
20.对所述均值预测模型进行模型校验,得到第二校验指标;
21.判断所述第一校验指标和所述第二校验指标是否分别在对应的校验范围内;
22.若所述第一校验指标和所述第二校验指标均在对应的校验范围内,则根据所述第一预测消耗数据和所述第二预测消耗数据,得到所述预测周期消耗数据。
23.可选地,所述根据所述第一预测消耗数据和所述第二预测消耗数据,得到所述预测周期消耗数据,还包括:
24.若所述第一校验指标和/或所述第二校验指标不在对应的校验范围内,则确定所述第二预测消耗数据为所述预测周期消耗数据。
25.可选地,所述根据所述各个子周期内的预测消耗数据、所述目标药品的预设安全库存阈值,生成针对所述目标药品的采购单之前,所述方法还包括:
26.根据所述历史周期消耗数据、所述目标药品对应的预设到货期,以及预设安全系数,计算所述目标药品的预设安全库存阈值。
27.可选地,所述方法还包括:
28.根据所述各个子周期内的预测消耗数据和所述目标药品的库存数据,确定所述目标药品的可用天数;
29.根据所述可用天数,判断所述目标药品在预设采购周期和到货期内是否缺货。
30.可选地,所述根据所述预测周期消耗数据,计算所述预设未来周期内各个子周期内的预测消耗数据,包括:
31.获取所述目标药品对应的使用对象的规模变化率;
32.根据所述预测周期消耗数据和所述规模变化率,确定所述各个子周期内的预测消耗数据。
33.第二方面,本技术另一实施例提供了一种药品数据处理装置,包括:
34.获取模块,用于获取目标药品在历史周期内的历史周期消耗数据;
35.预测模块,用于采用所述历史周期消耗数据进行预测,得到所述目标药品在预设未来周期内的预测周期消耗数据;
36.计算模块,用于根据所述预测周期消耗数据,计算所述预设未来周期内各个子周期内的预测消耗数据;
37.生成模块,用于若检测到针对所述目标药品输入的采购单生成服务请求,则根据所述各个子周期内的预测消耗数据、所述目标药品的预设安全库存阈值,生成针对所述目标药品的采购单,所述采购单包括:所述目标药品的采购量。
38.第三方面,本技术另一实施例提供了一种电子设备,包括:处理器、存储器和总线,
所述存储器存储有所述处理器可执行的计算机程序,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行第一方面任一项所述的方法。
39.第四方面,本技术另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的方法。
40.本技术的有益效果是:
41.本技术提供的药品数据处理方法、装置及设备,其中,该方法包括:获取目标药品在历史周期内的历史周期消耗数据,采用历史周期消耗数据进行预测,得到目标药品在预设未来周期内的预测周期消耗数据,根据预测周期消耗数据,计算预设未来周期内各个子周期内的预测消耗数据,若检测到针对目标药品输入的采购单生成服务请求,则根据各个子周期内的预测消耗数据、目标药品的预设安全库存阈值,生成针对目标药品的采购单,预设安全库存阈值用于指示所述目标药品对应的预设到货期波动时的安全库存,采购单包括:目标药品的采购量。通过自动生成药品采购单,降低了药品采购成本。
附图说明
42.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
43.图1为本技术实施例提供的药品数据处理方法的流程示意图一;
44.图2为本技术实施例提供的药品数据处理方法的流程示意图二;
45.图3为本技术实施例提供的药品数据处理方法的流程示意图三;
46.图4为本技术实施例提供的药品数据处理方法的流程示意图四;
47.图5为本技术实施例提供的药品数据处理方法的流程示意图五;
48.图6为本技术实施例提供的药品数据处理装置的结构示意图;
49.图7为本技术实施例提供的电子设备的结构示意图。
具体实施方式
50.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
51.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的
范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.需要说明的是,本技术实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
53.针对目前人工确定需要采购药品的列表和数量造成药品采购成本高的问题,本技术提供了一种药品数据处理方法,根据目标药品的历史周期消耗数据及库存情况自动生成目标药品的采购单,降低了药品采购成本,具有较高的分析价值及实际应用的经济价值。
54.下面结合几个具体实施例对本技术的药品数据处理方法进行详细说明。
55.图1为本技术实施例提供的药品数据处理方法的流程示意图一,本实施例的执行主体可以为电子设备,如终端设备、服务器等。如图1所示,该方法包括:
56.s101、获取目标药品在历史周期内的历史周期消耗数据。
57.目标药品为任意一种待采购的药品,历史周期消耗数据为目标药品在历史周期内汇总的消耗数据,其中,历史周期可以按照周进行划分,目标药品的历史消耗记录中包括目标药品的历史消耗量,因此对目标药品的历史消耗记录中的历史消耗量进行按周汇总,可得到目标药品的历史周期消耗数据。
58.其中,目标药品的历史周期消耗数据可以是通过目标药品的历史消耗记录中记录的消耗量确定的,历史消耗记录中还可以包括药品的名称、规格以及生产厂家,在一些情况中,例如随着药品名称的更新,在不同时间段目标药品可能具有不同的药品名称,则需要对目标药品的名称进行整合,以确定不同药品名称对应的药品均为目标药品,类似地,还可以对药品的规格以及生产厂家进行重新整合,使得历史周期消耗数据更加精确。
59.需要说明的是,历史周期的数量可以为多个,相应地,历史周期消耗数据的数量也可以为多个,按周汇总之后,还可以对历史周期消耗数据中的异常数据和缺失数据进行处理,得到目标药品的周时序数据,其中,周时序数据包括多个历史周期消耗数据,以一年包括53个周为例,周时序数据可以包括53个历史周期消耗数据。
60.其中,异常数据可以为与其他历史周期消耗数据相差较大的数据,例如其他历史周期消耗数据均为100左右(偏差不超过预设阈值),其中一个历史周期消耗数据为1,说明该历史周期消耗数据为异常数据,则可以将该历史周期消耗数据修改为100,修改后的历史周期消耗数据与其他历史周期消耗数据的偏差不超过预设阈值。此外,缺失数据可能是由于一周内未使用目标药品,因此历史消耗记录中也不存在目标药品的消耗量,则可以用0填补对应的历史周期消耗数据。
61.s102、采用历史周期消耗数据进行预测,得到目标药品在预设未来周期内的预测周期消耗数据。
62.s103、根据预测周期消耗数据,计算预设未来周期内各个子周期内的预测消耗数据。
63.预设周期消耗数据为目标药品在预设未来周期内汇总的消耗数据,其中,预设未来周期的划分原则与历史周期对应,可以按照周进行划分。
64.采用历史周期消耗数据可以预测得到目标药品在预设未来周期内的预测周期消耗数据,然后根据预设周期消耗数据,可以计算预设未来周期内各个子周期内的预设消耗数据,其中,预设子周期内为对预设未来周期进行周期划分确定的子周期,例如预设未来周
期按照周进行划分,预设未来周期内各个子周期是按照日进行划分,即预设未来周期内各子周期以天为单位,预设未来周期包括7个子周期。
65.其中,可以根据历史周期内目标药品消耗数据的分布比例以及目标药品在预设未来周期内的预测周期消耗数据,计算目标药品在预设未来周期内各个子周期内的预测消耗数据,其中,目标药品消耗数据的分布可以根据目标药品在历史周期内的历史消耗记录确定,根据历史消耗记录可以确定目标药品在一周内的消耗数据的分布比例,例如周一至周五消耗数据占比均为10%,周六至周日消耗数据占比均为7.5%。在本实施例,通过汇总数据,提升了系统运行速度,并且考虑了数据分布保证了各个子周期内的预测消耗数据的准确度。
66.s104、若检测到针对目标药品输入的采购单生成服务请求,则根据各个子周期内的预测消耗数据、目标药品的预设安全库存阈值,生成针对目标药品的采购单。
67.其中,采购单生成服务请求用于请求生成目标药品的采购单,若需要生成目标药品的采购单,则可输入针对目标药品的采购单生成请求,相应地,若检测到针对目标药品输入的采购单生成服务请求,则根据各个子周期内的预测消耗数据、目标药品的预设安全库存阈值,生成目标药品的采购单,其中,预设安全库存阈值用于指示目标药品对应的预设到货期波动时的安全库存,采购单包括:目标药品的采购量,目标药品的采购量为各个子周期内的预测消耗数据与目标药品的预设安全库存阈值的和值。
68.其中,各个子周期的预测消耗数据与预设安全库存阈值的和值为目标药品的采购量,也就是说,在确定目标药品的采购量时,不仅考虑了各个子周期的预测消耗数据,还考虑了在目标药品的到货期波动时,为避免缺货而设置的预设安全库存阈值,使得采购量更加精确,保证了采购单计划的准确性。例如,目标药品的到货期为明天,但由于一些原因造成到货期延迟到后天,那么为了避免目标药品明天缺货,因此通过设置预设安全库存阈值以保证在明天目标药品具有一定库存,即不会缺货。
69.可选地,步骤s104,根据各个子周期内的预测消耗数据、目标药品的预设安全库存阈值,生成针对目标药品的采购单之前,方法还包括:
70.根据历史周期消耗数据、目标药品对应的预设到货期,以及预设安全系数,计算目标药品的预设安全库存阈值。
71.其中,预设安全系数取决于服务水平,服务水平用于指示对目标药品的药品量需求情况的满意程度,服务水平(%)=年缺货次数/年订货次数,服务水平越高,发生缺货的情况越少,安全系数和服务水平部分取值如表1所示。
72.服务水平安全系数z服务水平安全系数z84.40.098.92.390.31.399.52.694.51.699.93.097.72.0
ꢀꢀ
73.表1
74.参见公式(1),预设安全库存阈值ss可以表示为:
75.76.其中,σ为目标药品的周时序数据的标准方差,周时序数据包括多个历史周期消耗数据,以一年包括53个周为例,周时序数据包括53个历史周期消耗数据,则σ为53个历史周期消耗数据的标准方差,l为目标药品对应的预设到货期除以7,7表示一周包括7天。
77.在本实施例的药品数据处理方法中,获取目标药品在历史周期内的历史周期消耗数据,采用历史周期消耗数据进行预测,得到目标药品在预设未来周期内的预测周期消耗数据,根据预测周期消耗数据,计算预设未来周期内各个子周期内的预测消耗数据,若检测到针对目标药品输入的采购单生成服务请求,则根据各个子周期内的预测消耗数据、目标药品的预设安全库存阈值,生成针对目标药品的采购单,预设安全库存阈值用于指示目标药品对应的预设到货期波动时的安全库存,采购单包括:目标药品的采购量。通过自动生成药品采购单,降低了药品采购成本。
78.可选地,步骤s104,根据各个子周期内的预测消耗数据、目标药品的预设安全库存阈值,生成针对目标药品的采购单,包括:
79.根据各个子周期内的预测消耗数据、目标药品的预设安全库存阈值、现有库存、在途库存、预设采购周期以及到货期,生成针对目标药品的采购单,采购单包括:目标药品的采购量。
80.其中,现有库存为当前已经入库的库存,在途库存为已经下单目前处于运输中的库存,预设采购周期为目标药品的采购周期,到货期为目标药品在下单之后到收货的时长,计算目标药品的预设采购周期和到货期之前的各个子周期内的预测消耗数据的和值,然后采用该和值减去目标药品的现有库存和在途库存得到目标药品的采购量,根据目标药品的采购量生成采用单,也就是说,在计算目标药品的采购量时不仅考虑了预设采购周期和到货期之前的预测消耗数据的和值和预设安全库存阈值,还将现有库存和在途库存纳入总库存的范畴,使库存数据更为精确,进而使目标药品的采购量更为准确。
81.以各个子周期以天为单位为例,参见公式(2),目标药品的采购量q可以表示为:
[0082][0083]
其中,库存安全阈值为ss,采购周期为t,到货期为l,现有库存为es、在途库存为ts,di是第i天的预测消耗量,i的取值范围为1至t l。
[0084]
采用该方式计算所有待采购药品的采购量,形成采购清单且系统保存,采购人员可将采购清单进行调整或者不调整得到实际执行采购清单且系统保存,后续基于系统保存的采购清单和实际执行采购清单进行事后反馈和分析,形成闭环。
[0085]
下面结合图2对步骤s102,采用历史周期消耗数据进行预测,得到目标药品在预设未来周期内的预测周期消耗数据的一种可能的实施方式进行说明。
[0086]
图2为本技术实施例提供的药品数据处理方法的流程示意图二,如图2所示,采用历史周期消耗数据进行预测,得到目标药品在预设未来周期内的预测周期消耗数据,包括:
[0087]
s201、采用指数平滑模型,对历史周期消耗数据进行预测,得到目标药品在预设未来周期内的第一预测消耗数据。
[0088]
s202、若历史周期消耗数据的时间分布满足第一预设条件,则采用均值预测模型,对历史周期消耗数据进行预测,得到目标药品在所述预设未来周期内的第二预测消耗数据。
[0089]
s203、根据第一预测消耗数据和第二预测消耗数据,得到预测周期消耗数据。
[0090]
将历史周期消耗数据作为指数平滑模型的输入,采用指数平滑模型对历史周期消耗数据进行预测,得到目标药品在预设未来周期的第一预设消耗数据,其中,第一预设条件可以包括历史使用时长小于k周,或者历史使用缺失率大于m,且最近预设时间段内存在消耗记录,预设时间段可以为最近1个月,其中,历史使用缺失率为目标药品在历史使用过程中的缺失率,可以为一定时间段内目标药品的使用天数与预设总天数的比值,k和m可以分别设置33和25%。
[0091]
也就是说,若历史周期预测数据的时间分布满足第一预设条件,则将历史周期消耗数据作为均值预测模型的输入,采用均值预测模型对历史周期预测数据进行预测,得到预测周期消耗数据,然后根据第一预测消耗数据和第二预测消耗数据,得到预测周期消耗数据,其中,预设周期消耗数据可以为第一预测消耗数据和第二预测消耗数据的加权平均值,其中,指数平滑模型和均值预测模型的权重可以为0.5。
[0092]
可选地,采用历史周期消耗数据进行预测,得到目标药品在预设未来周期内的预测周期消耗数据,还包括:
[0093]
s204、若历史周期消耗数据的时间分布满足第二预设条件,则采用时间序列预测模型,对历史周期消耗数据进行预测,得到目标药品在预设未来周期内的第三预测消耗数据。
[0094]
s205、根据第一预测消耗数据和第三预测消耗数据,得到预测周期消耗数据。
[0095]
第二预设条件可以包括历史使用时长小大于或等于k周,或者历史使用缺失率小于m,且最近预设时间段内存在消耗记录,预设时间段可以为最近1个月。
[0096]
若历史周期消耗数据的时间分布满足第二预设条件,则将历史周期消耗数据作为时间序列预测模型的输入,采用时间序列预测模型对历史周期消耗数据进行预测,得到目标药品在预设未来周期内的第三预测消耗数据,然后根据第一预测消耗数据和第三预测消耗数据,得到预测周期消耗数据,其中,预设周期消耗数据可以为第一预测消耗数据和第三预测消耗数据的加权平均值,指数平滑模型和时间序列预测模型的权重可以为0.5。
[0097]
在本实施例的药品数据处理方法中,通过引入多模型集成预测,满足对所有药品消耗量的预测,具有广泛的适用性。
[0098]
其中,指数平滑模型可以为holt-winters指数平滑模型,时间序列预测模型可以为prophet模型,多模型集成预测如表2所示。
[0099][0100]
表2
[0101]
作为一种示例,根据表2确定目标药品所使用的分析模型,然后将目标药品的周时序数据输入表2中对应的多模型中进行预测,得到目标药品在预设未来周内的预测周消耗数据。下面对表2中涉及的各个模型进行说明。
[0102]
(1)均值模型
[0103]
截取一段时间的周时序数据,若该周时序数据的中位数不为零,则第二预测消耗数据为该中位数,第二预测消耗数据库的上下波动区间为该周时序数据指定的分位数(如95%),否则第二预测消耗数据为该一段时间的周时序数据的平均值,第二预测消耗数据库的上下波动区间为该平均值的z分布的上下置信水平值(如90%)。
[0104]
(2)prophet预测模型
[0105]
该模型将周时序数据的趋势可通过如下公式(2)表示:
[0106]
y(t)=g(t) s(t) h(t) ε
ꢀꢀꢀ
(2)
[0107]
其中,y(t)是第三预测消耗数据,g(t)是没有周期变化的趋势模型,s(t)表示周期(例如:周或年)季节性模型,h(t)是在一天或多天的假日或事件模型,ε为误差项,并假定满足正态分布。以下对趋势模型、季节性模型和假日或事件模型一一用等式进行说明。
[0108]
参见公式(3),趋势模型为带有转变点的线性模型,具体等式表示如下:
[0109]
g(t)=(k α(t)
t
δ)t (m α(t)
t
γ)
ꢀꢀꢀ
(3)
[0110]
其中,t是研究的时间点,k是增长率参数,δ是k的调整率参数,m是补偿参数,γ是设定参数,针对不同的药品消耗转变点事件,k、δ、m、α(t)、γ分别对应不同的取值,在第j个转变点事件的发生时间sj,γj等于-sjδj,δj是第j个转变点事件的调整率参数,αj(t)是第j个转变点事件的α(t)。
[0111]
其中,转变点事件可以指的是由于某种特殊原因,导致药品消耗剧增或剧减的事件。转变点的线性模型用于评估由于药品消耗的转变点事件导致药品消耗剧增或剧减的药品消耗数据。
[0112]
参见公式(4),季节性模型是通过傅里叶级数提供了一个灵活的周期方程模型,具体如下:
[0113][0114]
其中,针对年或周的季节性模型,n在大多数情况下等于10或3效果较好,而p等于365.25或7,an和bn均为需估计的参数,n为拟合系数,可根据实际情况选取,如2、3等。
[0115]
季节性模型用于评估由于季节性原因造成导致药品消耗剧增或剧减的药品消耗数据。
[0116]
参见公式(5),节假日和事件模型的等式表示如下:
[0117][0118]
其中,κ是需要估计的参数,d是某个节假日或者事件,1(t∈di)表示在时间点t若存在节假日或事件di则为1,否则为0,l表示节假日或者事件的总个数。
[0119]
节假日和事件模型用于评估由于节假日或其他事件导致药品消耗剧增或剧减的药品消耗数据。
[0120]
通过蒙特卡罗随机抽样给出参数k,δ,m,a,b及κ的先验值,结合公式(2)-(5),得到以下表达式(6):
[0121]
y~normal((k a*δ)*t) (m a*γ) βx κz),ε)
ꢀꢀꢀ
(6)
[0122]
其中,y满足正太分布normal,ε为正太分布的标准差,z=[1(t∈d1),
…
,1(t∈d
l
)]。
[0123]
在公式(6)中,a指代公式(3)中的α(t)
t
,β指代公式(4)中的an和bn,κ指代公式(5)中的
[0124]
通过蒙特卡罗随机抽样给出参数k、δ、m、an、bn及κ的先验值,对该式子运用拟牛顿法(l-bfgs)拟合出各参数的估计值,基于参数估计值便可预测第三预测消耗数据及可信区间,具体地,将拟合出的各参数的先验值代入公式(4),采用上述公式(4)预测得到历史周期的预测周时序数据,然后计算历史周期的实际的周时序数据和预测周时序数据的损失,并调整各参数,继续预测得到历史周期的预测周时序数据,循环该步骤,直至实际的周时序数据和预测周时序数据的损失达到最小,则确定损失最小的各参数为各参数的估计值,将各参数的估计值代入公式(4),采用公式(4)预测预设未来周期的第三预测消耗数据。
[0125]
(3)holt-winters指数平滑模型预测
[0126]
该模型用于预测既有趋势又有季节变化的时间序列数据。为了说明该模型,事先需先说明时间序列以下的四个方面,分别为水平(level),趋势(trend),季节性(seasonality)和噪声(noise)。
[0127]
水平:表示时间序列中上升和下降过程中的一些水平;
[0128]
趋势:一个时间序列的水平以某种模式变化,称之为有趋势,一些常见的趋势可以是线性,平方,指数,对数,平方根,倒数和三次或更高的多项式。
[0129]
季节性:许多时间序列显示围绕当前水平的周期性上下移动,这种周期性的上下移动被称为季节性。
[0130]
噪声:噪声只是时间序列数据中不能(或不想)解释的方面。
[0131]
水平、趋势、季节性和噪声被认为以加法或乘法的方式相互作用,从而产生观察到的时间序列的最终值,在现实世界的时间序列数据中一种常见的情况是,趋势加上当前的水平,乘以季节性变化。对时间序列从任意点i开始到未来k时间步长的预测公式如下公式(7):
[0132]f(i k)
=(li k*bi)*s
(i k-m)
ꢀꢀꢀ
(7)
[0133]
其中,f
(i k)
表示在时间点i k的第一预测消耗数据,li k*bi表示在时间点i k的水平估计值,k为预测周数,s
i k-m
表示在时间点i k和周期长度为m的季节性变异,例如,对于年变化m等于12,对于周变化m等于53。
[0134]
现在需要估计趋势bi,水平li和季节性si,参见公式(8),估计趋势表示为:
[0135]bi
=β*[l
i-l
(i-1)
] (1-β)*b
(i-1)
ꢀꢀꢀ
(8)
[0136]
其中,[l
i-l
(i-1)
]表示两个连续水平之间的差异,代表的是变化的速率,b
(i-1)
是递归的表达,直到到达b0,假设b0的值是初始条件。
[0137]
参见公式(9),估计水平为以下表示:
[0138][0139]
其中,ti表示在时间点i的序列值,即第i周的消耗数据总和,s
(i-m)
为时间点i周期为m的季节性变异,l
(i-1)
表示上一个周期的水平估计值,b
(i-1)
表示i-1到i的水平估计值的变化量,l
(i-1)
b
(i-1)
表示在i-1的水平加上i-1到i的变化量。
[0140]
参见公式(10),估计季节性为以下表示:
[0141][0142]
注意,公式(8)-(10)递归到l0、b0、s0、t0,其中,t0是训练数据集中初始的数据点。l0,b0和s0分别为水平、趋势和季节变化的初始值。以下公式(11)-(15)用于计算初始值l0、b0、s0、t0:
[0143]
l0=mean(t0 t
12
t
24
···
)
ꢀꢀꢀ
(11)
[0144][0145][0146][0147]
s0=[(t
0-l0),(t
1-l0),(t
2-l0),,
···
,(t
m-1-l0)]
ꢀꢀꢀ
(15)
[0148]
其中,l0、b0是标量,s0是向量,(12)和(14)对应的是相乘模型,而(13)和(15)对应的是相加模型。
[0149]
通过公式(7)-(15),以最小均方误差(mse)为优化目标损失最小,可估计参数α、β
和γ,进而得到第一预测消耗数据,关于目标损失最小的相关描述可以参见prophet预测模型。
[0150]
将周时序数据转换为月时序数据,以历史周期以年为单位,对于公式(11),t0为第一个历史周期中第一个月的消耗数据,t
12
为第二个历史周期中第一个月的消耗数据,t
24
为第三个历史周期中第一个月的消耗数据。
[0151]
对于公式(12),t
12
为第二个历史周期中第一个月的消耗数据,t0为第一个历史周期中第一个月的消耗数据,t
13
为第二个历史周期中第二个月的消耗数据,t1为第一个历史周期中第二个月的消耗数据,t
14
为第二个历史周期中第三个月的消耗数据,t2为第一个历史周期中第一个月的消耗数据,t
23
为第三个历史周期中第十二个月的消耗数据,t
11
为第二个历史周期中第十二个月的消耗数据。
[0152]
对于公式(14),t0为第一个历史周期中第一个月的消耗数据,t1为第一个历史周期中第二个月的消耗数据,t
(m-1)
第一个历史周期中第m个月的消耗数据。
[0153]
对于公式(13)和(15)中的参数可参见公式(12)-(14)中的解释。另外,公式(14)、(15)均用于计算s0,可以将公式(14)和(15)计算的s0的平均值作为最终的s0。
[0154]
在本实施例的多模型集成预测中,预测消耗数据时引入了节假日等因素,提高了预测消耗数据的准确度。
[0155]
下面结合图3对步骤s203,根据第一预测消耗数据和第二预测消耗数据,得到预测周期消耗数据的一种可能的实施方式进行说明。
[0156]
图3为本技术实施例提供的药品数据处理方法的流程示意图三,如图3所示,根据第一预测消耗数据和第二预测消耗数据,得到预测周期消耗数据,包括:
[0157]
s301、对指数平滑模型进行模型校验,得到第一校验指标。
[0158]
s302、对均值预测模型进行模型校验,得到第二校验指标。
[0159]
其中,第一校验指标用于评估指数平滑模型的预测性能,第二校验指标用于评估均值预测模型的预测性能。第一校验指标和第二校验指标分别可包括风险率(risk_rate)、错误率(error_rate)、冗余度(rest_rate)、均方根误差(rmse)和平均绝对百分比误差(mape),其中,风险率、错误率、冗余度为业务指标,均方根误差和平均绝对百分比误差为模型指标。
[0160]
其中,风险率指的是在n次预测中,预测值的95%可信区间上界值小于真实值所占的比例;错误率指的是在n次预测中,预测值加上安全库存阈值小于真实值所占的比例;冗余度指的是在n次预测中,(预测值 预设安全库存阈值)/(真实值 预设安全库存阈值)的均值;均方根误差rmse和平均绝对百分比误差mape如公式(16)-(17)所示:
[0161][0162][0163]
其中,为预测值,y为真实值。
[0164]
也就是说,采用指数平滑模型对n个历史周期消耗数据进行预测,得到每个历史周期消耗数据对应的第一预测值,然后根据第一预测值和真实值(即历史周期消耗数据)对指
数平滑模型进行模型校验,得到第一校验指标,以及采用均值预测模型对n个历史周期消耗数据进行预测,得到每个历史周期消耗数据对应的第二预测值,然后根据第二预测值和真实值(即历史周期消耗数据)对指数平滑模型进行模型校验,得到第二校验指标。
[0165]
s303、判断第一校验指标和第二校验指标是否分别在对应的校验范围内。
[0166]
s304、若第一校验指标和第二校验指标均在对应的校验范围内,则根据第一预测消耗数据和第二预测消耗数据,得到预测周期消耗数据。
[0167]
判断第一校验指标和第二校验指标是否分别在对应的校验范围内,若第一校验指标和第二校验指标均在对应的校验范围内,说明指数平滑模型和均值预测模型的预测性能均满足要求,则根据第一预测消耗数据和第二预测消耗数据,得到预测周期消耗数据,预设周期消耗数据可以为第一预测消耗数据和第二预测消耗数据的加权平均值。
[0168]
可选地,根据第一预测消耗数据和第二预测消耗数据,得到预测周期消耗数据,还包括:
[0169]
s305、若第一校验指标和/或第二校验指标不在对应的校验范围内,则确定第二预测消耗数据为预测周期消耗数据。
[0170]
若第一校验指标和/或第二校验指标不在对应的校验范围内,说明校验指标不在对应校验范围内的模型的预测性能不满足要求,则确定均值预测模型预测得到的第二预测消耗数据为预测周期消耗数据。
[0171]
类似地,根据第一预测消耗数据和第三预测消耗数据,得到预测周期消耗数据,包括:对指数平滑模型进行模型校验,得到第一校验指标,对时间序列预测模型进行模型校验,得到第三校验指标,若第一校验指标和第三校验指标均在对应的校验范围内,则根据第一预测消耗数据和第三预测消耗数据,得到预测周期消耗数据,若第一校验指标和/或第三验指标不在对应的校验范围内,则确定第三预测消耗数据为预测周期消耗数据。具体实现过程可以参见步骤s301-s306。
[0172]
在本实施例的药品数据处理方法中,在引入多模型预测时,还进行了模型校验,进一步提高预测消耗数据的准确度,保证了采购量的准确度。
[0173]
图4为本技术实施例提供的药品数据处理方法的流程示意图四,如图4所示,该方法还包括:
[0174]
s401、根据各个子周期内的预测消耗数据和目标药品的库存数据,确定目标药品的可用天数。
[0175]
其中,目标药品的库存数据包括现有库存和在途库存,现有库存为当前已经入库的库存,在途库存为已经下单目前处于运输中的库存。
[0176]
确定现有库存和在途库存的和值作为目标药品的库存数据,然后根据各个子周期内的预测消耗数据以及目标药品的库存数据确定目标药品的可用天数,其中,预设未来周期内各子周期以天为单位,也就是说,根据目标药品的库存数据,以及日预测消耗数据,可确定目标药品的可用天数。
[0177]
s402、根据可用天数,判断目标药品在预设采购周期和到货期内是否缺货。
[0178]
预设采购周期为目标药品的采购周期,到货期为目标药品在下单之后到收货的时长,到货期是考虑了物流运输而设置的。
[0179]
判断该可用天数是否小于预设采购周期和到货期所对应的天数,若可用天数小于
预设采购周期和到货期所对应的天数,则确定目标药品在预设采购周期和到货期内缺货,若可用天数大于或等于预设采购周期和到货期所对应的天数之和,则确定目标药品在预设采购周期和到货期内不缺货。例如,预设采购周期为10天,到货期为3天,若可用天数为7天,由于可用天数小于预设采购周期和到货期所对应的天数之和,则目标药品在预设采购周期和到货期内缺货,若可用天数为20天,由于可用天数大于预设采购周期和到货期的和值,则目标药品在预设采购周期和到货期内不缺货。
[0180]
其中,若目标药品在预设采购周期和到货期内缺货,则可以推送缺货预警,以使采购人员可以及时采购目标药品。
[0181]
在一种具体实施中,令算法输入为:日预测消耗量d、现有库存es、在途库存ls、采购周期t、到货期l,算法输出为:可用天数ω、采购周期和到货期内是否缺货θ,首先初始化ω=0,基于es和ls计算库存数据ts,采用库存数据ts减去最近一天的日预测消耗量d,并判断剩余库存是否大于0,若剩余库存大于0,则可用天数ω加1,循环执行该步骤,直至剩余库存小于0,输出可用天数ω,并判断输出的可用天数ω是否小于采购周期t、到货期l对应的天数之和,若输出的可用天数ω小于采购周期t、到货期l对应的天数之和,则θ=0,表示目标药品在预设采购周期和到货期内缺货,若输出的可用天数ω大于采购周期t、到货期l对应的天数之和,则θ=0,表示目标药品在预设采购周期和到货期内不缺货。
[0182]
在本实施例的药品数据处理方法中,在药品的库存计算方面,考虑目前发达的快递行业,将在途库存纳入总库存的范畴,使库存数据更为精确,保证了采购清单计划更为准确,并且在提供采购单服务的同时,增添了实时药品库存的预警功能,使整体服务功能更加全面和健壮。
[0183]
图5为本技术实施例提供的药品数据处理方法的流程示意图五,如图5所示,步骤s103,根据预测周期消耗数据,计算预设未来周期内各个子周期内的预测消耗数据,包括:
[0184]
s501、获取目标药品对应的使用对象的规模变化率。
[0185]
s502、根据预测周期消耗数据和规模变化率,确定各个子周期内的预测消耗数据。
[0186]
其中,目标药品对应的使用对象可以为医院,规模变化率用于指示医院在历史周期和预设未来周期的规模变化情况。
[0187]
获取目标药品在历史周期的规模数据,以及在预设未来周期的规模数据,然后根据历史周期的规模数据和预设未来周期的规模数据计算规模变化率,其中,规模数据包括但不限于医院的科室数、医生数以及床位数,预设未来周期的规模数据可以为当前时刻的规模数据。
[0188]
根据目标药品的预测周期消耗数据以及历史周期内目标药品消耗数据的分布比例,可以计算预设未来周期内各子周期的初始预测消耗数据,然后采用初始预测消耗数据乘以规模变化率,确定预设未来周期内各子周期的预测消耗数据。
[0189]
参见公式(18),医院的规模变化率r可表示为:
[0190][0191]
其中,α、β、γ分别表示科室数、医生数、床位数,t为当前时刻,t-1为历史周期所对应的历史时刻。
[0192]
由于目前医院在等级和类型呈现不同的形式,另外由于现实疾病的多样性,药品种类也极其丰富,因此在本实施例的药品数据处理方法中,预测药品消耗量时,引用了医院的规模变化率,使其可供各形式的医院药房或药库使用,具有广泛地适用性。
[0193]
图6为本技术实施例提供的药品数据处理装置的结构示意图,该装置可以集成在电子设备中。如图6所示,该装置包括:
[0194]
获取模块601,用于获取目标药品在历史周期内的历史周期消耗数据;
[0195]
预测模块602,用于采用所述历史周期消耗数据进行预测,得到所述目标药品在预设未来周期内的预测周期消耗数据;
[0196]
计算模块603,用于根据所述预测周期消耗数据,计算所述预设未来周期内各个子周期内的预测消耗数据;
[0197]
生成模块604,用于若检测到针对所述目标药品输入的采购单生成服务请求,则根据所述各个子周期内的预测消耗数据、所述目标药品的预设安全库存阈值,生成针对所述目标药品的采购单,所述采购单包括:所述目标药品的采购量。
[0198]
可选地,预测模块602,具体用于:
[0199]
采用指数平滑模型,对所述历史周期消耗数据进行预测,得到所述目标药品在所述预设未来周期内的第一预测消耗数据;
[0200]
若所述历史周期消耗数据的时间分布满足第一预设条件,则采用均值预测模型,对所述历史周期消耗数据进行预测,得到所述目标药品在所述预设未来周期内的第二预测消耗数据;
[0201]
根据所述第一预测消耗数据和所述第二预测消耗数据,得到所述预测周期消耗数据。
[0202]
可选地,预测模块602,具体用于:
[0203]
若所述历史周期消耗数据的时间分布满足第二预设条件,则采用时间序列预测模型,对所述历史周期消耗数据进行预测,得到所述目标药品在所述预设未来周期内的第三预测消耗数据;
[0204]
根据所述第一预测消耗数据和所述第三预测消耗数据,得到所述预测周期消耗数据。
[0205]
可选地,预测模块602,具体用于:
[0206]
对所述指数平滑模型进行模型校验,得到第一校验指标;
[0207]
对所述均值预测模型进行模型校验,得到第二校验指标;
[0208]
判断所述第一校验指标和所述第二校验指标是否分别在对应的校验范围内;
[0209]
若所述第一校验指标和所述第二校验指标均在对应的校验范围内,则根据所述第一预测消耗数据和所述第二预测消耗数据,得到所述预测周期消耗数据。
[0210]
可选地,预测模块602,具体用于:
[0211]
若所述第一校验指标和/或所述第二校验指标不在对应的校验范围内,则确定所述第二预测消耗数据为所述预测周期消耗数据。
[0212]
可选地,计算模块603,还用于:
[0213]
根据所述历史周期消耗数据、所述目标药品对应的预设到货期,以及预设安全系数,计算所述目标药品的预设安全库存阈值。
[0214]
可选地,还包括:
[0215]
确定模块605,用于根据所述各个子周期内的预测消耗数据和所述目标药品的库存数据,确定所述目标药品的可用天数;
[0216]
判断模块606,用于根据所述可用天数,判断所述目标药品在预设采购周期和到货期内是否缺货。
[0217]
可选地,计算模块603,具体用于:
[0218]
获取所述目标药品对应的使用对象的规模变化率;
[0219]
根据所述预测周期消耗数据和所述规模变化率,确定所述各个子周期内的预测消耗数据。
[0220]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0221]
图7为本技术实施例提供的电子设备的结构示意图,如图7所示,电子设备包括:处理器701、存储器702和总线703,所述存储器702存储有所述处理器701可执行的计算机程序,当电子设备运行时,所述处理器701与所述存储器702之间通过总线703通信,所述处理器701执行所述计算机程序,以执行上述方法实施例。
[0222]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例。
[0223]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本技术中不再赘述。在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0224]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0225]
以上仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
技术特征:
1.一种药品数据处理方法,其特征在于,包括:获取目标药品在历史周期内的历史周期消耗数据;采用所述历史周期消耗数据进行预测,得到所述目标药品在预设未来周期内的预测周期消耗数据;根据所述预测周期消耗数据,计算所述预设未来周期内各个子周期内的预测消耗数据;若检测到针对所述目标药品输入的采购单生成服务请求,则根据所述各个子周期内的预测消耗数据、所述目标药品的预设安全库存阈值,生成针对所述目标药品的采购单,所述预设安全库存阈值用于指示所述目标药品对应的预设到货期波动时的安全库存,所述采购单包括:所述目标药品的采购量。2.根据权利要求1所述的方法,其特征在于,所述采用所述历史周期消耗数据进行预测,得到所述目标药品在预设未来周期内的预测周期消耗数据,包括:采用指数平滑模型,对所述历史周期消耗数据进行预测,得到所述目标药品在所述预设未来周期内的第一预测消耗数据;若所述历史周期消耗数据的时间分布满足第一预设条件,则采用均值预测模型,对所述历史周期消耗数据进行预测,得到所述目标药品在所述预设未来周期内的第二预测消耗数据;根据所述第一预测消耗数据和所述第二预测消耗数据,得到所述预测周期消耗数据。3.根据权利要求2所述的方法,其特征在于,所述采用所述历史周期消耗数据进行预测,得到所述目标药品在预设未来周期内的预测周期消耗数据,还包括:若所述历史周期消耗数据的时间分布满足第二预设条件,则采用时间序列预测模型,对所述历史周期消耗数据进行预测,得到所述目标药品在所述预设未来周期内的第三预测消耗数据;根据所述第一预测消耗数据和所述第三预测消耗数据,得到所述预测周期消耗数据。4.根据权利要求2所述的方法,其特征在于,所述根据所述第一预测消耗数据和所述第二预测消耗数据,得到所述预测周期消耗数据,包括:对所述指数平滑模型进行模型校验,得到第一校验指标;对所述均值预测模型进行模型校验,得到第二校验指标;判断所述第一校验指标和所述第二校验指标是否分别在对应的校验范围内;若所述第一校验指标和所述第二校验指标均在对应的校验范围内,则根据所述第一预测消耗数据和所述第二预测消耗数据,得到所述预测周期消耗数据。5.根据权利要求4所述的方法,其特征在于,所述根据所述第一预测消耗数据和所述第二预测消耗数据,得到所述预测周期消耗数据,还包括:若所述第一校验指标和/或所述第二校验指标不在对应的校验范围内,则确定所述第二预测消耗数据为所述预测周期消耗数据。6.根据权利要求1所述的方法,其特征在于,所述根据所述各个子周期内的预测消耗数据、所述目标药品的预设安全库存阈值,生成针对所述目标药品的采购单之前,所述方法还包括:根据所述历史周期消耗数据、所述目标药品对应的预设到货期,以及预设安全系数,计
算所述目标药品的预设安全库存阈值。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述各个子周期内的预测消耗数据和所述目标药品的库存数据,确定所述目标药品的可用天数;根据所述可用天数,判断所述目标药品在预设采购周期和到货期内是否缺货。8.根据权利要求1所述的方法,其特征在于,所述根据所述预测周期消耗数据,计算所述预设未来周期内各个子周期内的预测消耗数据,包括:获取所述目标药品对应的使用对象的规模变化率;根据所述预测周期消耗数据和所述规模变化率,确定所述各个子周期内的预测消耗数据。9.一种药品数据处理装置,其特征在于,包括:获取模块,用于获取目标药品在历史周期内的历史周期消耗数据;预测模块,用于采用所述历史周期消耗数据进行预测,得到所述目标药品在预设未来周期内的预测周期消耗数据;计算模块,用于根据所述预测周期消耗数据,计算所述预设未来周期内各个子周期内的预测消耗数据;生成模块,用于若检测到针对所述目标药品输入的采购单生成服务请求,则根据所述各个子周期内的预测消耗数据、所述目标药品的预设安全库存阈值,生成针对所述目标药品的采购单,所述采购单包括:所述目标药品的采购量。10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行权利要求1至8任一项所述的方法。
技术总结
本申请提供了一种药品数据处理方法、装置及设备,其中,该方法包括:获取目标药品在历史周期内的历史周期消耗数据,采用历史周期消耗数据进行预测,得到目标药品在预设未来周期内的预测周期消耗数据,根据预测周期消耗数据,计算预设未来周期内各个子周期内的预测消耗数据,若检测到针对目标药品输入的采购单生成服务请求,则根据各个子周期内的预测消耗数据、目标药品的预设安全库存阈值,生成针对目标药品的采购单,预设安全库存阈值用于指示目标药品对应的预设到货期波动时的安全库存,采购单包括:目标药品的采购量。通过自动生成药品采购单,降低了药品采购成本。降低了药品采购成本。降低了药品采购成本。
技术研发人员:虞明星 王文祥 赵大平 祝莎莎 唐力伟 周炜 王琪 黄智勇 黄克华 吴铭
受保护的技术使用者:卫宁健康科技集团股份有限公司
技术研发日:2022.02.21
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-6310.html