发药机层板药槽计算方法及装置与流程

文档序号:30084790发布日期:2022-05-18 05:23阅读:133来源:国知局
发药机层板药槽计算方法及装置与流程

1.本公开涉及发药机技术领域,尤其涉及一种发药机层板药槽计算方法及装置。


背景技术:

2.目前,在医院的药房,发药机的药品的尺寸范围在:长40-200mm,宽30-100mm,高10-65mm,最大重量200g。在发药机每层层板的间距高度固定的情况下,需要根据药品的尺寸来确定层板药槽的分布,以适应不同医院药房的药品使用情况。目前药槽的确定采用的是人工的经验,效率低,不易于药品的布局。


技术实现要素:

3.本公开的目的在于提出一种发药机层板药槽计算方法、装置、电子设备及存储介质,以解决上述技术问题之一。
4.为实现上述目的,本公开第一方面提供了一种发药机层板药槽计算方法,包括:
5.获取发药机的至少一种药品的药品关联数据;所述药品关联数据包括:药品尺寸信息;
6.根据所述药品关联数据和发药机的尺寸信息,确定每种药品在发药机中当前高度等级下的层板占用的槽位数;
7.根据所述每种药品在发药机中当前高度等级下的层板占用的槽位数,构建发药机中当前高度等级下的槽位总数和所有药品的占用的槽位总数之间的约束条件,并得到最终的设计结果。
8.为实现上述目的,本公开第二方面提供了一种发药机层板药槽计算装置,包括:
9.获取模块,用于获取发药机的药品关联数据;所述药品关联数据包括:药品尺寸信息;
10.确定模块,用于根据所述药品关联数据和所述发药机尺寸信息,确定每种药品在发药机中当前高度等级下的层板占用的槽位数;
11.构建模块,用于根据所述每种药品在发药机中当前高度等级下的层板占用的槽位数,构建发药机中当前高度等级下的槽位总数和所有药品的占用的槽位总数之间的约束条件,并得到最终的设计结果。
12.由上可见,本公开提供的一种发药机层板药槽计算方法,根据药品的尺寸来确定层板药槽的分布,以适应不同医院药房的药品使用情况,极大提高效率;发药机每一层的层板类型,用于指导发货;每个药槽绑定哪个药品,输出的结果可以直接导入发药机。
附图说明
13.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
14.图1为本公开实施例中的发药机层板药槽计算方法流程图;
15.图2为本公开实施例中的发药机层板药槽计算装置示意图。
具体实施方式
16.下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。
17.如图1所示,本公开实施例提供一种发药机层板药槽计算方法,包括:
18.s101、获取发药机的至少一种药品的药品关联数据;搜集医院近一年的发药数据,并根据规则确认哪些药品需要放到发药机里面。根据需要放入发药机的药品清单测量药品尺寸信息。然后,输入药品尺寸信息及药品发药量数据;所述药品关联数据包括:药品id、药品名称、药品尺寸信息、每月数量和每天数量中的至少一种。具体数据格式见下表:
[0019][0020]
s102、根据所述药品关联数据和所述发药机尺寸信息,确定每种药品在发药机中当前高度等级下的层板占用的槽位数;
[0021]
为了便于批量化生产和安装,发药机的层板是按照预先设定的固定间距划分单元,每一个药槽必须包含整数个单元数。
[0022]
根据药品的尺寸信息、层板高度和药槽单元尺寸为每种药品划分高度等级和宽度等级,为保证不卡药,划分时预留高度余量和宽度余量。根据药品的日均发药量确定每种药品在发药机中占用的槽位数。这个是根据药房全部药品的尺寸,预留的高度和宽度余量是6-10mm。
[0023]
所述药品尺寸信息包括:药品的高度值和宽度值;所述发药机尺寸信息包括:层板尺寸信息和药槽隔板的尺寸信息;
[0024]
根据所述药品关联数据和发药机的层板尺寸信息,确定每种药品在发药机中占用的槽位数包括:
[0025]
根据所述层板尺寸信息和药槽隔板的尺寸信息,确定层板上的药槽的布局。
[0026]
所述根据所述层板尺寸信息和药槽隔板的尺寸信息,确定层板上的药槽的布局包括:
[0027]
确定当前高度等级下的层板共有n个药槽单元,备选宽度等级是{w1,w2,

,wm},每种宽度等级的数量是{λ1,λ2,

,λm},则有w1λ1+w2λ2+

+wmλm=n;
[0028]
采用动态规划法可以找出所有的可行解{λ1,λ2,...,λm},每一个可行解组成一个层板类型。
[0029]
所述根据所述药品关联数据和发药机的尺寸信息,确定每种药品在发药机中当前高度等级下的层板占用的槽位数包括:
[0030]
统计槽位数,层板总数是t,确定存储的槽位w={wi,w
i+1
,...,w
i+k
},所需槽位数是nd,则所具备的槽位总数是总数是n_i~n_(i+k)加起来,例如,t=21,代表一个货架上共有21个层板,层板类型组合为{l1,l2,l3},代表这21个层板由l1,l2,l3这三种类型的层板组成,那么待求解的层板分布是指l1/l2/l3类型的层板各自的数目n1/n2/n3,例如l1/l2/l3类型的层板各有10、5、6个,则n1=10,n2=5,n3=6。
[0031]
s103、根据所述每种药品在发药机中当前高度等级下的层板占用的槽位数,构建发药机中当前高度等级下的槽位总数和所有药品的占用的槽位总数之间的约束条件,并得到最终的设计结果。
[0032]
根据所述每种药品在发药机中当前高度等级下的层板占用的槽位数,构建发药机中当前高度等级下的槽位总数和所有药品的占用的槽位总数之间的约束条件,并得到最终的设计结果包括:
[0033]
确定所有的可能层板分布,给每一种当前高度等级的药品层板分布t添加约束,字典q初始化为空,是一种程序开发中使用的数据结构,可以理解为一个集合,集合中的每个元素是一个键-值(key-value)对,w是键(key),nd是值(value),它们是一一对应的,每一个键key对应一个值value;
[0034]
若字典q为空,则添加元素q[w]=nd到字典q中,得到第一约束,
[0035]
limit[w]:total[w]≥q[w],例如w={w1,w2},total[w]为货架上槽宽为w1或w2的槽的总数,q[w]为可以放进w1宽的槽或者w2宽的槽的药品的所需的槽位总数,约束的含义是槽的总数不小于药品的所需的槽位总数,保证所有药品都能放进货架。
[0036]
若字典不为空,且字典q中已存在元素w,则更新w元素(元素w已存在于字典q中,说明这个约束之前已被添加过,由于药品是一个一个进行遍历的,只是q[w]每次只能统计到被遍历过的药品,因此需要把新遍历药品的数目加上):
[0037]
添加元素w及其第二约束到字典q中,
[0038]
q[w]=nd,
[0039]
limit[w]:total[w]≥q[w]。
[0040]
本公开提供的一种发药机层板药槽计算方法,根据药品的尺寸来确定层板药槽的分布,以适应不同医院药房的药品使用情况,极大提高效率;发药机每一层的层板类型,用于指导发货;每个药槽绑定哪个药品,输出的结果可以直接导入发药机。
[0041]
根据所述每种药品在发药机中当前高度等级下的层板占用的槽位数,构建发药机中当前高度等级下的槽位总数和所有药品的占用的槽位总数之间的约束条件,并得到最终的设计结果还包括:
[0042]
依次取字典q中剩余与元素w的交集非空的元素w’,与元素w取并集,得到新的元素w‘’

[0043][0044]
若字典q中已存在新的元素w
‘’
,则更新元素w
‘’

[0045]
q[w’]=q[w
‘’
]+q[w

],
[0046]
且字典q中不存在新的元素w
‘’
,则添加新的元素w
‘’
及其对应第三约束到字典q中,
[0047]
q[w
‘’
]=nd+q[w

].
[0048]
limit[w
‘’
]:total[w
‘’
]≥q[w
‘’
]。
[0049]
例如:w1={w1,w2},w2={w2,w3},有些药品能放进w1,数量是30,有些药品能放进w2,数量是20,则已有的约束是total[w1]>=30,total[w2]>=20,若w1数量为15,w2数量为15,w3数量为5,则满足上面的约束,但是却放不下所有药品,15+15+5=35<20+30=50,因为w2是重叠的,因此要增加新的约束,取并集w3=w1 ∪ w2={w1,w2,w3},total[w3]>=50。
[0050]
根据所述每种药品在发药机中当前高度等级下的层板占用的槽位数,构建发药机中当前高度等级下的槽位总数和所有药品的占用的槽位总数之间的约束条件,并得到最终的设计结果之后还包括:
[0051]
利用整数规划法得到最优层板分布t,进入下一高度等级的规划,执行统计槽位数的步骤。
[0052]
所述根据所述每种药品在发药机中当前高度等级下的层板占用的槽位数,构建发药机中当前高度等级下的槽位总数和所有药品的占用的槽位总数之间的约束条件,并得到最终的设计结果之后选择空余槽位数最多的组合及其分布作为最终的设计结果。
[0053]
根据设计结果自动将药品和对应的药槽进行绑定,根据设计结果,货架上的药槽都能确定,按照每种药品根据宽度和高度可以确定绑定哪种类型的药槽,然后按照药槽的顺序依次绑定即可,一个药槽对应绑定一种药品。
[0054]
图2为本公开实施例中的发药机层板药槽计算装置示意图,如图2所示,包括:
[0055]
获取模块201,用于获取发药机的至少一种药品的药品关联数据;所述药品关联数据包括:药品尺寸信息;
[0056]
确定模块202,用于根据所述药品关联数据和所述发药机的尺寸信息,确定每种药品在发药机中当前高度等级下的层板占用的槽位数;
[0057]
构建模块203,用于根据所述每种药品在发药机中当前高度等级下的层板占用的槽位数,构建发药机中当前高度等级下的槽位总数和所有药品的占用的槽位总数之间的约束条件,并得到最终的设计结果。
[0058]
所述药品关联数据包括:id、药品名称、每月数量、每天数量中的至少一种。
[0059]
如图2所示,确定模块202,用于根据所述层板尺寸信息和药槽隔板的尺寸信息,确定药槽的布局。
[0060]
确定模块202,用于确定当前高度等级下共有n个药槽单元,备选宽度等级是{w1,w2,

,wm},每种宽度等级的数量是{λ1,λ2,...,λm},则有w1λ1+w2λ2+

+wmλm=n;
[0061]
采用动态规划法可以找出所有的可行解{λ1,λ2,

,λm},每一个可行解组成一个层
板类型。
[0062]
如图2所示,确定模块202,用于统计槽位数,确定存储的槽位w={wi,w
i+1
,...,w
i+k
},所需槽位数是nd,则所具备的槽位总数是总数是n_i~n_(i+k)加起来。
[0063]
如图2所示,构建模块203,用于给每一种当前高度等级的药品层板分布t添加约束,字典q初始化为空;
[0064]
若字典q为空,则添加元素q[w]=nd到字典q中,得到第一约束,
[0065]
limit[w]:total[w]≥q[w],
[0066]
若字典不为空,且字典q中已存在元素w,则更新w元素:
[0067]
添加元素w及其第二约束到字典q中,
[0068]
q[w]=nd,
[0069]
limit[w]:total[w]≥q[w]。
[0070]
构建模块203,用于依次取字典q中剩余与元素w的交集非空的元素w’,与元素w取并集,得到新的元素w
‘’

[0071][0072]
若字典q中已存在新的元素w
‘’
,则更新元素w
‘’

[0073]
q[w
‘’
]=q[w
‘’
]+q[w

],
[0074]
且字典q中不存在新的元素w
‘’
,则添加新的元素w
‘’
及其对应第三约束到字典q中,
[0075]
q[w
‘’
]=nd+q[w

]
[0076]
limit[w’]:total[w
‘’
]≥q[w
‘’
]。
[0077]
如图2所示,统计模块204,用于利用整数规划法可以得到最优层板分布t,进入下一高度等级的规划,执行统计槽位数。
[0078]
如图2所示,统计模块204,用于选择空余槽位数最多的组合及其分布作为最终的设计结果。
[0079]
本公开实施例所提供的发药机层板药槽计算装置可执行本发明任意实施例所提供的发药机层板药槽计算方法,具备执行方法相应的功能模块和有益效果。
[0080]
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1